Multi agent systems as web service providers



Similar documents
A small product line needing requisitely holistic management

Interactivity in Legal Web Courses through Direct Response Systems

Basic computer security

Getting started with API testing

AquaLogic Service Bus

Collecting information

ACADEMIC RESEARCH INTEGRATION SYSTEM

WEB SERVICES SECURITY

WEB SERVICES. Revised 9/29/2015

Service-Oriented Architectures

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

Developing Java Web Services

Jitterbit Technical Overview : Microsoft Dynamics CRM

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

Literature Review Service Frameworks and Architectural Design Patterns in Web Development

JBOSS ESB. open source community experience distilled. Beginner's Guide. Enterprise. Magesh Kumar B

Getting started with OWASP WebGoat 4.0 and SOAPUI.

Author: Gennaro Frazzingaro Universidad Rey Juan Carlos campus de Mostòles (Madrid) GIA Grupo de Inteligencia Artificial

Vulnerability scanning

Service Mediation. The Role of an Enterprise Service Bus in an SOA

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

OSGi Remote Management

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

Contents. Overview 1 SENTINET

Mobility Information Series

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

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Writing Grid Service Using GT3 Core. Dec, Abstract

Introduction to Service Oriented Architectures (SOA)

Secure Authentication and Session. State Management for Web Services

ebay : How is it a hit

Web Services Implementation: The Beta Phase of EPA Network Nodes

A Quick Introduction to SOA

emedyx Emergeny Smart Card EMR System: Card Holder Module

JVA-561. Developing SOAP Web Services in Java

Contents Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA

Cisco TelePresence Manager

Data Loss Prevention

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

Vulnerability scanning

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Jitterbit Technical Overview : Salesforce

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

Java Web Services Training

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

Service Oriented Architecture: A driving force for paperless healthcare system

Creating Web Services in NetBeans

WebSphere ESB Best Practices

Testing Web Services Today and Tomorrow

A Tool for Evaluation and Optimization of Web Application Performance

CA CPT CICS Programmers Toolkit for TCP/IP r6.1

A Case Based Tool for Monitoring of Web Services Behaviors

Internationalization and Web Services

Building an Enterprise Service Bus Using Web Services and Apache Synapse v2

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

BMC Software Inc. Technical Disclosure Publication Document Application Integration Manager (AIM) Author. Vincent J. Kowalski.

OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.

Setting Up an AS4 System

SERVICE ORIENTED ARCHITECTURE

SOA GOVERNANCE MODEL

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

SIF 3: A NEW BEGINNING

Building a protocol validator for Business to Business Communications. Abstract

PIE. Internal Structure

Sentinet for BizTalk Server SENTINET 3.1

Frontline Service Desk

Your customer engagement transformation starts here

Virtual Credit Card Processing System

LinuxWorld Conference & Expo Server Farms and XML Web Services

Jitterbit Technical Overview : Microsoft Dynamics AX

PARTNER INTEGRATION GUIDE. Edition 1.0

Service Virtualization: Managing Change in a Service-Oriented Architecture

Availability Digest. Raima s High-Availability Embedded Database December 2011

What are Web Services? A BT Conferencing white paper

SOA REFERENCE ARCHITECTURE: WEB TIER

Asynchronous Peer-to- Peer Web Services and Firewalls

Apache Hama Design Document v0.6

An IDL for Web Services

Setup Guide Access Manager Appliance 3.2 SP3

Scaling Web Services. W3C Workshop on Web Services. Mark Nottingham. Web Service Scalability and Performance with Optimizing Intermediaries

Distributed Databases

Web Application Development for the SOA Age Thinking in XML

CONDIS. IT Service Management and CMDB

Cache Database: Introduction to a New Generation Database

Chapter 7. Address Translation

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

Developers Integration Lab (DIL) System Architecture, Version 1.0

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Mobile Devices: Server and Management Lesson 05 Service Discovery

THE CCLRC DATA PORTAL

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Firewall

Using a Malicious Proxy to Pilfer Data & Wreak Havoc. Edward J. Zaborowski ed@thezees.net

Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application

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

A distributed system is defined as

Middleware and the Internet

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

Methods and tools for data and software integration Enterprise Service Bus

Transcription:

Mag. iur. Dr. techn. Michael Sonntag Multi agent systems as web service providers Distributing SOAP requests to agents by redirection 17 th EMCSR - 2004, Vienna, 14.4.2004 E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institute for Information Processing and Microprocessor Technology (FIM) Johannes Kepler University Linz, Austria Michael Sonntag 2004

Introduction Web services and agents are similar, but not equal, concepts Self contained Providing services according to strict specification Main focus on integration with other "components" Web services and agents can be combined in several ways Discovery: Search for matching web services Arranging chaining: Sequence of services to employ Agents as clients: Invoking web services for its own tasks Agents as servers: Providing more complex web services For really complex services, a system of agents (MAS) might be required An internal implementation issue (e.g. reusing agents) Should not be visible to the outside! Michael Sonntag Multi agent systems as web service providers 2

Single Agents vs. MAS Single agent: One agent providing a service Often rather similar to an application Multi Agent System (MAS): Several independent agents working together on a single goal Should a single agent be created or a MAS? Guidelines for this are rare AOSE usually provides roles, which must be aggregated» Many implementations model agents as rather heavyweight» Therefore several roles should be fulfilled by one Single Agent: Agent Multi Agent System: Agent 1 Agent 3 Requests Agent 2 Michael Sonntag Multi agent systems as web service providers 3

Single Agents vs. MAS: External restrictions Performance: Partitioning creates overhead Communication between agents (messaging, RPCs, etc.) requires much more resources, time, effort,... compared to intra-agent communication (i.e. method calls) But better flexibility: Exchange/reuse of individual agents Enables easy (and even dynamic) exchange for a new implementation Security: A single agents is the only point of attack Only a single agent must be "fortified" "Internal" agents or subparts can then trust all the others No simultaneous attacks possible: hard to detect and avoid Specialisation on smaller/individual tasks with defined interface is more secure (less bugs, better testing,...) Michael Sonntag Multi agent systems as web service providers 4

Single Agents vs. MAS: External restrictions Effort: Separate agents produce "implementation overhead" E.g. communication specification, synchronization, protocols But this is also a good idea for design (e.g. specifying communication protocols results in better understanding of tasks and their partitioning) Only rarely an issue (importance of coding in lifecycle is low!) Complexity of use: Single unified API is easier to understand But a huge list of methods/services is also complicated! Targeting/Finding the correct agent can be difficult» Registry (MAS) and search functionality (client) required Commercial interests: Smaller parts are more difficult to sell and probably cheaper Customization according to actual needs better possible» Configuration of agent system or even partly self-configuration Michael Sonntag Multi agent systems as web service providers 5

Single Agents vs. MAS As of this, a single huge agent would probably be best But this prevents all the other nice things:» Reuse of whole agents or groups of them» Easy change of implementation by replacing agents» Clear separation of tasks and specialization for them»... Creates a performance bottleneck» Or requires multiple threads with extensive synchronisation One step back from modularization and object-orientation» AOSE should be a step forward; abstraction on higher level Combination of both approaches seems to be better! Allows balancing the advantages and drawbacks Michael Sonntag Multi agent systems as web service providers 6

Gateway Agent Proposed solution: Single visible agent = Gateway Internal structure of MAS according to design Distributes requests to actual service agents by redirection Advantages: Single agent responsible for security, rather simple structure Unified service definition possible No public registry and search functionality needed Increased efficiency: Automatic load distribution possible Easy support for mobile agents with a fixed home base Problems: Performance: Everything must go through this agent» But only once, and this agent only decides who will do the work Large and maybe complicated interface to the outside Single point of failure Michael Sonntag Multi agent systems as web service providers 7

Redirects in SOAP SOAP (Simple Object Access Protocol) is a widespread protocol for platform-independent web services Uses mostly the HTTP protocol (e.g. SMTP also possible)» Redirection available on transport level (for HTTP protocol only!) Supports intermediaries for the message/command/...» Only at the sender or transparent at intermediate stage No propagation back to sender!» Recursive redirects possible, but for each communication again Support for redirection on protocol level needed Allows iterative redirection as well Supports recursive redirection with sender notification 1.1 Iterative: 2 D1 1.3 1.2 D2 D3 Recursive: 1.1 1.2 1.3 D1 D2 D3 Michael Sonntag Multi agent systems as web service providers 8 2

Redirects in SOAP: Kinds of redirection Different transport or different endpoint Fully automatic possible Replacing e.g. SMTP by HTTP, HTTP by SHTTP» Can contain additional information: Timespan valid, address list,... Another method to invoke Fully automatic possible Name has changed, but parameters stay the same Different WSDL (web service description) Requires more knowledge Agents as clients Name and parameters or other properties have changed Query a registry Fully automatic possible That (and perhaps which) registry to query Michael Sonntag Multi agent systems as web service providers 9

Redirects in SOAP: Specification To ensure compatibility, SOAP extensions are used New header element» Can be marked as optional or required ("mustunderstand") To be used in responses (rec.) and fault messages (it.) Intended for SOAP RPCs (Remote Procedure Calls) Useful also for general messaging Other kinds of redirection perhaps more useful there:» Which conversation it belongs to, target agent,... Single XML element with several subelements Can itself be extended for custom requirements Several kinds of redirection can be combined Difficult for clients and perhaps confusing, but possible Michael Sonntag Multi agent systems as web service providers 10

Sample Implementation Connecting an E-Learning platform to an agent system» Currently in development, SOAP already in place More complex services are provided asynchronously by agents, e.g. deriving keywords of interest from user actions» Specialized agent for each user Gateway agent is the only one known to the platform User agents are created/found dynamically and on demand» Initial request is forwarded to them» Redirection for all further requests Any changes within the system are transparent to the outside Server modifications small: Deciding and setting the redirection target according to an internal "strategy" Client changes minor: Inheriting from a different base class Everything for redirection is done there automatically! Michael Sonntag Multi agent systems as web service providers 11

Evaluation Implementation of redirection has been completed Uses Apache AXIS as base & custom redirection extension Performance improvement compared to always going through the gateway agent for each request Gateway agent still some kind of bottleneck» No problem, as it does no work at all, only distributing requests Benficial in the following cases: High volume of requests: E.g. providing a map of currently logged in students and their locations Many changes of implementation agents: Especially useful during development and extension Mobile service agents: "Portal" for agent communication» Currently not used in this project! Michael Sonntag Multi agent systems as web service providers 12

Conclusions MAS should consist of two clearly separated parts Visible to the outside: Single agent probably better Internal working: System of agents for complex tasks Request redirection has several advantages over registries Clients need not know about and handle a registry Dynamic changes much easier Better performance: Instead of query immediately request SOAP has no redirection; integration through extension Server support: Deciding whether and where to redirect to Minimal client support: Can be "automated" by changing the code generated from interface definitions Redirection allows simple and fast reconfiguration and is suitable and beneficial also for web services Michael Sonntag Multi agent systems as web service providers 13

??? Questions? Thank you for your attention!??? Michael Sonntag 2004