Introduction            SOAP, WSDL and UDDI              From Desktop to Web   Conclusions           Credits




                                   “Everything you
                                always wanted to know
                                 about Web services∗
                                         ∗ but   were afraid to ask”


                                        Antonio Villegas Ni˜o
                                                           n
                                              avillegas@essi.upc.edu
                                                      @avillegasn


                         Services and Information Systems Engineering Department
                                    Universitat Polit`cnica de Catalunya
                                                     e


                                          October 20, 2010
                                                                  C
                                                  CC   BY:   $
                                                             




           Antonio Villegas                        ESSI Seminar                   October 20, 2010    1 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits




Outline



       1       Introduction

       2       SOAP, WSDL and UDDI

       3       From Desktop to Web

       4       Conclusions




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    2 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Service-Oriented Architecture


SOA




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    3 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Service-Oriented Architecture


SOA




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    3 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Service-Oriented Architecture


SOA




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    3 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Service-Oriented Architecture


SOA = Web services




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    4 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions           Credits

Web Services


Web Services

                              This presentation focuses on Web services.




       What are Web services?
          In essence, a technology for application integration and
          interoperability based on open standards.
               Application functionality packaged as a single unit and
               exposed to the network.
               The W3C defines a Web service as a software system
               designed to support interoperable machine to machine
               interaction over a network.

           Antonio Villegas                    ESSI Seminar                 October 20, 2010    5 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions           Credits

Web Services


Web Services

                              This presentation focuses on Web services.




       What are Web services?
          In essence, a technology for application integration and
          interoperability based on open standards.
               Application functionality packaged as a single unit and
               exposed to the network.
               The W3C defines a Web service as a software system
               designed to support interoperable machine to machine
               interaction over a network.

           Antonio Villegas                    ESSI Seminar                 October 20, 2010    5 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions           Credits

Web Services


Web Services

                              This presentation focuses on Web services.




       What are Web services?
          In essence, a technology for application integration and
          interoperability based on open standards.
               Application functionality packaged as a single unit and
               exposed to the network.
               The W3C defines a Web service as a software system
               designed to support interoperable machine to machine
               interaction over a network.

           Antonio Villegas                    ESSI Seminar                 October 20, 2010    5 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions           Credits

Web Services


Web Services

                              This presentation focuses on Web services.




       What are Web services?
          In essence, a technology for application integration and
          interoperability based on open standards.
               Application functionality packaged as a single unit and
               exposed to the network.
               The W3C defines a Web service as a software system
               designed to support interoperable machine to machine
               interaction over a network.

           Antonio Villegas                    ESSI Seminar                 October 20, 2010    5 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions           Credits

Web Services


Web Services

                              This presentation focuses on Web services.




       What are Web services?
          In essence, a technology for application integration and
          interoperability based on open standards.
               Application functionality packaged as a single unit and
               exposed to the network.
               The W3C defines a Web service as a software system
               designed to support interoperable machine to machine
               interaction over a network.

           Antonio Villegas                    ESSI Seminar                 October 20, 2010    5 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Web Services

Web Services
Some Examples




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    6 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Web Services

Web Services
Some Examples




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    6 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Web Services

Web Services
Some Examples




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    6 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits




Web Services
Internals

   The Web services framework is divided into three
   areas:

           Invocation: the simple object access protocol
           (SOAP) which enables communication among
           Web services.
           Description: the Web Services Description
           Language (WSDL) which provides a formal,
           computer-readable description of Web
           services.
           Discovery: the Universal Description,
           Discovery, and Integration (UDDI) directory
           which is a registry of Web services
           descriptions.

           Antonio Villegas                   ESSI Seminar                 October 20, 2010    7 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits




Web Services
Internals

   The Web services framework is divided into three
   areas:

           Invocation: the simple object access protocol
           (SOAP) which enables communication among
           Web services.
           Description: the Web Services Description
           Language (WSDL) which provides a formal,
           computer-readable description of Web
           services.
           Discovery: the Universal Description,
           Discovery, and Integration (UDDI) directory
           which is a registry of Web services
           descriptions.

           Antonio Villegas                   ESSI Seminar                 October 20, 2010    7 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits




Web Services
Internals

   The Web services framework is divided into three
   areas:

           Invocation: the simple object access protocol
           (SOAP) which enables communication among
           Web services.
           Description: the Web Services Description
           Language (WSDL) which provides a formal,
           computer-readable description of Web
           services.
           Discovery: the Universal Description,
           Discovery, and Integration (UDDI) directory
           which is a registry of Web services
           descriptions.

           Antonio Villegas                   ESSI Seminar                 October 20, 2010    7 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits




Web Services
Internals

   The Web services framework is divided into three
   areas:

           Invocation: the simple object access protocol
           (SOAP) which enables communication among
           Web services.
           Description: the Web Services Description
           Language (WSDL) which provides a formal,
           computer-readable description of Web
           services.
           Discovery: the Universal Description,
           Discovery, and Integration (UDDI) directory
           which is a registry of Web services
           descriptions.

           Antonio Villegas                   ESSI Seminar                 October 20, 2010    7 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits




How does it work?
UDDI+WSDL+SOAP




           Antonio Villegas                   ESSI Seminar                 October 20, 2010    8 / 31
Introduction              SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Invocation


Simple Object Access Protocol

   Communication Mecanisms:
             Platform-independent
             International
             Secure
             As lightweight as possible



       Simple Object Access Protocol
       SOAP is an XML-based protocol for messaging and remote procedure calls.
       Rather than define a new transport protocol, SOAP works on existing
       transports, such as HTTP, SMTP, etc.




             Antonio Villegas                   ESSI Seminar                 October 20, 2010    9 / 31
Introduction              SOAP, WSDL and UDDI       From Desktop to Web   Conclusions           Credits

Invocation


Simple Object Access Protocol

   Communication Mecanisms:
             Platform-independent
             International
             Secure
             As lightweight as possible



       Simple Object Access Protocol
       SOAP is an XML-based protocol for messaging and remote procedure calls.
       Rather than define a new transport protocol, SOAP works on existing
       transports, such as HTTP, SMTP, etc.




             Antonio Villegas                   ESSI Seminar                 October 20, 2010    9 / 31
Introduction              SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Invocation


SOAP Message Interchange




             Antonio Villegas                   ESSI Seminar                October 20, 2010   10 / 31
Introduction               SOAP, WSDL and UDDI                         From Desktop to Web            Conclusions          Credits

Invocation


SOAP Request Message

       POST / travelservice
       SOAPAction: " http: // www . acme - travel . com / flightinfo "
       Content - Type: text / xml ; charset = " utf -8 "
       Content - Length: nnnn

       < SOAP:Envelope xmlns:SOAP = " http: // schemas . xmlsoap . org / soap / envelope / " >

        < SOAP:Header >
        </ SOAP:Header >

        < SOAP:Body >
          < m :G et FlightInfo
               xmlns:m = " http: // www . acme - travel . com / flightinfo "
               S O A P :e nc o di ng S ty l e = " http: // schemas . xmlsoap . org / soap / encoding / "
               xmlns:xsd = " http: // www . w3 . org /2001/ XMLSchema "
               xmlns:xsi = " http: // www . w3 . org /2001/ XMLSchema - instance " >

                < a i r l i n e N a m e xsi:type = " xsd:string " > OA </ a i r l i n e N a m e >
                < f l i g h t N u m b e r xsi:type = " xsd:int " > 815 </ f l i g h t N u m b e r >

         </ m :G e tFlightInfo >
        </ SOAP:Body >

       </ SOAP:Envelope >




             Antonio Villegas                                    ESSI Seminar                           October 20, 2010   11 / 31
Introduction                 SOAP, WSDL and UDDI                  From Desktop to Web             Conclusions              Credits

Invocation


SOAP Response Message

       HTTP /1.1 200 OK
       Content - Type: text / xml ; charset = " utf -8 "
       Content - Length: nnnn

       < SOAP:Envelope xmlns:SOAP = " http: // schemas . xmlsoap . org / soap / envelope / " >

        < SOAP:Body >
          < m:GetFlightInfoResponse
            xmlns:m = " http: // www . acme - travel . com / flightinfo "
            S O A P : e nc o di ng S ty le = " http: // schemas . xmlsoap . org / soap / encoding / "
            xmlns:xsd = " http: // www . w3 . org /2001/ XMLSchema "
            xmlns:xsi = " http: // www . w3 . org /2001/ XMLSchema - instance " >

             < flightInfo >
               < g a t e xsi:type = " xsd:int " > 10 </ g a t e >
               < s t a t u s xsi:type = " xsd:string " > ON TIME </ s t a t u s >
             </ flightInfo >

         </ m : G e t F l i g h t I n f o R e s p o n s e >
        </ SOAP:Body >

       </ SOAP:Envelope >




             Antonio Villegas                                 ESSI Seminar                              October 20, 2010   12 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Description


Web Services Description Language



       Web Services Description Language
       WSDL is an XML format developed by IBM and Microsoft to
       describe Web services as collections of communication end
       points that can exchange certain messages.

       A WSDL document describes a Web service’s interface and
       provides users with a point of contact about what messages
       must be exchanged to successfully interact with a service.




              Antonio Villegas                   ESSI Seminar                October 20, 2010   13 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Description


Web Services Description Language



       Web Services Description Language
       WSDL is an XML format developed by IBM and Microsoft to
       describe Web services as collections of communication end
       points that can exchange certain messages.

       A WSDL document describes a Web service’s interface and
       provides users with a point of contact about what messages
       must be exchanged to successfully interact with a service.




              Antonio Villegas                   ESSI Seminar                October 20, 2010   13 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Description

Web Services Description Language
XML Structure




              Antonio Villegas                   ESSI Seminar                October 20, 2010   14 / 31
Introduction               SOAP, WSDL and UDDI                      From Desktop to Web        Conclusions          Credits

Description


WSDL: Abstract Section


       < wsdl:types >
           <! − F l i g h t I n f o T y p e
             −                                definition ( gate:int , status:string ) −−>
       </ wsdl:types >

       < wsdl:message name = " G e tF li g ht I nf oI n pu t " >
           < wsdl:part name = " airlineName " type = " xsd:string " / >
           < wsdl:part name = " flightNumber " type = " xsd:int " / >
       </ wsdl:message >

       < wsdl:message name = " G et F l i g h t I n fo O u t p u t " >
           < wsdl:part name = " flightInfo " type = " x sd :F l ig h tI nf o Ty p e " / >
       </ wsdl:message >

       < wsdl:portType name = " A i r p o r t S e r v i c e P o r t T y p e " >
           < wsdl:operation name = " GetFlightInfo " >
               < wsdl:input message = " t n s : G e t F l i g h t I n f o I n p u t " / >
               < wsdl:output message = " t n s : G e t F l i g h t I n f o O u t p u t " / >
           </ wsdl:operation >
       </ wsdl:portType >




              Antonio Villegas                                ESSI Seminar                       October 20, 2010   15 / 31
Introduction               SOAP, WSDL and UDDI              From Desktop to Web              Conclusions          Credits

Description


WSDL: Concrete Section
       < b i n d i n g name = " A i r p o r t S e r v i c e S o a p B i n d i n g "
                       type = " t n s : A i r p o r t S e r v i c e P o r t T y p e " >
         < soap:binding transport = " http: // schemas . xmlsoap . org / soap / http " / >

        < operation name = " GetFlightInfo " >
              < soap:operation style = " rpc " soapAction = " http: // acme - travel /
                        flightinfo " / >
              < input >
                    < soap:body use = " encoded "
                        namespace = " http: // acme - travel . com / flightinfo "
                        encodingStyle = " http: // schemas . xmlsoap . org / soap / encoding / " / >
              </ input >
              < output >
                    < soap:body use = " encoded "
                        namespace = " http: // acme - travel . com / flightinfo "
                        encodingStyle = " http: // schemas . xmlsoap . org / soap / encoding / " / >
              </ output >
        </ operation >
       </ b i n d i n g >

       < s e r v i c e name = " travelservice " >
           < p o r t name = " tra vels erv ice Por t "
                      b i n d i n g =" tns:AirportServiceSoapBinding ">
               < soap:address location = " http: // acmetravel . com / travelservice " / >
           </ p o r t >
       </ s e r v i c e >




              Antonio Villegas                         ESSI Seminar                            October 20, 2010   16 / 31
Introduction             SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Discovery


Universal Description, Discovery, and Integration



       Universal Description, Discovery, and Integration
       The UDDI specification offers users a unified and systematic way
       to find service providers through a centralized registry of services
       that is roughly equivalent to an automated online phone directory
       of Web services.

       Registry access is accomplished using a standard SOAP API for
       both querying and updating.




            Antonio Villegas                   ESSI Seminar                October 20, 2010   17 / 31
Introduction             SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Discovery


Universal Description, Discovery, and Integration



       Universal Description, Discovery, and Integration
       The UDDI specification offers users a unified and systematic way
       to find service providers through a centralized registry of services
       that is roughly equivalent to an automated online phone directory
       of Web services.

       Registry access is accomplished using a standard SOAP API for
       both querying and updating.




            Antonio Villegas                   ESSI Seminar                October 20, 2010   17 / 31
Introduction             SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Discovery

UDDI
UDDI API




            Antonio Villegas                   ESSI Seminar                October 20, 2010   18 / 31
Introduction             SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Discovery

UDDI
Flow of UDDI messages between Client and Registry




            Antonio Villegas                   ESSI Seminar                October 20, 2010   19 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

From Desktop to Web
Example of Web service migration from Java Desktop App




           Antonio Villegas                   ESSI Seminar                October 20, 2010   20 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

From Desktop to Web
Example of Web service migration from Java Desktop App




           Antonio Villegas                   ESSI Seminar                October 20, 2010   20 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

From Desktop to Web
Example of Web service migration from Java Desktop App




           Antonio Villegas                   ESSI Seminar                October 20, 2010   20 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

From Desktop to Web
Example of Web service migration from Java Desktop App




           Antonio Villegas                   ESSI Seminar                October 20, 2010   20 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

From Desktop to Web
Bottom-up approach




           Antonio Villegas                   ESSI Seminar                October 20, 2010   21 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions          Credits

Filtering Web service


First problem


                                  SOAP
                              WSDL      UDDI


                              Do we have to master these technologies?




           Antonio Villegas                    ESSI Seminar                October 20, 2010   22 / 31
Introduction            SOAP, WSDL and UDDI        From Desktop to Web   Conclusions          Credits

Filtering Web service


First problem


                                  SOAP
                              WSDL      UDDI


                              Do we have to master these technologies?

                              Not at all!
       Eclipse WTP + AXIS2 + Tomcat = 1-click Web service generator




           Antonio Villegas                    ESSI Seminar                October 20, 2010   22 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

Setting up the environment
Eclipse WTP + Axis2 + Tomcat

   Eclipse WTP
            Provides functionality to develop web functionality with
            Java
            Install via Eclipse Update Manager
   Axis 2
            Axis2 is a Web Services / SOAP / WSDL engine
            Currently Axis2 1.5 is not supported. Make sure you
            download Axis 1.4.1
            Extract the Axis2 zip and point Eclipse WTP on it
            (through Eclipse Preferences)
   Tomcat
            Open source software implementation of the Java Servlet
            and JavaServer Pages technologies.
            Download, extract zip and point Eclipse WTP on it
            (through Eclipse Preferences)


           Antonio Villegas                   ESSI Seminar                October 20, 2010   23 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

Setting up the environment
Eclipse WTP + Axis2 + Tomcat

   Eclipse WTP
            Provides functionality to develop web functionality with
            Java
            Install via Eclipse Update Manager
   Axis 2
            Axis2 is a Web Services / SOAP / WSDL engine
            Currently Axis2 1.5 is not supported. Make sure you
            download Axis 1.4.1
            Extract the Axis2 zip and point Eclipse WTP on it
            (through Eclipse Preferences)
   Tomcat
            Open source software implementation of the Java Servlet
            and JavaServer Pages technologies.
            Download, extract zip and point Eclipse WTP on it
            (through Eclipse Preferences)


           Antonio Villegas                   ESSI Seminar                October 20, 2010   23 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

Setting up the environment
Eclipse WTP + Axis2 + Tomcat

   Eclipse WTP
            Provides functionality to develop web functionality with
            Java
            Install via Eclipse Update Manager
   Axis 2
            Axis2 is a Web Services / SOAP / WSDL engine
            Currently Axis2 1.5 is not supported. Make sure you
            download Axis 1.4.1
            Extract the Axis2 zip and point Eclipse WTP on it
            (through Eclipse Preferences)
   Tomcat
            Open source software implementation of the Java Servlet
            and JavaServer Pages technologies.
            Download, extract zip and point Eclipse WTP on it
            (through Eclipse Preferences)


           Antonio Villegas                   ESSI Seminar                October 20, 2010   23 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service

Setting up the environment
Eclipse WTP + Axis2 + Tomcat

   Eclipse WTP
            Provides functionality to develop web functionality with
            Java
            Install via Eclipse Update Manager
   Axis 2
            Axis2 is a Web Services / SOAP / WSDL engine
            Currently Axis2 1.5 is not supported. Make sure you
            download Axis 1.4.1
            Extract the Axis2 zip and point Eclipse WTP on it
            (through Eclipse Preferences)
   Tomcat
            Open source software implementation of the Java Servlet
            and JavaServer Pages technologies.
            Download, extract zip and point Eclipse WTP on it
            (through Eclipse Preferences)


           Antonio Villegas                   ESSI Seminar                October 20, 2010   23 / 31
Introduction             SOAP, WSDL and UDDI                     From Desktop to Web   Conclusions          Credits

Filtering Web service


Create a Web service from Java


       Java Project
               Create a new Dynamic Web project
               Create a Java class with the operations of the Web service

       p u b l i c c l a s s Filtering {

               // k e e p t h e model up b e t w e e n m e s s a g e s
               p r i v a t e s t a t i c MModel model ;

               p u b l i c s t a t i c v o i d start () {
                    // l o a d schema
               }
               p u b l i c s t a t i c String filter ( String [] focusSet ) {
                    // compute a f i l t e r e d c o n c e p t u a l schema
                    // same c o d e a s i n USE E n v i r o n m e n t
                    // r e t u r n a XMI r e p r e s e n t a t i o n
               }
       }




           Antonio Villegas                                 ESSI Seminar                 October 20, 2010   24 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service


Create a Web service from Java




           Antonio Villegas                   ESSI Seminar                October 20, 2010   25 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service




           Antonio Villegas                   ESSI Seminar                October 20, 2010   26 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service




           Antonio Villegas                   ESSI Seminar                October 20, 2010   26 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Filtering Web service




               The Web service is running!
                Let’s see all the architecture...




           Antonio Villegas                   ESSI Seminar                October 20, 2010   27 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




           Antonio Villegas                      ESSI Seminar                October 20, 2010   28 / 31
Introduction               SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits

Web service architecture




                                     Demo Time




           Antonio Villegas                      ESSI Seminar                October 20, 2010   29 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits




Conclusions


       Integration
       Web services are a good solution to complete functionalities of
       your software.

       Technologies
       Fortunately, they are well-supported and it makes their adoption
       and understandability less complex than it could seem at first.

       Development cost
       It is easier to port a desktop app into a Web service than to
       develop a new web app from scratch.


           Antonio Villegas                   ESSI Seminar                October 20, 2010   30 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits




Conclusions


       Integration
       Web services are a good solution to complete functionalities of
       your software.

       Technologies
       Fortunately, they are well-supported and it makes their adoption
       and understandability less complex than it could seem at first.

       Development cost
       It is easier to port a desktop app into a Web service than to
       develop a new web app from scratch.


           Antonio Villegas                   ESSI Seminar                October 20, 2010   30 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits




Conclusions


       Integration
       Web services are a good solution to complete functionalities of
       your software.

       Technologies
       Fortunately, they are well-supported and it makes their adoption
       and understandability less complex than it could seem at first.

       Development cost
       It is easier to port a desktop app into a Web service than to
       develop a new web app from scratch.


           Antonio Villegas                   ESSI Seminar                October 20, 2010   30 / 31
Introduction            SOAP, WSDL and UDDI       From Desktop to Web   Conclusions          Credits




Conclusions


       Integration
       Web services are a good solution to complete functionalities of
       your software.

       Technologies
       Fortunately, they are well-supported and it makes their adoption
       and understandability less complex than it could seem at first.

       Development cost
       It is easier to port a desktop app into a Web service than to
       develop a new web app from scratch.


           Antonio Villegas                   ESSI Seminar                October 20, 2010   30 / 31
Introduction            SOAP, WSDL and UDDI              From Desktop to Web               Conclusions           Credits




Credits

       References
               F. Curbera et al. Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI.
               IEEE Internet Computing (2002), 86–93.
               E. Cerami. Web Services Essentials. Distributed Applications with XML-RPC, SOAP, UDDI & WSDL.
               O’Reilly Media (2002).
               M. Weiss. Web Services. Carleton University. http://www.slideshare.net/mrw/web-services-84334
               T. Bellwood. Understanding UDDI. Tracking the evolving specification. IBM developerWorks (2002).
               http://www.ibm.com/developerworks/webservices/library/ws-featuddi/
               T. Harris yUML. Simple UML diagrams online. yuml.me

       Tutorial
               L. Vogel. Webservices with Axis2 and the Eclipse Web Tool Platform (WTP).
               http://www.vogella.de/articles/Webservice/article.html

       Comics
               Geek & Poke. http://geekandpoke.typepad.com




           Antonio Villegas                          ESSI Seminar                            October 20, 2010    31 / 31
Introduction            SOAP, WSDL and UDDI              From Desktop to Web               Conclusions           Credits




Credits

       References
               F. Curbera et al. Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI.
               IEEE Internet Computing (2002), 86–93.
               E. Cerami. Web Services Essentials. Distributed Applications with XML-RPC, SOAP, UDDI & WSDL.
               O’Reilly Media (2002).
               M. Weiss. Web Services. Carleton University. http://www.slideshare.net/mrw/web-services-84334
               T. Bellwood. Understanding UDDI. Tracking the evolving specification. IBM developerWorks (2002).
               http://www.ibm.com/developerworks/webservices/library/ws-featuddi/
               T. Harris yUML. Simple UML diagrams online. yuml.me

       Tutorial
               L. Vogel. Webservices with Axis2 and the Eclipse Web Tool Platform (WTP).
               http://www.vogella.de/articles/Webservice/article.html

       Comics
               Geek & Poke. http://geekandpoke.typepad.com




           Antonio Villegas                          ESSI Seminar                            October 20, 2010    31 / 31

Web Services

  • 1.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits “Everything you always wanted to know about Web services∗ ∗ but were afraid to ask” Antonio Villegas Ni˜o n avillegas@essi.upc.edu @avillegasn Services and Information Systems Engineering Department Universitat Polit`cnica de Catalunya e October 20, 2010 C CC BY: $ Antonio Villegas ESSI Seminar October 20, 2010 1 / 31
  • 2.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Outline 1 Introduction 2 SOAP, WSDL and UDDI 3 From Desktop to Web 4 Conclusions Antonio Villegas ESSI Seminar October 20, 2010 2 / 31
  • 3.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Service-Oriented Architecture SOA Antonio Villegas ESSI Seminar October 20, 2010 3 / 31
  • 4.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Service-Oriented Architecture SOA Antonio Villegas ESSI Seminar October 20, 2010 3 / 31
  • 5.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Service-Oriented Architecture SOA Antonio Villegas ESSI Seminar October 20, 2010 3 / 31
  • 6.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Service-Oriented Architecture SOA = Web services Antonio Villegas ESSI Seminar October 20, 2010 4 / 31
  • 7.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services This presentation focuses on Web services. What are Web services? In essence, a technology for application integration and interoperability based on open standards. Application functionality packaged as a single unit and exposed to the network. The W3C defines a Web service as a software system designed to support interoperable machine to machine interaction over a network. Antonio Villegas ESSI Seminar October 20, 2010 5 / 31
  • 8.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services This presentation focuses on Web services. What are Web services? In essence, a technology for application integration and interoperability based on open standards. Application functionality packaged as a single unit and exposed to the network. The W3C defines a Web service as a software system designed to support interoperable machine to machine interaction over a network. Antonio Villegas ESSI Seminar October 20, 2010 5 / 31
  • 9.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services This presentation focuses on Web services. What are Web services? In essence, a technology for application integration and interoperability based on open standards. Application functionality packaged as a single unit and exposed to the network. The W3C defines a Web service as a software system designed to support interoperable machine to machine interaction over a network. Antonio Villegas ESSI Seminar October 20, 2010 5 / 31
  • 10.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services This presentation focuses on Web services. What are Web services? In essence, a technology for application integration and interoperability based on open standards. Application functionality packaged as a single unit and exposed to the network. The W3C defines a Web service as a software system designed to support interoperable machine to machine interaction over a network. Antonio Villegas ESSI Seminar October 20, 2010 5 / 31
  • 11.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services This presentation focuses on Web services. What are Web services? In essence, a technology for application integration and interoperability based on open standards. Application functionality packaged as a single unit and exposed to the network. The W3C defines a Web service as a software system designed to support interoperable machine to machine interaction over a network. Antonio Villegas ESSI Seminar October 20, 2010 5 / 31
  • 12.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services Some Examples Antonio Villegas ESSI Seminar October 20, 2010 6 / 31
  • 13.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services Some Examples Antonio Villegas ESSI Seminar October 20, 2010 6 / 31
  • 14.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Web Services Some Examples Antonio Villegas ESSI Seminar October 20, 2010 6 / 31
  • 15.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Internals The Web services framework is divided into three areas: Invocation: the simple object access protocol (SOAP) which enables communication among Web services. Description: the Web Services Description Language (WSDL) which provides a formal, computer-readable description of Web services. Discovery: the Universal Description, Discovery, and Integration (UDDI) directory which is a registry of Web services descriptions. Antonio Villegas ESSI Seminar October 20, 2010 7 / 31
  • 16.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Internals The Web services framework is divided into three areas: Invocation: the simple object access protocol (SOAP) which enables communication among Web services. Description: the Web Services Description Language (WSDL) which provides a formal, computer-readable description of Web services. Discovery: the Universal Description, Discovery, and Integration (UDDI) directory which is a registry of Web services descriptions. Antonio Villegas ESSI Seminar October 20, 2010 7 / 31
  • 17.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Internals The Web services framework is divided into three areas: Invocation: the simple object access protocol (SOAP) which enables communication among Web services. Description: the Web Services Description Language (WSDL) which provides a formal, computer-readable description of Web services. Discovery: the Universal Description, Discovery, and Integration (UDDI) directory which is a registry of Web services descriptions. Antonio Villegas ESSI Seminar October 20, 2010 7 / 31
  • 18.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web Services Internals The Web services framework is divided into three areas: Invocation: the simple object access protocol (SOAP) which enables communication among Web services. Description: the Web Services Description Language (WSDL) which provides a formal, computer-readable description of Web services. Discovery: the Universal Description, Discovery, and Integration (UDDI) directory which is a registry of Web services descriptions. Antonio Villegas ESSI Seminar October 20, 2010 7 / 31
  • 19.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits How does it work? UDDI+WSDL+SOAP Antonio Villegas ESSI Seminar October 20, 2010 8 / 31
  • 20.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Invocation Simple Object Access Protocol Communication Mecanisms: Platform-independent International Secure As lightweight as possible Simple Object Access Protocol SOAP is an XML-based protocol for messaging and remote procedure calls. Rather than define a new transport protocol, SOAP works on existing transports, such as HTTP, SMTP, etc. Antonio Villegas ESSI Seminar October 20, 2010 9 / 31
  • 21.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Invocation Simple Object Access Protocol Communication Mecanisms: Platform-independent International Secure As lightweight as possible Simple Object Access Protocol SOAP is an XML-based protocol for messaging and remote procedure calls. Rather than define a new transport protocol, SOAP works on existing transports, such as HTTP, SMTP, etc. Antonio Villegas ESSI Seminar October 20, 2010 9 / 31
  • 22.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Invocation SOAP Message Interchange Antonio Villegas ESSI Seminar October 20, 2010 10 / 31
  • 23.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Invocation SOAP Request Message POST / travelservice SOAPAction: " http: // www . acme - travel . com / flightinfo " Content - Type: text / xml ; charset = " utf -8 " Content - Length: nnnn < SOAP:Envelope xmlns:SOAP = " http: // schemas . xmlsoap . org / soap / envelope / " > < SOAP:Header > </ SOAP:Header > < SOAP:Body > < m :G et FlightInfo xmlns:m = " http: // www . acme - travel . com / flightinfo " S O A P :e nc o di ng S ty l e = " http: // schemas . xmlsoap . org / soap / encoding / " xmlns:xsd = " http: // www . w3 . org /2001/ XMLSchema " xmlns:xsi = " http: // www . w3 . org /2001/ XMLSchema - instance " > < a i r l i n e N a m e xsi:type = " xsd:string " > OA </ a i r l i n e N a m e > < f l i g h t N u m b e r xsi:type = " xsd:int " > 815 </ f l i g h t N u m b e r > </ m :G e tFlightInfo > </ SOAP:Body > </ SOAP:Envelope > Antonio Villegas ESSI Seminar October 20, 2010 11 / 31
  • 24.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Invocation SOAP Response Message HTTP /1.1 200 OK Content - Type: text / xml ; charset = " utf -8 " Content - Length: nnnn < SOAP:Envelope xmlns:SOAP = " http: // schemas . xmlsoap . org / soap / envelope / " > < SOAP:Body > < m:GetFlightInfoResponse xmlns:m = " http: // www . acme - travel . com / flightinfo " S O A P : e nc o di ng S ty le = " http: // schemas . xmlsoap . org / soap / encoding / " xmlns:xsd = " http: // www . w3 . org /2001/ XMLSchema " xmlns:xsi = " http: // www . w3 . org /2001/ XMLSchema - instance " > < flightInfo > < g a t e xsi:type = " xsd:int " > 10 </ g a t e > < s t a t u s xsi:type = " xsd:string " > ON TIME </ s t a t u s > </ flightInfo > </ m : G e t F l i g h t I n f o R e s p o n s e > </ SOAP:Body > </ SOAP:Envelope > Antonio Villegas ESSI Seminar October 20, 2010 12 / 31
  • 25.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Description Web Services Description Language Web Services Description Language WSDL is an XML format developed by IBM and Microsoft to describe Web services as collections of communication end points that can exchange certain messages. A WSDL document describes a Web service’s interface and provides users with a point of contact about what messages must be exchanged to successfully interact with a service. Antonio Villegas ESSI Seminar October 20, 2010 13 / 31
  • 26.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Description Web Services Description Language Web Services Description Language WSDL is an XML format developed by IBM and Microsoft to describe Web services as collections of communication end points that can exchange certain messages. A WSDL document describes a Web service’s interface and provides users with a point of contact about what messages must be exchanged to successfully interact with a service. Antonio Villegas ESSI Seminar October 20, 2010 13 / 31
  • 27.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Description Web Services Description Language XML Structure Antonio Villegas ESSI Seminar October 20, 2010 14 / 31
  • 28.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Description WSDL: Abstract Section < wsdl:types > <! − F l i g h t I n f o T y p e − definition ( gate:int , status:string ) −−> </ wsdl:types > < wsdl:message name = " G e tF li g ht I nf oI n pu t " > < wsdl:part name = " airlineName " type = " xsd:string " / > < wsdl:part name = " flightNumber " type = " xsd:int " / > </ wsdl:message > < wsdl:message name = " G et F l i g h t I n fo O u t p u t " > < wsdl:part name = " flightInfo " type = " x sd :F l ig h tI nf o Ty p e " / > </ wsdl:message > < wsdl:portType name = " A i r p o r t S e r v i c e P o r t T y p e " > < wsdl:operation name = " GetFlightInfo " > < wsdl:input message = " t n s : G e t F l i g h t I n f o I n p u t " / > < wsdl:output message = " t n s : G e t F l i g h t I n f o O u t p u t " / > </ wsdl:operation > </ wsdl:portType > Antonio Villegas ESSI Seminar October 20, 2010 15 / 31
  • 29.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Description WSDL: Concrete Section < b i n d i n g name = " A i r p o r t S e r v i c e S o a p B i n d i n g " type = " t n s : A i r p o r t S e r v i c e P o r t T y p e " > < soap:binding transport = " http: // schemas . xmlsoap . org / soap / http " / > < operation name = " GetFlightInfo " > < soap:operation style = " rpc " soapAction = " http: // acme - travel / flightinfo " / > < input > < soap:body use = " encoded " namespace = " http: // acme - travel . com / flightinfo " encodingStyle = " http: // schemas . xmlsoap . org / soap / encoding / " / > </ input > < output > < soap:body use = " encoded " namespace = " http: // acme - travel . com / flightinfo " encodingStyle = " http: // schemas . xmlsoap . org / soap / encoding / " / > </ output > </ operation > </ b i n d i n g > < s e r v i c e name = " travelservice " > < p o r t name = " tra vels erv ice Por t " b i n d i n g =" tns:AirportServiceSoapBinding "> < soap:address location = " http: // acmetravel . com / travelservice " / > </ p o r t > </ s e r v i c e > Antonio Villegas ESSI Seminar October 20, 2010 16 / 31
  • 30.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Discovery Universal Description, Discovery, and Integration Universal Description, Discovery, and Integration The UDDI specification offers users a unified and systematic way to find service providers through a centralized registry of services that is roughly equivalent to an automated online phone directory of Web services. Registry access is accomplished using a standard SOAP API for both querying and updating. Antonio Villegas ESSI Seminar October 20, 2010 17 / 31
  • 31.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Discovery Universal Description, Discovery, and Integration Universal Description, Discovery, and Integration The UDDI specification offers users a unified and systematic way to find service providers through a centralized registry of services that is roughly equivalent to an automated online phone directory of Web services. Registry access is accomplished using a standard SOAP API for both querying and updating. Antonio Villegas ESSI Seminar October 20, 2010 17 / 31
  • 32.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Discovery UDDI UDDI API Antonio Villegas ESSI Seminar October 20, 2010 18 / 31
  • 33.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Discovery UDDI Flow of UDDI messages between Client and Registry Antonio Villegas ESSI Seminar October 20, 2010 19 / 31
  • 34.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service From Desktop to Web Example of Web service migration from Java Desktop App Antonio Villegas ESSI Seminar October 20, 2010 20 / 31
  • 35.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service From Desktop to Web Example of Web service migration from Java Desktop App Antonio Villegas ESSI Seminar October 20, 2010 20 / 31
  • 36.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service From Desktop to Web Example of Web service migration from Java Desktop App Antonio Villegas ESSI Seminar October 20, 2010 20 / 31
  • 37.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service From Desktop to Web Example of Web service migration from Java Desktop App Antonio Villegas ESSI Seminar October 20, 2010 20 / 31
  • 38.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service From Desktop to Web Bottom-up approach Antonio Villegas ESSI Seminar October 20, 2010 21 / 31
  • 39.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service First problem SOAP WSDL UDDI Do we have to master these technologies? Antonio Villegas ESSI Seminar October 20, 2010 22 / 31
  • 40.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service First problem SOAP WSDL UDDI Do we have to master these technologies? Not at all! Eclipse WTP + AXIS2 + Tomcat = 1-click Web service generator Antonio Villegas ESSI Seminar October 20, 2010 22 / 31
  • 41.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Setting up the environment Eclipse WTP + Axis2 + Tomcat Eclipse WTP Provides functionality to develop web functionality with Java Install via Eclipse Update Manager Axis 2 Axis2 is a Web Services / SOAP / WSDL engine Currently Axis2 1.5 is not supported. Make sure you download Axis 1.4.1 Extract the Axis2 zip and point Eclipse WTP on it (through Eclipse Preferences) Tomcat Open source software implementation of the Java Servlet and JavaServer Pages technologies. Download, extract zip and point Eclipse WTP on it (through Eclipse Preferences) Antonio Villegas ESSI Seminar October 20, 2010 23 / 31
  • 42.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Setting up the environment Eclipse WTP + Axis2 + Tomcat Eclipse WTP Provides functionality to develop web functionality with Java Install via Eclipse Update Manager Axis 2 Axis2 is a Web Services / SOAP / WSDL engine Currently Axis2 1.5 is not supported. Make sure you download Axis 1.4.1 Extract the Axis2 zip and point Eclipse WTP on it (through Eclipse Preferences) Tomcat Open source software implementation of the Java Servlet and JavaServer Pages technologies. Download, extract zip and point Eclipse WTP on it (through Eclipse Preferences) Antonio Villegas ESSI Seminar October 20, 2010 23 / 31
  • 43.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Setting up the environment Eclipse WTP + Axis2 + Tomcat Eclipse WTP Provides functionality to develop web functionality with Java Install via Eclipse Update Manager Axis 2 Axis2 is a Web Services / SOAP / WSDL engine Currently Axis2 1.5 is not supported. Make sure you download Axis 1.4.1 Extract the Axis2 zip and point Eclipse WTP on it (through Eclipse Preferences) Tomcat Open source software implementation of the Java Servlet and JavaServer Pages technologies. Download, extract zip and point Eclipse WTP on it (through Eclipse Preferences) Antonio Villegas ESSI Seminar October 20, 2010 23 / 31
  • 44.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Setting up the environment Eclipse WTP + Axis2 + Tomcat Eclipse WTP Provides functionality to develop web functionality with Java Install via Eclipse Update Manager Axis 2 Axis2 is a Web Services / SOAP / WSDL engine Currently Axis2 1.5 is not supported. Make sure you download Axis 1.4.1 Extract the Axis2 zip and point Eclipse WTP on it (through Eclipse Preferences) Tomcat Open source software implementation of the Java Servlet and JavaServer Pages technologies. Download, extract zip and point Eclipse WTP on it (through Eclipse Preferences) Antonio Villegas ESSI Seminar October 20, 2010 23 / 31
  • 45.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Create a Web service from Java Java Project Create a new Dynamic Web project Create a Java class with the operations of the Web service p u b l i c c l a s s Filtering { // k e e p t h e model up b e t w e e n m e s s a g e s p r i v a t e s t a t i c MModel model ; p u b l i c s t a t i c v o i d start () { // l o a d schema } p u b l i c s t a t i c String filter ( String [] focusSet ) { // compute a f i l t e r e d c o n c e p t u a l schema // same c o d e a s i n USE E n v i r o n m e n t // r e t u r n a XMI r e p r e s e n t a t i o n } } Antonio Villegas ESSI Seminar October 20, 2010 24 / 31
  • 46.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Create a Web service from Java Antonio Villegas ESSI Seminar October 20, 2010 25 / 31
  • 47.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Antonio Villegas ESSI Seminar October 20, 2010 26 / 31
  • 48.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service Antonio Villegas ESSI Seminar October 20, 2010 26 / 31
  • 49.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Filtering Web service The Web service is running! Let’s see all the architecture... Antonio Villegas ESSI Seminar October 20, 2010 27 / 31
  • 50.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 51.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 52.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 53.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 54.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 55.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 56.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 57.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 58.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 59.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 60.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 61.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Antonio Villegas ESSI Seminar October 20, 2010 28 / 31
  • 62.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Web service architecture Demo Time Antonio Villegas ESSI Seminar October 20, 2010 29 / 31
  • 63.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Conclusions Integration Web services are a good solution to complete functionalities of your software. Technologies Fortunately, they are well-supported and it makes their adoption and understandability less complex than it could seem at first. Development cost It is easier to port a desktop app into a Web service than to develop a new web app from scratch. Antonio Villegas ESSI Seminar October 20, 2010 30 / 31
  • 64.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Conclusions Integration Web services are a good solution to complete functionalities of your software. Technologies Fortunately, they are well-supported and it makes their adoption and understandability less complex than it could seem at first. Development cost It is easier to port a desktop app into a Web service than to develop a new web app from scratch. Antonio Villegas ESSI Seminar October 20, 2010 30 / 31
  • 65.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Conclusions Integration Web services are a good solution to complete functionalities of your software. Technologies Fortunately, they are well-supported and it makes their adoption and understandability less complex than it could seem at first. Development cost It is easier to port a desktop app into a Web service than to develop a new web app from scratch. Antonio Villegas ESSI Seminar October 20, 2010 30 / 31
  • 66.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Conclusions Integration Web services are a good solution to complete functionalities of your software. Technologies Fortunately, they are well-supported and it makes their adoption and understandability less complex than it could seem at first. Development cost It is easier to port a desktop app into a Web service than to develop a new web app from scratch. Antonio Villegas ESSI Seminar October 20, 2010 30 / 31
  • 67.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Credits References F. Curbera et al. Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI. IEEE Internet Computing (2002), 86–93. E. Cerami. Web Services Essentials. Distributed Applications with XML-RPC, SOAP, UDDI & WSDL. O’Reilly Media (2002). M. Weiss. Web Services. Carleton University. http://www.slideshare.net/mrw/web-services-84334 T. Bellwood. Understanding UDDI. Tracking the evolving specification. IBM developerWorks (2002). http://www.ibm.com/developerworks/webservices/library/ws-featuddi/ T. Harris yUML. Simple UML diagrams online. yuml.me Tutorial L. Vogel. Webservices with Axis2 and the Eclipse Web Tool Platform (WTP). http://www.vogella.de/articles/Webservice/article.html Comics Geek & Poke. http://geekandpoke.typepad.com Antonio Villegas ESSI Seminar October 20, 2010 31 / 31
  • 68.
    Introduction SOAP, WSDL and UDDI From Desktop to Web Conclusions Credits Credits References F. Curbera et al. Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI. IEEE Internet Computing (2002), 86–93. E. Cerami. Web Services Essentials. Distributed Applications with XML-RPC, SOAP, UDDI & WSDL. O’Reilly Media (2002). M. Weiss. Web Services. Carleton University. http://www.slideshare.net/mrw/web-services-84334 T. Bellwood. Understanding UDDI. Tracking the evolving specification. IBM developerWorks (2002). http://www.ibm.com/developerworks/webservices/library/ws-featuddi/ T. Harris yUML. Simple UML diagrams online. yuml.me Tutorial L. Vogel. Webservices with Axis2 and the Eclipse Web Tool Platform (WTP). http://www.vogella.de/articles/Webservice/article.html Comics Geek & Poke. http://geekandpoke.typepad.com Antonio Villegas ESSI Seminar October 20, 2010 31 / 31