CORNELL CS 5410 - Web Services and SOA Standards

Unformatted text preview:

iKen BirmanCornell University. CS5410 Fall 2008. A story of standards…y What’s a standard?y Historically, the industry has advanced in surgesy First, a major advance occurs, like first web browsery Big players jump on board, agree to cooperate to ensure interoperability of their products which will innovate in interoperability of their products, which will innovate in terms of the user experience but standardize “internals”y Today, we’re awash in standardsy But creating a standard isn’t any formula for successy There are far more ignored standards than adopted onesA short history of standardsy Some standards that matteredy CORBA: general object‐oriented interoperabilityy J2EE: Ja va runtime environmenty .NET: Microsoft’s distributed computing infrastructureyWeb Services: the web but not limited to browsers yWeb Services: the web, but not limited to browsers interacting to web servers. y Web services use the same standardsy But the focus on programs that interact by exchanging documents (web pages) that encode information(Today) Web Services are “hot”y This is the basic standard employed in cloud computing systemsI i h “b ” f h kyInternet is at the “bottom” of the stacky Then layer on standards used when browsers talk to web servers (HTTP) and to encode those pages (HTML)servers (HTTP) and to encode those pages (HTML)y Web services run ov er HTTP and HTML, but the web pages have their own mandatory encoding, called SOAP. db d It describes requests and responses on servicesy The associated architecture is referred to as a “service oriented architecture” (SOA) and the systems built oriented architecture (SOA) and the systems built this way are “service oriented systems” (SOS).Turtles all the wa y down…“ A well‐known scientist (some say it was Bertrand Russell) once gave a public lecture on astronomy. He described how the earth orbits around the sun and how the sun in turn the earth orbits around the sun and how the sun, in turn, orbits around the cent er of a vast collection of stars called our galaxy. At the end of the lecture, a little old lady at the gy f , yback of the room got up and said: "What you have told us is rubbish. The world is really a flat plate supported on the bk f it tti " Th itit i back of a giant tortoise." The scientist gave a superior smile before replying , "What is the tortoise standing on?" "You're very clever, young man, very clever," said the old y , yg , y ,lady. "But it's turtles all the way down!"Standards all the wa y down…y We’re starting to see a second generation of standards layered on the basic web services onesXML h b (b ff)yXML on the bottom (web page stuff)y Then web services on top of the web page stuffyThen for example the military “global information yThen, for example, the military global information grid” (GIG) layered over web servicesy Other emerging standards: financial data centers, medical computing systems, etcy These generally adopt the underlying standard, then dd dditi l l f i it f ifi add additional rules for using it for specific purposesElements of the standard?y A collection of documents that spell out the rulesy There are a great many of these documentsyAnd like many standards, not all have been widely adoptedyVendors like Microsoft BEA IBM (even Google) have yVendors like Microsoft, BEA, IBM (even Google) have their own platforms implementing parts of these documents; in theory the systems interoperatey But they also compete, by innovating around the edgesBasic Web Services modelSOAP RouterClient SystemRouterSystemBackend ProcessesWebWeb ServiceBasic Web Services modely “Web Services are software components described via WSDL which are capable of being d dd kSOAP Routeraccessed via standard network protocols such as SOAP over HTTP.”RouterBackend ProcessesWebWeb ServiceBasic Web Services modely “Web Services are software components described via WSDL which are capable of being d dd kSOAP Routeraccessed via standard network protocols such as SOAP over HTTP.”RouterBackend ProcessesToday, SOAP is the primary standard. SOAP provides rules for encoding the request and its arguments.WebqgWeb ServiceBasic Web Services modely “Web Services are software components described via WSDL which are capable of being d dd kSOAP Routeraccessed via standard network protocols such as SOAP over HTTP.”RouterBackend ProcessesSimilarly, the architecture doesn’t assume that all access will employ HTTP over TCP. In fact, .NET uses Web Services “internally” Webyeven on a single machine. But in that case, communication is over COMWeb ServiceBasic Web Services modely “Web Services are software components described via WSDL which are capable of being d dd kSOAP Routeraccessed via standard network protocols such as SOAP over HTTP.”RouterWSDL documents WSDBackend Processesare used to drive object assembly, codeWebWSDLdocument+code generation, and other development tlWeb Servicetools.Web Services are often Front EndsWSDL-described Web ServiceWeb Service invokerCOMSAPCOMAppWebServer(e.g., IBM WebSphereWebAppC#AppSOAPWebSphere,BEAWebLogic)DB2ServerCORBAAppSOAPmessagingserverServer PlatformClient PlatformThe Web Services “stack”BusinessProcessesBPEL4WS (IBM only, for now)QualityofServiceReliableMessagingSecurityTransactionsServiceDescriptionCoordinationMessagingWSDL, UDDI, InspectionMessagingXML, EncodingOtherProtocolsSOAPTransportTCP/IP or other network transport protocolsHow Web Services worky First the client discovers the service.y Typically, client then binds to the server.y Next build the SOAP request and send ity SOAP router routes the request to the appropriate server(assuming more than one available server)server(assuming more than one available server)y Can do load balancing here.yServer unpacks the request handles it computes yServer unpacks the request, handles it, computes result. Result sent back in the reverse direction: from the server to the SOAP router back to the client.Marshalling Issuesy Data exchanged between client and server needs to be in a platform independent format.y“Endian”ness differ between machinesyEndian ness differ between machines.y Data alignment issue (16/32/64 bits)y Multiple floating point representations.y Pointers¾ (Have to support legacy systems too)Marshalling…y In Web Services, the format used is XML.y In UNICODE, so very verbose.y There are


View Full Document

CORNELL CS 5410 - Web Services and SOA Standards

Download Web Services and SOA Standards
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Web Services and SOA Standards and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Web Services and SOA Standards 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?