Business services: Meet-in-the-middle development

When using the Meet-in-the-middle development approach to build an assembly module, you will define the components for your application and then select existing implementations for the components.

For this type of development, the modeling of the application in the assembly diagram may progress in parallel with the creation of SCA implementations (such as business processes, state machines, and so forth) that provide the required services (business logic) for your application. You would wire all the components in the assembly diagram and then select the implementations to be used for the components. The assembly editor is not used to generate new implementations for the components in this scenario.

Meet-in-the-middle StockPortfolio sample

To illustrate the concepts covered in this topic, we will use a simple example of modeling a customer stock portfolio query application and then adding existing implementations to the assembly diagram. The sample application accepts a customer ID and returns the customer's portfolio information, as shown in the following diagram:

StockPortfolio application showing three nodes

Three implementations will provide the required services:

  • CustomerQuery retrieves the portfolio information for a customer by invoking two other services
  • CustomerInfo accesses the customer's account information
  • StockQuote finds out the current stock price

The meet-in-the-middle development scenario deals with adding implementations to components so we are going to create a single module which will have the assembly diagram and all the implementations for the components.

Meet-in-the-middle development steps

This topic provides some general instructions on how you can use the assembly editor to model the integrated application. Detailed step-by-step instructions on how to use tools will not be covered but they are available from the related information at the end of this topic.

Here are the steps:

We have finished using the meet-in-the-middle approach to build the application. If any one of the components in the assembly diagram has to be used outside of the module, then create an export for the component's interface.

If interfaces for the implementations are in a library, then you will need to open the module with the dependency editor and add a dependency on the library to use its resources.

Related concepts
Business services: Components and modules
Business services: Top-down development
Business services: Bottom-up development
Quality of service: Qualifiers for business services
Business services: Using Java
Modules and libraries dependencies
Related tasks
Creating a module
Business services: Opening a module assembly
Business services: Working with implementations
Business services: Adding and wiring components
Business services: Generating bindings for imports and exports
Synchronizing the interfaces and references between components and implementations
Calling Java interfaces from WSDL references
Calling WSDL interfaces from Java references
Related reference
Best practices: Modules and packaging for business services

Related information

Tutorial: Wire components using the assembly editor
Samples: Assembly editor for business services

Feedback
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.