[ slides ] Service oriented programming
Download
Report
Transcript [ slides ] Service oriented programming
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