Fall CIS 764 Database Systems Engineering L12.2: Web Services ++ Web service as an enterprise “component” Distributed business processes build using web services.
Fall CIS 764 Database Systems Engineering Objects, components, web-services: R. Sessions, "Fuzzy Boundaries: Objects, Components, and Web Services", ACM Queue, Jan factors: location, environment, protocol: * entity and the client in same process => objects * different processes, same environment => component (EJB, dotNet managed components ) * different processes, different environments => service (web service, rpc )
Fall CIS 764 Database Systems Engineering Web service is access of object methods for remote use (by client or other “components” via web protocols. Why remote use ? (vs local ejb ?) What kind application architecture? Why web protocols? (vs rmi, rpc ?)
Fall CIS 764 Database Systems Engineering one issue is efficiency: object << component << service Then why the focus, growth of web services?
Fall CIS 764 Database Systems Engineering "Web Services Protocol Stack", Wikipedia Service/transport layer …. Http, … Message encoding layer … XML: SOAP, RPC Description protocol ……. XML: WSDL Discovery service ……….. XML base, business services directory Business process model … BPEL
Fall CIS 764 Database Systems Engineering POST /InStock HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap= soap:encodingStyle=" IBM
Fall CIS 764 Database Systems Engineering Response: HTTP/ OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap= soap:encodingStyle=" 34.5
Fall CIS 764 Database Systems Engineering Web Service Description Language: partial example syntax pattern Structure Element Defines The operations performed by the web service The messages used by the web service The data types used by the web service The communication protocols used by the web service
Fall CIS 764 Database Systems Engineering Partial example:
Fall CIS 764 Database Systems Engineering Universal Description, Discovery, and Integration service, and XML registry, with three parts: White Pages — address, contact, and known identifiers; Yellow Pages — industrial categorizations w standard taxonomies; Green Pages — technical info about services. e.g. UDD4J Java implementation
Fall CIS 764 Database Systems Engineering Example Oracle WS tutorials: Creating a Web Service from an EJB (reverse engineering) Developing, Deploying, and Managing a Web Service Using JDeveloper calendar service, direct access in OC4J, (rev. engr --service from class) Developing a Web Service with JDeveloper (fwd engineering) credit rating service, direct service in OC4J, (component from contract) Securing Web Service using JDeveloper
Fall CIS 764 Database Systems Engineering SOA - Service Oriented Architecture: building of enterprise application based on web services and supporting components. Is it different than web-applications architecture (J2EE web apps) ?
Fall CIS 764 Database Systems Engineering SOA - Service Oriented Architecture: building of enterprise application based on web services and supporting components. Is it different than web-applications architecture (J2EE web apps) ? Ans: focus on business processes (vs single app / ops) focus on sharing services/ components
Fall CIS 764 Database Systems Engineering major enterprise design aspect is on business process modeling (sometimes called “workflow” ) e.g. Interaction Patterns Oracle SOA center:
Fall CIS 764 Database Systems Engineering
Fall CIS 764 Database Systems Engineering distinction between “orchestration” … constraint behavior for one participant vs “choreography”… coordination between various parties in a sense, UML sequence model is orchestration (a behavior model) UML swim lane process model is choreography (a process coordination model)
Fall CIS 764 Database Systems Engineering BPEL.. an executable control language Other slides: Discussion: Patterns: BPELJ …Java implemenation …. More examples / discussion
Fall CIS 764 Database Systems Engineering Oracle BPEL Process Manager BPEL tutorial: Model and Deploy the Loan Flow Process using Oracle BPEL Process Manager
Fall CIS 764 Database Systems Engineering end