Part 1 described three important business process standards. In Part 2, we'll talk about how those standards get implemented in several key IBM products. Almost all emerging standards are moving targets, as they go from proposals to specifications to ratified standards. Due to the varying maturity of the standards, usage of them varies across IBM products.
As described in Part 1, Business Process Modeling Notation (BPMN) provides a standard notation for business process diagrams to ensure consistency. It also defines how the elements of a BPMN diagram map to WS-BPEL.
BPMN in WebSphere® Business Modeler
WebSphere Business Modeler (Modeler) is not fully BPMN-compliant, but it is influenced by BPMN. The icons used for various objects in a Modeler process model are based on those from the BPMN specification, as shown in Figure 1:
Figure 1. Modeler and BPMN icons
Modeler does not support all of the shapes in the BPMN specification, nor does it always use the BPMN shape. However, in most cases, there is a close correlation between Business Modeler and BPMN. Business Modeler provides the ability to export process models to WS-BPEL. Therefore, although Modeler is not fully BPMN-compliant, it accomplishes both major goals of the specification. Because of IBM's commitment to the standard, it is expected that future releases will move towards full support of the standard.
FileNet Business Process Manager includes a Microsoft™ Visio based Process Modeler, along with a Process Designer, Process Analyzer, and Process Simulator. Process Modeler includes a set of BPMN stencils and templates for Visio, as shown in Figure 2:
Figure 2. FileNet BPMN shapes for Visio
These diagrams can be directly mapped to process definitions in XML Process Definition Language (XPDL). As shown in Figure 3, the graphic representation of the XPDL in Filenet Process Designer uses a different notation than BPMN, adding colors and specialized icons to differentiate the tasks.
Figure 3. FileNet process
XPDL provides an XML format for the storage of BPMN diagrams to facilitate exchange of process models among vendors.
XPDL in WebSphere Business Modeler
WebSphere Business Modeler V6.1 enables you to export processes as XPDL files, which you can then import into the FileNet Business Process Manager for further refinement. There are some limitations to the export. For example, Modeler does not impose a maximum length on item names, which may cause them to be truncated in FileNet, and Business Modeler supports complex data types, whereas FileNet does not. These types of variations may require some rework. For Modeler V6.0.2.1, this same function is available in the free BA77 SupportPac.
The FileNet Process Designer is a Web-based process design tool that can read and produce portable process definitions in XPDL. Version 4.0.0 can export processes into an XPDL format, while Version 4.0.2 adds the support for importing XPDL. This allows the Process Designer to interface with other modeling tools such as WebSphere Business Modeler.
WS-BPEL is an execution language to describe the behavior of business processes in a standards-based environment. Processes can use Web services to invoke business functions, and the process itself can be exposed as a Web service.
WS-BPEL in WebSphere Business Modeler
A non-technical business analyst can create the initial process model in Modeler. Technical users can then add additional attributes to prepare the model for export to the I/T tool set. One of the export targets from Modeler is WebSphere Process Server. When exporting to the Process Server, the process model is exported as WS-BPEL, along with other artifacts needed in Process Server, such as WSDL, XSD, the SCA assembly diagram, and so forth.
WS-BPEL in WebSphere Process Server
WS-BPEL is used as the execution language in Process Server. WebSphere Integration Developer, which provides the tools for Process Server, includes a graphic WS-BPEL editor as well as a visual debugger. Process Server was released before WS-BPEL was ratified as a final standard. It uses WS-BPEL to choreograph the flow of a business process, building on WS-BPEL version 1.1, with major capabilities from WS-BPEL v2.0.
Both Process Server and Integration Developer support extensions to WS-BPEL, including Java™ snippets and Java expressions, similar to the BPELJ specification, along with human tasks, similar to BPEL4People. There are other extensions for quality of service, such as grouping multiple activities into a single transaction, or short-running flows. You can disable these extensions for a process in the advanced settings of the New Business Process wizard. The IBM Information Server plugin for WebSphere Integration Developer provides an Information Service BPEL activity that enables a process to make SQL calls directly to relational databases.
Figure 4 shows the BPEL editor in WebSphere Integration Developer. The XML constructs defined in the WS-BPEL standard are represented graphically, such as the invoke activity called Step 1, the variable RequestData, and the request partner link called Step1_Interface.
Figure 4. Business editor process in WebSphere Integration Developer
WS-BPEL in WebSphere Business Integration Server Foundation
The predecessor to Process Server was WebSphere Business Integration Server Foundation V5.1. Server Foundation also used WS-BPEL to choreograph the business process, building on Version 1.1 of the draft specification. The tooling that supported Server Foundation was WebSphere Studio Application Developer Integration Edition.
WebSphere Portal Enable V6 or higher includes a workflow capability that uses the Business Process Choreographer component of Process Server. Simple Web-based tools are used to define the work flow. The use of work flow in Portal is limited to human tasks. If integration flows are needed, you can use Process Server to provide the full range of process functionality.
Figure 5 shows a business process modeled in WebSphere Business Modeler. In this process, the flow of control is indicated with the black lines, while the flow of data is indicated with blue lines from the tasks to the repositories. The first step of the process is a map, which is used to direct the incoming data to a pair of repositories. The sample project is included as a download with this article.
Figure 5. Sample process model
- In Business Modeler, right-click Export Project in the project tree, then select Export.
- In the Export dialog, select WebSphere Process Server, then click Next,
- Specify a target directory, then click Finish.
- Open the project in Integration Developer.
Figure 6 shows the results of the export. The map activity in the business process model was transformed into a Java activity called Map. The business items in the business process model have become BPEL variables, such as floatVariable. The tasks in the business process model have been transformed into BPEL invoke activities, such as Approve. The expression logic in the simple decision called Decision was transformed into transition conditions on the connectors flowing out of the Check Credit History invoke activity.
Figure 6. WS-BPEL process editor
The generated WS-BPEL, shown in Listing 1, is an XML document that includes the constructs necessary in an execution language, such as the condition for how to transition from one activity to the next, partner links for services to invoke, and an interface partner advertising how the process itself can be invoked.
Listing 1. WS-BPEL
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:ns="http://Processes/LoanProcessingArtifacts"
xmlns:ns0="http://Processes/LoanProcessing/LoanProcessingInterface"
xmlns:ns1="http://Processes/LoanProcessing/CheckCreditHistoryInterface"
xmlns:ns2="http://Processes/LoanProcessing/ApproveInterface"
xmlns:ns3="http://Processes/LoanProcessing/RejectInterface"
xmlns:ns4="http://Processes/LoanProcessing/SendResponseInterface"
xmlns:wpc="http://www.ibm.com/xmlns/prod/websphere/business-process/6.0.0/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="LoanProcessing" suppressJoinFailure="yes"
targetNamespace="http://Processes/LoanProcessing"
wpc:autonomy="peer" wpc:displayName="Loan Processing"
wpc:executionMode="longRunning" wpc:id="1000"
wpc:validFrom="2007-08-28T04:22:34">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="LoanProcessingInterface.wsdl"
namespace="http://Processes/LoanProcessing/LoanProcessingInterface"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="CheckCreditHistory0550137218Interface.wsdl"
namespace="http://Processes/LoanProcessing/CheckCreditHistoryInterface"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="Approve01373358028Interface.wsdl"
namespace="http://Processes/LoanProcessing/ApproveInterface"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="Reject1523800978Interface.wsdl"
namespace="http://Processes/LoanProcessing/RejectInterface"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="SendResponse01167886200Interface.wsdl"
namespace="http://Processes/LoanProcessing/SendResponseInterface"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="LoanProcessingArtifacts.wsdl"
namespace="http://Processes/LoanProcessingArtifacts"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="LoanProcessingService"
name="LoanProcessingPartner"
partnerLinkType="ns:LoanProcessingPartnerLink"/>
<bpws:partnerLink name="CheckCreditHistoryPartner"
partnerLinkType="ns:CheckCreditHistoryPartnerLink"
partnerRole="CheckCreditHistoryService"/>
<bpws:partnerLink name="ApprovePartner"
partnerLinkType="ns:ApprovePartnerLink" partnerRole="ApproveService"/>
<bpws:partnerLink name="RejectPartner"
partnerLinkType="ns:RejectPartnerLink" partnerRole="RejectService"/>
<bpws:partnerLink name="SendResponsePartner"
partnerLinkType="ns:SendResponsePartnerLink"
partnerRole="SendResponseService"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable name="floatVariable2" type="xsd:float" wpc:id="1001"/>
<bpws:variable name="stringVariable2" type="xsd:string" wpc:id="1002"/>
<bpws:variable name="stringVariable3" type="xsd:string" wpc:id="1003"/>
<bpws:variable name="stringVariable" type="xsd:string" wpc:id="1004"/>
<bpws:variable name="floatVariable" type="xsd:float" wpc:id="1005"/>
</bpws:variables>
<bpws:flow name="LoanProcessing_Flow" wpc:displayName="LoanProcessing_Flow"
wpc:id="1006">
<bpws:links>
<bpws:link name="Input2_to_MapInput2"/>
<bpws:link name="MapOutput_to_CheckCreditHistoryInput"/>
<bpws:link name="DecisionOutput_to_ApproveInput">
<wpc:description>Yes</wpc:description>
</bpws:link>
<bpws:link name="DecisionOutput2_to_RejectInput">
<wpc:description>No</wpc:description>
</bpws:link>
<bpws:link name="InputCriterion2_to_MergeOutputCriterion"/>
<bpws:link name="InputCriterion22_to_MergeOutputCriterion"/>
<bpws:link name="OutputCriterionToLoanProcessing_OutputCriterion"/>
</bpws:links>
<bpws:receive createInstance="yes" name="LoanProcessing_InputCriterion"
operation="InputCriterion" partnerLink="LoanProcessingPartner"
portType="ns0:LoanProcessing" wpc:displayName="Loan ProcessingReceive"
wpc:id="1007">
<wpc:output>
<wpc:parameter name="Input" variable="stringVariable"/>
<wpc:parameter name="Input2" variable="floatVariable"/>
</wpc:output>
<bpws:sources>
<bpws:source linkName="Input2_to_MapInput2"/>
</bpws:sources>
</bpws:receive>
<bpws:invoke name="Map" operation="null" partnerLink="null"
portType="wpc:null" wpc:displayName="Map" wpc:id="1008">
<wpc:script>
<wpc:javaCode><![CDATA[// Add Implementation Codes here
// Map the contents of variables 'stringVariable floatVariable '
to variable 'stringVariable2 floatVariable2 ']]></wpc:javaCode>
</wpc:script>
<bpws:targets>
<bpws:target linkName="Input2_to_MapInput2"/>
</bpws:targets>
<bpws:sources>
<bpws:source linkName="MapOutput_to_CheckCreditHistoryInput"/>
</bpws:sources>
</bpws:invoke>
<bpws:invoke name="CheckCreditHistory_InputCriterion"
operation="InputCriterion" partnerLink="CheckCreditHistoryPartner"
portType="ns1:CheckCreditHistory" wpc:displayName="Check Credit History"
wpc:id="1009">
<wpc:input>
<wpc:parameter name="Input2" variable="stringVariable2"/>
</wpc:input>
<wpc:output>
<wpc:parameter name="Output2" variable="stringVariable3"/>
</wpc:output>
<bpws:targets>
<bpws:target linkName="MapOutput_to_CheckCreditHistoryInput"/>
</bpws:targets>
<bpws:sources>
<bpws:source linkName="DecisionOutput_to_ApproveInput">
<bpws:transitionCondition expressionLanguage=
"http://www.ibm.com/xmlns/prod/websphere/business-process/
expression-lang/java/6.0.0/"><![CDATA[return
((floatVariable2.floatValue()) < (100.0));
]]></bpws:transitionCondition>
</bpws:source>
<bpws:source linkName="DecisionOutput2_to_RejectInput">
<bpws:transitionCondition expressionLanguage=
"http://www.ibm.com/xmlns/prod/websphere/business-process/
expression-lang/java/6.0.0/"><![CDATA[return
((((floatVariable2.floatValue()) == (floatVariable2.floatValue())))
&amp;amp;amp;&amp;amp;amp; (!(((floatVariable2.floatValue()) < (100.0)))));
]]></bpws:transitionCondition>
</bpws:source>
</bpws:sources>
</bpws:invoke>
<bpws:invoke name="Approve_InputCriterion" operation="InputCriterion"
partnerLink="ApprovePartner" portType="ns2:Approve" wpc:displayName="Approve"
wpc:id="1010">
<wpc:input>
<wpc:parameter name="Input2" variable="stringVariable2"/>
</wpc:input>
<wpc:output/>
<bpws:targets>
<bpws:target linkName="DecisionOutput_to_ApproveInput"/>
</bpws:targets>
<bpws:sources>
<bpws:source linkName="InputCriterion2_to_MergeOutputCriterion"/>
</bpws:sources>
</bpws:invoke>
<bpws:invoke name="Reject_InputCriterion" operation="InputCriterion"
partnerLink="RejectPartner" portType="ns3:Reject" wpc:displayName="Reject"
wpc:id="1011">
<wpc:input>
<wpc:parameter name="Input2" variable="stringVariable2"/>
</wpc:input>
<wpc:output/>
<bpws:targets>
<bpws:target linkName="DecisionOutput2_to_RejectInput"/>
</bpws:targets>
<bpws:sources>
<bpws:source linkName="InputCriterion22_to_MergeOutputCriterion"/>
</bpws:sources>
</bpws:invoke>
<bpws:invoke name="SendResponse_InputCriterion" operation="InputCriterion"
partnerLink="SendResponsePartner" portType="ns4:SendResponse"
wpc:displayName="Send Response" wpc:id="1012">
<wpc:input>
<wpc:parameter name="Input2" variable="stringVariable2"/>
</wpc:input>
<wpc:output/>
<bpws:targets>
<bpws:joinCondition expressionLanguage=
"http://www.ibm.com/xmlns/prod/websphere/business-process/
expression-lang/java/6.0.0/"><![CDATA[return
((getLinkStatus("InputCriterion2_to_MergeOutputCriterion"))
|| (getLinkStatus("InputCriterion22_to_MergeOutputCriterion")));
]]></bpws:joinCondition>
<bpws:target linkName="InputCriterion2_to_MergeOutputCriterion"/>
<bpws:target linkName="InputCriterion22_to_MergeOutputCriterion"/>
</bpws:targets>
<bpws:sources>
<bpws:source linkName="OutputCriterionToLoanProcessing_OutputCriterion"/>
</bpws:sources>
</bpws:invoke>
<bpws:reply name="LoanProcessing_OutputCriterion" operation="InputCriterion"
partnerLink="LoanProcessingPartner" portType="ns0:LoanProcessing"
wpc:displayName="Loan ProcessingReply" wpc:id="1013">
<wpc:input/>
<bpws:targets>
<bpws:target linkName="OutputCriterionToLoanProcessing_OutputCriterion"/>
</bpws:targets>
</bpws:reply>
</bpws:flow>
</bpws:process>
|
You can export Process Modeler processes to XPDL using the BA77 FileNet Integration SupportPac. After installing the SupportPac, export the process as follows:
- In Business Modeler, right-click Export Project in the project tree, and select Export.
- In the Export dialog, select FileNet Business Process Manager, then click Next.
- Specify an export directory, then click Finish.
As shown in Listing 2, the XPDL representation of the process has some similarities to WS-BPEL, such as defining the steps of the process, the flow of data, and the flow of control. The second line indicates that it is using an XPDL extension defined by FileNet, in order to use XPDL as a run-time language.
Listing 2. XPDL
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://www.wfmc.org/2004/XPDL2.0alpha"
xmlns:fn="http://www.filenet.com/ns/fnpe/2005/07/pe/schema
/XPDLExtension" Id="1" Name="Project 1">
<PackageHeader>
<XPDLVersion>2.0</XPDLVersion>
<Created>28 Aug 2007 22:36:36 GMT</Created>
<Description>Created from Websphere Business Modeler
</Description>
</PackageHeader>
<TypeDeclarations>
<TypeDeclaration Id="attachment" Name="attachment">
<BasicType Type="STRING"/>
</TypeDeclaration>
<TypeDeclaration Id="participant" Name="participant">
<BasicType Type="STRING"/>
</TypeDeclaration>
<TypeDeclaration Id="xml" Name="xml">
<BasicType Type="STRING"/>
</TypeDeclaration>
</TypeDeclarations>
<WorkflowProcesses>
<WorkflowProcess DefaultStartActivityId="BLM-1dcdf65eacb98f9b3ce346dd63bfea33"
Id="Loan Processing"
Name="Loan Processing">
<ProcessHeader>
<Description></Description>
<fn:WorkflowDefinition
AuthorTool="Websphere Business Modeler 6.0.2.1"/>
</ProcessHeader>
<DataFields>
<DataField Id="LoanAmount" IsArray="FALSE" Name="LoanAmount">
<DataType>
<BasicType Type="FLOAT"/>
</DataType>
</DataField>
<DataField Id="CustomerID" IsArray="FALSE" Name="CustomerID">
<DataType>
<BasicType Type="STRING"/>
</DataType>
</DataField>
<DataField Id="CreditHistoryResult" IsArray="FALSE" Name="CreditHistoryResult">
<DataType>
<BasicType Type="STRING"/>
</DataType>
</DataField>
</DataFields>
<Activities>
<Activity Id="BLM-1dcdf65eacb98f9b3ce346dd63bfea33"
Name="LaunchStep" StartActivity="true">
<Implementation>
<Task>
<TaskApplication Name="LaunchStep">
<DataMappings>
<DataMapping Direction="INOUT" Formal="CustomerID">
<Actual>CustomerID</Actual>
<fn:Parameter IsArray="false" Type="string"/>
</DataMapping>
<DataMapping Direction="INOUT" Formal="LoanAmount">
<Actual>LoanAmount</Actual>
<fn:Parameter IsArray="false" Type="float"/>
</DataMapping>
</DataMappings>
</TaskApplication>
</Task>
</Implementation>
</Activity>
<Activity Id="BLM-57f20cd21115fe485af4ee813b0e0f73"
Name="Check Credit History">
<Implementation>
<Task>
<TaskApplication Name="Check Credit History">
<DataMappings>
<DataMapping Direction="IN" Formal="CustomerID">
<Actual>CustomerID</Actual>
<fn:Parameter IsArray="false" Type="string"/>
</DataMapping>
<DataMapping Direction="OUT"
Formal="CreditHistoryResult">
<Actual>CreditHistoryResult</Actual>
<fn:Parameter IsArray="false" Type="string"/>
</DataMapping>
</DataMappings>
</TaskApplication>
</Task>
</Implementation>
<TransitionRestrictions>
<TransitionRestriction>
<Split Type="OR">
<TransitionRefs/>
</Split>
</TransitionRestriction>
</TransitionRestrictions>
</Activity>
<Activity Id="BLM-c3e15331d897e154af5b202727043302"
Name="Approve">
<Implementation>
<Task>
<TaskApplication Name="Approve">
<DataMappings>
<DataMapping Direction="IN" Formal="CustomerID">
<Actual>CustomerID</Actual>
<fn:Parameter IsArray="false" Type="string"/>
</DataMapping>
</DataMappings>
</TaskApplication>
</Task>
</Implementation>
</Activity>
<Activity Id="BLM-b9bfa2f98617a71d0be00e0e76db2053"
Name="Reject">
<Implementation>
<Task>
<TaskApplication Name="Reject">
<DataMappings>
<DataMapping Direction="IN" Formal="CustomerID">
<Actual>CustomerID</Actual>
<fn:Parameter IsArray="false" Type="string"/>
</DataMapping>
</DataMappings>
</TaskApplication>
</Task>
</Implementation>
</Activity>
<Activity Id="BLM-fff20764c5af8c8bd40c1db58976da2c"
Name="Send Response">
<Implementation>
<Task>
<TaskApplication Name="Send Response">
<DataMappings>
<DataMapping Direction="IN" Formal="CustomerID">
<Actual>CustomerID</Actual>
<fn:Parameter IsArray="false" Type="string"/>
</DataMapping>
</DataMappings>
</TaskApplication>
</Task>
</Implementation>
<TransitionRestrictions>
<TransitionRestriction>
<Join Type="XOR"/>
</TransitionRestriction>
</TransitionRestrictions>
</Activity>
</Activities>
<Transitions>
<Transition From="BLM-57f20cd21115fe485af4ee813b0e0f73"
Id="BLM-e65b5aca84dac030fc701f63398e22ae_BLM-
c3e15331d897e154af5b202727043302"
To="BLM-c3e15331d897e154af5b202727043302">
<Condition Type="CONDITION">LoanAmount <
100.0</Condition>
</Transition>
<Transition From="BLM-57f20cd21115fe485af4ee813b0e0f73"
Id="BLM-e65b5aca84dac030fc701f63398e22ae_BLM-
b9bfa2f98617a71d0be00e0e76db2053"
To="BLM-b9bfa2f98617a71d0be00e0e76db2053">
<Condition Type="CONDITION">LoanAmount =
LoanAmount</Condition>
</Transition>
<Transition From="BLM-c3e15331d897e154af5b202727043302"
Id="BLM-c3e15331d897e154af5b202727043302_BLM-
3af79b509babd49c8070e8b915570359"
To="BLM-fff20764c5af8c8bd40c1db58976da2c"/>
<Transition From="BLM-b9bfa2f98617a71d0be00e0e76db2053"
Id="BLM-b9bfa2f98617a71d0be00e0e76db2053_BLM-
3af79b509babd49c8070e8b915570359"
To="BLM-fff20764c5af8c8bd40c1db58976da2c"/>
<Transition From="BLM-1dcdf65eacb98f9b3ce346dd63bfea33"
Id="BLM-1dcdf65eacb98f9b3ce346dd63bfea33_BLM-
57f20cd21115fe485af4ee813b0e0f73"
To="BLM-57f20cd21115fe485af4ee813b0e0f73"/>
</Transitions>
</WorkflowProcess>
</WorkflowProcesses>
</Package>
|
In Part 1 of this article, you learned about three of the important standards for business processes: BPMN, which describes what a business process model should look like; XPDL, which describes how the model should be stored; and WS-BPEL, which describes how to run the process. In Part 2, you learned how IBM products implement these standards, and saw a practical example of how you can export a business process to either WS-BPEL or XPDL from WebSphere Business Modeler.
| Description | Name | Size | Download method |
|---|---|---|---|
| Sample code | ExportSample.zip | 64KB | HTTP |
Information about download methods
Learn
-
Transforming business models to BPEL with WebSphere Business Modeler 6.02 (developerWorks 2007): This article shows how Modeler transforms different constructs into WS-BPEL. The graphical representation of the WS-BPEL process for this article comes from IBM WebSphere Integration Developer (hereafter called Integration Developer).
-
Human-Centric Business Process Management with WebSphere Process Server V6: This IBM Redbook shows how human-centric tasks can be added into a business process management solution, using WebSphere Business Modeler to model the process, WebSphere Integration Developer to assemble it, and WebSphere Process Server to run it. This book also considers clients to human-centric business processes such as WebSphere Portal Server, Workplace Forms, and Web service interfaces. Finally, it discusses integration with content management systems such as FileNet.
-
SOA programming model for implementing Web services, Part 8: Human-based Web services (developerWorks 2005): The involvement of people in service compositions is a relatively new facet of SOA, expanding the ways software can model how humans work and interact in a business. This article describes functions offered by the Human Task Manager of IBM WebSphere Process Server and their use in a portal.
-
Using SOA with WebSphere process integration products, Part 1: Business modeling (developerWorks 2006): Learn how to build a complete working sample of a Business Process Execution Language (BPEL) application using WebSphere Business Modeler, WebSphere Integration Developer and WebSphere Process Server.
-
OASIS WS-BPEL Standard: Get the standard (PDF).
-
BPEL4People extension (developerWorks 2007): Get the specification and white paper.
-
WS-Business Activity Standards: Get the standard (PDF).
-
Business Process Modeling Notation (BPMN): Get the specification (PDF).
-
WebSphere Business Modeler: Get product information.
-
FileNet Business Process Manager: Get product information.
-
WebSphere Process Server: Get product information.
-
WebSphere Integration Developer: Get product information.
Get products and technologies
-
BA88 SupportPac for WebSphere Business Modeler: Download the free SupportPac.
-
IBM Information Server plugin for WebSphere Integration Developer: Download the plug-in.

Marc Fasbinder is an I/T Specialist at IBM with the WebSphere Technical Sales team in Southfield, Michigan. You can reach him at mfasbind@us.ibm.com.
Comments (Undergoing maintenance)





