Governance Current Technology Support Rodrigo Paes.

31
Governance Current Technology Support Rodrigo Paes

Transcript of Governance Current Technology Support Rodrigo Paes.

Page 1: Governance Current Technology Support Rodrigo Paes.

GovernanceCurrent Technology Support

Rodrigo Paes

Page 2: Governance Current Technology Support Rodrigo Paes.

Agenda

• Goals

• Web Services

– What is?

– Why?

• WSCI

• BPEL4WS

• WS-Coordination

• What’s next?

Page 3: Governance Current Technology Support Rodrigo Paes.

Current Scenario

• WEB is becoming a WEB of Services

– Nasdaq

– Google

– Amazon

– Expedia

– Continental Airlines

– SolidWorks (CAD)1

– South West Airlines and Dolar Rent a Car1

1Metz, Cade - Testing the Waters, November 2001. http://www.pcmag.com/article2/0,1895,154693,00.asp

Page 4: Governance Current Technology Support Rodrigo Paes.

There is a need for

• Composing them

• Coordinating them

• Governing them

Page 5: Governance Current Technology Support Rodrigo Paes.

Goal

• There are already proposed solutions for web services for dealing with such problems

• We have been working on our in-house solution: XMLaw

• What are the relationship between them?

Page 6: Governance Current Technology Support Rodrigo Paes.

Web Services

Standards and Technology Trends

Page 7: Governance Current Technology Support Rodrigo Paes.

Definitions

• A piece of business logic accessible via the Internet using open standards – Microsoft

• Encapsulated, loosely coupled, contracted software functions, offered via standard protocols over the Web - DestiCorp

• Loosely coupled software components that interact with one another dynamically via standard Internet technologies – Gartner

• A software identified by a URI, whose interfaces and binding are capable of being defined, described, and discovered by XML artifacts and supports direct interactions with other software applications using XML-based messages vi Internet-based protocols – W3C

Page 8: Governance Current Technology Support Rodrigo Paes.

Technology Stack

W3C. Web Services Overview – Design Issues. http://www.w3.org/DesignIssues/WebServices.html

Page 9: Governance Current Technology Support Rodrigo Paes.

Communication

• Simple Object Access Protocol – SOAP

– Defines an envelop for transmitting messages and rules for representing remote procedure calls

– Its is character based rather than binary based

• It is inefficient for many applications

• In some cases the SOAP header is even bigger than the payload size.

– Easier to secure. Ex.: encrypt and decrypt

– Its is a stateless protocol

• Conversational identifiers are left to the application

Page 10: Governance Current Technology Support Rodrigo Paes.

Description

• Web Services Description Language – WSDL

– Data types

– Input and output

– Operations ( calculateMatrix, getQuote …)

– Network Address

– Protocol bindings

Page 11: Governance Current Technology Support Rodrigo Paes.

Discovery

• Universal Description, Discovery, and Integration – UDDI

– Mechanism for registering and locating Web Services

– It is a web service itself

– Provides• White pages

– Entries are found by name

• Yellow pages– Entries are found by services and characteristics

• Green pages– Information about how other business can conduct electronic business

with them

– There is no support for semantic search• Its is based on keywords

Page 12: Governance Current Technology Support Rodrigo Paes.

The general architecture

ServiceRequestor

ServiceRegistry

ServiceProvider

Publish(WSDL)

Find(UDDI)

Bind(SOAP/HTTP)

Page 13: Governance Current Technology Support Rodrigo Paes.

Composition and Coordination

Page 14: Governance Current Technology Support Rodrigo Paes.

Definitions

• Composition

– Refers to the building, from a set of web services, of something at a higher level, typically itself exposed as a larger web service.

• Coordination

– Coordination is what fills the gap between autonomously acting agents and the problems they are collectively solving1.

– “Individuals efforts toward achieving common and explicitly recognized goals; and the integration or linking together of different parts of an organization to accomplish a collective set of tasks” 2.

1 G. Agha, N. Jamali, and C. Varela. Agent Naming and Coordination: Actor Based Models and Infrastructures. Coordination of Internet Agents, chapter 9, pages 225-248. Springer-Verlag, 2001.2 Kraut, R. E. and Streeter, L. A. 1995. Coordination in software development. Commun. ACM 38, 3 (Mar. 1995), 69-81.

Page 15: Governance Current Technology Support Rodrigo Paes.

Composition

• Some problems

– Security

– Transactions

– Performance

Page 16: Governance Current Technology Support Rodrigo Paes.

Coordination

• Some approaches

– WSCI

– BPEL4WS

– WS-Coordination

– ebXML (not presented in this talking)

Page 17: Governance Current Technology Support Rodrigo Paes.

Web Services Choreography Interface - WSCI

• Describes the flow of messages exchanged by a Web Service that is interacting with other services.

• The problem:– The current Web Service stack does not define relationships

among atomic operations.

– WSDL• Operations are atomic

– Need for addressing questions such as:• Can messages be sent and/or received in any order?

• What rules govern sequencing of messages?

• Is there any relation among any incoming and/or outgoing messages?

• Is there a "start" and an "end" of a given sequence? Can a given sequence be partially "undone"?

• Can a global view of the overall exchange of messages be drawn?

W3C. Web Service Choreography Interface 1.0 - http://www.w3.org/TR/wsci/

Page 18: Governance Current Technology Support Rodrigo Paes.

WSCI

• Features– Message choreography

• Order

• Rules

• Start and End

– Transactions and compensations• Describes which operations are performed in a transactional way

– Exception handling

– Thread management• Describes if and how a Web Service is capable of managing multiple conversations

– Properties and Selectors• Describes the elements that influence the observable behavior of a Web Service, such as

alternatives based on the runtime values of some parts of the messages.

– Connectors• How the operations performed by different Web Services acting in the same message

exchange actually link together.

– Operational context• how the same Web Service behaves in the context of different message exchanges

– Dynamic participation• how the identity of the target service is dynamically selected, such as message parts

Page 19: Governance Current Technology Support Rodrigo Paes.

WSCI

• Features

– It is not executable.

– It describes the observable behavior of a service and the rules for interacting with the service from the outside

• Architecture

Page 20: Governance Current Technology Support Rodrigo Paes.

Simple Example

• Message order<interface name = "TravelAgent"> <process name = "PlanAndBookTrip" instantiation = "message">

<sequence> <action name = "ReceiveTripOrder" role = "tns:TravelAgent" operation = "tns:TAtoTraveler/OrderTrip"> </action>

<action name = "ReceiveConfirmation" role = "tns:TravelAgent" operation = "tns:TAtoTraveler/bookTickets"> <correlate correlation="tns:itineraryCorrelation"/>

<call process = "tns:BookSeats" /> </action>

<action name = "SendStatement" role = "tns:TravelAgent" operation = "tns:TAtoTraveler/SendStatement"/> </action> </sequence> </process>

Page 21: Governance Current Technology Support Rodrigo Paes.

Comments

• Specification is useful for understanding how to interact to a service.

• This language may be useful as input for some monitoring architecture

• It does not represent the neither the idea of commitments, obligations and contracts

Page 22: Governance Current Technology Support Rodrigo Paes.

Business Process Execution Language For Web Services - BPEL4WS

Page 23: Governance Current Technology Support Rodrigo Paes.

BPEL4WS

• Example

Page 24: Governance Current Technology Support Rodrigo Paes.

BPEL4WS

• Example

<sequence> <assign> <copy> <from variable="PO" part="customerInfo"/> <to variable="shippingRequest"

part="customerInfo"/> </copy> </assign> <invoke partnerLink="shipping"

portType="lns:shippingPT"operation="requestShipping"inputVariable="shippingRequest"outputVariable="shippingInfo">

<source linkName="ship-to-invoice"/> </invoke> …

Page 25: Governance Current Technology Support Rodrigo Paes.

BPEL4WS

• Comments

– It works like a programming language for coordinate services

– It have to be implemented by some kind of coordinator

Page 26: Governance Current Technology Support Rodrigo Paes.

WS-Coordination

• Defines a framework for coordinating activities using a coordinator and set of coordination protocols.

• The WS-Coordination interface defines a context within which coordination is to take place and the specific items of data that are to be exchanged in order for transactions to complete successfully as part of an overall business process, such as one defined in a Business Process Execution Language (BPEL) program.

Page 27: Governance Current Technology Support Rodrigo Paes.

WS-Coordination

• It does not define the coordination protocols themselves.

• Specification for a “Generic Coordinator”

Page 28: Governance Current Technology Support Rodrigo Paes.

Summary

• Web-services - Pros

– Seams to be becoming the very next industrial trend

– There are already many big players

• IBM, Sun, Microsoft, BEA …

– Many tools are available

– The above makes web services a prominent technology to experiment the governance in practical problems

Page 29: Governance Current Technology Support Rodrigo Paes.

Summary

• Web Services - Cons

– Agents provide a richer interaction model

• ACLs – performatives have an associated semantic

– Ex1:

» (door, close)

» Inform (door, close)

» Request (door, close)

» Propose (door, close)

– Ex2:

» A “refuse” does not make sense without a previously sent “request”, “propose” ,…

» An “inform” means the agent is going to review its beliefs.

Page 30: Governance Current Technology Support Rodrigo Paes.

Summary

• Mix web-services and agents interaction models together

• However, its not clear to me:

– Agent-Agent Interaction

– Agent-Web Service provider interaction

– However, why ACL once web-services do not understand it?

• From my point of view

– It enables agent and web-services integration using a wrapper (bacalhau)

– Allowing agents communicate among themselves using ACL

Web ServiceClient

Web ServiceAgent

GatewayAgent

Singh, Munindar P.; Huhns, Michael N.; Service-Oriented Computing – semantics, process, agents. Ed. John & Wiley Sons, 2005

Page 31: Governance Current Technology Support Rodrigo Paes.

Next Steps

• Deliver a first version of TAC implementation using Web Services– Goal: Get practical feeling on web services

• Evaluate BPEL, WSCI or WS-Coordinator over the TAC– Goal: Get practical feeling

• Point out difficulties

• Decide whether continue with web services

• Unify the efforts: build a platform for experimenting the ideas discussed in the seminar.– Reputation– Semantic– Monitoring– Fault-Tolerance– Abstract Laws