Service Orientation Considerations PoC R1 David Groep, Scaling and Validation Programme.

Slides:



Advertisements
Similar presentations
Fujitsu Laboratories of Europe © 2004 What is a (Grid) Resource? Dr. David Snelling Fujitsu Laboratories of Europe W3C TAG - Edinburgh September 20, 2005.
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
The National Grid Service and OGSA-DAI Mike Mineter
Legacy code support for commercial production Grids G.Terstyanszky, T. Kiss, T. Delaitre, S. Winter School of Informatics, University.
OMII-UK Steven Newhouse, Director. © 2 OMII-UK aims to provide software and support to enable a sustained future for the UK e-Science community and its.
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
FP7-INFRA Enabling Grids for E-sciencE EGEE Induction Grid training for users, Institute of Physics Belgrade, Serbia Sep. 19, 2008.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Containers and Web Services Grid Middleware 7 David Groep, lecture series
VL-e Proof of Concept and the VL-e Integration Team David Groep Maurice Bouwhuis VL-e SP Plenary Meeting, November 1 st, 2005.
VL-e PoC Architecture and the VL-e Integration Team David Groep VL-e work shop, April 7 th, 2006.
VL-e PoC Introduction Maurice Bouwhuis VL-e work shop, April 7 th, 2006.
Distributed Heterogeneous Data Warehouse For Grid Analysis
VL-e PoC: What it is and what it isn’t Jan Just Keijser VL-e P4 Scaling and Validation Team TU Delft Grid Meeting, December 11th, 2008.
Web Services and OGSA Tal Lavian, Phil Wang. What Are Web Services? ● Conventions for program-to-program Communication ● Built on existing Web infrastructure.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
INTRODUCTION TO WEB DATABASE PROGRAMMING
- 1 - Grid Programming Environment (GPE) Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
Connecting OurGrid & GridSAM A Short Overview. Content Goals OurGrid: architecture overview OurGrid: short overview GridSAM: short overview GridSAM: example.
OPEN GRID SERVICES ARCHITECTURE AND GLOBUS TOOLKIT 4
DISTRIBUTED COMPUTING
第十四章 J2EE 入门 Introduction What is J2EE ?
WSRF & WSRF’s Application in VO-DAS Haijun Tian ChinaVO
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Service - Oriented Middleware for Distributed Data Mining on the Grid ,劉妘鑏 Antonio C., Domenico T., and Paolo T. Journal of Parallel and Distributed.
Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Sriram.
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
The Scaling and Validation Programme PoC David Groep & vle-pfour-team VL-e Workshop NIKHEF SARA LogicaCMG IBM.
Grid Services I - Concepts
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
XML and Web Services (II/2546)
Cole David Ronnie Julio. Introduction Globus is A community of users and developers who collaborate on the use and development of open source software,
Scaling and Validation Programme David Groep & vle-pfour-team VL-e SP Meeting NIKHEF SARA LogicaCMG IBM.
6/23/2005 R. GARDNER OSG Baseline Services 1 OSG Baseline Services In my talk I’d like to discuss two questions:  What capabilities are we aiming for.
Grid and VOs. Grid from feet The GRID: networked data processing centres and ”middleware” software as the “glue” of resources. Researchers perform.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE Site Architecture Resource Center Deployment Considerations MIMOS EGEE Tutorial.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Aneka Cloud ApplicationPlatform. Introduction Aneka consists of a scalable cloud middleware that can be deployed on top of heterogeneous computing resources.
The VL-e Proof of Concept Environment & The VL-e PoC Installer Jan Just Keijser System Integrator P4 Team NIKHEF.
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
December, 2006 ws-VLAM Workflow Management System a Re-factoring of VLAM Dmitry Vasyunin Adianto Wibisono Adam Belloum.
Claudio Grandi INFN Bologna Virtual Pools for Interactive Analysis and Software Development through an Integrated Cloud Environment Claudio Grandi (INFN.
A service Oriented Architecture & Web Service Technology.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
From last time Grid computing concept started in mid-90’s
The Object-Oriented Thought Process Chapter 13
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
VL-e PoC Architecture and the VL-e Integration Team
Introduction to Grid Technology
Distributed System using Web Services
The Anatomy and The Physiology of the Grid
Grid Systems: What do we need from web service standards?
Distributed System using Web Services
#01 Client/Server Computing
Presentation transcript:

Service Orientation Considerations PoC R1 David Groep, Scaling and Validation Programme

Service Orientation Service Oriented Architecture (SOA) "an application architecture within which all functions are defined as independent services with well defined invocable interfaces which can be called in defined sequences to form business processes". Web services is a collection of technologies, including XML, SOAP, WSDL, and UDDI, Thus Web services does not equal service-oriented architecture. Source: UvA Grid Master IGC2005, Adam Belloum

Service Decomposition Source: UvA Grid Master IGC2005, Adam Belloum

Service Orientation All functions are defined as services. All services are independent.  Operate as "black boxes"; o external components neither know nor care how boxes are executed o merely that they return the expected result. The interfaces are invocable;  At an architectural level, it is irrelevant whether o they are local or remote o what interconnect scheme or protocol is used to effect the invocation, o what infrastructure components are required to make the connection. Source: UvA Grid Master IGC2005, Adam Belloum

Service Orientation Typically within a business environment  Service means business functions, business transactions, and system services. The difference in the types of services.  Business functions are from the application's perspective, non-system functions that are effectively atomic.  Services might be low-level or complex high-level (fine-grained or course grained) functions Source: UvA Grid Master IGC2005, Adam Belloum

Services are not Servers Web Servers (Apache, Tomcat, ISS)  Talks HTTP(S)  Hosts web sites and pages  May be dynamic (.php,.asp,.jsp)  Seen by people Web Services (Axis, GT4,.NET, …)  Bind to a protocol (HTTP(S), SMTP, …)  May be hosted in a container  Have a syntax and semantics definition  Are seen and used by programs

Defining and building Services in WS-* [See Introduction to Web Services Tutorial] 1.Start with the WSDL 2.Then, generate your interfaces E.g. with GT4 tools or JWSDP See appropriate tutorial(s): “Technologies for Building Grids” or “Sotomajor” 3.Fill the stubs with an implementation 4.Deploy your services in a container EGEE NA3 Training Home has plenty of material:

Part 2: Web Services Caveats and Deployment Hints Hints, caveats and the constraints in Service Deployment in the VL-e PoC Environment

Some general caveats Re-use services Use generic services where possible  ‘job submission service’, ‘data location srv’ Don’t over-do it  WS are not suitable for low-latency HPC or bulk file transfer We’re not running a course on WS-RF … Not all services (nor architectures) are mature jet  Be prepared to make compromises …  … as long as it’s in-line with our long-term goals Test it works with your favourite workflow system!

Web Services hints Web Services are just a syntax  Define proper sementics and document that to make your service re-useable  Match up the semantics with related services  Make sure your services are compliant o with relevant standards (like WS-I Basic Profile) o with the chosen hosting system (GT4)

SOA Editor Cape Clear SOA Editor, Cape Clear 2003 WSDL © EGEE Consortium and partners, see

Style There are multiple ways to bind a portType RPC/Encoded In the WSDL: In Java, methods are like: public void method(String in1, BigInteger myNumber) Document/Literal (or wrapped) In the WSDL: In Java, methods are like: public void method(PurchaseOrder po) Just because it’s no trouble:  name the XML schema element referenced by an operation (through a message element) the same as the operation itself  This is the only requirement of document/wrapped which isn't enforced by the WS-I requirements.  Note that document/wrapped is a valid document/literal definition. See also specific presentation on the web page on WDSL styles

Services Hosting Usually, a service lives in a container Container takes care of  Translating incoming SOAP message to appropriate objects (Java objects, C structures, …)  Enforcing access control  Invoking methods  Packaging the results  Destroying the invoked objects

Containers Many containers, but not all the same Vary in what they support, e.g.,  Platform: JVM,.NET, Unix  Language (Java, C, Python)  WSDL bindings (rpc or document/literal)  Security mechanisms (none or GSI) VL-e supplied container GT4 (Axis 2.0-RC2++)  Modified to do WS-RF, -Addressing, -Notification  With GSI Security framework  Almost like standard Axis 2

Implementation Remember that web services are stateless  Model state via Resources  Don’t keep running after the service invocation is complete  Use database/memory based storage, not process- based state retention o Much more friendly on the CPU o Resilient to machine/VM restarts The ultimate horror scenario: R-GMA producer & consumer threads, see Concurrency P&E paper on the web

Security model We use SOAP over TLS  This is the default in GT4  orders of magnitude faster than MLS  but cannot do secure message forwarding

PoC Environment Hardware and Software

RP, the P4CTB and the PoC Application development NL-Grid production cluster Central mass-storage facilities + SURFnet Initial compute platform Stable, reliable, tested Cert. releases Grid MW & VL- software VL-e Proof of Concept Environment VL-e Rapid Prototyping Environment DAS-2, local resources VL-e Certification Environment NL-Grid Fabric Research Cluster Test & Cert. Grid MW & VL-software Compatibility Flexible, test environment Environments Usage Characteristics Virtual Lab. rapid prototyping (interactive simulation) Flexible, ‘unstable’ Download Repository PoC Installer Cluster Tools Developer CVS Nightly builds Unit tests stable, tested releases Integration tests Functionality tests Adventurous application people PoC Release nRelease Candidate n+1 Developers environment Tagged Release Candidates Rapid Prototyping Environment

PoC: Hardware and Software The PoC Distribution is set of software The PoC Environment is the ensemble of systems running the PoC Distribution The PoC Central Facilities (“CF”) are those systems  managed by the P4 partners  and designated as such

PoC Software Distribution OSRed Hat Enterprise Edition R3 PoC installer MiddlewareGlobus Toolkit version 2.x as supported by VDT Current grid services from LCG, EGEE Globus Toolkit 4.0 (WSRF components) Storage Resource Broker (version 3.3.1) Operating system  supported for all operations: RHEL3 & compatibles  will work on a variety of similar systems Middleware: Services & Hosting Environments

PoC Software Distribution IntegrativeThree systems Kepler, Taverna, Triana OGSA-DAI as installed with GT4 IBIS (version 1.2) Tools & LibrariesParaView (version 2.2.1) VTK (version 4.4) MESA (version 6.4 with GLUT) ITK (version 1.4) FSL (version 3.2) MRICRO (version 1.39) java SDK x deployment/install octave (version ) MPItb (v2.1.6x) MatLabMPI (v1.2) lamMPI (version x.x.x) LUCENE (version 1.4.3) Ant (version ) SWI-Prolog (version ) R Grid Weka (version 3.4.2) Nimrod client software (v3.0.0) GAT Sesame (client)

PoC Central Facility topology

Service Deployment constraints CF Farm of GT4 containers provided on the CF  Based on the concept of “VO Boxes”  For now: login to these boxes via gsissh  Not for compute-intensive work You cannot run a container continuously on worker nodes  No inbound IP connectivity  Resource management and utilization And you should not want to, because  All services in a container content for CPU and (disk) bandwidth  JVM does not insulate services from each other

Other constraints on the CF Worker nodes are allocated in a transient way  Jobs run in a one-off scratch directory  No shared file system for $HOME (and if it happens to be there don’t use it!)  Jobs will be queued o Short jobs get to run faster o Small jobs get to run faster o Priority depends on your VO affiliation  You can connect out, but cannot listen  Your job is limited in wall time

Central Hosting A common hosting environment is offered on a set of VO Boxes  Provided: GT4.0 WS (as specified for R1)  Visible from the outside world  Highly monitored systems  Can talk to the ‘inside’ Requirements for deployment on the CF  Appropriate AuthN/AuthZ must be used for all services (this is available by default in GT4)  Allow for request tracability (e.g. via log files)

High performance/throughput Services ‘I need lots of * for my service’ Parallelize it  Use fine-grained services decomposition  Use MPI (e.g. via IBIS)  Use dedicated programs for processing  Submit via a resource broker to the compute service Submit jobs to the compute service to run dedicated GT4 hosting environments with your service  Keep in mind to submit these to the cluster where your front-end is running on a VO Box

Complex Services: job submission Use a job submission service  GT4 WS-GRAM not (yet) supported on CF: only single-cluster, security model not complete without use of the WSS  gLite CE WS (“CREAM”): also single cluster, security=compatible, deployment in 2006Q3  Brokered submission o Select appropriate resources via GLUE schema constraints & JDL o Submit directly via RB API code on client side o Use RB job submission WS by Bart

Brokered Job Submission Service Submit brokered jobs in JDL through WS-interface to the Matrix Resource Broker WSDL specification For detailed info: ask Bart Heupers Future version of the basic Grid middleware will have a native WMS WS interface

Questions and Discussion!