=Paper= {{Paper |id=None |storemode=property |title=Interoperability of the BIS-Grid Workflow Engine with Globus Toolkit 4 |pdfUrl=https://ceur-ws.org/Vol-826/paper06.pdf |volume=Vol-826 }} ==Interoperability of the BIS-Grid Workflow Engine with Globus Toolkit 4== https://ceur-ws.org/Vol-826/paper06.pdf
Grid Workflow Workshop 2011                                                                                                                            GWW 2011



Interoperability of the BIS-Grid Workflow Engine with
Globus Toolkit 4
Guido Scherp 1 and Wilhelm Hasselbring 1
1
    Software Engineering Group, University of Kiel, 24098 Kiel, Germany




                                                                                                                               UNICORE 6            ActiveBPEL
ABSTRACT
   In the D-Grid project BIS-Grid we developed the BIS-Grid Workflow                                                   UNICORE Atomic Services
                                                                                       compute jobs / file transfers
Engine in order to utilize a common WS-BPEL workflow engine for




                                                                                                                                                          WS-BPEL workflow engine
scientific workflow execution in WSRF-based Grid infrastructures.
                                                                                                         uses
The BIS-Grid Workflow Engine itself is built on the Grid middleware                                                    BIS-Grid-specific services
UNICORE 6 to benefit from its security mechanisms and to                          workflow deployment / execution
automatically gain interoperability with UNICORE 6-based Grid
                                                                                                         uses
infrastructures. As beside UNICORE 6 the Grid middleware Globus                                                        other UNICORE 6 services
Toolkit 4 is prevalent in the D-Grid infrastructure, we decided to
examine the interoperability of the BIS-Grid Workflow Engine with
                                                                                    other UNICORE 6 services
Globus Toolkit 4.
   The interoperability with Globus Toolkit 4 concerns basically the
support of its Grid Security Infrastructure (GSI) by UNICORE 6. In                Fig. 1. General Architecture of the BIS-Grid Workflow Engine
this paper we describe to what extend GSI is already supported by
UNICORE 6 and what is missing. We furthermore give some details
about our implementation for the BIS-Grid Workflow Engine to allow
Globus Toolkit 4 service invocations within a WS-BPEL workflow
execution.
Contact: gusch@informatik.uni-kiel.de
                                                                                  Fig. 2. Aspects regarding GT4 interoperability by the BIS-Grid Workflow
                                                                                  Engine

1     INTRODUCTION
In BIS-Grid1 , a project within the German Grid initiative D-                     and one corresponding WS-BPEL workflow instance in the WS-
Grid, we developed the so called BIS-Grid Workflow Engine2 ,                      BPEL workflow engine. It is technically assured that incoming and
which utilizes the Web Services Business Process Execution                        outgoing messages within a workflow execution are automatically
Language (WS-BPEL)[12], a widely accepted standard for service                    mapped to and handled by the correct WSRF instances and
orchestrations, to execute scientific workflows in WSRF[11]-based                 corresponding WS-BPEL workflow instances. For more details
Grid infrastructures. Mainly due to a lack of supported security                  about the BIS-Grid Workflow Engine architecture and the handling
mechanisms, common WS-BPEL workflow engines are usually                           of instances please refer to [7, 8].
not interoperable with Grid middleware and Grid clients. Thus,                       The decision to built on UNICORE 6 enables the BIS-Grid
we implemented a Grid wrapper for arbitrary WS-BPEL workflow                      Workflow Engine to execute scientific workflows in UNICORE 6-
engines through specific BIS-Grid-specific services for the Grid                  based Grid infrastructures. As the Grid middleware Globus
middleware UNICORE 6, see Figure 1. Based on this architecture                    Toolkit 4 (GT4) is also a prevalent middleware in the D-Grid
we were able to use solely standard WS-BPEL elements for                          infrastructure, we decided to extend the BIS-Grid Workflow Engine
workflow execution that in principle allows a free choice of any                  respectively UNICORE 6 by the interoperability with GT4. Both
WS-BPEL compliant workflow engine. Furthermore, the BIS-Grid-                     Grid middleware provide (WSRF) services built on similar SOAP
specific services in UNICORE 6 that wrap a WS-BPEL workflow                       stacks and service containers, but they differ in the applied
engine could be implemented by solely using UNICORE 6 built-in                    security mechanisms. Thus, establishing the interoperability with
mechanisms.                                                                       GT4 comes with the need that UNICORE 6 supports its security
   The BIS-Grid-specific services are mainly implemented as                       mechanism called Grid Security Infrastructure (GSI). Therefore,
stateful WSRF services in which a state is represented by a WSRF                  two interoperability aspects have to be considered, see Figure 2.
instance. For this paper it is sufficient to know that for each                   First, the invocation of services deployed in UNICORE 6 by a GT4
workflow execution one WSRF instance is located in UNICORE 6                      client. Second, the invocation of GT4 services within a workflow
                                                                                  execution. We decided in BIS-Grid to focus on the second aspect
1   http://www.bisgrid.de                                                         mainly due to its major relevance compared to the first aspect and
2   http://bis-grid.sourceforge.net/                                              its less effort required for implementation.


Copyright c 2011 for the individual papers by the papers’ authors. Copying permitted only for private and academic purposes.                                                        1
Guido Scherp and Wilhelm Hasselbring



                                                                            3     GSI SUPPORT IN UNICORE 6
                                                                            As already mentioned, GT4 interoperability in the BIS-Grid
                                                                            Workflow Engine implies to support GSI by UNICORE 6. Thereby,
                                                                            the following interoperability aspects are relevant.

                                                                                1. GT4 client: A GT4 client invokes a service of the BIS-Grid
                                                                                   Workflow Engine respectively UNICORE 6.
                                                                                2. GT4 service invocation: The BIS-Grid Workflow
                                                                                   Engine respectively UNICORE 6 invokes a GT4 service
                                                                                   (within a workflow execution).
Fig. 3. Overview of GSI (from [14])
                                                                              Thus, the technical issues concerning the two interoperability
                                                                            aspect are:

                                                                                • Support of WS-Security, WS-SecureConversation and TLS for
                                                                                  message protection.
                                                                                • Support of proxy certificates for delegation.
                                                                                • Support of the GT4 delegation service for credential
                                                                                  management respectively proxy certificate management.
Fig.       4. Chain        of        Proxy       Certificates      (from
http://www.globus.org/security/overview.html)                                   • Support of SAML and grid-mapfile for authorization.

                                                                               The UNICORE 6 security stack is based on standard X.509
   In Section 2 we give a brief introduction into GSI. Details about        certificates and TLS. Support of WS-SecureConversation and proxy
GSI support in UNICORE 6 and our reasons to focus on GT4                    certificates for message protection and delegation, for example,
service invocations within a workflow execution are discussed in            are not covered by UNICORE 6 security mechanisms. However,
Section 3. Implementation details to enable GT4 service invocations         a UNICORE 6 client can generate a proxy certificate which is
in the BIS-Grid Workflow Engine are presented in Section 4.1. After         added to the header of a SOAP message. This proxy certificate
discussing related work in Section 5 we conclude the paper with an          is extracted from the SOAP message within UNICORE 6 and
outlook to future work in Section 6. Additional details about GT4           attached to the corresponding internal WSRF instance. It is obvious
interoperability in the BIS-Grid Workflow Engine can also be found          that central authentication and delegation mechanisms of GSI are
in [9].                                                                     not supported by UNICORE 6. And it needs no further technical
                                                                            details to conclude that supporting the first interoperability aspect
                                                                            (GT4 client) results in a major refactoring and extension of the
2     GRID SECURITY INFRASTRUCTURE                                          UNICORE 6 security stack. Consequently, we skipped that aspect
                                                                            mainly due to limited project resources. But we can utilize the
Security in Globus Toolkit 4 is based on the so called Grid
                                                                            UNICORE 6 mechanism to create and store proxy certificates in the
Security Infrastructure (GSI) which itself utilizes many existing
                                                                            second interoperability (GT4 service invocation) aspect,
security standards, see Figure 3. It provides three kinds of message
                                                                            which is described in the following.
protection, based on WS-Security, WS-SecureConversation and
                                                                               Regarding the second interoperability aspect (GT4 service
Transport Layer Security (TLS)3 , in which different mechanisms
                                                                            invocation) the BIS-Grid Workflow Engine respectively
for authentication, authorization and delegation are supported,
                                                                            UNICORE 6 acts as a GT4 client. Generally, a GT4 client must
Delegation utilizes so called X.509 proxy certificates. Technically, a
                                                                            support GSI message protection mechanisms as well as proxy
proxy certificate is a self-signed certificate which is initially derived
                                                                            certificates4 . GT4 already offers client libraries to invoke a GT4
from a personal X.509 end entity (user) certificate (EEC) issued by
                                                                            service. Thus, in our approach we built on those GT4 client libraries
a trusted certificate authority (CA). Such a (first) proxy certificate
                                                                            when a GT4 service has to be invoked within a workflow execution.
allows the creation of an arbitrary number of succeeding proxy
                                                                            The needed proxy certificate can be fetched from the internal WSRF
certificates, see Figure 4.
                                                                            instance of the workflow execution, which was previously attached
   A proxy certificate is used as an user’s authentication credential
                                                                            by a UNICORE 6 client. As the invocation of GT4 services within
that can be delegated to a GT4 resource allowing it to act on behalf
                                                                            the BIS-Grid Workflow Engine has a major relevance for the project
of an user using its identity. Proxy certificates have the advantage
                                                                            and its implementation effort is significantly less than to support
that the private key of a user certificate is always kept locally,
                                                                            GT4 clients, we implemented this approach. Implementation details
but proxy certificates lacks of a revocation mechanism. Thus, a
                                                                            are described in the following Section.
proxy certificate has usually a short lifetime to minimize misuse
in case of its interception. Finally, to allow a basic management
of delegated credentials GT4 provides a delegation service. For
additional information about GSI, please refer to [14].                     4 The support of the GT4 delegation service and grid-mapfile is located on
                                                                            the Grid middleware side. SAML assertions are omitted as they are generally
3   Also known as Secure Sockets Layer (SSL)                                not supported in the D-Grid infrastructure.



2
                                                                        Interoperability of the BIS-Grid Workflow Engine with Globus Toolkit 4




Fig. 5. Default UNICORE 6 handler chain of the BIS-Grid Workflow
Engine (from [9]).




                                                                             Fig. 7. GT4 handler chain (from [9]).



                                                                             service. For a GT4 service invocation the OutMessageHandler
                                                                             is exchanged by the so called AxisMessageHandler at runtime.
                                                                             Its name indicates that the GT4 SOAP stack is based on Axis6 .
                                                                             The AxisMessageSender uses the Java GT4 client libraries to
                                                                             configure and execute a GT4 service invocation. Furthermore, the
                                                                             GT4 client libraries itself uses a GSI specific Axis client handler
                                                                             chain, see Figure 7.
Fig. 6. Credential description in the BIS-Grid Deployment Descriptor (from      Even if UNICORE 6 and GT4 have different security concepts,
[9]).                                                                        both implementations are based on some standard Java libraries as
                                                                             WSS4J and XMLSec, but in different and incompatible version.
                                                                             This library version conflicts prevents running both handler chains
4     INVOCATION OF GLOBUS TOOLKIT 4                                         in one Java virtual machine. Therefore, we implemented two
      SERVICES WITHIN THE BIS-GRID WORKFLOW                                  solutions to avoid this conflict. In the first solution we implemented
      ENGINE                                                                 a Java classloader that replaces the default Java class loader in the
                                                                             GT4 handler chain starting with the AxisMessageHandler. In
Incoming and outgoing messages are processed in UNICORE 6
                                                                             the second solution the AxisMessageHandler uses an RMI call
through handler chains. Such a handler chain can be modified during
                                                                             to invoke the GT4 specific part of the GT4 handler chain running
runtime, which allows a flexible message handling for receiving and
                                                                             in its own Java virtual machine. The Java virtual machine for the
sending messages. The BIS-Grid Workflow Engine has a default
                                                                             corresponding RMI server is started and stopped by an additional
outgoing handler chain to invoke external UNICORE 6 services5 ,
                                                                             section in the UNICORE 6 start-stop-script.
see Figure 5. The default handler chain is modified at runtime to
invoke an external GT4 service, which is described in Section 4.1.
This GT4 handler chain was further extended to support the GT4               4.2     Support of Globus Toolkit 4 Delegation Service
delegation service, which is described in Section 4.2.                       In order to allow a more flexible delegation mechanism GT4
   The configuration of external service invocations and its                 offers a delegation service for basic credential management. A
credentials is located in the so called BIS-Grid Deployment                  credential is usually represented by a proxy certificate. Technically,
Descriptor. Figure 6 depicts the configuration of credentials. This          the delegation service is implemented as stateful WSRF service.
information is used to distinguish between an external UNICORE 6             Each delegated proxy certificate is attached to one WSRF instance
service and an external GT4 service invocation and to use the correct        identifiable by an unique resource key. This resource key can be
credentials. For more details about the BIS-Grid Deployment                  used, for example, to reference a credential respectively a proxy
Descriptor and especially the configuration of external GT4 service          certificate used for data staging activities in a job submission. If the
invocations, please refer to [8, 9].                                         WSRF instance is destroyed the corresponding proxy certificate is
                                                                             deleted, too.
4.1     GT4 handler chain                                                       As first step we examined how the mechanisms works to delegate
The default handler chain of the BIS-Grid Workflow Engine ends               a proxy certificate as credential via the GT4 delegation service. For
with the handler OutMessageHandler, see Figure 5. This                       this reason we executed a job submission including file staging via
handler supports TLS and X.509 certificate based authentication              the GT4 command line tool globusrun-ws with enabled debug
and is responsible for the invocation of an external UNICORE 6               mode and analyzed the exchanged SOAP messages. Furthermore,

5   Standard web services are supported, too.                                6   http://axis.apache.org/axis/



                                                                                                                                                   3
Guido Scherp and Wilhelm Hasselbring



                                                                                                               1. The WS-BPEL workflow fetches the WSRF resource property
                                                                                                                  delegationFactoryEndpoint of the ManagedJob-
                                                                                                                  FactoryService.
                                                                                                               2. The WS-BPEL workflow fetches the WSRF resource
     globusrun-ws                                GT4                                     GT4
        -S …..                         DelegationFactoryService                 ManagedJobFactoryService          property CertificateChain respectively the host
                                                                                                                  certificate from the corresponding Delegation-
            getRP: (staging)delegationFactoryEndpoint                                                             FactoryService by using dynamic binding based on
                                                           <(staging)delegationFactoryEndpoint>
                                                                                                                  the delegationFactoryEndpoint.
            getRP: CertificateChain
                                                                                             3. The WS-BPEL workflow invokes the Delegation-
                                                                                                                  FactoryService with the host certificate as
            RequestSecurityToken: 
                                       
                                                                                                                  credential.
            CreateManagedJob: …  ...                                                            4. The GT4 handler chain of the BIS-Grid Workflow Engine
                                                                                                                  detects the invocation of a GT4 delegation service and
                                                                                                                  generates a new proxy certificate based on the proxy certificate
                                                                                                                  from the WSRF instance and signed with the public key of
                                                                                                                  the host certificate in the SOAP message. Afterwards, the host
Fig. 8. Utilization of the GT4 delegation service in a job submission.                                            certificate in the SOAP message is replaced by the new proxy
                                                                                                                  certificate.
                                                                                                               5. The GT4 handler chain uses the modified SOAP message for
                                                                                                                  the invocation of the DelegationFactoryService to get
                                                                                                                  the DelegationKey which is returned to the WS-BPEL
we inspected the source code of globusrun-ws. A proxy                                                             workflow.
certificate derived from a user certificate was previously generated
                                                                                                               6. The WS-BPEL workflow adds the DelegationKey to the
with the GT4 command line tool grid-proxy-init. Regarding
                                                                                                                  job description as credential reference and submits the job to
the delegation service we identified the following mechanism, cp.
                                                                                                                  the ManagedJobFactoryService.
Figure 8:
                                                                                                               7. The WS-BPEL workflow deletes the delegated proxy certificate
    1. The WSRF resource property delegationFactory-                                                              by destroying the corresponding WSRF instance after the job
       Endpoint of the GT4 job submission service called                                                          execution is finished.
       ManagedJobFactoryService is fetched to get the
       endpoint for the associated GT4 delegation (factory) service                                          This approach allows a flexible management of delegated proxy
       called DelegationFactoryService.                                                                    certificates as credentials within a WS-BPEL workflow whereas the
                                                                                                           point of delegating or destroying a credential can be chosen by the
    2. The endpoint for the DelegationFactoryService is
                                                                                                           workflow designer.
       used to get the WSRF resource property Certificate-
       Chain. In our case the host certificate of the GT4 resource
       was returned.
    3. The proxy certificate of the user is used to generate a new proxy                                   5     RELATED WORK
       certificate signed with the public key of the host certificate.                                     The general suitability for WS-BPEL to execute scientific
    4. The new proxy certificate is delegated to the GT4 resource via                                      workflows, especially in WSRF-based infrastructures, is shown in
       the DelegationFactoryService. It returns the resource                                               several publications [15, 4, 16, 5, 10, 13, 1, 2, 3]. Regarding the
       key DelegationKey, which identifies the corresponding                                               complexity to invoke stateful WSRF services some approaches as
       WSRF instance. The DelegationKey is automatically                                                   [15, 10, 2, 3] suggest extensions to WS-BPEL7 or its predecessor
       added to the job description as credential reference, before the                                    BPEL4WS. Consequently, both a WS-BPEL/BPEL4WS workflow
       job is submitted via the ManagedJobFactoryService.                                                  editor and a WS-BPEL/BPEL4WS workflow engine must be
    5. After the job execution is finished the delegated proxy                                             provided that supports those language extensions. A language
       certificate is deleted by destroying the corresponding WSRF                                         extension for BPEL4WS, for example, is presented in [2, 3] that
       instance.                                                                                           allows the invocation of stateful, WSRF-based GT4 services. To
                                                                                                           support these new language elements an existing workflow editor
   Each WS-BPEL workflow engine is capable to create and handle                                            and workflow engine were extended. This approach hampers a
the SOAP messages exchanged in this scenario. But to the best of                                           migration to newer versions of the workflow editor or workflow
our knowledge no existing WS-BPEL workflow engine supports                                                 engine. However, we reused the solution to utilize the GSI specific
the generation of proxy certificates as described above. Thus,                                             Axis client handler chains of the GT4 client libraries for GT4 service
we developed a solution to locate the proxy generation into the                                            invocations.
GT4 handler chain. We assume that a proxy certificate were
previously attached to the corresponding WSRF instance of the
workflow execution. Based on the WS-BPEL workflow perspective                                              7 The standard provides an extension mechanism to define language
to following mechanism is applied:                                                                         extensions.



4
                                                                                Interoperability of the BIS-Grid Workflow Engine with Globus Toolkit 4



   In [6] the utilization of conventional workflow technology as WS-                   [3]Tim Dörnemann, Matthew Smith, and Bernd Freisleben. Composition and
BPEL for scientific simulations is discussed. A discussion about the                      execution of secure workflows in wsrf-grids. Cluster Computing and the Grid,
                                                                                          IEEE International Symposium on, 0:122–129, 2008.
interoperability with GSI is not included.
                                                                                       [4]Wolfgang Emmerich, Ben Butchart, Liang Chen, Bruno Wassermann, and Sarah
   To the best of our knowledge, no comparable solution exists to                         Price. Grid Service Orchestration Using the Business Process Execution Language
invoke the GT4 delegation service within WS-BPEL.                                         (BPEL). Journal of Grid Computing, 3(3-4):283–304, September 2005.
                                                                                       [5]Onyeka Ezenwoye, S. Masoud Sadjadi, Ariel Cary, and Michael Robinson.
                                                                                          Orchestrating WSRF-based Grid Services. Technical report, School of Computing
                                                                                          and Information Sciences, Florida International University, April 2007.
6     CONCLUSION AND FUTURE WORK                                                       [6]Katharina Görlach, Mirko Sonntag, Dimka Karastoyanova, Frank Leymann, and
                                                                                          Michael Reiter. Conventional Workflow Technology for Scientific Simulation,
In this paper we discussed the interoperability of the BIS-Grid                           pages 1–31. Guide to e-Science. Springer-Verlag, März 2011.
Workflow Engine with the Grid middleware Globus Toolkit 4 (GT4)                        [7]Stefan Gudenkauf, Felix Heine, Andre Höing, Jens Lischka, Holger Nitsche, and
which results in a discussion about how to enable UNICORE 6 to                            Guido Scherp. BIS-Grid Deliverable 3.1: Specification. Technical report, BIS-
support the Grid Security Infrastructure (GSI) used in GT4. For                           Grid, December 2007.
                                                                                       [8]Stefan Gudenkauf, Andre Höing, Dirk Meister, Holger Nitsche, and Guido
this reason we examined the use of GT4 clients and the invocation                         Scherp. BIS-Grid Deliverable 3.4: Final Version of the WS-BPEL Engine.
of GT4 services. Due to its major significance and less effort in                         Technical report, BIS-Grid, May 2009.
realization we implemented a solution for the BIS-Grid Workflow                        [9]Stefan Gudenkauf, Andre Höing, and Guido Scherp. BIS-Grid Deliverable 3.5:
Engine that allows the invocation GSI-secured GT4 services within                         GT4 interoperability. Technical report, BIS-Grid, April 2010.
                                                                                      [10]Frank Leymann. Choreography for the Grid: towards fitting BPEL to the resource
WS-BPEL as well as the delegation of proxy certificates via the GT4
                                                                                          framework: Research Articles. Concurr. Comput. : Pract. Exper., 18(10):1201–
delegation service.                                                                       1217, 2006.
   Currently, we use the recommended lifetime (about 11 days)                         [11]OASIS.       Web services resource framework (wsrf).           http://www.oasis-
when a new proxy certificate is generated for credential delegation.                      open.org/committees/wsrf/.
We intend to allow an arbitrary proxy certificate lifetime based on                   [12]OASIS. Web Services Business Process Execution Language Version 2.0.
                                                                                          http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html, 04 2007.
additional information added to the SOAP message beside the host                      [13]Wei Tan, Liana Fong, and Norman Bobroff. BPEL4Job: A Fault-Handling Design
certificate when the GT4 delegation service is invoked.                                   for Job Flow Management. In ICSOC ’07: Proceedings of the 5th international
                                                                                          conference on Service-Oriented Computing, pages 27–42, Berlin, Heidelberg,
                                                                                          2007. Springer-Verlag.
                                                                                      [14]The Globus Security Team. Globus toolkit version 4 grid security infrastructure:
REFERENCES                                                                                A standards perspective. Technical report, 2005.
    [1]Asif Akram, David Meredith, and Rob Allan. Evaluation of BPEL to Scientific    [15]Yong Wang, Chunming Hu, and Jinpeng Huai. A New Grid Workflow Description
       Workflows. In CCGRID ’06: Proceedings of the Sixth IEEE International              Language. In SCC ’05: Proceedings of the 2005 IEEE International Conference
       Symposium on Cluster Computing and the Grid, pages 269–274, Washington,            on Services Computing, pages 257–260, Washington, DC, USA, 2005. IEEE
       DC, USA, 2006. IEEE Computer Society.                                              Computer Society.
    [2]Tim Dörnemann, Thomas Friese, Sergej Herdt, Ernst Juhnke, and Bernd           [16]Bruno Wassermann, Wolfgang Emmerich, Ben Butchart, Nick Cameron, Liang
       Freisleben. Grid Workflow Modelling Using Grid-Specific BPEL Extensions.           chen, and Jignesh Patel. Sedna: A BPEL-Based Environment for Visual Scientific
       2007.                                                                              Workflow Modeling, chapter 0, pages 427–448. Springer, 2006.




                                                                                                                                                                        5