Tuesday, June 16, 2009

Determine the implications of process or component design decisions

Programming Model and Design
 

Determine the implications of process or component design decisions (performance, component versioning, adaptability, complexity)

 
The building blocks of a business solution are Service Components Architecture (SCA) components wired together to form modules that can be deployed to the WebSphere® Process Server. The WebSphere Integration Developer's assembly editor lets you build applications by assembling the SCA components.
 
Components are the parts of the module that are the actual services. On the inside, they are implemented using implementation types, which include business processes, state machines, human tasks, and others. The WebSphere Integration Developer tools generate implementations that the assembly editor can use for components. The structure of the component is simple; it has the following parts:
  1. An implementation
  2. Optionally, one or more interfaces
  3. Optionally, one or more partner references

Performance

If you require high performance, put components in the same module.
 
Components within a module are collocated for performance, and can pass their data by reference.  Components in the same module can talk to one another directly while components in different modules can only talk to one another indirectly via export/imports.  Direct calls are faster than indirect calls.  In addition, passing data by reference is significantly faster than passing data by value.

Component Versioning

When you need to run different versions of the same component at the same time, use component versioning.
 
Component versioning is available only for the following components:
  1. Business process components
    You can create new versions of your business process, so that multiple versions of those same processes can co-exist in a runtime environment.
  2. State machine components
    You can create new versions of your business state machine, so that multiple versions of those same state machines can co-exist in a runtime environment.
  3. Human task components
    You can create new versions of your human task, so that multiple versions of those same tasks can co-exist in a runtime environment. 
 

Adaptability

If you want your process/component to be readily adaptable to changing business conditions, implement them as business rules and/or selectors.
  1. Business rules
    Business rules within a business process allow applications to respond quickly to changing business conditions.

    Business rules greatly improves application flexibility. They externalize and manage business logic separately from the main business process. They allow you to make changes at runtime to keep up with the evolving on-demand business environment.
  2. Selectors
    You can dynamically invoke a component using selectors.

    You can call a selector from any of your service-oriented components. The selector’s job is to use dynamic information to determine which component should be called to do the work. The set of destination components is also configurable, allowing you to provide additional destinations at runtime.   

Complexity

A component's complexity depends on which implementation type you select to implement it.
 
You can implement a component using any of the following implementation types.
  1. Java objects
    An implementation of a component in Java™ is referred to as a Java object.
  2. BPEL process
    A BPEL process component implements a business process.
  3. State machines
    A state machine is an alternative way of creating a business process. A state machine is suited for processes related to changing states rather than a flow of control. A state defines what an artifact can do at a point in time. A state machine is an implementation of this set of states.
  4. Business rules
    Business rules complement business processes and state machines. If there is condition with a variable, for example, a business rule can change the value in that variable at run time. Created by a visual programming language, a business rule makes a decision based on context. The decision can be simple or complex. Business rules are nonprocedural and the rules can be changed independently of an application.
  5. Selectors
    Integrated applications contain many ways to interact. A selector is used to route an operation from a client application to one of several possible components for implementation.
  6. Human task
    A human task component implements a task done by a person. It represents the involvement of a person in a business process.
  7. Interface map
    An interface map resolves differences between the interfaces of interacting components.
  8. Mediation flow
    Mediation is a way of mediating or intervening dynamically between services. A mediation flow implements a mediation.
  9. Stand-alone references
    Stand-alone references are references to applications that are not defined as Service Component Architecture components (for example, JavaServer Pages or servlets). Stand-alone references permit these applications to interact with Service Component Architecture components.
 

Related links

 

 
 
 

No comments: