[ 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
BinaryASCII 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.
WebSem
WebSrvcAgentsMulti-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