Introduce Grid Service Authoring Toolkit Shannon Hastings, Scott Oster, Stephen Langella, David Ervin Ohio State University Software Research Institute.

Slides:



Advertisements
Similar presentations
Open Grid Forum 19 January 31, 2007 Chapel Hill, NC Stephen Langella Ohio State University Grid Authentication and Authorization with.
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
CVRG Presenter Disclosure Information Tahsin Kurc, PhD Center for Comprehensive Informatics Emory University CardioVascular Research Grid Core Infrastructure.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
BiodiversityWorld GRID Workshop NeSC, Edinburgh – 30 June and 1 July 2005 Resource wrappers, web services, grid services Jaspreet Singh School of Computer.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
System Center Configuration Manager Push Software By, Teresa Behm.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
CaGrid Service Metadata Scott Oster - Ohio State
Massimo Cafaro GridLab Review GridLab WP10 Information Services Massimo Cafaro CACT/ISUFI University of Lecce, Italy.
Lecture 23: Software Architectures
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
Technical Introduction to caGrid Service Development caGrid 1.3 Justin Permar caGrid Knowledge Center
OpenMDR: Generating Semantically Annotated Grid Services Rakesh Dhaval Shannon Hastings.
Building a UI with Zen Pat McGibbon –Sales Engineer.
State of Service Oriented Science Tools Open Source Grid Cluster Conference Oakland.
CaGrid 2.0 December What is caGrid 2.0??? Provides a patch for caGrid 1.x to support SHA2 OSGi implementation of WSRF on the new technical stack.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Cancer Bioinformatics Grid (caBIG) CANS 2006 Chicago, Illinois Shannon Hastings Department of Biomedical Informatics Ohio State University.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Holding slide prior to starting show. A Grid-based Problem Solving Environment for GECEM Maria Lin and David Walker Cardiff University Yu Chen and Jason.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Using the Open Metadata Registry (openMDR) to create Data Sharing Interfaces October 14 th, 2010 David Ervin & Rakesh Dhaval, Center for IT Innovations.
XML Registries Source: Java TM API for XML Registries Specification.
Object-Oriented Modeling Chapter 10 CSCI CSCI 1302 – Object-Oriented Modeling2 Outline The Software Development Process Discovering Relationships.
Middleware Support for Virtual Organizations Internet 2 Fall 2006 Member Meeting Chicago, Illinois Stephen Langella Department of.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Grid Trust Service (GTS). Problem How does the grid clients/services know which CA certificates to trust? Should I trust this CA?
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Deployment modeling March, 2010.
Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Sriram.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Grid Services I - Concepts
Technology behind using Taverna in caGrid caGrid user meeting Stian Soiland-Reyes, myGrid University of Manchester, UK
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
CaGrid Overview and Core Services caGrid Knowledge Center February 2011.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
CEDPS Services Area Update CEDPS Face-to-Face Meeting ANL October 2007.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
CaGrid 1.0 Security Infrastructure Stephen Langella, Scott Oster, Shannon Hastings, David Ervin, Joshua Phillips, Vinay Kumar, Tahsin Kurc, Joel Saltz.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
Cancer Bioinformatics Grid (caBIG) CANS 2006 Chicago, Illinois
The Holmes Platform and Applications
J2EE Platform Overview (Application Architecture)
Sabri Kızanlık Ural Emekçi
Self Healing and Dynamic Construction Framework:
Advanced Integration and Deployment Techniques
Knowledge Byte In this section, you will learn about:
Analysis models and design models
SDMX IT Tools SDMX Registry
Presentation transcript:

Introduce Grid Service Authoring Toolkit Shannon Hastings, Scott Oster, Stephen Langella, David Ervin Ohio State University Software Research Institute OGF 21 Oct 2007

Agenda Introduce Goals Overview of Introduce Introduce Service Creation Demonstration

Vision Become the one stop shop for grid service development Provide a simple, yet powerful, graphical user interface (GUI) to encapsulate complexities of grid service development Provide an extensible toolkit with which grid services can be created and modified programmatically

Requirements Utilize best practice layered grid service architecture Enable development of strongly-typed services discovery and use of published data types self describing services through use of metadata advertisement and Registration configuration with Index Service Generate meaningful object-oriented client APIs Customizable and extensible via the use of plug-ins Allow for implementation of secure services provide customizable service-, method-, and resource- level security

Addressing the Requirements: Best practice service architecture All Introduce services share a common directory structure, build, and deploy process Common implementation structure and design for all services (detailed later) Native support for common service features such as deploy time configuration points, service metadata, and documentation

Addressing the Requirements: Best practice service architecture (cont)

Addressing the Requirements: Strongly typed interfaces Introduce enables schema extraction from a GME or any other data model registry service WSDL, beans, and service metadata can be automatically populated Service will be strongly typed with publicly accessible data types Example from caGrid

Addressing the Requirements: Strongly typed interfaces (cont) Providing Service Metadata: Service metadata is provided as resource properties on the base service’s singleton resource These resource properties are defined by xml schema (also discovered from type repository)

Addressing the Requirements: Strongly typed interfaces (cont) Index Service Registration Leverage Globus MDS to register service metadata to an Index Service Provide configuration options for registration of static and dynamic service metadata which can then be used at runtime for service discovery Example from caGrid

Addressing the Requirements: Object Oriented Client API Globus/Axis build process will automatically generate a client side object oriented API Introduce generates a wrapper for this API which matches the service designers interface to make a clean mapping from client to service Handle auto boxing/unboxing of the parameters into and out of document literal form

Addressing the Requirements: Extensible Architecture Introduce provides an extension framework where it’s core functionality can be extended to provide customized solutions by leveraging the Introduce toolkit. There are currently two types of extensions in Introduce Service Types Discovery Extensions provide an “extension.xml” extension description and configuration. The “extensions” directory of introduce hold the extensions in separate folders enabling them to easily be added and removed from the Introduce toolkit.

Addressing the Requirements: Extensible Architecture (cont) Flow of execution for service extension components.

Addressing the Requirements: Security (communication channel) Grid Services can support multiple communication protocols. Different methods in a grid service can be configured to use different communication mechanisms. Configuration of the communication mechanisms can be complex. Introduce manages this complexity for the user allowing them to configure security graphically.

Addressing the Requirements: Security (communication channel cont) In order to ensure communication interoperability between grid services, grid services need to publish security metadata All Introduce created services automatically support making Security Metadata available Introduce clients automatically obtain the security metadata from the service and use it to determine how to communicate with the service

Addressing the Requirements: Security (authorization) Authorization policy can be specified graphically service wide, or operation specific Introduce by default will generate the PDP authorization class from the requirements selected by the service creator using GridGrouper and/or CSM Developer has the choice to use a custom or existing PDP class

Addressing the Requirements: Security (authorization cont) Integration with GridGrouper for authorization policy enforcement Supports both service and operation level authorization Authorization defined as set theory based membership queries Queries built interactively through live GridGrouper browser

Addressing the Requirements: Security (authorization cont) Integration with CSM for authorization policy enforcement Supports both service and operation level authorization App. Context Protection Method Service Type Service URI Custom Protection Element Privilege Standard CSM

Addressing the Requirements: Security (example)

Recap Core Service Architecture Base service is a GT4 based WSRF capable grid service. Utilize compositional inheritance (in lieu of non-standard port type extensions) to enable the service to inherit required features such as providing service security metadata and access to resource properties. Utilize JNDI for registration configuration, server side configuration properties, and resources and resource properties. Provide client and service side wrappers which implement the service designers interface as opposed to the document literal interface generated by Axis. Provide metadata registration to the index service by configuring the Resource to register it’s service groups to a predefined MDS based Index Service. ServiceSecurityMetadata and it’s access operation enables programmatic bootstrapping of connection security configuration.

Introduce The Introduce Application and Service Synchronization Engine.

Introduce Graphical Development Environment (GDE) GUI for creating and manipulating a grid service Provides means of simple creation of service skeleton that a developer can then implement, build, and deploy Automatic code generation of complete WSRF compliant grid service which is configured to provide: Security Advertisement Complete UnBoxed Client API Provides a set of tools which enable the developer to add/remove/modify/import methods of the service as well create sub- services/resources. Automatic code generation of all the required code, Globus grid service code/configuration, service configuration, implementation of the client, and stubbed implementation of the service

Service Creation Populate required variables for service creation Name = published service name Creation Direction = directory to create the skeleton Package = the java package you wish to use for your service Namespace Domain = the namespace to be used to define the service interface and types Choose any extensions which are needed for the service

Service Creation Demonstration create a stock quote grid service

Introduce Service Creation Architecture The Introduce Service Properties are a set if base properties required for creating this service such as desired location to create the service, namespace to use, package name to use, and service name.

Created Skeleton Layout = introduce managed = globus/axis managed = developer implements

Created Skeleton Layout (cont) = manages the resources of this grid service = implements the port type and calls into the actual clean unboxed interface the developer defined. = developers implementation of the defined interface. = the developer defined grid service interface = implements the developer defined interface and calls into the generated client port type stub.

Created Skeleton Layout (cont) = service metadata registration configuration = describes the services security configuration = services WSDL file for axis = introduce properties for this service = ant build files = client configuration file for axis = deployment time service properties = introduce representation of service = JNDI service resources configuration = namespace mappings for axis = server configuration file for axis

Modification Add/Remove/Modify Operations Resource properties Service properties Service contexts (services and resources) Service, method, and resource level security settings

Service Modification Demonstration add stock quote data types add operation for obtaining stock quote. implement method for obtaining a stock quote implement client test function

Modify the Stock Quoting Service Simple service providing a getQuote operation.

Inside the Introduce created service Services have many moving and configurable parts which support features such as: Advertisement Invocation Security (Authentication/Authorization) Stateful Resources The Introduce Toolkit can keep all these features in sync as the developer creates and modifies the grid service

Introduce Service Modification Architecture The Introduce Service Description document is the input to the introduce engine. The user can hand craft this document and call the engine via command line or API or can use the Introduce GDE to create and modify this document and execute the synchronization engine

Service Deployment and Invocation Demonstration Deploy stock quote service Start up service container Invoke client to retrieve stock quote

Introduce 1.1 Software Updater New update support enables introduce to role updates out and move to newer versions of itself and it’s extensions.

Introduce 1.1 Service Migration New Introduce Service Migration Framework enables introduce and it’s extensions to provide upgraders which can run against services built with older versions of introduce and/or it’s extensions and migrate the services forward. 1.0 services and forward will now be able to be migrated to work with newer versions of introduce with very little effort on the developers part.

Introduce 1.1 Service Security Now using Globus Policy Decision Point (PDP) based authorization. Introduce by default will generate the PDP authorization class from the requirements selected by the service creator using GridGrouper and/or CSM. Developer has the choice to use a custom PDP class which will enable them to create custom authorization login and use other external attribute or group authorities. Much more flexible and actually enables authorization policy to be applied to imported operations which 1.0 did not as well as directly to dynamically created resources.

Introduce 1.1 Service Resource Contexts Enhanced Resource Pattern Support now supports automated code generation of resource creation Many bug fixes to support dynamic factory patterns to be created for creating and managing resources

Introduce 1.1 Service Documentation Introduce now enables descriptions and or comments to be added to virtually every aspect of the service. Descriptions are used to comment the generated API and to describe better the service metadata.

Timelines Analytical Service Toolkit (2005) basic globus 4.0 service development, add operations and data types Introduce 1.0 (Dec 2006) high level of service development support for globus 4.0 including security metadata, better hiding of globus toolkit code, basic resource patterns, extensions for supporting custom add-ons, service properties, custom resources, index service registration. Introduce 1.1 (Sept 2007) enhanced graphical environment, more complex resource pattern support, axis fixes for supporting custom serialization of beans, PDP based authorization, grid grouper and csm authorization plug-ins, more custom control of service by developer, ws-lifetime support, control of service registration, service migration, introduce software updater. Introduce 1.2 (Planned Feb – Mar 2008) ws-notification support, automated resource persistence, deployment time security configuration,

Get the Software and More Information

Introduce Grid Service Authoring Toolkit Shannon Hastings, Scott Oster, Stephen Langella, David Ervin Ohio State University Software Research Institute OGF 21 Oct 2007

BACKUP SLIDES

Addressing the Requirements Grid Services Uses the Globus Toolkit and Axis for creating, registering, discovering, and invoking service operations Client uses the operation through a grid service interface (client API)