ActiveBPEL Engine File Formats Introduction ============ This document describes the format of various Extensible Markup Language (XML) files used to configure the ActiveBPEL engine and deploy Business Process Execution Language (BPEL) processes. It does not describe the format of BPEL files, however. For that, see Business Process Execution Language for Web Services Version 1.1 (BPEL4WS) (http://www-106.ibm.com/developerworks/library/ws-bpel). Notational Conventions ---------------------- This document uses an informal syntax to describe the XML grammar of the XML files that follow. It is very similar to the convention used in the BPEL spec, with a few minor changes. Namespace URIs of the general form "some-URI" represent some application-dependent or context-dependent URI as defined in RFC 2396. * The syntax appears as an XML instance, but the values indicate the data types instead of values. * Characters are appended to elements and attributes as follows: "?" (0 or 1), "*" (0 or more), "+" (1 or more). The characters "[" and "]" are used to indicate that contained items are to be treated as a group with respect to the "?", "*", or "+" characters. * Elements and attributes separated by "|" and grouped by "(" and ")" are meant to be syntactic alternatives. * Schemas and examples skip the initial "" preprocessor directive. File Formats ============ aeEngineConfig.xml ------------------ This file contains values that influence the behavior of the BPEL engine itself. It lives in the ActiveBPEL engine bpr directory. Configuration changes made and saved using the BpelAdmin page (normally found at http://localhost:8080/BpelAdmin/config.jsp) are saved to aeEngineConfig.xml. Online help about engine configuration is available by clicking the "Help" link at the bottom of the left-side menu on every BpelAdmin page. Process Deployment Descriptor (.pdd) ------------------------------------ For each BPEL process you want to deploy, you need to create a Process Deployment Descriptor (.pdd) file. This XML file tells the BPEL engine about your BPEL processes. Each process (each .bpel file) has its own .pdd file. The element contains partner links and WSDL references. The schema for .pdd files lives at http://schemas.active-endpoints.com/pdd/2004/09/pdd.xsd. [... endpoint reference....]? ? ? + + ? relativeDeploymentLocation is the path to a BPEL file, relative to the classpath. Normally, this will just be the name of a BPEL file that lives in the same directory as the .pdd file. Since qname is a qualified name, you may need an xmlns attribute to specify the namespace. For example, The partner links describe the roles taken on by each partner in the process. Partner Role Endpoint References ------------ ------------------- static Defined in deployment descriptor (BPEL4WS) dynamic Mapped in process (BPEL4WS) invoker Transmitted in SOAP headers of partner (WS-Addressing) principal Lookup from Partner Definition (.pdef) based on authenticated principal For example, the loan application BPEL process partner links look like this: approver:anyURI approver:LoanApprover assessor:anyURI assessor:LoanAssessor The element lists any WSDL files referenced by the BPEL process. It is used by a BPEL engine to create in-memory representations of the WSDL. See the Architecture document for details. Here is the element from the loan approval example: wsdlCatalog.xml --------------- The WSDL catalog provides a way for the BPEL engine to find WSDL files within a .bpr deployment archive. wsdlCatalog.xml lives in the META-INF directory. * The location attribute maps to a WSDL file in one of two ways. Its value is either: * The location attribute of a element in the wsdlReferences section of a .pdd file * The location attribute of an element in a WSDL file When loading a WSDL file at deployment time, the engine reads the WSDL references from the .pdd file and uses the location attribute of the element as a key into the WSDL catalog. If the WSDL catalog contains a matching location, the engine loads the WSDL from the corresponding classpath. If no mapping exists in the catalog, the engine assumes the location is an absolute URL and attempts to load the WSDL from that location. The classpath attribute indicates where the WSDL file lives in the .bpr file, relative to the root of the .bpr file's contents. Here is an examples wsdlCatalog.xml file. The locations and classpaths happen to be the same, because the .pdd file uses that string to identify the WSDL files. Partner Definition (.pdef) --------------------------

  
    
      ... endpoint reference....
    *
  *
Partner links describe relationships between partners. Partner definition files are not necessary for all BPEL processes, just those with principal-based enpoint reference mapping. When authentication is required, this file is used to provide the authentication information.