Service Oriented Architectures

sounderslipInternet and Web Development

Oct 22, 2013 (3 years and 9 months ago)

86 views

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

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 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.


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/Publish

a Service (WSDL)

2. Request Service

for requirement.

3. Invoke/Bind

to 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


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

Consumer

Reactive

Agent

Often times:

Distributed Services are implemented

using Distributed Reactive Agents

(which need to be discovered/etc..)

Reactive

Agent

Reactive

Agent

SOAP

SOAP

Sensor

Actions

KB

Strategy

Goals

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 item

1.
Bid X number of dollars

right before end of auction


坓W䍁䱌

2.
IF (WON)

a)
Complete eBay Checkout


W匠䍁䱌

b)
Send PayPal Payment


W匠CA䱌

c)
Send Client notification of Won Item


W匠CA䱌

3.
ELSE

a)
Send Client notification that Item not won.



坓⁃W䱌


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

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.



Web

Sem


Web

Srvc

Agents

Multi
-
Agents

University of Central Florida

www.ucf.edu

Combining Agents with Traditional Web
Services

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

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?