- Количество слайдов: 31
Governance Current Technology Support Rodrigo Paes
Agenda • Goals • Web Services – What is? – Why? • WSCI • BPEL 4 WS • WS-Coordination • What’s next?
Current Scenario • WEB is becoming a WEB of Services – Nasdaq – Google – Amazon – Expedia – Continental Airlines – Solid. Works (CAD)1 – South West Airlines and Dolar Rent a Car 1 1 Metz, Cade - Testing the Waters, November 2001. http: //www. pcmag. com/article 2/0, 1895, 154693, 00. asp
There is a need for • Composing them • Coordinating them • Governing them
Goal • There 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?
Web Services Standards and Technology Trends
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 - Desti. Corp • 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 – W 3 C
Technology Stack W 3 C. Web Services Overview – Design Issues. http: //www. w 3. org/Design. Issues/Web. Services. html
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
Description • Web Services Description Language – WSDL – Data types – Input and output – Operations ( calculate. Matrix, get. Quote …) – Network Address – Protocol bindings
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
The general architecture Service Registry Find (UDDI) Publish (WSDL) Service Requestor Bind (SOAP/HTTP) Service Provider
Composition and Coordination
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 solving 1. – “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.
Composition • Some problems – Security – Transactions – Performance
Coordination • Some approaches – WSCI – BPEL 4 WS – WS-Coordination – eb. XML (not presented in this talking)
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? W 3 C. Web Service Choreography Interface 1. 0 - http: //www. w 3. org/TR/wsci/
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
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
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
Business Process Execution Language For Web Services - BPEL 4 WS
BPEL 4 WS • Example
BPEL 4 WS • Comments – It works like a programming language for coordinate services – It have to be implemented by some kind of coordinator
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.
WS-Coordination • It does not define the coordination protocols themselves. • Specification for a “Generic Coordinator”
Summary • Web-services - Pros – Seams to be becoming the very next industrial trend – There 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
Summary • Web Services - Cons – Agents provide a richer interaction model • ACLs – performatives have an associated semantic – Ex 1: » (door, close) » Inform (door, close) » Request (door, close) » Propose (door, close) – Ex 2: » A “refuse” does not make sense without a previously sent “request”, “propose” , … » An “inform” means the agent is going to review its beliefs.
Summary • Mix web-services and agents interaction models together Web Service Client • Web Service Agent Gateway Agent 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 Singh, Munindar P. ; Huhns, Michael N. ; Service-Oriented Computing – semantics, process, agents. Ed. John & Wiley Sons, 2005
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