Service Oriented Architectures Semantics, Processes, Agents Based of Book by: (Munindar P. Singh, Michael N. Huhns) Ben Snively EEL6938 Classroom: Eng I - 388 Class Hours: Tues, Thurs 10:30 - 11:45 Outline Breadth over SOA Technologies Leveraging a SOA Agents/Multi-agents Agent integration into a SOA University of Central Florida www.ucf.edu Service Oriented Architecture Breadth Overview SOA is an Architectural Approach of Designing, Implementing, and Deploying Services. So what’s a Service… Services are Course Grain, Loosely Coupled, and Distributed components. More concrete definitions to follow… University of Central Florida www.ucf.edu Services Services must have a well defined interface. Discoverable and Stateless entities. Understand parameters/complex types to the service. Find a Service that matches my need. Shared Communication Models Understand how to call the service. University of Central Florida www.ucf.edu Services Producer (Service Implementation) and Consumer (Caller of the Service) interact the well-defined interfaces. Hiding the Implementation. Service becomes independent of Language, Platform, and Location. Consumer University of Central Florida Producer www.ucf.edu Service Review Services are Course Grain Loosely Coupled Distributed Well Defined Interfaces Discoverable Shared communication Model Independent of Implementation Standards Based. University of Central Florida www.ucf.edu Services – Side note Everything should not be made a service. Service explosion occurs So what should be a service: Cost of doing job by client should be much greater than the cost of calling service + service doing it. Why send a request to do 2+2, when overhead to send the request is more than calculating result. Re-usable components. University of Central Florida www.ucf.edu Our Sample for Today - eBay We’ll use eBay as an example that we can all relate to. Candidates to be a Services: eBay Services Bid Service – User Bid on Item Auction Item Search – User Search Auction Item Description – Pull Description PayPal Services SendPayment – Send Payment University of Central Florida www.ucf.edu Web Services Web Services is NOT Web Pages. “Web” since it often operates over HTTP/HTTPS Advantage: HTTP “naturally open” for firewall ports. Type of Service Framework Standardized ways for Communication (providing Shared Communication Model) Interface Definition (providing Well Defined Interfaces) SOAP WSDL – Web Service Definition Language Discovery UDDI University of Central Florida www.ucf.edu Web Service Model Registry (UDDI) 2. Request Service for requirement. Consumer University of Central Florida 1. Registers/Publish a Service (WSDL) 3. Invoke/Bind to Service (SOAP) Producer www.ucf.edu WSDL – Interface Definition XML Document that defines Parameters to the Service Parameters are sent in the form of ASCII XML. Binary sent either through: Pointers Attachments BinaryASCII Encoding Methods Location/Port of the Service University of Central Florida www.ucf.edu Invoking the Service Since it’s XML Document sent as the Message. Sender responsible for transforming it’s data type into XML Called Marshalling Receiver responsible for transforming the XML back into the data type Called Un/Demarshalling Allows for heterogeneous environment (Java talking to C++, C, etc..) University of Central Florida www.ucf.edu Services and Agents Often times: Distributed Services are implemented using Distributed Reactive Agents (which need to be discovered/etc..) Consumer Reactive Agent SOAP SOAP Reactive Agent Reactive Agent SOAP Sensor KB SOAP Actions Goals University of Central Florida Strategy Actuators www.ucf.edu Now What We have all the course grain services – how do we get anything done. Services become “Building Blocks” for doing complex tasks and processing. University of Central Florida www.ucf.edu Achieving Business Goals Processes execute series/parallel of services/agents. Services used by multiple processes. Manufacturing Example: Automobiles Companies share components between different models (i.e. Engines, Frames, etc). Multiple “Assembly Lines” reuse these components to product different products. University of Central Florida www.ucf.edu Types of Processes Orchestration Choreography Control is shared between participants, having agreement ahead of time. Collaboration Central composer organizes/controls flow and calls Choreography, with ability to enter relationships, such as contracts and obligations. Participants become Business Partners. Workflow Human-oriented tasks University of Central Florida www.ucf.edu Process Example eBay Example: Automatic bid/purchase of auction item 1. 2. Bid X number of dollars right before end of auction WS CALL IF (WON) a) b) c) 3. Complete eBay Checkout WS CALL Send PayPal Payment WS CALL Send Client notification of Won Item WS CALL ELSE a) Send Client notification that Item not won. WS CALL University of Central Florida www.ucf.edu Issues with SOA Web Service pattern does not work – Discovery issue. Has become development time task of selecting correct service. Standard simply define the syntax and means to communication. Missing semantics of the service, parameters, contracts – which are required for machine to understand service. University of Central Florida www.ucf.edu Adding Semantics Web Service Standards An XML Schema document gives us syntactic details. Doesn’t identify the content represented by a document. User Schemas allow multiple representations for the same content Example: CustomerID and Customer_ID in two schemas may refer to the same entity. RDF expresses the content itself, adding meaning to the elements in the document. OWL extends RDF to add richer meaning University of Central Florida www.ucf.edu OWL – Web Ontology Language includes Descriptions of classes Class properties Relationships between classes/instances Restrictions and Axioms OWL is designed for use by applications that need to process the content of information instead of just presenting information to humans.* (* from Wikipedia) University of Central Florida www.ucf.edu OWL Entities and Relationships rdfs:Class rdfs:Datatype rdfs:subClassOf owl:DataRange owl:equivalentClass owl:Class owl:disjointWith rdf:domain rdf:Property rdf:range x owl:equivalentProperty owl:inverseOf owl:Object Property rdfs:subPropertyOf owl:Datatype Property rdf:subPropertyOf owl:Functional Property owl:equivalentProperty owl:Inverse Functional Property University of Central Florida owl:Symmetric Property owl:Transitive Property www.ucf.edu OWL Inference Information from different sources references the same object (URI) are automatically combined. We can declare No Person can have more than one mother Mary is John’s mother Jane is John’s mother Normal data constraints cause integrity violation OWL reasoner infers Mary = Jane (John is referenced using ID/not Name) University of Central Florida www.ucf.edu Combing SOA and OWL Web Ontology Language – Services (OWL-S) OWL-S Adds Semantics to the Web Service Framework, extended it’s syntactical standards. Allowing for service selection and understanding by Computers/Programs Page 318 Goal: “MAKE WEB SERVICES AMBIGIOUSLY INTERPRETABLE BY A COMPUTER/AGENT” University of Central Florida www.ucf.edu OWL-S Explained Describes Declarative Properties and Capabilities (for Discovery) Declarative APIs Declarative Descriptions Inputs, Outputs, Preconditions, Effects ** Used for Composition and Interoperation. Allows systems to programmatically use services. University of Central Florida www.ucf.edu OWL-S Service Ontology Service function, applicability, quality of service, preconditions communication protocol, message formats, port numbers use of service, semantic content of requests, outcome conditions, SERVICE REALLY WHAT MATCHES NEEDS University of Central Florida www.ucf.edu Agents for Service Oriented Computing Unlike Basic Services, agents Know about themselves, and could know about their users and their competitors Use and reconcile ontologies or other forms of Knowledge base Extends the simple stateless service. Learn Are proactive (in some cases) Form commitments and communicate Can be cooperative University of Central Florida www.ucf.edu Multi-Agent Systems Tradational thought: 1 Server 1 Solution Examples includes Services, Processes (which could be made up from other distributed services) Collaboration Agents/Services Retain identity, but more explicitly interacts with other services. University of Central Florida www.ucf.edu Collaboration Agents/Services They must Operate Asynchronously Allow choice between services Engage in negotiations Describable through declarative means NOT PROCEDURAL. WebSem WebSrvcAgentsMulti-Agents University of Central Florida www.ucf.edu Combining Agents with Traditional Web Services Web Service Client SOAP Request SOAP Response Web Service Agent Gateway ACL Request ACL Inform Agent University of Central Florida www.ucf.edu Service Composition as Planning Service composition solved implemented as an automatic planning problem: States of the world (current and desired or goal) can be represented formally through Ontology and Knowledge structures. University of Central Florida www.ucf.edu Actions Actions are activated through Service calls – rather than actuators. OWL-S allows for the agent to quickly Find Services Make sure they semantically implement what need to get done Which define: Inputs, Outputs, Pre-conditions, Postconditions, and other characteristics of the service. Actions could have reward functions/etc University of Central Florida www.ucf.edu Planning Plan becomes a set of services that are invoked. Called under suitable constraints of control and data flow Agent designs could be applied depending on situation. Could use: MDP, POMDP, Rules-based, Case-based, BDI, etc… University of Central Florida www.ucf.edu Two Patterns for Engineering Service Applications Goal Subgoal Subgoal Subgoal Subgoal Subgoal Subgoal Subgoal Subgoal Subgoal Discovering, Matching, Planning, Composing Repository/Directory of Services WebService1 WebService2 ... WebServiceN Discovering, Matching, Planning, Composing Task4 Task2 Task6 Task5 Task1 Task7 Task3 University of Central Florida www.ucf.edu eBay Example Deal-finder Agent Rather than saying – bid max on price on Item X, of type Product Y. Give me the best price on Product Y Start learning, acting, and re-acting it’s environment – through the set of composite services. End up getting Product Y for a customer at the best price available. Could build similar agent to buy, sell goods, with the goals to make a profit and operate on their own. Get Auction Items would be used in both buying and selling agents. University of Central Florida www.ucf.edu Questions? Questions? University of Central Florida www.ucf.edu