Web Services & Myths Around it Based on the paper “Myths around Web Services” by Gustavo Alonso Debashis Roy Deepa Saha What is claimed? 2 Web service is a natural evolution of conventional middleware necessary to meet the challenges of the Web and of B2B application integration. Author discusses the challenges and solutions that remain relevant regardless of how emerging standards and technologies evolve. How the claim is proved? 3 Web services are an accepted & dominant standard. Web services are the best way to implement conventional applications. Web services provide a direct link between middleware platforms of different corporations. Dynamic binding will be a common way of working with web services. All data will be in XML. Outlook towards Web services 4 A revolutionary technology radical change in middleware, application integration & use of internet. An evolutionary step An additional layer on top of existing middleware and EAI platforms. 5 Client Client Presentation layer Application logic layer Resource management layer 1-tier architecture 2-tier 3-tier server Application logic layer Middleware Information system Presentation layer Web Services & Myths Around it From Middleware to Web Services 6 Middleware 7 Basic infrastucture behind distributed information system Interaction between applications across heterogeneous platforms Solution to integrating set of servers and applications under a common service interface 8 Programming Languages Databases Operating Systems Middleware Systems Distributed Systems Networking Types of middleware 9 RPC based systems Transforms procedure calls to remote procedure calls Foundation of web services middleware TP monitors RPC system with transactional capabilities Object brokers RPC system with object-oriented aspect Object monitor TP monitors with object-oriented aspect Message-Oriented Middleware (MOM) TP monitors with persistent message queuing feature Message brokers MOM with message filtering and transforming capability Enterprise Application Integration (EAI) 10 Extends middleware capabilities to cope with application integration Uses application logic layers of different middleware systems as building blocks Integrates applications and enterprise data sources so that they can easily share business processes and data 11 Middleware Middleware Middleware EAI Middleware Middleware Middleware Web Technologies 12 ….Intra-enterprise application integration Web Technology Inter-enterprise application integration Web browsers HTML, Java Web Server Databases Middleware Server Legacy Systems Web Services 13 A way to expose the functionality of an information system and making it available through standard web technologies. “a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols” [W3C] Web Services & Myths Around it Web Services Architecture 14 The two Facets of Web Services architecture 15 Internal architecture Web services expose internal operations to be invoked through the web Receive requests through the web Pass the requests to the underlying IT system External architecture A middleware architecture which integrates different web services 16 Web service architecture comprises Internal and external architecture 17 Clients from other companies Conventional Middleware Basic architecture of a Web service implemented atop a tiered architecture 18 External architecture of Web services Web Services & Myths Around it A Quick Overview of Web Services 19 Web Service Components 20 Web service architecture has three components Service requester Service provider Service registry Basic infrastructure is implemented with UDDI A name and directory server WSDL A way to describe services SOAP A way to communicate Universal Description, Discovery and Integration 21 A specification that defines how to interact with a registry What the entries on the registry look like Interaction with UDDI Registration Adding new service descriptions to the registry Lookup Queries to search for right services Types of UDDI registry Public Open search-engines for web services Private Created by companies for their own use Web Services Definition Language 22 Defines the interface to a web service Types XML schema describing used data types Messages Necessary to invoke an operation of the WSDL Specification Abstract Part Types service Operations Message Reference to input/output message Port type Port Type Operation Set of operations that conform an instance of a Operation service Binding Actual protocol to be used to invoke the operations Services and ports References to actual location of service Concrete Part Binding Service Port Simple Object Access Protocol 23 SOAP Envelope A specification of a protocol wrapper Interaction between requester, provider and registry happen through SOAP Provides a standardized way to Transform different protocols Interaction mechanisms into XML documents SOAP header Header Block SOAP Body Body Block 24 Interaction among the Web service components Web Services & Myths Around it The Myths Around Web Services 25 Web services and standards 26 Assumption Most applications will speak and understand XML All systems will support SOAP Everybody will advertise their service in UDDI registries All services will be described in WSDL Reality Standards no longer means globally unique in the B2B world. Other competing B2B standards coexist In manufacturing – Electronic Data Interchange (EDI) In financial world – Society for World-wide Interbank Financial Telecommunication (SWIFT) Web services and standards….(contd.) 27 Fact Web services are biased towards the protocols, representation and standards of their underlying middleware. Web services add a new layer to the complex multi-tier architecture Translation to and from XML Tunneling of RPC through SOAP Clients embedded in web servers Alternative port types Problems Addition of a new layer on top of the complex multi-tier system Adds significant performance overhead Developing, tuning, maintaining and evolving of multi-tier systems becomes more complex. Web Services in Conventional Applications 28 Conventional applications using web services Flight reservations Car rental Hotel booking, etc. All of them are B2C but web services were created for B2B applications. There are some applications which can be implemented with web services but that might not be the best way Applications that sends periodic bug reports Applications that automatically download or install patches Systems that use remote service to provide a functionality Web Services in Conventional Applications…. (contd.) 29 Problems Web services are loosely coupled Not suitable for atomic transactions among financial institutions Trust Can applications trust external web services? Semantics Web services cannot ensure that the remote application receives understandable data. Direct Connectivity Across Corporate Boundaries 30 Claim Web services provide a direct link between middleware platforms of different corporations. Problem The complexities of application integration and software design increase. Claim Using RPC through SOAP is a gateway to interconnect the IT infrastructure of different companies. Reality RPC results in a tight integration among the components and make them dependent on each other. UDDI and Dynamic Binding 31 Functionality UDDI registries are web services’ catalogues for humans only. Semantic interpretation of parameters and operations Interaction between companies are regulated by contracts Software Engineering Dynamic binding does not make sense for web services. UDDI registry cannot do any load balancing nor any automatic redirection to a different URI in case of failure. All Data will be in XML 32 XML is a performance nightmare. Some data types does not get along well with it. In many cases application data need not to be in XML. XML can be used for linking heterogeneous systems. If data format is decided, then XML becomes the syntax of SOAP only. Conclusion 33 This paper intends to give a coherent picture of What web services are What they contribute Where they will be applied Web services are, at the current stage, only a natural evolutionary step from conventional application integration platforms. Web Services & Myths Around it Questions? …and may be… Answers 34