View
222
Download
0
Tags:
Embed Size (px)
Citation preview
Service Oriented Architectures Semantics, Processes, Agents
Based of Book by:(Munindar P. Singh, Michael N. Huhns)
Ben SnivelyEEL6938
Classroom: Eng I - 388 Class Hours: Tues, Thurs 10:30 - 11:45
University of Central Florida www.ucf.edu
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 ArchitectureBreadth 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. Understand parameters/complex types to the service.
Discoverable and Stateless entities. 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 Producer
University of Central Florida 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)
SOAP Interface Definition (providing Well Defined Interfaces)
WSDL – Web Service Definition Language Discovery
UDDI
University of Central Florida www.ucf.edu
Web Service Model
Consumer Producer
Registry (UDDI)
1. Registers/Publisha Service (WSDL)2. Request Service
for requirement.
3. Invoke/Bindto Service
(SOAP)
University of Central Florida 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
ConsumerReactive
Agent
Often times:Distributed Services are implemented
using Distributed Reactive Agents(which need to be discovered/etc..)
ReactiveAgent
ReactiveAgent
SOAP SOAP
Sensor
Actions
KB
StrategyGoals
SOAP SOAP
Actuators
University of Central Florida 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 Central composer organizes/controls flow and calls
Choreography Control is shared between participants, having
agreement ahead of time. Collaboration
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 item1. Bid X number of dollars
right before end of auction WS CALL2. IF (WON)
a) Complete eBay Checkout WS CALLb) Send PayPal Payment WS CALLc) Send Client notification of Won Item WS CALL
3. ELSEa) 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:subClassOf
owl:equivalentClass
owl:disjointWith rdf:domain
owl:inverseOf
owl:equivalentProperty
rdfs:subPropertyOf
rdf:range
x
rdf:subPropertyOf
owl:equivalentProperty
owl:TransitiveProperty
owl:SymmetricProperty
owl:DatatypeProperty
rdf:Property
owl:ObjectProperty
owl:Class
rdfs:Class
rdfs:Datatype
owl:DataRange
owl:FunctionalProperty
owl:InverseFunctionalProperty
University of Central Florida 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
WebService Agent
Gateway
Web ServiceClient
SOAPRequest
SOAPResponse
Agent
ACLRequest
ACLInform
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, Post-
conditions, 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
Task1
Task2
Task3
Task4
Task5
Task6
Task7
WebService1 WebService2 WebServiceN. . .
Discovering, Matching, Planning, Composing
Repository/Directory of Services
Discovering, Matching, Planning, Composing
Goal
Subgoal
Subgoal
Subgoal
Subgoal
Subgoal
Subgoal
Subgoal
SubgoalSubgoal
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.