Tuesday, March 5, 2013

Best Practices - SOA Service Registry


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?
·         Add modelled faults?
·         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.
·          
5.       Select your Binding Types Carefully
·         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
o    
·          Sometimes you have alternatives. For example:
o   – Web Services binding : allows easy access to SOAP headers
Or
·         – 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 Testing
Do the unit testing before check –in

No comments:

Post a Comment