Since a process cannot be updated once its enclosing application
has been deployed to a runtime environment, here are some tips on how to plan
ahead.
- If a component’s update cycle is tied tightly to the process, deploy it
with the process.
- If the component can be updated independently of the process, place it
in a different module. This allows you to modify it independently of the process.
- If a process depends on an external service which it does not control,
you can ensure your ability to change the details of the implementation in
either of the following ways:
- use a selector that allows a new implementation to be dynamically introduced,
- use invocations across the bus to allow administrative-level configuration
of the target
- Consider using dynamic endpoint references
- Gain a careful understanding of late and early binding.
- When developing interfaces and business objects, consider what would happen
if requirements change in the future.
- Would you have to modify your object?
- Would you have to change your interface?
- Who would this impact?
- Can you make your interface more generic now?
- Should you include a “version” field (to add manual support for versioning)
- When writing code inside the WebSphere Process Server or client code,
consider the use of dynamic invocation mechanisms. If you use generated classes
to invoke services (or to interact with Business Objects), you are tying yourself
to specific implementations.