SlideShare uma empresa Scribd logo
1 de 39
Service Oriented Architecture
     and Globus Toolkit

         Ravi K Madduri
   Argonne National Laboratory
      University of Chicago
Agenda
q   Principles of Service Oriented Architecture
q   The Globus Toolkit
q   Web Services Basics
q   Grid Services
q   What people punt on ?
    x   Intro to Globus Security, Service Registries
q   Workflows we created
q   Lessons learned
Principles of Service Oriented
                  Architecture
q   Guiding principles define the ground rules for
    development, maintenance, and usage of the
    SOA
    x   Reuse, granularity, modularity, composability,
        componentization and interoperability
    x   Standards compliance (both common and
        industry-specific)
    x   Services identification and categorization,
        provisioning and delivery, and monitoring and
        tracking
Architectural Principles
q   Service encapsulation – Many web services are
    consolidated to be used under the SOA.
q   Service loose coupling – Services maintain a
    relationship that minimizes dependencies and only
    requires that they maintain an awareness of each
    other
q   Service contract – Services adhere to a
    communications agreement, as defined collectively
    by one or more service description documents
q   Service abstraction – Beyond what is described in
    the service contract, services hide logic from the
    outside world
Architectural Principles
q   Service reusability – Logic is divided into
    services with the intention of promoting
    reuse
q   Service composability – Collections of
    services can be coordinated and assembled
    to form composite services
q   Service autonomy – Services have control
    over the logic they encapsulate
Architectural Principles
q   Service optimization – All else equal, high-
    quality services are generally considered
    preferable to low-quality ones
q   Service Discoverability - Services are
    designed to be outwardly descriptive so
    that they can be found and assessed via
    available discovery mechanisms
q   Service Relevance – Functionality is
    presented at a granularity recognized by
    the user as a meaningful service
Globus Software: dev.globus.org
      Globus Projects
                                                 OGSA-DAI    GT4

    MPICH-
      G2         Java                              Data      Replica
                          Delegation   MyProxy
                Runtime                            Rep      Location

   GridWay        C                      GSI-
                             CAS                 GridFTP     MDS4
                Runtime                OpenSSH

   Incubator                                     Reliable
     Mgmt       Python
                            C Sec       GRAM       File     GT4 Docs
                Runtime
                                                 Transfer




Common               Execution                     Info
          Security                  Data Mgmt                  Other
Runtime                Mgmt                      Services
Web Service Basics
      q   Web Services are basic distributed
          computing technology that let us construct
          client-server interactions




Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
Web Service Basics 2
q   Web services are platform independent
    and language independent
    x   Client and server program can be written in
        diff langs, run in diff envt’s and still interact
q   Web services describe themselves
    x   Once located you can ask it how to use it
q   Web services are ideal for loosely coupled
    systems
    x   Unlike CORBA, EJB, etc.
WSDL: Web Services
                   Description Language


                                     Define expected messages for a service,
                                     and their (input or output parameters)


                                     An interface groups together a number of
                                     messages (operations)




Bind an Interface via a definition
to a specific transport (e.g.              The network location where the service is
HTTP) and messaging (e.g.                  implemented , e.g. http://localhost:8080
SOAP) protocol
Real Web Service Invocation

  Discover




  Describe




    Invoke




Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
Web Services Server Applications
                                     q   Web service – software that
                                         exposes a set of operations
                                     q   SOAP Engine – handle SOAP
                                         requests and responses
                                         (Apache Axis)
                                     q   Application Server – provides
                                                               Container
                                         “living space” for applications
                                         that must be accessed by
                                         different clients (Tomcat)
                                     q   HTTP server- also called a
                                         Web server, handles http
                                         messages
Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
Let’s talk about state
      q   Plain Web services are stateless




Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
However, Many Grid
                       Applications Require State




Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
Keep the Web Service
                    and the State Separate
   q   Instead of putting state in a Web
       service, we keep it in a resource
   q   Each resource has a unique key




Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
Resources Can Be Anything Stored

                   Web Service
                       +
                    Resource
                       =
                   WS-Resource


                   Address of a WS-
                   resource is called
                   an end-point
                   reference
Web Services So Far
q   Basic client-server interactions
q   Stateless, but with associated resources
q   Self describing using WSDL


q   But we’d really like is a common way to
    x   Name and do bindings
    x   Start and end services
    x   Query, subscription, and notification
    x   Share error messages
Standard Interfaces
                              q   Service information
                              q   State representation
                                  x   Resource
            GetRP
                                  x   Resource Property
          GetMultRPs
                              q   State identification
            SetRP                 x   Endpoint Reference
Client               Web
           QueryRPs
                    Service
                              q   State Interfaces
           Subscribe              x   GetRP, QueryRPs,
                                      GetMultipleRPs, SetRP
           SetTerm
            Time              q   Lifetime Interfaces
            Destroy               x   SetTerminationTime
                                  x   ImmediateDestruction
                              q   Notification Interfaces
                                  x   Subscribe
                                  x   Notify
                              q   ServiceGroups
WSRF & WS-Notification

q   Naming and bindings (basis for virtualization)
    x   Every resource can be uniquely referenced, and has one or
        more associated services for interacting with it
q   Lifecycle (basis for fault resilient state management)
    x   Resources created by services following factory pattern
    x   Resources destroyed immediately or scheduled
q   Information model (basis for monitoring & discovery)
    x   Resource properties associated with resources
    x   Operations for querying and setting this info
    x   Asynchronous notification of changes to properties
q   Service Groups (basis for registries & collective svcs)
    x   Group membership rules & membership management
q   Base Fault type
WSRF vs XML/SOAP
q   The definition of WSRF means that the
    Grid and Web services communities can
    move forward on a common base
q   Why Not Just Use XML/SOAP?
    x   WSRF and WS-N are just XML and SOAP
    x   WSRF and WS-N are just Web services
q   Benefits of following the specs:
    x   These patterns represent best practices that
        have been learned in many Grid
        applications
    x   There is a community behind them
    x   Why reinvent the wheel?
    x   Standards facilitate interoperability
WS Core Enables Frameworks:
    E.g., Resource Management
                 Applications of the framework
           (Compute, network, storage provisioning,
       job reservation & submission, data management,
                  application service QoS, …)


       WS-Agreement                WS Distributed Management
   (Agreement negotiation)          (Lifecycle, monitoring, …)


       WS-Resource Framework & WS-Notification (*)
    (Resource identity, lifetime, inspection, subscription, …)


                     Web services
    (WSDL, SOAP, WS-Security, WS-ReliableMessaging, …)


* An evolution of Open Grid Services Infrastructure (OGSI)
Globus and Web Services
                                       User Applications




                                                   Globus
       (e.g., Apache Axis)
        Globus Container




                                                                 and Admin
                                                 WSRF Web




                                                                  Registry
                                                  Services


                                   WS-A, WSRF, WS-Notification


                                   WSDL, SOAP, WS-Security



Globus Core: Java , C (fast, small footprint), Python
Globus and Web Services
                                             User Applications




                                        Custom           Globus
       (e.g., Apache Axis)
        Globus Container




                                                                      and Admin
                                                       WSRF Web




                                                                       Registry
                             Custom      WSRF
                              Web       Services        Services
                             Services

                                        WS-A, WSRF, WS-Notification


                                        WSDL, SOAP, WS-Security



Globus Core: Java , C (fast, small footprint), Python
Globus Security
q   Extensible authorization framework
    based on Web services standards
    x   SAML-based authorization callout
        q   Security Assertion Markup Language, OASIS
            standard
        q   Used for Web Browers authentication often
        q   Very short-lived bearer credentials
    x   Integrated policy decision engine
        q   XACML (eXtensible Access Control Markup
            Language) policy language, per-operation
            policies, pluggable
Delegation Service
   q   Higher level                        Hosting Environment

       service                  Service1
   q   Authentication           Service2
                                                       Resources

       protocol                            EPR   Delegation Service
       independent              Service3

                                                 Delegate    Refresh
   q   Refresh
       interface                                                   Refresh
   q   Delegate once,                            EPR
                                                        Delegate
       share across
       services and
                                                        Client
       invocation
Rachana Ananthakrishnan
Delegation

      q   Secure Conversation
          x   Can delegate as part of protocol
          x   Extra round trip with delegation
          x   Types: Full or Limited delegation
          x   Delegation Service is preferred way of
              delegating
      q   Secure Message and Secure Transport
          x   Cannot delegate as part of protocol



Rachana Ananthakrishnan
Globus’s Use of
Security Standards




Supported,   Supported,      Fastest,
 but slow    but insecure   so default
Monitoring and Discovery System
                     (MDS4)
q   Grid-level monitoring system
    x   Aid user/agent to identify host(s) on which to
        run an application
    x   Warn on errors
q   Uses standard interfaces to provide publishing
    of data, discovery, and data access, including
    subscription/notification
    x   WS-ResourceProperties, WS-BaseNotification,
        WS-ServiceGroup
q   Functions as an hourglass to provide a
    common interface to lower-level monitoring
    tools
Taverna

                                  A sample
                                  caGrid
                                  workflow




caGrid Scavenger with semantic/
metadata
based caGrid service query
Sample Workflow with caDSR
q   Scientific value                      Workflow
                                            input
    x   To find all the UML packages
        related to a given context
        (‘caCore’).                        caGrid
                                           services
    x   Not a real scientific
        experiment.
         q   Simple.                       “Shim”
         q   Important in caGrid.          services


q   Steps
    x   Querying Project object.
    x   Do data transformation.
    x   Querying Packages object          Workflow
                                           output
        and get the result.
Protein sequence information query

q   Scientific value
    x   To query protein sequence
        information out of 3 caGrid
        data services: caBIO, CPAS and
        GridPIR.
    x   To analyze a protein sequence
        from different data sources.
q   Steps
    x   Querying CPAS and get the id,
        name, value of the sequence.
    x   Querying caBIO and GridPIR
        using the id or name obtained
        from CPAS.
Microarray clustering*
q    Scientific value
      x   A common routine to group
          genes or experiments into
          clusters with similar profiles.
      x   To identify functional groups of
          genes.
q    Steps
      x   Querying and retrieving the
          microarray data of interest from
          a caArrayScrub data service at
          Columbia University
      x   Preprocessing, or normalize the
          microarray data using the
          GenePattern analytical service                                Workflow in/output
          at the Broad Institute at MIT
                                                                           caGrid services
      x   Running hierarchical clustering
          using the geWorkbench                                    others “Shim” services
          analytical service at Columbia
          University
    *Wei Tan, Ravi Madduri, Kiran Keshav, Baris E. Suzek, Scott
    Oster, Ian Foster. Orchestrating caGrid Services in Taverna.
    ICWS 08.
Execution                Execution result as
  trace                         xml




            1936 gene expressions
Lymphoma prediction type prediction

q   Scientific value                                                          *
    x   Using gene-expression patterns
        associated with DLBCL and FL to
        predict the lymphoma type of an
        unknown sample.
    x   Using SVM (Support Vector
        Machine) to classify data, and
        predicting the tumor types of
        unknown examples.
q   (Major) steps
    x   Querying training data from
        experiments stored in caArray.
    x   Preprocessing, or normalize the
        microarray data.
    x   Adding training and testing data
        into SVM service to get
        classification result.


*Fig. from MA Shipp. Diffuse large B-cell lymphoma outcome prediction by
gene-expression profiling and supervised machine learning. Nature medicine,
Querying



Preprocessing


Classifying & predicting
Lymphoma type prediction
q   Result snippet                      *Classification errors are
                                        highlighted.




Acknowledgement:
Juli Klemm, Xiaopeng Bian, Rashmi Srinivasa (NCI)
Jared Nedzel (MIT)
Lessons Learned
q   Service abstraction not applicable to
    everything
q   Virtual Organization concepts still good
q   Web services is one way to create service
    oriented architectures but not always the
    best way
q   Make implementation agnostic of tools
    underneath
q   True value in ability to create workflows
Service-Oriented Science
     q   People create services (data or functions) …
     q   which I discover (& decide whether to use) …
     q   & compose to create a new function ...
     q   & then publish as a new service.


     q    I find “someone else” to host services,
         so I don’t have to become an expert in operating
         services & computers!

!!   q    I hope that this “someone else” can
         manage security, reliability, scalability, …



            “Service-Oriented Science”, Science, 2005
Questions ?

Mais conteúdo relacionado

Mais procurados

ARCHSTONE: Intelligent Network Services for Advanced Application Workflows
ARCHSTONE: Intelligent Network Services for Advanced Application WorkflowsARCHSTONE: Intelligent Network Services for Advanced Application Workflows
ARCHSTONE: Intelligent Network Services for Advanced Application WorkflowsEd Dodds
 
Crawlware
CrawlwareCrawlware
Crawlwarekidrane
 
Brokered Messaging in Windows Azure
Brokered Messaging in Windows AzureBrokered Messaging in Windows Azure
Brokered Messaging in Windows AzureNeil Mackenzie
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHCyril Concolato
 
VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...
VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...
VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...IJCNCJournal
 
Building a Dash-264 Player
Building a Dash-264 PlayerBuilding a Dash-264 Player
Building a Dash-264 Playerjeff tapper
 
Ese2008 Swordfish
Ese2008 SwordfishEse2008 Swordfish
Ese2008 Swordfishwwtyler
 
Notes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolNotes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolDaniel Austin
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application PlatformCédric Hüsler
 
Robust Cloud Resource Provisioning for Cloud Computing Environments
Robust Cloud Resource Provisioning for Cloud Computing EnvironmentsRobust Cloud Resource Provisioning for Cloud Computing Environments
Robust Cloud Resource Provisioning for Cloud Computing EnvironmentsSivadon Chaisiri
 
Wc Mand Connectors2
Wc Mand Connectors2Wc Mand Connectors2
Wc Mand Connectors2day
 
MongoDB at the energy frontier
MongoDB at the energy frontierMongoDB at the energy frontier
MongoDB at the energy frontierValentin Kuznetsov
 
Ijmer 46068390
Ijmer 46068390Ijmer 46068390
Ijmer 46068390IJMER
 
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsHadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsCloudera, Inc.
 
Tungsten University: Setup and Operate Tungsten Replicators
Tungsten University: Setup and Operate Tungsten ReplicatorsTungsten University: Setup and Operate Tungsten Replicators
Tungsten University: Setup and Operate Tungsten ReplicatorsContinuent
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)Kato Kiwamu
 
RabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client libraryRabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client libraryMohammed Shaban
 

Mais procurados (19)

ARCHSTONE: Intelligent Network Services for Advanced Application Workflows
ARCHSTONE: Intelligent Network Services for Advanced Application WorkflowsARCHSTONE: Intelligent Network Services for Advanced Application Workflows
ARCHSTONE: Intelligent Network Services for Advanced Application Workflows
 
Crawlware
CrawlwareCrawlware
Crawlware
 
Brokered Messaging in Windows Azure
Brokered Messaging in Windows AzureBrokered Messaging in Windows Azure
Brokered Messaging in Windows Azure
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASH
 
JCR In 10 Minutes
JCR In 10 MinutesJCR In 10 Minutes
JCR In 10 Minutes
 
VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...
VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...
VIRTUAL CACHE & VIRTUAL WAN ACCELERATOR FUNCTION PLACEMENT FOR COST-EFFECTIVE...
 
Building a Dash-264 Player
Building a Dash-264 PlayerBuilding a Dash-264 Player
Building a Dash-264 Player
 
Ese2008 Swordfish
Ese2008 SwordfishEse2008 Swordfish
Ese2008 Swordfish
 
Notes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolNotes on a High-Performance JSON Protocol
Notes on a High-Performance JSON Protocol
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application Platform
 
Robust Cloud Resource Provisioning for Cloud Computing Environments
Robust Cloud Resource Provisioning for Cloud Computing EnvironmentsRobust Cloud Resource Provisioning for Cloud Computing Environments
Robust Cloud Resource Provisioning for Cloud Computing Environments
 
Wc Mand Connectors2
Wc Mand Connectors2Wc Mand Connectors2
Wc Mand Connectors2
 
Data Aggregation System
Data Aggregation SystemData Aggregation System
Data Aggregation System
 
MongoDB at the energy frontier
MongoDB at the energy frontierMongoDB at the energy frontier
MongoDB at the energy frontier
 
Ijmer 46068390
Ijmer 46068390Ijmer 46068390
Ijmer 46068390
 
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsHadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
 
Tungsten University: Setup and Operate Tungsten Replicators
Tungsten University: Setup and Operate Tungsten ReplicatorsTungsten University: Setup and Operate Tungsten Replicators
Tungsten University: Setup and Operate Tungsten Replicators
 
AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)AP4R on RubyKaigi2007 (English only)
AP4R on RubyKaigi2007 (English only)
 
RabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client libraryRabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client library
 

Destaque

Vail 2014 20140526 v1
Vail 2014 20140526 v1Vail 2014 20140526 v1
Vail 2014 20140526 v1ISSIP
 
Issip sig ed res 20150128 v1
Issip sig ed res 20150128 v1Issip sig ed res 20150128 v1
Issip sig ed res 20150128 v1ISSIP
 
Pres 77 scott mac leod march 11 2015
Pres 77 scott mac leod march 11 2015Pres 77 scott mac leod march 11 2015
Pres 77 scott mac leod march 11 2015ISSIP
 
Frontiers 20140628 v3
Frontiers 20140628 v3Frontiers 20140628 v3
Frontiers 20140628 v3ISSIP
 
20150215 主日講題「圣餐的重要」- 賴建宇牧師
20150215 主日講題「圣餐的重要」- 賴建宇牧師20150215 主日講題「圣餐的重要」- 賴建宇牧師
20150215 主日講題「圣餐的重要」- 賴建宇牧師台北四方教會
 
Service science pic workshop 20141113 v1
Service science pic workshop 20141113 v1Service science pic workshop 20141113 v1
Service science pic workshop 20141113 v1ISSIP
 
Wise computing 20150215 v4
Wise computing 20150215 v4Wise computing 20150215 v4
Wise computing 20150215 v4ISSIP
 
Smart service systems 20150228 v2
Smart service systems 20150228 v2Smart service systems 20150228 v2
Smart service systems 20150228 v2ISSIP
 

Destaque (8)

Vail 2014 20140526 v1
Vail 2014 20140526 v1Vail 2014 20140526 v1
Vail 2014 20140526 v1
 
Issip sig ed res 20150128 v1
Issip sig ed res 20150128 v1Issip sig ed res 20150128 v1
Issip sig ed res 20150128 v1
 
Pres 77 scott mac leod march 11 2015
Pres 77 scott mac leod march 11 2015Pres 77 scott mac leod march 11 2015
Pres 77 scott mac leod march 11 2015
 
Frontiers 20140628 v3
Frontiers 20140628 v3Frontiers 20140628 v3
Frontiers 20140628 v3
 
20150215 主日講題「圣餐的重要」- 賴建宇牧師
20150215 主日講題「圣餐的重要」- 賴建宇牧師20150215 主日講題「圣餐的重要」- 賴建宇牧師
20150215 主日講題「圣餐的重要」- 賴建宇牧師
 
Service science pic workshop 20141113 v1
Service science pic workshop 20141113 v1Service science pic workshop 20141113 v1
Service science pic workshop 20141113 v1
 
Wise computing 20150215 v4
Wise computing 20150215 v4Wise computing 20150215 v4
Wise computing 20150215 v4
 
Smart service systems 20150228 v2
Smart service systems 20150228 v2Smart service systems 20150228 v2
Smart service systems 20150228 v2
 

Semelhante a Session18 Madduri

Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
 
Microservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsMicroservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsCorneil du Plessis
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...Timothy Spann
 
Managing Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesManaging Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesIftach Schonbaum
 
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with KafkaAndrei Rugina
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Osacon 2021 hello hydrate! from stream to clickhouse with apache pulsar and...
Osacon 2021   hello hydrate! from stream to clickhouse with apache pulsar and...Osacon 2021   hello hydrate! from stream to clickhouse with apache pulsar and...
Osacon 2021 hello hydrate! from stream to clickhouse with apache pulsar and...Timothy Spann
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesRakesh Gujjarlapudi
 
#lspe: Dynamic Scaling
#lspe: Dynamic Scaling #lspe: Dynamic Scaling
#lspe: Dynamic Scaling steveshah
 
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...Spiffy
 
ghfghg
ghfghgghfghg
ghfghghoefo
 
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...Timothy Spann
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Middleware in the cloud platform-v2
Middleware in the cloud   platform-v2Middleware in the cloud   platform-v2
Middleware in the cloud platform-v2Hammad Rajjoub
 
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesConfluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesKai Wähner
 
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...PolarSeven Pty Ltd
 

Semelhante a Session18 Madduri (20)

Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
KrakenD API Gateway
KrakenD API GatewayKrakenD API Gateway
KrakenD API Gateway
 
Microservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsMicroservices Patterns and Anti-Patterns
Microservices Patterns and Anti-Patterns
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
 
Managing Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesManaging Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on Kubernetes
 
Designing microservices
Designing microservicesDesigning microservices
Designing microservices
 
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with Kafka
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Osacon 2021 hello hydrate! from stream to clickhouse with apache pulsar and...
Osacon 2021   hello hydrate! from stream to clickhouse with apache pulsar and...Osacon 2021   hello hydrate! from stream to clickhouse with apache pulsar and...
Osacon 2021 hello hydrate! from stream to clickhouse with apache pulsar and...
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 
#lspe: Dynamic Scaling
#lspe: Dynamic Scaling #lspe: Dynamic Scaling
#lspe: Dynamic Scaling
 
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
 
ghfghg
ghfghgghfghg
ghfghg
 
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Middleware in the cloud platform-v2
Middleware in the cloud   platform-v2Middleware in the cloud   platform-v2
Middleware in the cloud platform-v2
 
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesConfluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
 
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
 

Mais de ISSGC Summer School

Session 58 - Cloud computing, virtualisation and the future
Session 58 - Cloud computing, virtualisation and the future Session 58 - Cloud computing, virtualisation and the future
Session 58 - Cloud computing, virtualisation and the future ISSGC Summer School
 
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake EdlundSession 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake EdlundISSGC Summer School
 
Session 50 - High Performance Computing Ecosystem in Europe
Session 50 - High Performance Computing Ecosystem in EuropeSession 50 - High Performance Computing Ecosystem in Europe
Session 50 - High Performance Computing Ecosystem in EuropeISSGC Summer School
 
Session 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteSession 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteISSGC Summer School
 
Session 48 - Principles of Semantic metadata management
Session 48 - Principles of Semantic metadata management Session 48 - Principles of Semantic metadata management
Session 48 - Principles of Semantic metadata management ISSGC Summer School
 
Session 46 - Principles of workflow management and execution
Session 46 - Principles of workflow management and execution Session 46 - Principles of workflow management and execution
Session 46 - Principles of workflow management and execution ISSGC Summer School
 
Session 37 - Intro to Workflows, API's and semantics
Session 37 - Intro to Workflows, API's and semantics Session 37 - Intro to Workflows, API's and semantics
Session 37 - Intro to Workflows, API's and semantics ISSGC Summer School
 
Session 43 :: Accessing data using a common interface: OGSA-DAI as an example
Session 43 :: Accessing data using a common interface: OGSA-DAI as an exampleSession 43 :: Accessing data using a common interface: OGSA-DAI as an example
Session 43 :: Accessing data using a common interface: OGSA-DAI as an exampleISSGC Summer School
 
Session 40 : SAGA Overview and Introduction
Session 40 : SAGA Overview and Introduction Session 40 : SAGA Overview and Introduction
Session 40 : SAGA Overview and Introduction ISSGC Summer School
 
Session 24 - Distribute Data and Metadata Management with gLite
Session 24 - Distribute Data and Metadata Management with gLiteSession 24 - Distribute Data and Metadata Management with gLite
Session 24 - Distribute Data and Metadata Management with gLiteISSGC Summer School
 
General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school ISSGC Summer School
 

Mais de ISSGC Summer School (20)

Session 58 - Cloud computing, virtualisation and the future
Session 58 - Cloud computing, virtualisation and the future Session 58 - Cloud computing, virtualisation and the future
Session 58 - Cloud computing, virtualisation and the future
 
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake EdlundSession 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
 
Session 50 - High Performance Computing Ecosystem in Europe
Session 50 - High Performance Computing Ecosystem in EuropeSession 50 - High Performance Computing Ecosystem in Europe
Session 50 - High Performance Computing Ecosystem in Europe
 
Integrating Practical2009
Integrating Practical2009Integrating Practical2009
Integrating Practical2009
 
Session 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteSession 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky Note
 
Departure
DepartureDeparture
Departure
 
Session 48 - Principles of Semantic metadata management
Session 48 - Principles of Semantic metadata management Session 48 - Principles of Semantic metadata management
Session 48 - Principles of Semantic metadata management
 
Session 46 - Principles of workflow management and execution
Session 46 - Principles of workflow management and execution Session 46 - Principles of workflow management and execution
Session 46 - Principles of workflow management and execution
 
Session 42 - GridSAM
Session 42 - GridSAMSession 42 - GridSAM
Session 42 - GridSAM
 
Session 37 - Intro to Workflows, API's and semantics
Session 37 - Intro to Workflows, API's and semantics Session 37 - Intro to Workflows, API's and semantics
Session 37 - Intro to Workflows, API's and semantics
 
Session 43 :: Accessing data using a common interface: OGSA-DAI as an example
Session 43 :: Accessing data using a common interface: OGSA-DAI as an exampleSession 43 :: Accessing data using a common interface: OGSA-DAI as an example
Session 43 :: Accessing data using a common interface: OGSA-DAI as an example
 
Session 40 : SAGA Overview and Introduction
Session 40 : SAGA Overview and Introduction Session 40 : SAGA Overview and Introduction
Session 40 : SAGA Overview and Introduction
 
Session 36 - Engage Results
Session 36 - Engage ResultsSession 36 - Engage Results
Session 36 - Engage Results
 
Session 23 - Intro to EGEE-III
Session 23 - Intro to EGEE-IIISession 23 - Intro to EGEE-III
Session 23 - Intro to EGEE-III
 
Session 33 - Production Grids
Session 33 - Production GridsSession 33 - Production Grids
Session 33 - Production Grids
 
Social Program
Social ProgramSocial Program
Social Program
 
Session29 Arc
Session29 ArcSession29 Arc
Session29 Arc
 
Session 24 - Distribute Data and Metadata Management with gLite
Session 24 - Distribute Data and Metadata Management with gLiteSession 24 - Distribute Data and Metadata Management with gLite
Session 24 - Distribute Data and Metadata Management with gLite
 
Session 23 - gLite Overview
Session 23 - gLite OverviewSession 23 - gLite Overview
Session 23 - gLite Overview
 
General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school
 

Último

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 

Último (20)

Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 

Session18 Madduri

  • 1. Service Oriented Architecture and Globus Toolkit Ravi K Madduri Argonne National Laboratory University of Chicago
  • 2. Agenda q Principles of Service Oriented Architecture q The Globus Toolkit q Web Services Basics q Grid Services q What people punt on ? x Intro to Globus Security, Service Registries q Workflows we created q Lessons learned
  • 3. Principles of Service Oriented Architecture q Guiding principles define the ground rules for development, maintenance, and usage of the SOA x Reuse, granularity, modularity, composability, componentization and interoperability x Standards compliance (both common and industry-specific) x Services identification and categorization, provisioning and delivery, and monitoring and tracking
  • 4. Architectural Principles q Service encapsulation – Many web services are consolidated to be used under the SOA. q Service loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other q Service contract – Services adhere to a communications agreement, as defined collectively by one or more service description documents q Service abstraction – Beyond what is described in the service contract, services hide logic from the outside world
  • 5. Architectural Principles q Service reusability – Logic is divided into services with the intention of promoting reuse q Service composability – Collections of services can be coordinated and assembled to form composite services q Service autonomy – Services have control over the logic they encapsulate
  • 6. Architectural Principles q Service optimization – All else equal, high- quality services are generally considered preferable to low-quality ones q Service Discoverability - Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms q Service Relevance – Functionality is presented at a granularity recognized by the user as a meaningful service
  • 7. Globus Software: dev.globus.org Globus Projects OGSA-DAI GT4 MPICH- G2 Java Data Replica Delegation MyProxy Runtime Rep Location GridWay C GSI- CAS GridFTP MDS4 Runtime OpenSSH Incubator Reliable Mgmt Python C Sec GRAM File GT4 Docs Runtime Transfer Common Execution Info Security Data Mgmt Other Runtime Mgmt Services
  • 8. Web Service Basics q Web Services are basic distributed computing technology that let us construct client-server interactions Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
  • 9. Web Service Basics 2 q Web services are platform independent and language independent x Client and server program can be written in diff langs, run in diff envt’s and still interact q Web services describe themselves x Once located you can ask it how to use it q Web services are ideal for loosely coupled systems x Unlike CORBA, EJB, etc.
  • 10. WSDL: Web Services Description Language Define expected messages for a service, and their (input or output parameters) An interface groups together a number of messages (operations) Bind an Interface via a definition to a specific transport (e.g. The network location where the service is HTTP) and messaging (e.g. implemented , e.g. http://localhost:8080 SOAP) protocol
  • 11. Real Web Service Invocation Discover Describe Invoke Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
  • 12. Web Services Server Applications q Web service – software that exposes a set of operations q SOAP Engine – handle SOAP requests and responses (Apache Axis) q Application Server – provides Container “living space” for applications that must be accessed by different clients (Tomcat) q HTTP server- also called a Web server, handles http messages Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s02.html
  • 13. Let’s talk about state q Plain Web services are stateless Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
  • 14. However, Many Grid Applications Require State Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
  • 15. Keep the Web Service and the State Separate q Instead of putting state in a Web service, we keep it in a resource q Each resource has a unique key Borja Sotomayor , http://gdp.globus.org/gt4-tutorial/multiplehtml/ch01s03.html
  • 16. Resources Can Be Anything Stored Web Service + Resource = WS-Resource Address of a WS- resource is called an end-point reference
  • 17. Web Services So Far q Basic client-server interactions q Stateless, but with associated resources q Self describing using WSDL q But we’d really like is a common way to x Name and do bindings x Start and end services x Query, subscription, and notification x Share error messages
  • 18. Standard Interfaces q Service information q State representation x Resource GetRP x Resource Property GetMultRPs q State identification SetRP x Endpoint Reference Client Web QueryRPs Service q State Interfaces Subscribe x GetRP, QueryRPs, GetMultipleRPs, SetRP SetTerm Time q Lifetime Interfaces Destroy x SetTerminationTime x ImmediateDestruction q Notification Interfaces x Subscribe x Notify q ServiceGroups
  • 19. WSRF & WS-Notification q Naming and bindings (basis for virtualization) x Every resource can be uniquely referenced, and has one or more associated services for interacting with it q Lifecycle (basis for fault resilient state management) x Resources created by services following factory pattern x Resources destroyed immediately or scheduled q Information model (basis for monitoring & discovery) x Resource properties associated with resources x Operations for querying and setting this info x Asynchronous notification of changes to properties q Service Groups (basis for registries & collective svcs) x Group membership rules & membership management q Base Fault type
  • 20. WSRF vs XML/SOAP q The definition of WSRF means that the Grid and Web services communities can move forward on a common base q Why Not Just Use XML/SOAP? x WSRF and WS-N are just XML and SOAP x WSRF and WS-N are just Web services q Benefits of following the specs: x These patterns represent best practices that have been learned in many Grid applications x There is a community behind them x Why reinvent the wheel? x Standards facilitate interoperability
  • 21. WS Core Enables Frameworks: E.g., Resource Management Applications of the framework (Compute, network, storage provisioning, job reservation & submission, data management, application service QoS, …) WS-Agreement WS Distributed Management (Agreement negotiation) (Lifecycle, monitoring, …) WS-Resource Framework & WS-Notification (*) (Resource identity, lifetime, inspection, subscription, …) Web services (WSDL, SOAP, WS-Security, WS-ReliableMessaging, …) * An evolution of Open Grid Services Infrastructure (OGSI)
  • 22. Globus and Web Services User Applications Globus (e.g., Apache Axis) Globus Container and Admin WSRF Web Registry Services WS-A, WSRF, WS-Notification WSDL, SOAP, WS-Security Globus Core: Java , C (fast, small footprint), Python
  • 23. Globus and Web Services User Applications Custom Globus (e.g., Apache Axis) Globus Container and Admin WSRF Web Registry Custom WSRF Web Services Services Services WS-A, WSRF, WS-Notification WSDL, SOAP, WS-Security Globus Core: Java , C (fast, small footprint), Python
  • 24. Globus Security q Extensible authorization framework based on Web services standards x SAML-based authorization callout q Security Assertion Markup Language, OASIS standard q Used for Web Browers authentication often q Very short-lived bearer credentials x Integrated policy decision engine q XACML (eXtensible Access Control Markup Language) policy language, per-operation policies, pluggable
  • 25. Delegation Service q Higher level Hosting Environment service Service1 q Authentication Service2 Resources protocol EPR Delegation Service independent Service3 Delegate Refresh q Refresh interface Refresh q Delegate once, EPR Delegate share across services and Client invocation Rachana Ananthakrishnan
  • 26. Delegation q Secure Conversation x Can delegate as part of protocol x Extra round trip with delegation x Types: Full or Limited delegation x Delegation Service is preferred way of delegating q Secure Message and Secure Transport x Cannot delegate as part of protocol Rachana Ananthakrishnan
  • 27. Globus’s Use of Security Standards Supported, Supported, Fastest, but slow but insecure so default
  • 28. Monitoring and Discovery System (MDS4) q Grid-level monitoring system x Aid user/agent to identify host(s) on which to run an application x Warn on errors q Uses standard interfaces to provide publishing of data, discovery, and data access, including subscription/notification x WS-ResourceProperties, WS-BaseNotification, WS-ServiceGroup q Functions as an hourglass to provide a common interface to lower-level monitoring tools
  • 29. Taverna A sample caGrid workflow caGrid Scavenger with semantic/ metadata based caGrid service query
  • 30. Sample Workflow with caDSR q Scientific value Workflow input x To find all the UML packages related to a given context (‘caCore’). caGrid services x Not a real scientific experiment. q Simple. “Shim” q Important in caGrid. services q Steps x Querying Project object. x Do data transformation. x Querying Packages object Workflow output and get the result.
  • 31. Protein sequence information query q Scientific value x To query protein sequence information out of 3 caGrid data services: caBIO, CPAS and GridPIR. x To analyze a protein sequence from different data sources. q Steps x Querying CPAS and get the id, name, value of the sequence. x Querying caBIO and GridPIR using the id or name obtained from CPAS.
  • 32. Microarray clustering* q Scientific value x A common routine to group genes or experiments into clusters with similar profiles. x To identify functional groups of genes. q Steps x Querying and retrieving the microarray data of interest from a caArrayScrub data service at Columbia University x Preprocessing, or normalize the microarray data using the GenePattern analytical service Workflow in/output at the Broad Institute at MIT caGrid services x Running hierarchical clustering using the geWorkbench others “Shim” services analytical service at Columbia University *Wei Tan, Ravi Madduri, Kiran Keshav, Baris E. Suzek, Scott Oster, Ian Foster. Orchestrating caGrid Services in Taverna. ICWS 08.
  • 33. Execution Execution result as trace xml 1936 gene expressions
  • 34. Lymphoma prediction type prediction q Scientific value * x Using gene-expression patterns associated with DLBCL and FL to predict the lymphoma type of an unknown sample. x Using SVM (Support Vector Machine) to classify data, and predicting the tumor types of unknown examples. q (Major) steps x Querying training data from experiments stored in caArray. x Preprocessing, or normalize the microarray data. x Adding training and testing data into SVM service to get classification result. *Fig. from MA Shipp. Diffuse large B-cell lymphoma outcome prediction by gene-expression profiling and supervised machine learning. Nature medicine,
  • 36. Lymphoma type prediction q Result snippet *Classification errors are highlighted. Acknowledgement: Juli Klemm, Xiaopeng Bian, Rashmi Srinivasa (NCI) Jared Nedzel (MIT)
  • 37. Lessons Learned q Service abstraction not applicable to everything q Virtual Organization concepts still good q Web services is one way to create service oriented architectures but not always the best way q Make implementation agnostic of tools underneath q True value in ability to create workflows
  • 38. Service-Oriented Science q People create services (data or functions) … q which I discover (& decide whether to use) … q & compose to create a new function ... q & then publish as a new service. q  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers! !! q  I hope that this “someone else” can manage security, reliability, scalability, … “Service-Oriented Science”, Science, 2005