Designing software applications Lection 4 Middleware software
Soap protocol
Soap web-services Abstraction. The details of a service implementation are hidden. A service only reveals its interface (operations, inputs, outputs).
Soap web-services Composability. Services are designed to be capable of being assembled into larger composite services. In some cases, a composite service provides coordination of the individual services.
Soap web-services Autonomy. Each service is self-contained, such that it can operate independently. Reusability. A key goal of SOA is to design services that are reusable. The design goals of services are intended to facilitate reuse.
Soap web-services Statelessness. Where possible, services maintain little or no information about specific client activities. Discoverability. A service provides an external description.
SOAP web-services Service-oriented Each service supports a set of operations
SOAP web-services SOAP HTTP WSDL XML
SOAP Message Header Routing information Body Message content
SOAP Message ASP.NET MVC Web-services Windows Communication Foundation Django + soaplib Java Platform, Enterprise Edition
WSDL Web services description language
WSDL Parts Service Endpoint Binding Operation Types
WSDL Parts <description> <documentation></documentation> <types> </types> <interface> </interface> <binding></binding> <service></service> </description>
WSDL Parts <interface name = "reservationInterface" > <operation name="opCheckAvailability"> <input messageLabel="In" element="ghns:checkAvailability" /> <output messageLabel="Out" element="ghns:checkAvailabilityResponse" /> </operation> </interface>
WSDL Parts Every WSDL 2.0 document has a description element as its top-most element. This merely acts as a container for the rest of the WSDL 2.0 document, and is used to declare namespaces that will be used throughout the document.
WSDL Parts <?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/ns/wsdl" targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc" . . . > . . . </description>
WSDL Parts <?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/ns/wsdl" targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc" . . . > . . . </description>
UDDI Universal Description, Discovery and Integration (UDDI, pronounced /ˈjʊdiː/) is a platform-independent, Extensible Markup Language (XML)-based registry by which businesses worldwide can list themselves on the Internet, and a mechanism to register and locate web service applications.
UDDI
UDDI
SOAP Security OAuth WS-Security