Interoperability, Software Agents

Download Report

Transcript Interoperability, Software Agents

CIS*6650.01
Service-Oriented Computing
Qusay H. Mahmoud, Ph.D.
[email protected]
Qusay H. Mahmoud
CIS*6650.01
1
Web Services…
Interoperability
– WS-I Basic Profile
Software Agents
– What are they
– Their applications
– Integration with Web services
Qusay H. Mahmoud
CIS*6650.01
2
Interoperability
An interoperable Web service is one that works
across platforms, languages, and other Web
services from various vendors
Challenges
–
–
–
–
Too many standards, each deals with a specific problem
Solutions utilize multiple standards
Different interpretations of the standards
Multi-vendor environments
Interoperability can be achieved (or can be less of a
concern) by following the guidelines set by the WS-I
Basic Profile
Qusay H. Mahmoud
CIS*6650.01
3
Interoperability
Industry members formed the WS-I (http://wsi.org)
– An open industry organization chartered to
promote Web services interoperability across
platforms, operating systems, and programming
languages
WS-I is not a “standards” body
– It cooperates with industry groups
– Acts as a point of integration for the standards they
generate
Qusay H. Mahmoud
CIS*6650.01
4
Interoperability
WS-I Goals
– Provide education & guidance to further promote
adoption of Web services
– Promote consistent and reliable practices to help
developers build interoperable Web services
– Articulate and promote a common industry vision
for Web services interoperability
To achieve these goals, strategies employed:
– Implementation and testing guidance (best
practices, and testing tools to validate
conformance)
– Web services profiles
Qusay H. Mahmoud
CIS*6650.01
5
Interoperability
WS-I deliverables
– Profiles
In response to the growing number of interrelated specifications;
solve the problem of which products supported what levels of
specification
– Test tools
Monitor interactions between Web services and generate a log that
will be the input to the Analyzer (do they conform to a given profile?)
– Use cases and usage scenarios
Capture business and technical requirements in a particular
situation
– Sample applications
Implementations of applications in use cases and scenarios
Qusay H. Mahmoud
CIS*6650.01
6
Interoperability
A profile
– is a named set of Web services specifications
– adds constraints and guidance
– doesn’t address application semantics
– focuses on testable requirements
– chooses between multiple mechanisms (e.g.
rcp/literal vs. rpc/encoding)
Example
– Basic Profile 1.0 , 1.1, 1.2, 2.0
– Basic Security Profile
Qusay H. Mahmoud
CIS*6650.01
7
Interoperability
Basic Profile 1.0
– SOAP 1.1, WSDL 1.2, UDDI 2.0
Scope of Basic Profile
–
–
–
–
–
Messaging (SOAP/HTTP)
Service description (WSDL)
Service discovery (UDDI)
XML Schema
XML 1.0
Sample conformance requirement
– R0007 A SENDER MUST NOT use the
soap:mustUnderstand attribute when sending a SOAP
header block containing a conformance claim
Four levels of compliance: compliant, typically
compliant, potentially compliant, unique
Qusay H. Mahmoud
CIS*6650.01
8
Interoperability
Messaging (SOAP encodingStyle attribute)
– R1005: A MESSAGE MUST NOT contain
soap:encodingStyle attributes on any of the
elements whose namespace is (URL to envelope
schema)
– R1006: A MESSAGE MUST NOT contain
soap:encodingStyle attributes on any element
that is a child of soap:Body
– R1007: A MESSAGE described in an rpc/literal
binding MUST NOT contain soap:encodingStyle
attribute on any elements that are granchildren of
soap:Body
Qusay H. Mahmoud
CIS*6650.01
9
Interoperability
Messaging (SOAPAction)
– R2744: An HTTP request MESSAGE MUST contain
a SOAPAction HTTP header with quoted value
equal to the value of the soapAction attribute of
soapbind:operation, if present in the corresponding
WSDL description
– R2745: An HTTP request MESSAGE MUST contain
a SOAPAction HTTP header field with a quoted
empty string value, if in the corresponding WSDL
description, the soapAction attribute is not present
or present with an empty string as its value
Refer to WS-I Basic Profile for the list of all
rules
Qusay H. Mahmoud
CIS*6650.01
10
Software Agents and Web Services
A software agent is an entity that
– Acts on behalf of others in an autonomous fashion
– Performs its actions in some level of proactivity and
reactivity
– Exhibits some levels of key attributes of learning, cooperation, and mobility
Too many definitions, including:
– A software component built using agent-oriented tools (goaloriented)
– An object with an attitude
Agents vs. Objects:
http://www.jot.fm/issues/issue_2002_05/column4
Qusay H. Mahmoud
CIS*6650.01
11
Software Agents
Classification
Qusay H. Mahmoud
CIS*6650.01
12
Mobile Agents
An agent that is able to migrate from host to
host to work in a heterogeneous environment
Attractive: bandwidth, connectivity
Possible advantages:
Qusay H. Mahmoud
CIS*6650.01
13
Agent Security
Protecting hosts from malicious agents
– Leakage: acquisition of data by unauthorized party
– Tampering: altering of data by unauthorized parties
– Resource stealing: use of facilities by unauthorized
parties
Protecting agents from malicious hosts
– Scan agent for info, alter agent’s state, kill agent
Therefore, users resist the use of agents
– Would you trust a mobile shopping agent with your
credit card information?
Qusay H. Mahmoud
CIS*6650.01
14
Developing with agents
Many tools are available (agent-based)
– JADE (jade.tilab.com), complies with FIPA
specifications (www.fipa.org)
How many agents are needed for a task?
Wrong question, just like asking how many
objects are needed
Apply the MVC
Source: Mahmoud, Q.H., and Maamar, Z.:
Applying MVC to Multi-Agent Systems
CCECE2006, Ottawa, Canada
Qusay H. Mahmoud
CIS*6650.01
15
Sample App
MobiAgent
Qusay H. Mahmoud
CIS*6650.01
16
Making Agents User-Friendly
Business partnerships
Source: Mahmoud, Q.H., and Yu, L.: Making Software Agents User-Friendly, IEEE
Computer, Jul 2006
Qusay H. Mahmoud
CIS*6650.01
17
Agents vs. Web Services
A Web service knows only about itself, but not
its clients. Agents are self-aware
Web services are passive. Agents are
inherently communicative
Agents are autonomous
Agents are cooperative
Many applications of agents to Web services in
many recent conferences and journals
Qusay H. Mahmoud
CIS*6650.01
18