Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Endpoint Services Glen Dobson Lancaster University,

Slides:



Advertisements
Similar presentations
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
BiodiversityWorld GRID Workshop NeSC, Edinburgh – 30 June and 1 July 2005 Resource wrappers, web services, grid services Jaspreet Singh School of Computer.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Distributed components
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Apache Axis: A Set of Java Tools for SOAP Web Services.
Copyright B. Wilkinson, This material is the property of Professor Barry Wilkinson (UNC-Charlotte) and is for the sole and exclusive use of the students.
.NET Mobile Application Development Remote Procedure Call.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
Course Instructor: Aisha Azeem
Jadavpur University Centre for Mobile Computing & Communication Implementation of Ad-Hoc Mesh Network Presentation by: Sudipto Das Rajesh Roy.
The chapter will address the following questions:
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Active Security Infrastructure Stuart Kenny Trinity College Dublin.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.
1 Lecture 22 George Koutsogiannakis Summer 2011 CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
A Simplified Approach to Web Service Development Peter Kelly Paul Coddington Andrew Wendelborn.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
CGW 2003 Institute of Computer Science AGH Proposal of Adaptation of Legacy C/C++ Software to Grid Services Bartosz Baliś, Marian Bubak, Michał Węgiel,
Center for Development of Advanced Computing. Cloud use case Deployment work flow of the caTissue follows the model which needs installation, configuration.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
第十四章 J2EE 入门 Introduction What is J2EE ?
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Web Services Description Language CS409 Application Services Even Semester 2007.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
The ACGT Workflow Editing & Enactment Environment Giorgos Zacharioudakis Institute of Computer Science, Foundation for Research & Technology – Hellas (ICS-FORTH)
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
©Ian Sommerville 2006MSc module: Advanced Software Engineering Slide 1 Service dependability.
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Frameworks CompSci 230 S Software Construction.
Metadata Mòrag Burgon-Lyon University of Glasgow.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
REST By: Vishwanath Vineet.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies Onyeka Ezenwoye S. Masoud Sadjadi Autonomic Computing Research Lab.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
J2EE Platform Overview (Application Architecture)
Outline SOAP and Web Services in relation to Distributed Objects
Web Ontology Language for Service (OWL-S)
Outline SOAP and Web Services in relation to Distributed Objects
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Presentation transcript:

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Endpoint Services Glen Dobson Lancaster University, Computing Department

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Who We Are Dependability Infrastructure for Grid Services Lancaster University: Ian Sommerville, Glen Dobson, Stephen Hall University of Edinburgh: Stuart Anderson, Conrad Hughes A project jointly undertaken with... Dependability Interdisciplinary Research Collaboration UK E-Science Programme

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Overview of Presentation ● Previous DIGS work. ● Proxy for Fault Tolerance. ● The Endpoint Service architecture itself. ● A bottom up discussion. ● The Endpoint Services Configuartion tool. ● Future Directions.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 DIGS Project Aims ● To enable a simple high level means of adding increased dependability to services. ● Initially to concentrate on fault tolerance. ● To make this as transparent as possible to users. ● Ideally using a 'more dependable' service should appear identical to using the 'less dependable' service/s. ● Potentially to use service discovery and late binding to perform e.g. dynamic recovery.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Previous Work: Proxy for Fault Tolerance (1) ● A proxy ● To allow the addition of fault tolerance to services. ● Proxied at SOAP level. ● Proxy accepted XML representation of fault tolerance pattern as configuration. ● SOAP request forwarded to one or more services according to this pattern. ● Gave the user the impression of using a single service, when in fact, they may have been communicating with a composition of a number of services. ● Largely transparent to the end user.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Proxy for Fault Tolerance (2)

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Fault Tolerance Patterns What do we mean by this? Things like: ● Redundancy – First valid response – Voting – Average – etc. ● Recovery Blocks ● Checkpointing ● With other aspects of dependability to potentially come later.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Endpoint Services ● An evolution of proxying approach from monolithic to modular. ● An Endpoint Service = a finer grained proxy. – Both approaches aim to map a client request to one or more services according to some configurable pattern. ● The Endpoint Service itself is decomposable. ● Why the name Endpoint Services? ● An Endpoint Service provides no functionality of its own - but 'adds value' to existing services.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Improvements on Monolithic Proxy ● More Manageable: ● Proxies were envisioned to be installed locally to clients. But we really wanted providers to do the configuration in order to maintain transparency. ● More Easily Extensible: ● Develop your own Module/s. No need to hack the monolithic proxy to achieve given functionality. ● More Generic by Design: ● Other 'added value' beyond fault tolerance is also more easily achieved due to modularity.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Processors ● Starting from the bottom up... ● The modules that an Endpoint Service decomposes into are called Processors. These form a directed graph. ● A Processor is interchangeable between an XML form and a Java class (i.e. it serializes to XML). ● Equivalent in the Proxy to: ● An extension to the configuration XML schema. ● Code within the proxy to implement the desired functionality.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 What a Processor Might Be ● For fault tolerance... ● e.g. RedundancyProcessor, RecoveryBlockProcessor, etc. ● Almost anything else... ● e.g. Measurement, Monitoring, Authentication, Result checking, etc. – A Processor may also implement its functionality by calling external services. ● An HTTPProxyProcessor will exists in all useful Endpoint Service configurations. This passes the request message on to a destination service.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Processor XML [... ] [... nested processors...] [... processor specific XML...] ● Name must be unique within a configuration. ● Class indicates an implementing class. ● Outputs lists processors to pass the message context on to. ● Processors may be nested. ● A specific type of processor may have its own specific XML.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Processor Implementation ● A Processor implementation extends the abstract Java class Processor ● Constructs itself from XML configuration. ● Can convert itself back to XML. ● Has an invoke method – This takes a Message Context as input – The Processor acts upon or alters the Message Context and passes the context on to its outputs.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Message Context ● Why 'Message Context' rather than just Message? ● More than the request itself needs to be passed around in order to achieve added functionality. ● Message Context includes: ● The request message. ● The response message (if and when received). ● Processor specific information.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 The Container ● The graph of processors exists within a container. ● The container is in fact implemented as a processor itself. It is the first to receive the message context and passes it on to its root processor (marked by the start=true attribute). ● The container configuration simply consists of a list of processors:...

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Architectural Overview ● The Endpoint Service is deployed as a Java web application. ● The client communicates with a Listener ● A Listener is a servlet which accepts a SOAP request and passes a corresponding Message Context to the container. ● The required functionality is achieved by passing the message context through a directed graph of modules called Processors. ● A processor acts upon and/or alters the message context.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Endpoint Services Configration Tool ● To simplify the creation and configuration of Endpoint Services we have developed a graphical tool.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Endpoint Services Configuration Tool ● A project can include more than one Endpoint. ● The tool also includes an aid to container configuration:

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Future Work ● Bulk out the base fault tolerance implementation. ● Develop scenarios to demonstrate and evaluate this. ● Fault Tolerance Policies/Wizard ● Add API for plugin Processor editors. ● Consider issues in generalising the architecture for languages other than Java.

Glen Dobson, Lancaster University Service Grids Workshop NeSC Edinburgh 23/7/04 Questions/Comments