Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Web Services Architecture - Deepti Agarwal Web Services Architecture 1 The Definition.. • A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols. • At a high level, a Web service is two, or more, software agents exchanging information using Message oriented communication. Web Services Architecture 2 Why Web Services? The use of Web Services on the World Wide Web is expanding rapidly as the need for application-to-application communication and interoperability grows. These Web services provide a standard means of communication among different software applications, running on a variety of platforms and/or frameworks. Web Services Architecture 3 Broad Usage • Exchange of programming objects or invocation of software functions over a network : Distribute Components and Application Integration • Exchange of electronic business documents over a network : B2B • Accessing human readable documents and posting requests for information, products, or services via the HTTP protocol : WWW Web Services Architecture 4 Web service Activities 1. 2. 3. 4. 5. A Web service needs to be created, and its interfaces and invocation methods must be defined. A Web service needs to be published to one or more intranet or Internet repositories for potential users to locate. A Web service needs to be located to be invoked by potential users. A Web service needs to be invoked to be of any benefit. A Web service may need to be unpublished when it is no longer available or needed. Web Services Architecture 5 A different outlook • Web Services are self-contained, modular applications that can be described, published, located, and invoked over a network, generally, the World Wide Web. . • The Web Services architecture describes three roles: service provider, service requester and service broker; and three basic operations: publish, find and bind. A network component can play any or all of these roles. Web Services Architecture 6 Web services Components Web Services Architecture 7 How do Web services work? Service “A” Service “B” Internet Web Services Protocols and Registry (or internal private Internet, or Virtual Private Network between business partners) Web Services Architecture Web Services Protocols and Registry 8 WSA as Distributed Computing Application “A” CORBA, EDI APPC, COM, and other predecessor Distributed Computing Architectures Programmers need to tell Application “A” where to find Application “B” (hardwiring the two applications together for communicating purposes.) Application “B” This connection may require maintenance over the course of its lifetime – again using human application developer resources. Programs communicate only if application developers tell them to… Traditional Tightly Coupled Program to Program Communications Web Services Architecture 9 WSA as Distributed Computing This application requests another application to perform a service. The registry service helps find cooperative applications. (no programmer) Application If a known cooperating application is not available a registry helps find another suitable service application. (no longterm programmer maintenance) Module A: A Registry Service Locates a compatible application service Module B: Module C: Module D: Web Services Loosely-Coupled Program-to-Program Communications Web Services Architecture 10 3 stack WSA diagram Web Services Architecture 11 3 stack WSA diagram • Wire stack : those pieces that represent what is sent during a given exchange, the combination of the data, the envelope and all other metadata necessary for the successful transmission of a message. • Description Stack: the collection of specifications that provide the formal definition of the format, use, or application, of the specs in the “Wire” stack. Like XML Schemas, Service Description, Process Flow Orchestration. • Discovery Stack: provide a means for manual or automated searching and discovery of the components in the other two stacks. Inspection and Discovery. Web Services Architecture 12 Service-oriented application protocols Web Services Architecture 13 Service-oriented application protocols • Web services are software components that are developed using specific technologies from three primary technology categories: – An XML-based description format (for example, WSDL). – An application messaging protocol (for example, SOAP). – A collection or transport protocol (for example, HTTP). • In each of these categories, there are proprietary (vendor- or platform-specific) technologies as well as open (vendor- or platform-independent) technologies available. Web Services Architecture 14 Domain of Web service protocols Web Services Architecture 15 Domain of Web service protocols • Enterprise Web services: WSDL description is essential. • Internet Web services are enterprise Web services that MUST only use ONE of open application messaging or transport protocols. • XML Web services are Internet Web services that MUST use XML-based messaging protocol over a narrow range of transport protocols. Specifically, XML Web services will only send SOAP messages, and only send them over HTTP, SMTP, or raw TCP/IP connections. Web Services Architecture 16 What does WSA use? • SOAP (Simple Object Access Protocol): A remote procedure call method for invoking applications. • WSDL (Web Services Description Language): A template/interface definition language for defining how applications can "talk" to each other and facilitate mapping to back end systems. • XML (Extensible Markup Language): A means of presenting format/syntax. • UDDI (Universal Description, Discovery, and Integration): Its an evolving registry/directory standard. ***. • HTTP (HyperText Transfer Protocol): An Internet communications protocol. *** ***Not formal Web services standards. Web Services Architecture 17 Features • Interoperability: Any Web service can interact with any other Web service. Converting between CORBA, DCOM and other protocols is over with SOAP. And because Web services can be written in any language (even COBOL!), developers do not need to change their development environments in order to produce or consume web services. . • Just-in-time integration: They can be dynamically composed into applications with a service-based look-up at runtime, instead of the traditional static binding.The dynamic nature of the collaborations allow the implementations to be platform- and programming languageneutral. Enables loose coupling between applications. Web Services Architecture 18 Features (contd..) • Ubiquity: Web services communicate using HTTP and XML. Therefore, any device which supports these technologies can both host and access Web services. . • Reduces complexity by encapsulation: System complexity is reduced when application designers do not have to worry about implementation details of the services they are invoking. Encapsulation is key to coping with complexity, Flexibility and scalability, Extensibility. Web Services Architecture 19 Features (contd..) • Low barrier to Entry. Free toolkits from vendors like IBM and Microsoft allow developers to quickly create and deploy Web services. In addition, some of these toolkits allow pre-existing COM components and JavaBeans to be easily exposed as Web services. . • Industry Support. All of the major vendors are supporting SOAP and the surrounding Web services technology. For example, the Microsoft .NET platform is based on Web services, thereby making it very easy for components written in Visual Basic to be deployed as Web services, and consumed by Web services written using IBM VisualAge, and vice-versa. Web Services Architecture 20 Challenges Faced Discovery Scalability Reliability Accountability Manageability Security Transactions Testing Web Services Architecture 21