Application Design Considerations

Applications help solve integration problems of varying complexity. This section describes some important factors to consider when designing an application.

Choosing Between Integration Styles

The following table provides guidelines to choose a high-level integration style for your applications.

Salient features of integration styles
Speed of Integration Data Abstraction Richness of Orchestration Primitives Typical Endpoints
Batch-oriented Non real time Record Low Databases, files, and so on
Application-oriented Real time Message Medium Application APIs, Adapters, and so on
Service-oriented Real time Service, Operation High Web services and APIs
Resource-oriented Real time Resource Medium Mobile/Web Applications and APIs

In an application-oriented integration style, each operation in a process can be invoked by a call to the process. Invoking multiple operations requires multiple calls to the process, that are then executed sequentially.

A service-oriented style exposes multiple operations available in a process and each of the operations can be called directly. These operations are not related and can be executed independently.

Choose to create (or use) a Java module (or a Java OSGi bundle), if multiple calls from a process to other Java libraries are needed to compute the result. Java modules provide a high degree of customization. To use the enhanced Java development tooling such as source folders, JRE libraries, and so on, select the Use Java Configuration check box in TIBCO Business Studio™ for BusinessWorks™ when creating an application module. Alternatively, create a module that contains existing Java code or custom code.
Differences between Process Modules and Java Modules
Orchestration Capabilities Visibility Granularity Examples
Process Modules High High visibility of process flow logic, services, and bindings. Better suited for coarse-grained functionality that consists of more discrete functionality and process constructs. Account opening, mortgage loan, and so on.
Java Modules Low Low Better suited for fine-grained functionality that has a very specific function, and often requires very little or no process constructs. Query flight status, update product description, and so on.