OSB 11g + DB adapter - best practices

Hello All,
I am creating some data services using OSB 11g+Db adapter to perform operations (Sel,Ins,Upd) from two databases. Most of them are simple queries, however some include complex db operations
1. If I have two separate datasources for databases, are there any option to handle global xa tansaction using OSB service.
2. Couple of interfaces consist large payload (Say xml with 5000 elements -- approx 500kb - 1MB) to be inserted to db. Are there performance tuning tips for these kind of operations.
Please let me know your thoughts on this - any docs/blog also will help.
Thanks,
ARPL

The below URL will help you to have DBAdapter in OSB.
Guido Schmutz, has provided step-by-step tutorial and video tutorial as well.
http://guidoschmutz.wordpress.com/2010/08/08/oracle-service-bus-11g-and-db-adapter-a-different-more-integrated-approach/
http://guidoschmutz.wordpress.com/2010/08/08/oracle-service-bus-11g-and-db-adapter-a-more-integrated-approach-the-video-tutorial/
If you are going to use Sel, Update and Insert to a single table or multiple tables then i would say, try to keep it with in single adapter wsdl with multiple operations, this will help you to have good performance.
Otherwise you can keep all those in a procedure and call the required function but in that case you have to have 3 DBAdapters.
To answer your question,
1. Enable both the datasources as XA enabled. As per 11g, you will be building in Jdeveloper (DBAdapter) and use it inside OSB.
2. You have to control that on multiple levels like jvm memory allocation, datasource threads allocation, timeout seeting on datasource and releasing dead connections.
Thanks,
Vijay

Similar Messages

  • SAP Adapter Best Practice Question for Deployment to Clustered Environment

    I have a best practices question on the iway Adapters around deployment into a clustered environment.
    According to the documentation, you are supposed to run the installer on both nodes in the cluster but configure on just the first node. See below:
    Install Oracle Application Adapters 11g Release 1 (11.1.1.3.0) on both machines.
    Configure a J2CA configuration as a database repository on the first machine.
    Perform the required changes to the ra.xml and weblogic-ra.xml files before deployment.
    This makes sense to me because once you deploy the adapter rar in the next step it the appropriate rar will get staged and deployed on both nodes in the cluster.
    What is the best practice for the 3rdParty adapter directory on the second node? The installer lays it down with the adapter rar and all. Since we only configure the adapter on node 1, the directory on node 2 will remain with the default installation files/values not the configured ones. Is it best practice to copy node 1's 3rdParty directory to node 2 once configured? If we leave node 2 with the default files/values, I suspect this will lead to confusion to someone later on who is troubleshooting because it will appear it was never configured correctly.
    What do folks typically do in this situation? Obviously everything works to leave it as is, but it seems strange to have the two nodes differ.

    What is the version of operating system. If you are any OS version lower than Windows 2012 then you need to add one more voter for quorum.
    Balmukund Lakhani
    Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    This posting is provided "AS IS" with no warranties, and confers no rights.
    My Blog |
    Team Blog | @Twitter
    | Facebook
    Author: SQL Server 2012 AlwaysOn -
    Paperback, Kindle

  • SAP Adapter Best Practice Question for Migration of Channels

    I have a best practice question on the SAP adapter when migrating an OSB project from one environment (DEV) to another (QA).
    If my project includes an adapter channel that (e.g., Inbound SAP Proxy listening on a channel), how do I migrate that project to another environment if the channel in the target environment is different.
    I tried using the search and replace mechanism in the sbconsole, but it doesn't find the channel name in the jca and wsdl files.
    What is the recommended way to migrate from one environment to the other when the channel name changes?

    I have a best practice question on the SAP adapter when migrating an OSB project from one environment (DEV) to another (QA).
    If my project includes an adapter channel that (e.g., Inbound SAP Proxy listening on a channel), how do I migrate that project to another environment if the channel in the target environment is different.
    I tried using the search and replace mechanism in the sbconsole, but it doesn't find the channel name in the jca and wsdl files.
    What is the recommended way to migrate from one environment to the other when the channel name changes?

  • Having multiple service operations in a single JMS adapter best practice

    Hi All,
    I am using JDeveloper and SOA Suite 11.1.1.6. I need to read from multiple JMS Topics and transform and enhance the messages through the Mediator and then persist into Database.
    My question is
    What is the best practice to consume from multiple topics, Should I configure separate JMS adapter for each of the Topic destination
    OR
    have a single JMS adapter with multiple operations by manually changing the JMS adapter wsdl and jca file?
    I find cannot have
    Please suggest.
    Thanks in advance
    Edited by: user5108636 on 15/05/2013 11:36

    Hi Vijay,
    did you actually test this? When I finish creating a DBAdapter, there is a operation present. Then when I click edit again on the DBAdapter, and I create another select, when I finish only the first operation is gone, and I can only see the one I've created via the last edit.
    I dont understand your reply. Can I have two operations, each one with select underneath, in the same adapter?
    Edited by: user13604541 on Jan 30, 2012 11:19 AM

  • Use of AC adapter - best practice?

    I just purchased a MacBook Pro a few days ago and the shop assistant told me it was best to fully charge the battery and then use it until it was completely dead and then fully recharge it at which point I should take out the AC adapter. He basically told me that I should never leave the AC adapter in when the computer is fully charged even when I am using it in an office for several hours at a time.
    I have read and executed the instructions regarding calibrating the battery and this makes sense to me, however I cannot find any articles supporting the statement that I should never leave the AC adapter in once the battery is fully charged.
    Could you please tell me if I should leave it in or out?

    Morten Twellmann wrote:
    I just purchased a MacBook Pro a few days ago and the shop assistant told me it was best to fully charge the battery and then use it until it was completely dead and then fully recharge it at which point I should take out the AC adapter. He basically told me that I should never leave the AC adapter in when the computer is fully charged even when I am using it in an office for several hours at a time.
    Complete and utter nonsense. In fact, except for when you do the battery calibration every few months, you are better off NOT deep cycling (ie, full charge/discharge) lithium ion batteries. By never using the computer with the AC adaptor in as you were told, you are forcing the computer to operate in a low energy consumption mode. The end result is lower processor/graphics performance. Using the computer on AC power, even when the battery is full, is not harmful to the battery.
    http://electronics.howstuffworks.com/lithium-ion-battery2.htm
    http://www.batteryuniversity.com/parttwo-34.htm
    Could you please tell me if I should leave it in or out?
    You can do whatever suits your needs/desire. The only thing to remember is that you should try and regularly use the battery - either use it on batter power on a regular basis, or, if this isn't always possible, perform the calibration as recommended by Apple.

  • Best practices or design framework for designing processes in OSB(11g)

    Hi all,
    We have been working in oracle 10g, now in the new project we are going to use Soa suite 11g.For 10g we designed our services very similar to AIA framework. But in 11g since OSB is introduced we are not able to exactly fit the AIA framework here because OSB has a structure different than ESB.
    Can anybody suggest best practices or some design framework for designing processes in OSB or 11g SOA Suite ?

    http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10223/04_osb.htm
    http://www.oracle.com/technology/products/integration/service-bus/index.html
    Regards,
    Anuj

  • SOA Suite 11g Coding Best Practice Document

    Hello,
    I am looking for coding best practice dosument for SOA suite 11g. I have seen one document for "soa_best_practices_1013x_drop3" but this was for SOA 10g. I could not find any such document for SOA 11g. Please let me know if some one has document for best practice, coding standard, naming convention for BPEL,OSB,B2B etc.
    Regards,
    Prashant

    Now we need to publish our services on the internet. I am looking for the security mechanism that I should apply in order to make the services secure. I may even like to verify that the request invoking service A is only coming from specified context.One approach we followed at a customer :
    - SOA was installed within internal firewall zone
    - A F5 BigIP Load Balancer was setup in DMZ. This load balancer terminated one way SSL connections coming from service consumers over internet. The load balancer forwaded the request to a pool of apache of web servers within DMZ
    - The Apache web servers had a redirection rule which forwarded the request to the soa server ports within the internal firwall zone. The internal firewall was opened to allow connections between apache web servers and soa server ports.
    - WS Security Username token/plain text password was used for message level security at the soa services layer.
    Some alterations you can do :
    1. enforce 2 way ssl and make load balancer to validate the CN of the client certificate. This can make sure only authorized clients are to make calls to the service
    2. OR setup some sort of IP filtering at DMZ firewall i.e. allow traffic only from authorized clients IP addresses to the load balancers virtual address for this specific service.

  • Using DB Adapter for MS SQL Server 2005  SP in OSB 11g.

    Hi All,
    I have a requirement to create a DB Adapter for MS SQL Server Stored Procedure in JDeveloper and export the Adapter file to OSB 11g. I have Created the Adapter and imported it into OSB 11g successfully. Created the Datasource and Connection pool also in console.
    The problem is while trying to execute the created business Service, I am getting the error as below,
    <Oct 26, 2012 12:20:25 PM IST> <Error> <JCATransport> <BEA-381967> <Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/Test/CheckAppID/WL_Driver/CheckAppId_WL_Driver [ CheckAppId_WL_Driver_ptt::CheckAppId_WL_Driver(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'CheckAppId_WL_Driver' failed due to: Unimplemented string conversion.
    Conversion of JDBC type to String is not supported.
    An attempt was made to convert a Java object to String using an unsupported JDBC type: .
    ; nested exception is:
         BINDING.JCA-11804
    Unimplemented string conversion.
    My XSD is ,
    <element name="InputParameters">
    <complexType>
    <sequence>
    <element name="application_id" type="int" db:index="1" db:type="INT" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <element name="OutputParameters">
    <complexType>
    <sequence>
    <element name="RowSet0" type="db:RowSet0_RowSet" db:type="RowSet0" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    <element name="RowSet1" type="db:RowSet1_RowSet" db:type="RowSet1" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="RowSet1_RowSet">
    <sequence>
    <element name="RowSet1_Row" minOccurs="0" maxOccurs="unbounded">
    <complexType>
    <sequence>
    <element name="cde" type="int" db:type="INT" minOccurs="0" nillable="true"/>
    <element name="msg" db:type="NVARCHAR" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="255"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    <complexType name="RowSet0_RowSet">
    <sequence>
    <element name="RowSet0_Row" minOccurs="0" maxOccurs="unbounded">
    <complexType>
    <sequence>
    <element name="aaa" type="boolean" db:type="BIT" minOccurs="0" nillable="true"/>
    <element name="bbb" db:type="NVARCHAR" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="10"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    I don't know why there is a datatype conversion error.
    Help me in resolving this.
    Regards,
    Nataraj R.

    Hi,
    I believe NVARCHAR is an unsupported type...
    The following document lists the supported data types for SQL Server stored procedures and functions... NVARCHAR is not in the list... :-(
    http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_db.htm#CHDEBEEE
    Hope this helps...
    Cheers,
    Vlad

  • Best Practice for using UML in JDeveloper 11g

    Hi,
    We are embarking upon a big program that involves development of a Webcenter 11g based Portal. We will be using JDeveloper for doing the development work. We are investigating whether we can use JDeveloper for doing the design work too. Towards that we would like to know if there are any best practices documented around using JDeveloper's UML capabilities in a Webcenter 11g Portal delivery activity that spans across several sprint teams and involves delivering an application that could involve several hundreds of java classes ? If so, can you please share the same / provide pointers to the same ?
    We are keen on using class diagrams and sequence diagrams for the design work.
    We will be using JDeveloper 11.1.1.5.0.
    Many thanks!
    Best Regards,
    Ramesh

    Check this to get an idea of UML support in JDeveloper:
    http://download.oracle.com/docs/cd/E18941_01/tutorials/jdtut_11r2_81/jdtut_11r2_81_1.html
    Thanks,
    Navaneeth

  • Best practice for install oracle 11g r2 on Windows Server 2008 r2

    Dear all,
    May I know what is the best practice for install oracle 11g r2 on windows server 2008 r2. Should I create a special account for windows for the oracle database installation? What permission should I grant to the folders where Oracle installed and the database related files located (datafiles, controlfiles, etc.)
    Just grant Full for Administrators and System and remove permissions for all others accounts?
    Also how should I configure windows firewall to allow client connect to the database.
    Thanks for your help.

    Hi Christian,
    Check this on MOS
    *RAC Assurance Support Team: RAC Starter Kit and Best Practices (Windows) [ID 811271.1]*
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=BULLETIN&id=811271.1
    DOC Modified: 14-DEC-2010
    Regards,
    Levi Pereira

  • Best practice of OSB logging Report handling or java code using publish

    Hi all,
    I want to do common error handling of OSB I did two implementations as below just want to know which one is the best practice.
    1. By using the custom report handler --> When ever we want to log we will use the report action of OSB which will call the Custom java class which
    Will log the data in to DB.
    2. By using plain java class --> creating a java class publish to the proxy which will call this java class and do the logging.
    Which is the best practice and pros and cons.
    Thanks
    Phani

    Hi Anuj,
    Thanks for the links, they have been helpful.
    I understand now that OSR is only meant to contain only Proxy services. The synch facility is between OSR and OSB so that in case when you are not using OER, you can publish Proxy services to OSR from OSB. What I didn't understand was why there was a option to publish a Proxy service back to OSB and why it ended up as a Business service. From the link you provided, it mentioned that this case is for multi-domain OSBs, where one OSB wants to use the other OSB's service. It is clear now.
    Some more questions:
    1) In the design-time, in OER no Endpoints are generated for Proxy services. Then how do we publish our design-time services to OSR for testing purposes? What is the correct way of doing this?
    Thanks,
    Umar

  • Best practice for OSB to OSB communication

    Cross posting this message:
    I am currently in a project where we have two OSB that have to communicate. The OSBs are located in different security zones ("internal" and "secure"). All communication on a network level must be initiated from the secure zone to the internal zone. The message flow should be initated from the internal zone to the secure zone. Ideally we should establish a tcp connection from the secure zone to the internal zone, and then use SOAP over HTTP on this pre-established connection. Is this at all possible?
    Our best approach now, is to establish a jms-queue in the internal zone and let both OSBs connect to this. All communication between the zone is then done over JMS. This is an approach that would work, but is it the only solution?
    Can the t3/t3s protocol be used to achieve our goal? I.e. To have synchronous commincation over a pre-established connection (that is established the in opposite direction of the communication)?
    Is there any other approach that might work?
    What is considered best practice for sending messages from a OSB to another OSB in a more secure zone?
    Edited by: hilmersen on 11.jun.2009 00:59

    Hi,
    In my experience in a live project, we have used secured communication (https) between internal service bus and DMZ/external service bus.
    We also used two way SSL with customers.
    The ports were also secured by firewall in between them.
    If you wish more details, please email [email protected]
    Ganapathi.V.Subramanian[VG]
    Sydney, Australia
    Edited by: Ganapathi.V.Subramanian[VG] on Aug 28, 2009 10:50 AM

  • Best practice for OSB, OER and OSR

    Hi,
    I would like to know what are the best practices for using OSB, OER and OSR together in a run-time environment for a simple WSDL service.
    From how I see it:
    1) Create service-definition in OER
    2) Create proxy and business service in OSB
    3) Use harvester to harvest the proxy and business services in OER
    4) Use Exchange Utility to publish the proxy service to OSR
    Then the client and discover the proxy service and use OSB for invoking the operations from service.
    Kindly correct me where I am wrong.
    Some questions:
    1) Do we ever publish business service to OSR? Or is it only meant for proxy services?
    2) Is synching of OSB and OSR only meant when we are not using OER?
    Looking forward...

    Hi Anuj,
    Thanks for the links, they have been helpful.
    I understand now that OSR is only meant to contain only Proxy services. The synch facility is between OSR and OSB so that in case when you are not using OER, you can publish Proxy services to OSR from OSB. What I didn't understand was why there was a option to publish a Proxy service back to OSB and why it ended up as a Business service. From the link you provided, it mentioned that this case is for multi-domain OSBs, where one OSB wants to use the other OSB's service. It is clear now.
    Some more questions:
    1) In the design-time, in OER no Endpoints are generated for Proxy services. Then how do we publish our design-time services to OSR for testing purposes? What is the correct way of doing this?
    Thanks,
    Umar

  • Best practice to monitor 10gR3 OSB performance using JMX API?

    Hi guys,
    I need some advice on the best practice to monitor 10gR3 OSB performance using JMX API.
    Jus to show I have done my home work, I managed to get the JMX sample code from
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/example.html#wp1109828
    working.
    The following is the list of options I am think about:
    * Set up: I have a cluster of one 1 admin server with 2 managed servers, which managed server runs an instance of OSB
    * What I try to achieve:
    - use JMX API to collect OSB stats data periodically as in sample code above then save data as a record to a
         database table
    Options/ideas:
    1. Simplest approach: Run the modified version of JMX sample on the Admin Server to save stats data to database
    regularly. I can't see problems with this one ...
    2. Use WLI to schedule the Task of collecting stats data regularly. May be overkill if option 1 above is good for production
    3. Deploy a simple web app on Admin Server, say a simple servlet that displays a simple page to start/stop and configure
    data collection interval for the timer
    What approach would you experts recommend?
    BTW, the caveats os using JMX in http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/concepts.html#wp1095673
    says
         Oracle strongly discourages using this API in a concurrent manner with more than one thread or process. This is because a reset performed in
         one thread or process is not visible to another threads or processes. This caveat also applies to resets performed from the Monitoring Dashboard of
         the Oracle Service Bus Console, as such resets are not visible to this API.
    Under what scenario would I be breaking this rule? I am a little worried about its statement
         discourages using this API in a concurrent manner with more than one thread or process
    Thanks in advance,
    Sam

    Hi Manoj,
    Thanks for getting back. I am afraid configuring aggregation interval from Dashboard doesn't solve problem as I need to collect stats data of endpoint URI or in hourly or daily basis, then output to CSV files so line graphs can be drawn for chosen applications.
    Just for those who may be interested. It's not possible to use SQL to query database tables to extract OSB stats for a specified time period, say 9am - 5pm. I raised a support case already and the response I got back is 'No'.
    That means using JMX API will be the way to go :)
    Has anyone actually done this kind of OSB stats report and care to give some pointers?
    I am thinking of using 7 or 1 days as the aggregation interval set in Dashboard of OSB admin console then collects stats data using JMX(as described in previous link) hourly using WebLogic Server JMX Timer Service as described in
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jmxinst/timer.html instead of Java's Timer class.
    Not sure if this is the best practice.
    Thanks,
    Regards,
    Sam

  • Oracle 11g memory_target best practices

    Hi expert.
    I'll use memory_target in my oracle 11g enviroment. There is a best practices, or formula, for to choose my memory_target?
    There is a memory_target limit? (for example 128gb)
    Many thanks

    Thanks for the replies.
    I could like know if there are some criteria, or formula, to a correct memory_target set.
    I'm reading the file OracleOLTPonDellEqualLogicPS60x0.pdf
    >
    http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBQQFjAA&url=http%3A%2F%2Fwww.delltechcenter.com%2Fpage%2FSizing%2Band%2BBest%2BPractices%2Bfor%2BOracle%2B11g%2BOLTP%2Bon%2BEqualLogic&rct=j&q=OracleOLTPonDellEqualLogicPS60x0.pdf&ei=7av3TPP_J4yb4Ab_7pnzBg&usg=AFQjCNF9PfDrIP-VkYq_v3qPx03UAdkF9Q&sig2=pAF4A7E-S_FJkQ8jxsiWmw&cad=rja
    >
    that explain the best practices for an Oracle RAC 11g on Dell Server. About the Tuning Parameter I don't undestand very well what's the criteria for to choose the MEMORY_TARGET between 32,40 or 48GB
    Maybe choose what's the correct memory value for my server? I've an machine with X gb of RAM that I can allocate for an oracle istance. There is a fisical limit MEMORY_TARGET?
    Thanks for all suggest.
    Cheers,
    Lain

Maybe you are looking for

  • Another Safari problem on my Intel Mac

    I have another problem. I went to use a live customer chat on: www.trugoji.com using Safari and it wouldn't work. I do not have block pop up windows checked either. Now this works on my eMac, but not my new Intel iMac. Both computers have the same so

  • QM cycle related to batch with class and characteristic

    Dear all Plz expalin me one QM cycle related to batch with class and characteristic. thx

  • How to define the size of each column of a GridLayout in HTMLB?

    Hi there, I think everything is in the subject. It seems it is not possible. The GridLayout.setWidth() refers to the grid in general and it is not possible to select a GridLayout column (in order to apply to it a setWidth()). When I do a GridLayoutCe

  • During upgrade, will it keep all apps?

    If I upgrade to Leopard do I need to reinstall all my applications including Parallels? I currently have Max OS X version 10.4.11.

  • Photoshop CS5: I can't see what i'm drawing

    Hi, I seem to have trouble seeing anything i paste or draw. I can see the result on the layer image, but can not see the full result on the document itself. Everything was working fine just about 1 hr 1/2 ago. I tried uninstalling it and reinstalling