1. wsdl choice - XML Schema choice element allows only one of the elements contained in the <choice> declaration to be present within the containing element.
Either DN number or MAC number is mandatory, here we can use choice keyword instead of min/max attribute
2. Canonical object need to be presented in the Meta data source such that it can be reused apporiately . Due to this we can avoid frequent transformation and translation of data, This improve the performace of the syste,
3. When service is expected to hit number of concerent request (may be in 1000s) which cannot be handled by the business service then we can make apply Throttling in OSB such that number of concurrent request send to the business service can be reduced which yield in better performance than burdening the business service which cant able to handle larger set of request.
why we need OSB throttling ?
Every system has its own capacity means it can process only certain
number of message at one time, if we try to send messages beyond
its capacity then that system's performance can degrade or in worst case
it can crash. So to avoid all this we can use OSB throttling feature to
send limited messages to target system.
http://soawork.blogspot.in/2013/01/throttling-in-osb.html
4. In developement we can enable the Trace option in SBConsole such that we can find the rootcause of the exception and to find which stage encounter the issue
You can enable execution tracing from View a Proxy Service page of the Oracle Service Bus Administration Console.
Execution Tracing
Oracle Service Bus enables you to trace messages without having to shut down the server. This feature is useful in both a development and production environments. Execution tracing allows administrators, support engineers, and systems engineers to troubleshoot and diagnose a message flow in one or more proxy services.
For example, if one of your proxy services is failing and you want to find out at which stage the problem exists, you can enable execution tracing for that proxy service. After tracing is enabled, the system logs various details extracted from the message flow such as stage name, name of the pipeline, and route node name.
The entire message context is also printed, including headers and message body. When a fault occurs in the message flow, additional details such as error code and reason are logged. Execution tracing occurs at the beginning and end of each component in the message flow, which includes stages, pipelines, and nodes. Actions are not traced individually.
5. Load Balancing
https://blogs.oracle.com/christomkins/entry/load_balancing_in_oracle_servi
6. Exception Handling
http://www.oracle.com/technetwork/articles/soa/luttikhuizen-fault-handling-2-1940722.html
7. How to use Adaptor in OSB
http://guidoschmutz.wordpress.com/2010/08/14/oracle-service-bus-11g-and-db-adapter-part-ii-the-video-2/