Software agents. Web services. and. F. Dignum Utrecht University



Similar documents
Introduction. Tom Dinkelaker, Ericsson Guido Salvaneschi, Mira Mezini, TUD

Web-Service Example. Service Oriented Architecture

Service Oriented Architecture

EHR-IIS Interoperability Enhancement Project. Transport Layer Protocol Recommendation Formal Specification. Version 1.

Service Oriented Architecture using JAVA

Web Services Description Language (WSDL) Wanasanan Thongsongkrit

WSDL Example (Interface) WSDL Example (Implementation) Universal Description, Discovery and Integration. UDDI Usage

Affiliate SOAP-API. Content:

Send your request via a SOAP-Request (e.g. with DotNET/SOAP, Java, PHP) to he following URL of our server:

A standards-based approach to application integration

David Pilling Director of Applications and Development

Creating Web Services in NetBeans

Agents and Web Services

Griglie e Sistemi di Elaborazione Ubiqui

Web Services. Distributed Object Systems 11. Web Services, SOAP and NET. Web Applications. Web Services. Web services vs Distributed Objects

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

How To Write A Wsdl Standard For Csta (Ecma) And Cst A) (Ecmma)

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Web Services Technologies

Distributed Embedded Systems

FIPA agent based network distributed control system

Ontological Identification of Patterns for Choreographing Business Workflow

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

IBM WebSphere ESB V6.0.1 Technical Product Overview

WEB SERVICES. Revised 9/29/2015

SOA Myth or Reality??

AquaLogic Service Bus

Developing a Web Service Based Application for Mobile Client

Middleware and the Internet

Web Service for Calculating the Probability of Returning a Loan Design, Implementation and Deployment

SCA-based Enterprise Service Bus WebSphere ESB

Developing Java Web Services

Modern XML applications

AN OVERVIEW OF METHODS FOR MONITORING WEB SERVICES BASED ON THE QUALITY OF SERVICES

Introduction to Service Oriented Architectures (SOA)

Getting Started with Service- Oriented Architecture (SOA) Terminology

Service-Oriented Architectures

A PERFORMANCE MODEL WEB SERVICE

Explorer's Guide to the Semantic Web

Service Computing: Basics Monica Scannapieco

Java Web Services Training

Chapter 6 Registering and Discovering. Web Serv vices: Web services

Web Services Software Architecture

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

Decentralized multi-agent service composition

Vertical Integration of Enterprise Industrial Systems Utilizing Web Services

WSPDS: Web Services Peer-to-peer Discovery Service

Service Oriented Computing: SOAP, WSDL and UDDI. Dr. Cristian Mateos Diaz ( ISISTAN - CONICET

Increasing IT flexibility with IBM WebSphere ESB software.

Extending SOA Infrastructure for Semantic Interoperability

Building Web Services with XML Service Utility Library (XSUL)

Virtual Credit Card Processing System

Web Services Development for IBM WebSphere Application Server V7.0. Version: Demo. Page <<1/10>>

4. Concepts and Technologies for B2C, B2E, and B2B Transaction

Christoph Bussler. B2B Integration. Concepts and Architecture. With 165 Figures and 4 Tables. IIIBibliothek. Springer

Secure Semantic Web Service Using SAML

OMG ARAP --The MDA Approach to to a Finance Web Service

How To Design An Online Ticket Service (Ots)

Introduction to Service-Oriented Architecture for Business Analysts

Integration of SIP VoIP and Messaging with the AccessGrid and H.323 Systems

How To Understand A Services-Oriented Architecture

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Lesson 4 Web Service Interface Definition (Part I)

How To Create A C++ Web Service

Chapter 15 Working with Web Services

Context-based mobile GeoBI: enhancing business analysis with contextual metrics/statistics and context-based reasoning

Design and Implementation of a Framework for Testing BPEL Compositions

Towards Trusted Semantic Service Computing

On-Demand Business Process Integration Based on Intelligent Web Services

IBM WebSphere Enterprise Service Bus, Version 6.0.1

Introduction into Web Services (WS)

NIST s Guide to Secure Web Services

ITU-T Kaleidoscope Conference Innovations in NGN. Managing NGN using the SOA Philosophy. Y. Fun Hu University of Bradford

Introduction to UDDI: Important Features and Functional Concepts

My Agent Wants to Talk to Your Service: Personalizing Web Services through Agents

Demonstrating BC: Sending Out Mass ing v1.0

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

UDDI v3: The Registry Standard for SOA

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems

Increasing IT flexibility with IBM WebSphere ESB software.

Run-time Service Oriented Architecture (SOA) V 0.1

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

JVA-561. Developing SOAP Web Services in Java

SEVERAL new approaches to network management

1 Introduction FEDERATED THROUGH-LIFE SUPPORT, ENABLING ONLINE INTEGRATION OF SYSTEMS WITHIN THE PLM DOMAIN. Abstract. Jonas Rosén

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

Literature Review Service Frameworks and Architectural Design Patterns in Web Development

Ontology and Agent based Approach for Knowledge Management

INTEGRATING WEB SERVICES INTO A WEB-BASED COLLEGE ADMISSION PORTAL SYSTEM

e-gov Architecture Service Interface Guidelines

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

Ontology-based Web Service Composition: Part 1. Rolland Brunec Betreuerin: Sabine Maßmann Universität Leipzig, Abteilung Datenbanken

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS

Transcription:

Web services and Software agents F. Dignum Utrecht University

Contents What are Web Services? Standards Problems with Web Services Software Agents Conclusions

Today s Web

Web Services: Killer Application?

Development on the Web Old Web: The eye-ball Web New Web: The transactional Web The architecture of the Web is geared towards delivering information visually The architecture of the Web is geared towards intelligently exchanging information between applications

Definitions

Characteristics A Web Service is accessible over the Web Web Services communicate using platform independent and language neutral Web protocols A Web Service provides specific functionality that can be used by other programs A Web Service is registered and can be located through a Web Service Registry

Examples Amazon Web Services: search products and maintain shopping cart http://soap.amazon.com/schemas2/amazonwebservices.wsdl Convert currencies http://www.xmethods.net/sd/currencyexchangeservice.wsdl Find phone numbers for Swedish persons http://www.marotz.se/scripts/searchperson.exe/wsdl/isearchswedishperson

Web services standards WS-routing WS-security XAML... Control flow descriptions Security and management Mechanism for registering and looking up Web Services Programmatic description of Web Service interface Web Services communication protocol

SOAP Simple Object Access Protocol XML based web services communication protocol Provides message support for many Web Services standards such as WSDL, UDDI, and Microsoft s.net architecture Uses GET/POST across http, thus providing a platform & language independent means of communicating SOAP documents contain: Header - optional information about the transaction Body - contains payload (e.g. a request or response) - may instead contain error/fault information if requests fail

WSDL Web Service Description Language Structured mechanism to describe in XML: Abstract operations that a Web Service can perform Format of messages it can process Protocols it can support Physical bindings to: - communication languages, e.g. SOAP or HTTP messages - Location of services, i.e. URI and port numbers

WSDL components Types: containers for data type definitions Message: abstract definition of the data being communicated Operation: abstract message exchange protocol Port Type: abstract set of operations Binding: concrete protocol and data format for a port type Port: single, physical endpoint Service: collection of related endpoints

WSDL Components: Types <xsd:complextype name="keywordrequest"> <xsd:all> <xsd:element name="keyword" type="xsd:string"/> <xsd:element name="page" type="xsd:string" /> <xsd:element name="mode" type="xsd:string" /> <xsd:element name="sort" type="xsd:string" minoccurs="0" /> </xsd:all> </xsd:complextype> < xsd:complextype name="productinfo"> <xsd:all> <xsd:element name="totalresults" type="xsd:string" minoccurs="0" /> <xsd:element name="details" type="typens:detailsarray" minoccurs="0" /> </xsd:all> </xsd:complextype> <xsd:complextype name="details"> <xsd:all> <xsd:element name="productname" type="xsd:string" minoccurs="0" /> <xsd:element name="authors" type="typens:authorarray" minoccurs="0" /> <xsd:element name="listprice" type="xsd:string" minoccurs="0" /> <xsd:element name="ourprice" type="xsd:string" minoccurs="0" /> <xsd:element name="usedprice" type="xsd:string" minoccurs="0" /> <xsd:element name="refurbishedprice" type="xsd:string" minoccurs="0" /> <xsd:element name="collectibleprice" type="xsd:string" minoccurs="0" /> <xsd:element name="thirdpartynewprice" type="xsd:string" minoccurs="0" /> <xsd:element name="isbn" type="xsd:string" minoccurs="0" /> <xsd:element name="availability" type="xsd:string" minoccurs="0" /> </xsd:all> </xsd:complextype>

WSDL components: Messages Protocol independent message contained within the requester s query and the services response. Typical transaction consists of two messages, though several messages may be defined for different transactions <message name="keywordsearchrequest"> <part name="keywordsearchrequest" type="typens:keywordrequest" /> </message> <message name="keywordsearchresponse"> <part name="return" type="typens:productinfo" /> </message>

WSDL components: Operation and port type PortTypes contains a set of abstract operations There are four transaction primitives defined by WSDL operations: One-way. The endpoint receives a message. Request-response. The endpoint receives a message, and sends a correlated message. Solicit-response. The endpoint sends a message, and receives a correlated message. Notification. The endpoint sends a message. <porttype name="amazonsearchport"> <operation name="keywordsearchrequest">. <input message="typens:keywordsearchrequest" /> <output message="typens:keywordsearchresponse" /> </operation> </porttype>

WSDL Components: Bindings <binding name="amazonsearchbinding" type="typens:amazonsearchport"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="keywordsearchrequest"> <soap:operation soapaction="http://soap.amazon.com" /> <input> <soap:body use="encoded encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.amazon.com" /> </input> <output> <soap:body use="encoded" encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.amazon.com" /> </output> </operation> </binding>

WSDL Components: Port and Service <service name="amazonsearchservice"> <port name="amazonsearchport" binding="typens:amazonsearchbinding"> <soap:address location="http://soap.amazon.com/onca/soap2" /> </port> </service>

UDDI: Universal Discovery, Description & Integration Public directory for registering and looking up services Uses Type Model or tmodel documents Keyword searches based on standard taxonomies

UDDI: Search Four methods for searching available through API: Find_business - Locate information about one or more businesses. Find_binding - Locate specific bindings within a registered business. Find_service - Locate specific service within a registered Buisness Entity. Find_tModel - Locate one or more tmodel Information structures. Arguments to searches are keyword based Uses keywords to guide search: - find business named IB* Use tmodels to find services with a feature: - find all services with WSDL specification

Semantic interoperability? Locate Services Different terms used for advertisements and requests Invoking a Service Constructing valid messages based on the published signature/interface of a service Understanding a Service Interpreting the results of invoking a service Composing Services Constructing plans to achieve meta-goals based on available Services/Agents

Locate Services The Web Services of Amazon are available under: AmazonSearchService What happens if I search on BookSearchService?

Invoking a Service If I send the Amazon KeywordSearchRequest message the third parameter of the message is the mode of the request. <xsd:complextype name="keywordrequest"> <xsd:all> <xsd:element name="keyword" type="xsd:string"/> <xsd:element name="page" type="xsd:string" /> <xsd:element name="mode" type="xsd:string" /> <xsd:element name="sort" type="xsd:string" minoccurs="0" /> </xsd:all> </xsd:complextype> What is the mode of a request?

Understanding a Service If I receive the Amazon KeywordSearchResponse message one of the parameters indicates the availability of a product. <xsd:complextype name="details"> <xsd:all> <xsd:element name="ourprice" type="xsd:string" minoccurs="0" /> <xsd:element name="availability" type="xsd:string" minoccurs="0" /> </xsd:all> </xsd:complextype> How is availability expressed? Y/N, Yes/No, 1,2,3 What is the currency of OurPrice? Dollars, Euros,

Combining Services One could combine the search service of Amazon with a currency conversion service. The new service would give the prices of the products in a pre-specified currency. How can we do this on the fly?

Software agents? Development metaphor Software Engineering Methodology Technology agent theory agent architectures agent languages

real world mapping (abstraction level) Paradigm Shifts role/goal oriented agents object oriented C++, Java function oriented 3GL, C, Pascal,... command oriented 2GL, Assembler time

Definition of agents (weak notion) Autonomous Pro-active Reactive Social ability

Definition of agents (strong notion) Belief Desire Intentions Goals Knowledge Obligations

Other possible attributes Rationality Veracity Mobility Learning capacity Cooperativeness

Theory of agents Represent mental attitudes knowledge, belief, goals, etc. Reason about mental attitudes Plan actions Observe changes Update mental attitudes

From Theory to Architecture How to use the theory in architecture of agents: Only for representation of attitudes As formal specification of agent implementation Also use the logical inferencing of logic in deliberative agent architecture

Agent architectures Deliberative agents BDI agents (mostly theory) planning agents (IRMA) Reactive agents Brooks subsumption architecture Hybrid agents Interrap

Building Agents 1. Agent Oriented Programming (e.g. 3APL) Close to agent theory, but far from industrial use 2. Based on Java components (e.g. Jade) More robust, but build intelligence yourself in Java 3. Based on robust infrastructure (e.g. Tryllian ADK) Industry standard systems (robust, efficient, scalable), but no intelligence

From Agents to Multi-Agent Systems Agent communication Agent societies realise there are other agents use other agents for your actions Collective plans, goals, etc. MAS vs. Autonomous agents

Some General Application Areas: 1. Industrial applications manufacturing process control telecommunications transportation systems 2. Electronic Commerce electronic markets/auctions buying agents (e.g. Jango, shopbot, etc.) 3. Business Process Management 4. Information Management information gathering information filtering

When are agents most useful? For large scale, complex systems For distributed systems For heterogeneous systems In open environment Adaptable systems

Agents and Web Services? without agents with agents

Agents and Web Services? Web Service as capabilities of agents. Agent analyses requests and can determine how to fit it with a Web Service. Agent can provide explanation on results of Service. Agent can answer why questions. Agent can refer to other agents/services. Agents can contain and reason about the semantics of the Web Services Agents can mediate and compose Web Services

Agents and standards Semantic descriptions of ontologies and services DAML: DARPA Agent Mark up Language DAML-OIL: extend DAML with logical properties OWL: Ontology Web Language DAML-S: DAML Service description language Communication standards FIPA ACL (based on speech act theory) Mediation facilities and architectures FIPA/Jade AMS; Agent System Manager Mediation architectures, e.g. Retsina

Agent mediation architecture

Software agents and Web Services Web Services profit from: Dynamic creation of agents Semantic level of communication Mediation and reasoning capabilities Flexibility and robustness Agents profit from: Standard description techniques for procedures Ontology descriptions Connection to web

Conclusions Web Services Agents