OSB EJB business service performance

A friend reported me that accessing a EJB via OSB EJB business service is twice as slow as accessing the EJB remotely in Java code.
Unfortunately he didn't run any profiling tool to determine the Hot Methods and Heap consumption.
The EJB receives a small string as parameter, and returns a small string back.
Anybody else experienced performance problems with EJB in OSB?
Anybody can give tips and tricks (apart from using Coherence cache) to improve performance?
I have suggested him to create a "proxy" WS to invoke the EJB, and invoke this WS from OSB.... but I am not really sure it would help.

A friend reported me that accessing a EJB via OSB EJB business service is twice as slow as accessing the EJB remotely in Java code.
Unfortunately he didn't run any profiling tool to determine the Hot Methods and Heap consumption.
The EJB receives a small string as parameter, and returns a small string back.
Anybody else experienced performance problems with EJB in OSB?
Anybody can give tips and tricks (apart from using Coherence cache) to improve performance?
I have suggested him to create a "proxy" WS to invoke the EJB, and invoke this WS from OSB.... but I am not really sure it would help.

Similar Messages

  • OWSM 11gR1 PS2 agent to secure OSB 11g business service

    Hi,
    Can anyone share any resources/information on how to secure an OSB 11g business service by using OWSM 11g agent? Its a new feature released with OWSM 11gR1 PS2 (11.1.1.3.0) release. Also, can we do the same for OSB 10g?
    Thanks,
    Bijoy

    Hi Bijoy,
    Documentation is here (for PS2 with OSB 11g)-
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15866/owsm.htm#CHDEEGJI
    can we do the same for OSB 10g?No, it is not supported.
    Regards,
    Anuj

  • Re: OSB - How to put multiple files via a osb ftp business service?

    I have been trying to create an ftp business service to transfer files to a remote machine. I select that the service should support any XML document (since I am only sending XML). Then, I specify the remote server directory like so:
    ftp://hostname:port/directory
    I take the rest of the default settings. However, when I use the business ftp service by testing it in the console, it just hangs. I can successfully ftp to the server and send files from the OSB server command line to the remote server in question. So, it isn't a problem with our network or a misconfiguration of ftp. Has anyone successfully used the ftp business service in OSB? If so, how do I configure it properly? Thanks much

    Have you checked server logs? Enable message tracing in operational settings and check the logs to find out where it is getting stuck.
    Regards,
    Anuj

  • Caching in OSB with Business Service

    Hi All,
    I am done with business service development, but I need to configure caching to fetch the data from cache if TTL (Time to Live) <24 if is more then my request to interact with the database can please help how I can I do it, as I am new to caching concept.
    Thank You,
    Vinay Kumar

    Hi Vinay, Select the Business Service - Message Handling Configuration - in Advanced Settings section, you can configure caching for the business service; select Result caching as Supported, and specify cache token (unique key) and expiration time (TTL). Note- once the TTL exceeds for a particular data, the business service will fetch the result from the target system/database and cache it, and the cycle repeats (no specific configuration to be done for this).  Also, before configuring the above, first enable the caching globally in OSB; go to Operations - Global settings - select Enable Result caching, and activate the changes.

  • In OSB, Single business service to handle multiple Stored procedures

    Hi,
    In OSB we have a package and within that there are 8 overloaded stored procedures. DO we have to create 8 business services or is it possible to create single business service and pass differrent messages to it.
    Thanks,
    Vinoth

    Hi Vinoth,
    You have to create 8 dbadapters and hence 8 business services. Better you create one stored procedure which internally calls these 8 stored procedures on the basis of conditions you have and create only one DB adapter and hence one business service to invoke this sinlge stored procedure.
    Regards,
    Anuj

  • OSB: Configuring business service for JMS Queue

    Hi,
    I want to produce messages into a JMS queue from OSB proxy service. I have created business service for the JMS queue. I also want to return Status code=200, Status Messgae=Success if the message is successfully inserted into the Queue. Kindly let me know how to do this.
    I tried using Service Callout to call the business service but it is not allowing me to use it because my business service is a one-way operation. So, i tried with Publish activity but my doubt is how and where to configure request payload for the publish activity. I could not find any.
    And how do i know if the message is successfully inserted so that i can send the Status=200 back to the calling proxy service.
    Kindly help in this regard.
    Thanks in advance.

    As suggested, use QoS=ExactlyOnce as RoutingOption within the Publish to business service. If there was any error it will send the flow to error handler where you can do a reply with failure to return HTTP status code=500 to the caller of the proxy service.
    If you do a reply with success the caller will receive HTTP status code=200

  • OSB 11g: Business Service not getting reply back from distributed queue

    Here is the scenario:
    OSB Domain A has a Business service that does a JMS send to a distributed JMS queue hosted on another WLS domain.
    It expects a response from a distributed queue sitting on this same remote WLS domain.
    The remote WLS domain is configured as a Foreign JNDI Provider in the OSB Domain with the request and response queues defined. Testing this business service, we see that messages are being posted to the remote request queue fine, and that the message are being picked up and processed. The response was sent to the response queue, but the message just sits there, the OSB business service did not pick it up. I can see 16 active Consumers on the response queue, presumably from the OSB business service?
    Using CorrelationID.
    URI for request/response queues are using the locally defined JNDI name for the queues and connection factories from the Foreign JNDI Provider definition:
    - URI for request queue: jms:///[RemoteXAConnectionFactoryX]/[LocalJNDINameForRequestQueue]
    - URI for response queue: jms:///[RemoteXAConnectionFactoryX]/[LocalJNDINameForResponseQueue]
    Completely stumped at the moment...anybody has any ideas?
    Thanks,
    Melvin

    Hi,
    I am also facing the similar kind of issue as below. After placing the message in to request Queue, I need that message Id as response to that Business service. Please provide the solution for the below issue. Thanks in advance.
    Thanks,
    bharath.

  • Version Control for OSB Proxy/Business Services ?

    Dear all
    I've used the browser-based osb console to expose a legacy web-service as follows :
    1. Create a Session
    2. Create a BusinessService based on the legacy web-service WSDL
    3. Create a ProxyService based on the BusinessService WSDL
    4. Activate the Session
    I now have two further questions :
    1. How do we version control the OSB "code" ? (we use Subversion for other code)
    2. How do we implement it in other environments (TEST, PROD, etc.)
    Thanks,
    Peter.

    >
    Are there other reasons why you say it's not the most ideal way of development ?
    >
    Versioning binary files is always a pain. You can't compare them, you can't merge them ... Another point, if you put your jar archive with OSB artifacts under version control, you will most probably face issue related to end of line styles (mac, unix, windows).
    However, the most important point is usability. I want to version .proxy and .biz services to see right in IDE that I changed something and I should check that in for the others. I don't want to risk that I forget something. And I also want to see what other users committed, what sources they work on ... You loose all of that by versioning jar file. I would never go this way.

  • EJB business method performance metrics

    Hi,
    is there any facility provided by WLS 7.0 to profile business methods.
    I'm interested in something similar to JBoss's Metrics Interceptor which measures
    time spent by the EJB container on business and life-cycle method invocations.
    WLS provides ServletRuntimeMBean for servlets but I have found nothing for EJBs.
    Any idea appreciated,
    SB

    is there any facility provided by WLS 7.0 to profile business methods.
    I'm interested in something similar to JBoss's Metrics Interceptor whichmeasures
    time spent by the EJB container on business and life-cycle methodinvocations.
    >
    WLS provides ServletRuntimeMBean for servlets but I have found nothing forEJBs.
    Off the shelf products:
    Precise Indepth for J2EE
    Wily Introscope
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "SB" <[email protected]> wrote in message
    news:[email protected]..
    >

  • [OSB]JMS Business Service sending message with a given JMSCorrelationID

    Hi,
    Is it possible to send jms message with a given JMSCorrelationID in OSB? Just like use javax.jms.Message.setJMSCorrelationID() before sending.
    If yes, how to change the payload accordingly?
    Any help? Thanks in advance.

    Try Transport Headers action in request action route node (Add Action >> Communication >> Transport Headers).
    Then click on add headers and in name drop down select the JMSCorrelationID. In set Headers to expression select the value you want to put for JMSCorrelationID.

  • OSB: EJB Transport Configuration - Workshop for Weblogic 10.3

    Hi
    I'm using the latest Workshop for Weblogic 10.3. to test the EJB Transport Typed Service for Oracle Service Bus 10R3.
    When I importing the EJB client jar on the EJB Transport tab of the business service configuration, the import itself first seems to work fine.
    But when I try to save the business service, I get an error on that page, which says "Error in field content". There is also a message appearing on the top of the wizard, which is only partly readable and says
    BUILD FAILED
    java.lang.NoClassDefFoundError: javax/tools/Diagnostic
    I'm trying the sample in chapter 8 from the Apress book "The definitive guide to SOA - Oracle Service Bus" and can't see what I have done wrong.
    Anyone can help?
    Thanks
    Guido
    Edited by: gschmutz on Feb 4, 2009 11:33 AM

    Make sure your JAVA_HOME is set to JRockit JDK - for details see CR374557 on [http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/relnotes/relnotes.html]:
    ClassNotFoundExceptions on Linux when configuring a client jar for an EJB business service.
    On a Linux system, if you do not specify the path to the correct version of Java correctly, you may experience ClassNotFoundException when configuring a client JAR for an EJB business service.
    Workaround: The correct Java version is 1.6.0_05.
    To check the version of Java you are using, execute java -version from a shell. If you are using some other version, you must update the PATH environment variable to point to the location of a 1.6.0_05 version of Java. Be sure to place this location before the location of the incorrect java. For example:
    export PATH=/home/user/bea/jrockit_160_05/bin:$PATH
    After making this fix, you may experience error: Generate: Error during generation of the WSDL. If so, you must update the JAVA_HOME environment variable to point to same version of Java as above. For example:
    export JAVA_HOME=/home/user/bea/jrockit_160_05
    Cheers
    Dani

  • OSB - Business Service Import Problem

    Hi,
    When I import my OSB project (from an Oracle Service Bus Configuration .jar) for the first time, it imports my business service perfectly. However, in the second half when the project already exists on the workspace, new tags are added to the xml even though I have not made any changes in the business service.
    Thats my problem:
    First Import:
    <ser:coreEntry isProxy="false" isEnabled="true">
    After Second Import:
    <ser:coreEntry isProxy="false" isEnabled="true" isTracingEnabled="false">
    and a few other tags are added to the file:
    <ser:throttling enabled="false">
    <ser:capacity>0</ser:capacity>
    <ser:maxQueueLength>0</ser:maxQueueLength>
    <ser:timeToLive>0</ser:timeToLive>
    </ser:throttling>
    <tran:delay-interval-configuration isEnabled="false">
    <tran:delay-interval>0</tran:delay-interval>
    </tran:delay-interval-configuration>
    Any help on how to import the project without these new tags in my business service will be very welcome.
    Regards,
    Ricardo Azevedo

    you can influence the amount of info actually imported choosing to override operational settings, environment setting etc (I can't remember by heart and I am too lazy to start my server now and verify)
    Anyway unless this impacts your operations I would not be too worried that some defaults are explicitly stated in the xml. Surely if you import in Production a BS with "message tracing" on, this can affect seriously your performance.

  • Can OSB proxy and business service act as a stub ?

    Hi all,
    would like to enquire whether I can achieve the following. I have a web service consumer. Can the consumer call a OSB proxy service and within the proxy service, I use XQuery and extract the body and perform some transformation. And the proxy service return variables to the consumer? Without calling any business proxy in the process
    Can the proxy service act as a stub? Would I need a dummy business service for it?
    Or my objective cannot be achieved in OSB?
    Appreciate any thoughts.

    Hi,
    Assuming the incoming body contains "name: Peter, age: 13". Can the return information contain "name:Peter, age:13, Status: N"Yes, it's possible too, in your Response XQuery Transformation u can add n number of additional fields, and send back to requester.
    You can do both Translations and Transformations.
    Can I also configure the proxy service not to call any business service?Have you made/generated your proxy service from existing Business Service?
    If yes,: then your message flow would have only Route Node ( routing to Business Service).
    1. To do transformations on request add a Pipeline Pair in message flow and inside it add stage for doing XQuery transformations.
    2. Use Reply Action in stage as last Actions and do reply with Success.( The message flow won't go to Route actions after this ).
    IF No : Then either remove the OSB Action which is being used to call Business Service.
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Mar 8, 2013 3:27 PM

  • Features to isolate OSB services from just one slow business service.

    Hi,
    Here is a OSB question around a quick business service that suddenly turn to be a slow one and the impact on the overall OSB performance.
    Suppose you have a critical OSB cluster in production with many proxy and business services.
    Because of requirements, you have a specific sync http business service (web service) that has an acceptable response time around 1 secs. But suddenly the response time goes to 30 secs or even more due to some problem, generating a great impact on thread and resource consumption on OSB side.
    Suppose a http time out configuration of 2 secs on the business service is just not enough. OSB continues to crash.
    You can use OSB throttling feature but doing that you have to fix a maximum concurrency.
    If the service implementation is down, OSB can handle that using "Offline Endpoint URIs" in the operational settings of sbconsole. But in this situation the service is online accepting requests. It's just slow to respond.
    This is a hypothetical situation just to stress the problem.
    Besides business service time-out configuration and throttling and dispatch-policies on proxy/business services are there any other features that can be used ?

    Wesley,
    Ok, once the business service request is sent, the thread is freed. When the response comes, a new thread is picked up to handle the business service response. So in the mean time there's no blocking thread. Yes. It is correct.
    Just to make sure, what about the waiting synchronous http client calling the proxy service ?
    I mean, this fire-and-forget feature works only on the business service side or entirely for the proxy/business service (That separation would not make sense I suppose) ? The same case with http proxy. The request thread will be used till the BS is invoked in the route node or end-of the request pipeline. After this thread is released. Once the response comes from the http bs on a different thread, that thread will be used till the end of the responsepipeline
    eg
    Client---->Http Proxy---->Thread1{Request Pipeline--->Routenode---->End of Request actions in the Routenode--->Call BS Request} ----->Thread2{BS gets response--->Response Pipeline --->send response back to the client}
    For example, a http client is waiting for the proxy service response, but while the business service does not respond, there is no blocking thread at all in the proxy service side too ?Yes. That is true
    So, there could be many waiting http clients calling this proxy service, all http business service requests sent, and no blocking threads ?Yes.
    What would be the drawbacks of this feature ?Nothing I can think off. Therotically we will be forced to do extra over head when BS latencies are low which might of little practical impact. In that case you can change QOS=Exactly once. BS request and response will be on the same thread , but proxy response thread will be always different from that of proxy request thread no matter what the QOS is set
    Cheers
    Manoj

  • Business service EJB Transport configuration error

    Hi,
    When configuring Business service to work on ejb protocol, on EJB Transport Configuration tab, I get error message saying
    Generate: Error during generation of the WSDL: Cannot run program "null/modules/org.apache.ant_1.7.1/bin/ant.bat": CreateProcess error=2, The system cannot find the file specified
    BEA_HOME, MIDDLEWARE_HOME, ANT_HOME tried to set, not helped.
    JrockIt 4.0.0.,Weblogic 10.3.3, OEPE 11.1.1.6.
    What could be the problem?
    Thanks in advance.

    Hi,
    haven't found product.properties file in directory. Here is eclipse.ini file
    -startup
    plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.0.v20100503
    -showsplash
    org.eclipse.platform
    --launcher.defaultAction
    openFile
    -vmargs
    -Xms256m
    -Xmx768m
    -XX:MaxPermSize=512m
    -Dsun.lang.ClassLoader.allowArraySyntax=true
    -Dweblogic.home=D:\middleware\wlserver_10.3
    -Dharvester.home=D:\middleware\oracle_osb1\harvester
    -Dosb.home=D:\middleware\oracle_osb1
    -Dosgi.bundlefile.limit=500
    -Dosgi.nl=en_US
    So only OSB and Weblogic homes are set.
    I tried with/without setting additional homes (such as BEA_HOME etc.) just because this line :
    Cannot run program "null/modules/org.apache.ant_1.7.1/bin/ant.bat" confused me. It's like path to middleware installation isn't set, that's why it's NULL here.
    Any ideas?
    Thanks in advance.
    Edited by: frf on 20/8/2010 5:22

Maybe you are looking for

  • Itunes wont let me sync my ipad.

    Ok here is what happened. I am traviling and I am at a relitive's house and she has a old computer, I mean old,old but it works pretty good and its not slow at all. So I wanted to buy a song but on itunes on windows so I can later put it in my iphone

  • Re: Adobe tv downloads

    Hi,      could anyone please guide me how to download videos from adobe tv using Adobe Media Player...          When I try to put a feed in the 'ADD RSS FEED' block, the following error shows up also, how can I get the url s for my favorite videos on

  • Uploaded Mac OS X Snow Leopard onto Macbook Pro and now iTunes wont iPhone

    Can someone pls help! I have recently uploaded Mac OS X Snow Leopard onto my Macbook pro and now iTunes won't recognise my iPhone. It does however recognise my iPhone in iphoto.... does anyone know how to resolve this??? I'M IN DESPERATE NEED FOR NEW

  • [MAYBE SOLVED :) ] Awesome - where to find reliable info

    I tried Awesome yesterday and does pretty much what I was looking for. The problem for me as a Awesome-n00b is the quite radical changes to code between versions. Even from 3 to 3.1 there are a lot of changes, so many that I haven't been able to figu

  • When i try to start Diablo LOD it tells me the platform is no longer supported. Is this true?

    when i try to start Diablo LOD it tells me the platform is no longer supported. Is this true?