1. Use the Right Type of Module:
· Think about mediation logic vs. process logic.
· Use Mediation Modules (Oracle ESB) for integration / mediation logic:
o – Short-running, minimal choreography.
o – Supports header manipulation.
· Use (Integration) Modules (Oracle 11g Suite) for business / process logic:
o – Can be long-running, powerful choreography and business logic
2. Design your System Topology
· Check if need more than one server.
· Use clustering for scalability, For failover etc
· Database selection.
· Need to use a load balancer / HTTP server for failover and scalability.
3. Spend Time on Interfaces and Business Objects
· Refactoring support is limited inside mediation flows, so good to get this right first time round.
· Adopt a naming convention.
· Add constraints?
· Think about namespaces.
· Configure default namespace policy before you start.
4. Consider How you Split up Mediation Modules
· How many mediation flows inside each mediation flow component?
o – Large number of modules impacts performance / deployment.
o – Small number impacts ease of development.
· Remove unused library content.
· Often binding type dictated by circumstance.
· But if you have the scope to decide:
o – Prefer SCA default/native for inter communications
o – Prefer Web Services for synchronous service exposure
o – Prefer JMS for asynchronous service exposure
· Sometimes you have alternatives. For example:
o – Web Services binding : allows easy access to SOAP headers
· – HTTP with SOAP data binding : allows access to HTTP headers but not SOAP headers
6. Consider your Custom Coding Strategy
· Custom mediation:
o – Most useful for one-off coding.
o – Cannot be re-used between modules.
o – ‘Visual’ mode available which may be useful to those less comfortable with Java/SDO API.
7. Custom primitive (also called roll-your-own primitive):
o – A first-class new primitive: same abilities as any other primitive type (XSLT, Endpoint Lookup…).
o – Can have customisable properties.
o – Appears in palette in WID.
o – More re-usable, but more work to create.
8. Consider your Logging Strategy
· You will want one; consider it before you start developing.
· Options include:
o – Message Logger – limited functionality – logs only to a fixed schema database table.
o – JDBC or Flat File Adapter (in separate mediation module?)
o – Custom mediations logging.
o – Custom primitives.
9. Use Source Control & Do Automated Builds
· Use source control and integrate with IDs
· Only one developer per mediation module at once.
· Automated build direct from source control.
10. Do Unit TestingDo the unit testing before check –in