Building truly collaborative systems relationships between organizations is a daunting challenge in today's business environment. While technologies such as Web services have risen to assist, true collaboration requires a far greater set of functionality.
The Cordys Business Collaboration Platform (BCP) provides a set of components designed to address the challenges of collaborative systems relationships across disparate businesses. The platform comprises a set of components that provides the ability to deliver orchestrated applications in a services-oriented architecture. Cordys BCP is composed of:
Working in Cordys Studio
Cordys Studio is the main development environment in Cordys BCP. It provides the environment used to model collaborative relationships between organizations in a top-down fashion, thus keeping the focus on business rather than on technology.
Three different types of models exist within the Cordys Studio environment:
Value Chain Models
Value chain units comprise value chain models in Cordys BCP. In the BBConsulting scenario shown in Figure 1, one unit represents the BBConsulting business while other units represent individual clients and subcontractors. These additional client and contractor value chain units are classified as business partners in Cordys Studio. Assuming BBConsulting is a healthy business, many value chain units are required to model all clients and contractors. To support large numbers of additional entities, Cordys Studio allows business partners to be categorized; in this case categories have been created for the client and subcontractor entities. The value chain model may then be composed of higher-level business partner categories, which provide for abstraction and generalization.
With the appropriate value chain units modeled, connectors are built between entities to represent the information flow between them. Finally, a View Point icon is placed above the BBConsulting value chain unit to identify the point of view of the model.
Business Context Models
The business context models define the primary business function of an organization and serve as the path between high-level value chain models and low-level business process models.
In the BBConsulting example modeled in Figure 2, the primary function of the organization is to deliver services to its clients. Service delivery involves incorporating and utilizing resources from subcontractors. All activities are supported by an account management function.
With the context model in place for BBConsulting, it may be linked back to the BBConsulting value chain unit in the value chain model. The end result is a definition of BBConsulting's business relationships and primary business function. Similarly, business context models are developed for and linked to the client and subcontractor business partner categories.
Business Process Models
Business process models are the lowest level entities within Cordys BCP. Modeled as flowcharts, they represent individual threads of activities that respond to certain business events. Process models contain the following basic components:
In this example, all activities are performed by a system. However, Cordys BCP also supports activities that require manual input. By assigning a role to an activity, it is marked for manual intervention.
Some of the unique characteristics of business process models within Cordys BCP include the ability to attach documents to activities. For example, the business process model that might be created for resources to enter their Time and Expense might include a link to the T&E policy document.
With all three levels of a business and its relationships modeled, the focus of the effort transfers to establishing systems integration touch points, and message formats and transformations within Cordys BCP.
Systems Integration in Cordys BCP
Cordys Integrator is the main systems integration component within Cordys BCP. It provides a variety of application connectors that may be used with several external systems, some of which include:
For the BBConsulting example, two integration touch points are required: the BBConsulting Time and Expense system and an e-mail interface to route invoices to clients.
The BBConsulting Time and Expense system is available as a Web service hosted on a local machine. Cordys Integrator can build references to Web services either by communicating with a UDDI server, or by downloading the WSDL directly. For the purposes of this example, the WSDL approach will be used.
Within Cordys Integrator, the Method Generator tool may be used to read a WSDL file from a specific URL. By entering the WSDL URL of the Time and Expense service, the generator displays the operations defined by the Web service. Importing the operations to Cordys is as simple as selecting them from the list. In this case, the operations GetTimeSheetsByProject, GetExpenseReportsByProject, and IsProjectReadyToInvoice will be utilized.
Once the Web services operations have been imported to Cordys Integrator, they automatically become available in Cordys Studio. Within Cordys Studio, Web service operations must be imported to the business process model that will utilize them. Operations may then be assigned to the appropriate activities simply by dragging and dropping the definition from the Repository to the activity.
With all external operations made available to the business process model, the final piece of the integration puzzle is defining the messages that pass among the activities. Since all messages within Cordys BCP are defined as XML documents, message inspection and transformation is handled via XPath statements using the Message Map tool.
For the BBConsulting invoicing process, the key point in the model is the Decision-gate that identifies whether all Time and Expense data has been recorded. Each output connector provides a Condition statement that must evaluate to true for the process flow to proceed down that path. The Condition will be an XPath statement that determines whether to invoice or remind project resources to complete their reports:
Proceed to Generate Invoice: /Projects/Project/TimeAndExpenseComplete = True
Proceed to Remind Resources: /Projects/Project/TimeAndExpenseComplete = False
Once the business process model is complete with all message transformation and integration, the model may be deployed to the runtime environment for invocation.
Summary
Building a collaborative relationship between organizations at a business and systems level is a highly complex challenge. Each partner must fully understand the business processes to be integrated and the impact of those processes on the parties involved. Systems and data must be woven together in such a manner that effective and efficient exchange of information takes place with enough flexibility that each partner may evolve and expand its business without impacting the other. Technologies such as Web services are available to technically facilitate such relationships, but a broader set of tools and collaborative capability is required at a business level. The Cordys Business Collaboration Platform is built with this complexity in mind. It allows business partners to visualize their relationship at the highest levels, understand the key functions and strengths of each business, and then model and integrate the individual business processes appropriately. Cordys BCP is a solid solution that can address the challenge of business collaboration.