Docstoc

ebusiness

Document Sample
ebusiness Powered By Docstoc
					Web Services:
A New Dimension for Business Integration & Automation



Wafa Khorsheed
Eastern Michigan University
Presentation Roadmap…
   The Setting & Why Web Services are important?
   The Vision of Web Services
       A new dimension of business automation
       Distributed computation, agents, workflow
        collaboration
   Where are we now?
       The current state: an emerging ―frontier‖
       Some real-world examples - Crossing the chasm



2
The Setting & Why Web Services are important?

Customers’ top strategic software platform project over the next
year
                                                       % of Respondents
                                        0%        10%           20%            30%          40%
              Application integration                                                   35%
                          e-business                                                 33%
                                CRM                                              30%
                       SCM/Logistics                                     24%
                                  HR                                   23%
                   Database upgrade                                 21%
              Intranet improvements                              19%
              Financial (Accounting)                          16%
         Marketing apps on Web site                        15%
                   Commerce server                       13%
            e-procurement Web site                      12%
            Sys. mgmt infrastructure                    12%
          Building Internet company                8%
               Engineering software               7%
             Manufacturing software           5%
                               Other         4%
                         Deregulation        3%


                                                               Source: Morgan Stanley CIO Survey, May 2001
     3                                                         Note: Multiple responses permitted
Why is Integration so Difficult?
    Software forms deep roots (not unlike language &
     culture) and is hard to pull out
        once used, built upon, relied on, ingrained
           can't afford to disrupt, change
                (it’s like open-heart surgery… on your company!)
        Vendors liked this: lock-in
    But… Who's running whom? Software or Business?
    Technology can be a barrier to dynamic business
        company A to company B
           work out interoperation (EDI, etc.... 2 - 5 yr process)
        now comes company C = better company
           can't afford to connect!

4   Technology = too rigid, too tightly coupled.
Then, suddenly, the Internet morphed into the Web
   Tim Berners-Lee joined two pre-existing things
       hypertext (HTTP & HTML) and the Internet (TCP/IP)
       Like a seed-crystal in a supersaturated solution
          The Lattice structure of the Web sprang forth!

          Web of IP addresses -> BANG! -> Web of Documents

   Why did it take off?
       The model was right, resonated strongly with the world
       Based on simple (ASCII-text), ubiquitous protocols
   Evolutionary formula:
       Existing infrastructure + ubiquitous, simple open standards =
        Next Generation Infrastructure


5
The   1 st   Wave of the Web



                     HTTP & HTML




    "The Internet"                 "The Web"

6
The Web is Alive and Evolving!
   XML’s universal description & abstraction
       Applied first to world of documents & formats (nouns)
       Now applied to the infrastructure itself
          APIs, Object models, Language, platforms (verbs)

   Best form of integration ever!
       English (language) inserted in Computers (math)
          <tags> everywhere </tags>

   ―XML: the Calculus of the New Millennium‖ – Craig Burton
   The result?
       Model allows for dynamism & change (the calculus)
       Freedom of choice, loose coupling… INTEGRATION!
   Web Services are born!
       Next round of standards: SOAP, WSDL, UDDI
7
The 2nd Wave of the Web                                                                                                        Purchased
                                                                             Application Data SetB1*
                                                                                          B                                 Financials Package
                                                                                         Format

                                                                                                                                       Message
                                                                                                                                       queue
                                                   Down
                                                   Load                              Program
                                                   File           Extract                                  Program                Down
                                                                  program                                                         Load
                                                                                                                                  File
                                                                                                Program
                                                                                                                                                                                                                                                                                              Purchased
                                        Load
                                                                            Screen
                                                                                                                                           Extract program
                                                                                                                                                                                                                                             Application B SetB1*
                                                                                                                                                                                                                                                         Data                              Financials Package
                                        program      Application scrape
                                                                  A                            DB replication                     Application C
                                                                                                                                                                                                                                                         Format

                                                                                     Extract                      Load                                                                                                                                                                                  Message
                                                                                                                                                                                                                                                                                                        queue
                                                                                     program                      program
                                                                                                                                                                                                                  Down
                                                  Program                                                                    Program                                                                              Load                               Program
                                                                      Program                       Transaction                                  Program                                                          File            Extract                                   Program                 Down
                                                                                                       file                                                                                                                       program                                                           Load
                                                                                                                                                                                                                                                                                                    File
                                            Data Set 1      Program                                                                    Program                                                                                                                  Program
                                            Format A                                                                                                   Data Set 1**
                                                                                         Message                                                       Format C                                                                                                                                              Extract program
                                                                                         queue                                                                                                                                              Screen
                                                                                                                                                                                                       Load                         scrape
                                                                                                                                                                                                       program          Application A                          DB replication                      Application C
                                                                                                                                                                                                                                                     Extract                       Load program
                                                                                                                                                                                                                                                     program
                                                                                                                                                                                                                 Program                                                                      Program
                                                                                                                                                                                                                                      Program                        Transaction                                   Program
                                                                                                                                                                                                                                                                        file
                                                                                                                                                                                                           Data Set 1       Program                                                                     Program
                                                                                                                                                                                                           Format A                                                                                                      Data Set 1**
                                                                                                                                                                                                                                                          Message                                                        Format C
                                                                                                                                                                                                                                                          queue




                                                                                         Purchased
                                                                                      Financials Package
                                                              Application BData Set 1*
                                                                           Format B
                                                                                               Message
                                                                                               queue
                                    Down
                                    Load
                                    File           Extract Program     Program                                                 Down
                                                   program                                                                     Load
                                                                                                                               File
                                                                 Program
                                                                                                                                     Extract program
                              Load                 Screen
                              programApplication A scrape                       DB replication                                 Application C                                                                                                        Purchased
                                                                                                                                                                                                                                                Financials Package
                                                                      Extract
                                                                      program
                                                                                                        Load
                                                                                                        program                                                                               Application B               Data Set 1*
                                                                                                                                                                                                                          Format B
                                   Program                                              Transaction                    Program
                                                         Program                           file                                                  Program                                                                                                               Message
                                                                                                                                                                                                                                                                       queue
                                Data Set 1Program                                                                                  Program             Data Set 1**          Down
                                Format A                                    Message
                                                                                                                                                       Format C
                                                                                                                                                                             Load       Extract Program                                                        Down
                                                                            queue                                                                                            File                           Program
                                                                                                                                                                                        program                                                                Load
                                                                                                                                                                                                      Program                                                  File
                                                                                                                                                                                                                                                                      Extract program
                                                                                                                                                                                              Screen
                                                                                                                                                                      Load
                                                                                                                                                                      program
                                                                                                                                                                              Application A   scrape
                                                                                                                                                                                                          DB replication
                                                                                                                                                                                                                                                               Application C                                                                                                                             Purchased
                                                                                                                                                                                                                                                                                                                                                                                      Data Set 1*
                                                                                                                                                                                                                                                                                                                                                                                                     Financials Package
                                                                                                                                                                                                    Extract
                                                                                                                                                                                                    program
                                                                                                                                                                                                                      Load
                                                                                                                                                                                                                      program                                                                                                                                      Application B
                                                                                                                                                                                                                                                                                                                                                                                      Format B
                                                                                                                                                                            Program                                          Program
                                                                                                                                                                                          Program             Transaction                 Program
                                                                                                                                                                                                                 file                                                                                                                                                                                          Message
                                                                                                                                                                         Data Set 1 Program                                        Program                                                                                                                                                                     queue
                                                                                                                                                                         Format A                                                             Data Set 1**
                                                                                                                                                                                                        Message                               Format C                                                                                            Down                 Program
                                                                                                                                                                                                        queue                                                                                                                                     Load                                                      Down
                                                                                                                                                                                                                                                                                                                                                             Extract                       Program
                                                                                                                                                                                                                                                                                                                                                  File       program                                        Load
                                                                                                                                                                                                                                                                                                                                                                                                            File
                                                                                                                                                                                                                                                                                                                                                                                 Program
                                                                                                                                                                                                                                                                                                                                                                                                                   Extract program

                                                                                                                                                                                                                                                                                                                                        Load                  Screen
                                                                                                                                                                                                                                                                                                                                                Application A scrape                                        Application C
                                                                                                                                                                                                                                                                                                                                        program                                  DB replication
                                                                                                                                                                                                                                                                                                                                                                       Extract                 Load
                                                                                                                                                                                                                                                                                                                                                                       program                 program

                                                                                                                                                                                                                                                                                                                                                Program                             Transaction
                                                                                                                                                                                                                                                                                                                                                                                                         Program
                                                                                                                                                                                                                                                                                                                                                              Program                  file                              Program
                                                                                                                                                                                                                                                                                                                                           Data Set 1    Program

                            Add                                                                                                                                                                                                                                                                                                            Format A
                                                                                                                                                                                                                                                                                                                                                                                                              Program         Data Set 1**
                                                                                                                                                                                                                                                                                                                                                                           Message                                            Format C
                                                                                                                                                                                                                                                                                                                                                                           queue




                            SOAP &
                            WSDL


        People-to-People Web                                                                                                                 Application-to-Application Web

   Follows the same formula as the 1st Wave
         Existing infrastructure + ubiquitous, simple open standards =
          Next Generation Infrastructure
         Web of Documents -> BANG! -> Web of Programs
   Tim Berners-Lee: Web Services / Semantic Web
8
Rise of the Programmatic Web
   Primeval web services in the 1st wave
       stock quotes, weather forecasts, maps, traffic
        conditions, buy-buttons
       targeted at human eyeballs via a browser
   Web Services shift the focus from human
    interfaces to programmatic interfaces
       They may exist along side, or ―below‖ human interfaces,
        or they may not have human corollaries
       Allow for automation of current "manual" browser-
        based, human-run interactions.
       Our apps can do the work behind the scenes for us
          Many tasks will be automated and run without having
           to bring up a browser!

9
Industry Views
    "Businesses that ignore its potential or decide to sit out its
     early stages will find themselves outpaced by rivals that
     take advantage of Web services to improve their agility
     and even to transform themselves into new kinds of
     enterprises."
         —David Smith, Vice President and Research Director for Gartner.

    "Web services are extremely inexpensive and relatively
     easy to try because they are extensions of application
     servers and existing e-business platforms."
      —by Donoato, Durchslag, Hagel of Grand Central Networks.




10
    Platform, Language & Object Model
              Independence !!!
    What is a web service?
         any program that is callable by another program across the web in a
          platform/language/object model independent manner, using standard
          web protocols (XML, SOAP, WSDL, UDDI, etc)
    Technology Agnostic
         Key differentiator from previous attempts
            customer has freedom of choice for infrastructure products

            maintain value in their past choices, investments and skills

    Provides for a much bigger marketplace of interoperability
         for vendors, 3rd parties, SIs, customers....everyone!




11
Platform independence
            WSDL-described                  Web service
             Web service                     invoker




     COBOL                                                      COM
      app                                                       app
                   WebSphere



                                 SOAP
                    with EJBs




                                                  Web
                                messaging                       COM
                                                  app
                                                                app
      DB2                                        server

     z-Series
                                 Web                           CORBA
     Mainframe                  Service                         app
     running zOS                 Zone                     Windows 2000
12
A Business-centric View
    ―Web services‖ allow businesses to:
        describe functionality (services) they want to externalize
        publish that information
        discover services from other businesses
        connect to each other and invoke services with appropriate
         security, reliability, and privacy
    If every business is seen as a "business machine"
        Web services enables logical models of these ―machines‖ to
         be connected into a world of integrated business machines
        In essence: businesses establish ―company APIs‖ and then
         interlink to each other’s processes across the Web

13
Software Industry or Business Industry?
     With each new Software Development improvement
             New wave of providers of libraries and components
                horizontal & vertical
             New business/licensing models
                Shrink-wrap seal agreements -> Download agreements

     This will be true with Web Services components too
             At first, new business models (subscriptions, etc.)
             Then common-functionality web services will eventually be
              "free" (great synergy with Open Source)
     In parallel with this "common" marketplace
             A plethora of service offerings almost as numerous as the
              number of businesses
             (like each web site is unique on a per-business basis)
     Huge increase in demand for customization
             IT/In-house skills, or System Integrators/Consultant
     14
Where Will Web Services be Used?
    Enterprise Application Integration (EAI)
        integrate diverse systems on various platforms
    Business Partner integration and automation
        Same as EAI, except you don't control all of the systems
    Business to Consumer applications
        web interface or application UI
    Pervasive computing
        messaging to/from handhelds
    Systems management
        monitoring / controlling web services deployment


15
WSDL in a nutshell
    Web Services Description Language
        the "Braille" for programs to understand the shape of other
         programs
        an XML dialect/vocabulary to describe the web's "verbs",
         interfaces, APIs, processes
    Wrap existing software, regardless of language
        keep results in UDDI
        ... or right on your web page (WS-Inspection *new*)
    Sent for standardization to W3C in March 2001
        Foundation for other higher-level "description" standards (i.e.
         WSFL, WSIL, etc)
    Tool vendors will automate process
        auto-inspection of current components
        IBM's WebSphere Studio Application Developer on AlphaWorks
        Microsoft Studio.net for VB, other languages...
16
UDDI in a nutshell
    Universal Description, Discovery, Integration
        protocol & org
        3 founders -> 30+ at announce
        now over 300 companies
    Free web-wide Business Registry
        register businesses as white page entries
        under yellow pages categories
        *also* list web services so software can automate the
         integration between e-businesses!!
    Distributed (like DNS)

17
UDDI Registry Data
                              White
     Businesses register      Pages
     public information
     about themselves        Yellow
                             Pages
                             Green
                             Pages
     Standards bodies,
     programmers,
     businesses register
     information about
                           Service Type
     their service types
                           Registrations
18
UDDI @ work


     1. Harbour Metals creates online
          website with local ASP



                                             2.   ASP registers Harbour
     4.                                           Metals with UBR

     Consumers and
     businesses discover
                                        3. Marketplaces and search
                                           engines query UBR, cache
     Harbour Metals and do                 Harbour Metals data, and bind
     business with it                      to its services

19
Corporate Priority for Web Services
Next 24 months

                                  11.0%
               17.6%              Critical
             Low Priority

         8.2%
     Not a Priority                        28.0%
                                        High Priority

                  34.8%
              Moderate Priority




20
Example of layered services




21
In conclusion …
    Web Services = the 2nd Wave of the Web
    The Catch-word of what web services enable?
        INTEGRATION
    Open Standards matter more today than every before!
    Huge shifts in software & business models
        Rise of infrastructure & services
        Fall of platform-specific SW packages
    Get back to real & re-useable value
    Automate & accelerate business integration



22

				
DOCUMENT INFO