Optimizing remoting call speeds

Retrieving 1477 records from a database table with 11 fields,
the time between the remoting call, and the result is averaging
approx 370-400 ms.
This is with PHP4. With PHP5, and Flash remoting, I seem to
average slightly higher times.
Although if I time the PHP queries outside of Flash, PHP5
returns drastically improved times, sometimes as high as 200%. I
haven't pinpointed why the Flash remoting calls are taking longer
with PHP5, than PHP4.
I also don't see any time difference between AMF0, or AMF3
encoding...

I was able to reproduce this issue in our dev env.
Its the folder name that caused the issue.
/CFC/pto.cfc test()
And a folder named
/CFC/PTO/
Remoting turns this
Cfc.pto.test()
Into
Cfc/pto/test.cfm
Which is a cf 404 or missing template error
Hope this helps someone
Tim
Tim Garver
MIS Programmer
NICE Systems. USA
(T)  +     (704)932-4246
(C)  +     (704)264-9723

Similar Messages

  • I have a production mobile Flex app that uses RemoteObject calls for all data access, and it's working well, except for a new remote call I just added that only fails when running with a release build.  The same call works fine when running on the device

    I have a production mobile Flex app that uses RemoteObject calls for all data access, and it's working well, except for a new remote call I just added that only fails when running with a release build. The same call works fine when running on the device (iPhone) using debug build. When running with a release build, the result handler is never called (nor is the fault handler called). Viewing the BlazeDS logs in debug mode, the call is received and send back with data. I've narrowed it down to what seems to be a data size issue.
    I have targeted one specific data call that returns in the String value a string length of 44kb, which fails in the release build (result or fault handler never called), but the result handler is called as expected in debug build. When I do not populate the String value (in server side Java code) on the object (just set it empty string), the result handler is then called, and the object is returned (release build).
    The custom object being returned in the call is a very a simple object, with getters/setters for simple types boolean, int, String, and one org.23c.dom.Document type. This same object type is used on other other RemoteObject calls (different data) and works fine (release and debug builds). I originally was returning as a Document, but, just to make sure this wasn't the problem, changed the value to be returned to a String, just to rule out XML/Dom issues in serialization.
    I don't understand 1) why the release build vs. debug build behavior is different for a RemoteObject call, 2) why the calls work in debug build when sending over a somewhat large (but, not unreasonable) amount of data in a String object, but not in release build.
    I have't tried to find out exactly where the failure point in size is, but, not sure that's even relevant, since 44kb isn't an unreasonable size to expect.
    By turning on the Debug mode in BlazeDS, I can see the object and it's attributes being serialized and everything looks good there. The calls are received and processed appropriately in BlazeDS for both debug and release build testing.
    Anyone have an idea on other things to try to debug/resolve this?
    Platform testing is BlazeDS 4, Flashbuilder 4.7, Websphere 8 server, iPhone (iOS 7.1.2). Tried using multiple Flex SDK's 4.12 to the latest 4.13, with no change in behavior.
    Thanks!

    After a week's worth of debugging, I found the issue.
    The Java type returned from the call was defined as ArrayList.  Changing it to List resolved the problem.
    I'm not sure why ArrayList isn't a valid return type, I've been looking at the Adobe docs, and still can't see why this isn't valid.  And, why it works in Debug mode and not in Release build is even stranger.  Maybe someone can shed some light on the logic here to me.

  • Presence status not changed when using Lync 2010 Remote Call Control

    Hello,
    I'm currently testing the Remote Call Control functionality of Lync 2010. Call management works fine but I'm surprised that my presence status does not change to "In a Call" when the call is established.
    OriginatedEvent, DeliveredEvent and EstablishedEvent are forwarded correctly to Lync Client 2010. All responses are "200 OK".
    Is there something more to send to Lync Server 2010 so the status of the Lync Client gets correctly updated to "In a Call" ? Or is a plugin for the Lync Client necessary to achieve this ?
    Thank you in advance,
    Martin

    I think there's something missing from your scenario and I don't believe you would need a plugin for this.  It's been forever since I've set up RCC with Lync 2010 however.  I know this isn't what you're looking for, but I've used this product in
    the past to configure Lync and RCC with third party PBXs that don't support Lync/RCC but do have a TAPI interface.
    http://www.estos.com/products/drivers-middleware/callcontrolgateway400.html I've been able to get a free trial before and it worked like a charm for an old 3COM phone system.  If you can get a trial it might help you compare apples to apples provided
    you have a TAPI driver for your PBX.
    For more details on what happens behind the scenes, you might have some better luck in the MSDN dev forums:
    http://social.msdn.microsoft.com/Forums/en-US/home?category=uc
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications
    This forum post is based upon my personal experience and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • The FM "DD_DOMA_GET" not released for 'remote' calls.

    Hi,
    When I try to import RFCs from my CRM system in XI, I am getting the following exception:
    com.sap.aii.ibrep.sbeans.upload.RemoteUploadException: The function module "DD_DOMA_GET" not released for 'remote' calls.
    Solution please!!
    Regards,
    Mahesh.

    Hi,
      Making remote enabled will solve this,
    see my reply(Anirban) and jacob's reply in this thread(although this was with idoc)
    Unable to import SAP objects
    For, <i>We tried to make it Remote Enabled but it asks for "Access Key". How to go further?
    </i>
    You need a devloper access key for FM, in SE37
    you can get one in market place, follow this thread,
    Whats Development Key
    Regards,
    Anirban.

  • Multiple Remoting calls

    I'm using Flash remoting to send usage statistics from a
    movie up to a coldfusion component for processing and storage.
    System works great -- at least the individual calls are working --
    but when I try to execute all these calls multiple times through
    the movie, it never gets past two remote calls before throwing an
    "Error Opening URL" error referencing my flashservices gateway.
    I've tried changing names of the instance each time I call a
    new one -- but that doesn't seem to matter. Is there some maximum
    number of calls Flash Remoting can make? Is it 2? Anybody have any
    idea what I'm talking about? I've included the connection code and
    the general examples of the method calls I'm using...
    // connection script
    var trackingService:Service = new Service("
    http://<host>/flashservices/gateway",
    null, "<cfc>", null, null);
    // open user tracking tracking session (called once when
    movie is opened)
    var sessionTrax:PendingCall =
    trackingService.discStart({cf_macID:xxx, cf_projectID:xxx,
    cf_clientID:xxx });
    // log user activity (needs to be called numerous times on
    any button click, regardless of amount of clicks)
    var clickTrax:PendingCall =
    trackingService.contentClick({cf_macID:xxx, cf_projectID:xxx,
    cf_clientID:xxx, cf_content:xxx, cf_contentName:xxx, cf_size:xxx
    // close user tracking session (called once)
    var sessionTrax:PendingCall =
    trackingService.discEnd({cf_macID:xxx, cf_projectID:xxx,
    cf_clientID:xxx });
    Any help would be appreciated...

    Place a ? after your gateway URL -
    http://<host>/flashservices/gateway?

  • Client (Solaris) remote call hangs 225sec if Server (Window7) is down.

    We are noticing the RMI Client remote call from Solaris machine hang of exactly 225 seconds if RMI Server on Windows7 machine is shutdown. RMI Server is shutdown for valid reasons. The expectation is, Client would throw a RemoteException immediately for futher processing. The Client hang for 225 minutes is causing performance issues. This has been consistently reproduced across multiple machines with Client on Solaris and Server on Windows 7. There are no 225 sec wait issues if server is on Windows XP or Solaris.
    Usecase (java version "1.6.0_14")
    1. Start RMI Server on Windows 7 machine
    2. Start RMI Client on Solaris machine
    3. Wait till client connects to the server and makes some remote call every 1sec.
    4. Shutdown RMI Server.
    5. Client waits 225 seconds before a time out error is thrown.
    Has anyone seen this problem? Any solutions to get around this?
    Code used to test this
    RmiTestServer.java
    public class RmiTestServer
    public static void main(String args[])
    try
    java.rmi.registry.Registry zRegistry = null;
    try
    zRegistry = java.rmi.registry.LocateRegistry.createRegistry ( 1099 );
    catch ( Exception zEx )
    zRegistry = java.rmi.registry.LocateRegistry.getRegistry ( 1099 );
    if ( zRegistry != null )
    System.out.println( "Binding RmiTestService..." );
    RmiTest c = new RmiTestImpl();
    zRegistry.rebind ( "RmiTestService", c );
    System.out.println( "Done Binding RmiTestService..." );
    else
    System.out.println( "Registry is null." );
    catch (Exception e)
    e.printStackTrace();
    RmiTest.java
    public interface RmiTest extends java.rmi.Remote
    public void callHello() throws java.rmi.RemoteException;
    RmiTestImpl.java
    public class RmiTestImpl extends java.rmi.server.UnicastRemoteObject
    implements RmiTest
    public RmiTestImpl() throws java.rmi.RemoteException
    super();
    public void callHello() throws java.rmi.RemoteException
    System.out.println ("Hello World!!!");
    RmiTestClient
    public class RmiTestClient
    public static void main(String[] args)
    System.out.println ("Connecting to: " + args[0] + " Port 1099" );
    long lTime = System.currentTimeMillis();
    try
    RmiTest c = null;
    java.rmi.registry.Registry registry = java.rmi.registry.LocateRegistry.getRegistry ( args[0], 1099 );
    if ( registry!=null )
    System.out.println ("Start lookup... " );
    c = (RmiTest)registry.lookup ( "RmiTestService" );
    System.out.println( "Lookup Done - " + (System.currentTimeMillis() - lTime)/1000 + "sec\n" );
    while( true )
    lTime = System.currentTimeMillis();
    System.out.println( "Calling Server..." );
    c.callHello();
    System.out.println( "Done Calling Server - " + (System.currentTimeMillis() - lTime)/1000 + "sec\n" );
    lTime = System.currentTimeMillis();
    Thread.sleep(1000);
    catch (Exception e)
    System.out.println( "Time for Exception - " + (System.currentTimeMillis() - lTime)/1000 + "sec\n" );
    e.printStackTrace();
    Output
    Calling Server...
    Jun 9, 2011 10:59:19 PM sun.rmi.transport.tcp.TCPChannel newConnection
    FINE: main: reuse connection
    Jun 9, 2011 10:59:19 PM sun.rmi.transport.tcp.TCPChannel free
    FINE: main: reuse connection
    Done Calling Server - 0sec
    Calling Server...
    Jun 9, 2011 10:59:20 PM sun.rmi.transport.tcp.TCPChannel newConnection
    FINE: main: reuse connection
    Jun 9, 2011 10:59:20 PM sun.rmi.transport.tcp.TCPChannel free
    FINE: main: reuse connection
    Done Calling Server - 0sec
    Calling Server...
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.tcp.TCPConnection isDead --------------->RMI Server Shutdown
    FINER: main: exception:
    java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at sun.rmi.transport.tcp.TCPConnection.isDead(TCPConnection.java:174)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:173)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110)
    at RmiTestImpl_Stub.callHello(Unknown Source)
    at RmiTestClient.main(RmiTestClient.java:23)
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.tcp.TCPConnection isDead
    FINE: main: server ping failed
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.tcp.TCPChannel free
    FINE: main: close connection
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.tcp.TCPConnection close
    FINE: main: close connection
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.tcp.TCPChannel createConnection
    FINE: main: create connection
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.tcp.TCPEndpoint newSocket
    FINER: main: opening socket to [<IP Address>:65427]
    Jun 9, 2011 10:59:21 PM sun.rmi.transport.proxy.RMIMasterSocketFactory createSocket
    FINE: main: host: <IP Address>, port: 65427
    Jun 9, 2011 10:59:24 PM sun.rmi.transport.tcp.TCPChannel$1 run
    FINER: RMI Scheduler(0): wake up
    Jun 9, 2011 10:59:24 PM sun.rmi.transport.tcp.TCPChannel$1 run
    FINER: RMI Scheduler(0): wake up
    Jun 9, 2011 10:59:39 PM sun.rmi.transport.tcp.TCPChannel$1 run
    FINER: RMI Scheduler(0): wake up
    Jun 9, 2011 10:59:39 PM sun.rmi.transport.tcp.TCPChannel freeCachedConnections
    FINER: RMI Scheduler(0): connection timeout expired
    Jun 9, 2011 10:59:39 PM sun.rmi.transport.tcp.TCPConnection close
    FINE: RMI Scheduler(0): close connection
    Time for Exception - 224sec
    java.rmi.ConnectException: Connection refused to host: <IP Address>; nested exception is:
    java.net.ConnectException: Connection timed out
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110)
    at RmiTestImpl_Stub.callHello(Unknown Source)
    at RmiTestClient.main(RmiTestClient.java:23)
    Caused by: java.net.ConnectException: Connection timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at java.net.Socket.<init>(Socket.java:375)
    at java.net.Socket.<init>(Socket.java:189)
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
    ... 5 more

    Could you check to see if the remote database is up and running before calling the remote database procedure?

  • Create orders in CRM with repetitive CRM_ORDER_MAINTAIN remote calls

    Dear All,
    Though we all must have done a lot of playing around with CRM but I am sure that a lot of us would find this as a tricky one. We know that CRM Web-UI framework at the back-end is actually a repetitive, Remote call framework to CRM APIs and SICFs.
    Now I have a requirement to create a sales order for example; I shall provide custom screens on HTML or UI5 and I have to provide a similar experience to user where in the user will add values to fields on the screen and press enter etc. Hence I will initially REMOTELY( Through custom RFC ) call CRM_ORDER_MAINTAIN and create a blank sales order( as done on crm ui framework ) and then on each subsequent enter I want to call CRM_ORDER_MAINTAIN FM with the guid I already have from first call.
    I will call ORDER_SAVE in the end only, to prevent wastage of memory. Also I want to avoid generating new GUIDS at each enter or round trip, hence want to continue with the guid/buffer values of the first call till the save.
    My doubt is in case I remotely call CRM_ORDER_MAINTAIN the second time with the GUID I got in the first call, will the system still have all those buffered values( order_header / guid ) of the first call in the second call or simply saying : will CRM_ORDER_MAINTAIN work in this case even if I pass the guid in subsequent calls?
    P.S : Please don't provide alternate solutions of saving on each enter / new guid generation on each enter.
    /Hasan

    Absolutely my dear friend, I am happy that someone is surely taking interest .
    We have long understood that a jazzy/intuitive UI is always welcomed over a slow/dull UI.
    Wasted guids is a case when you create a new transaction through MAINTAIN but then don't save it, then in the same session you again send a create command( for the same transaction ), new guids are requested from the system when you call MAINTAIN for header, items, partner links etc. and this cycle continues until you save.
    The best practice is not to waste this because a create has a lot of overheads over a change like : create new guids , create time checks etc. Hence CRM architecture is also based on a single create per transaction per session. CRM UI runs on a statefull HTTP session , which is the reason behind the buffers being retained even on repeated RFC/HTTP calls.
    /Hasan

  • WebDynpro remote call BAPI

    Hi,everybody!
    I am developing personality ESS/MSS in webdynpro.When I want show personal photo in my develop function from that stored in ECC6.So I find two BAPIs:HRMSS_RFC_EP_READ_PHOTO_URI and HR_ESS_WHO_PROG_GET_PICT_URI in ECC6.Then I call the HRMSS_RFC_EP_READ_PHOTO_URI or HR_ESS_WHO_PROG_GET_PICT_URI in webdynpro,and them can return personal photo URL.But,the returned URL is be encrypt.If I used this encrypt URL in webdynpro Image control,however the personal photo is not show.How should I do?Can I dencrypt in webdynpro?If can dencrypt in webdynpro,what should I do?
    On the side,somebody can tell me the difference of HRMSS_RFC_EP_READ_PHOTO_URI and HR_ESS_WHO_PROG_GET_PICT_URI,and each of them use.
    Thank you!

    Hi,
    check this link for webdynpro remote call
    The webdynpro/ABAP (WDA) calling RFC enabled FM of other ECC systems
    thanks,
    Sendil

  • Does WLS 6.1 optimise remote calls?

    Does WLS 6.1 optimise remote calls (remote method invocations) for EJBs that are
    collocated on the same instance/same JNDI tree?
    I've got a set of EJBs that I'd like to keep 'location independent' so I dont
    want to use local interfaces. Will WLS do some magic under the covers to avoid
    a remote network invocation (back to 127.0.0.1) when the EJBs are deployed together
    in the same instance? Do I need to switch this feature on or is it done automatically?
    Any help would be much appreciated.
    Rich

    "RajV" <[email protected]> wrote in message
    news:[email protected]..
    >
    Hi Imeshev:
    Is there any document on BEA's site that talks about the optimization?http://e-docs.bea.com/wls/docs70/ejb/reference.html#1070257
    Regards,
    Slava Imeshev
    "Slava Imeshev" <[email protected]> wrote:
    "Rich" <[email protected]> wrote in message
    news:3e0742fd$[email protected]..
    Does WLS 6.1 optimise remote calls (remote method invocations) forEJBs
    that are
    collocated on the same instance/same JNDI tree?
    I've got a set of EJBs that I'd like to keep 'location independent'so I
    dont
    want to use local interfaces. Will WLS do some magic under the coversto
    avoid
    a remote network invocation (back to 127.0.0.1) when the EJBs are
    deployed
    together
    in the same instance? Do I need to switch this feature on or is itdone
    automatically?
    weblogic performs local calls automatically for EJBs and their clients
    residing in the same application (ejbjar or ear), or, to be more precise,
    loaded by the same classloader.
    Regards,
    Slava Imeshev

  • Error in remote call of destination - when transporting process chain

    Hi all,
    I have earlier not had troubles transporting process chains from development system to test. Now I get the following error
    Error in remote call of destination BW Test
    Message no. RSPC051
    Diagnosis
    The following error occurred during the remote function call for destination BW Test:
    Name or password is incorrect (repeat logon)
    System Response
    A short dump has probably been written in the other system.
    Procedure
    Look at the short-dump overview in the other system.
    I know we have a transaction (RSTPRFC) where we give the password for the user that will do the activation of the PC after transport, but checking with the basis guy, and according to him there has not been any changes to this user. (As the user is the same as the RFC user used when setting up source systems). Running a check on the source systems from RSA1 gives green on all, so then the user should be correct...
    (there is also no short dump available in the other system)
    Does anyone have a clue on what could be done to locate the error..?
    Thanks
    Regards,
    Øystein

    Hi,
    you are both right, and I got the issue corrected. In SM59 i have an ABAP connection that when checking it, gave me a logon error. When getting this connection working (by giving another password) and then setting the same password in RSTPRFC, the transport worked.
    I'm just not sure I understand why this became an issue.
    But anyway, thanks for the input.
    Regards,
    Øystein

  • Error in remote call of destination MDX PARSER.

    Hi friends,
    creaed one req for importing appset into target system, while importing req (Operating systgem)  getting error message.
    Error in remote call of destination MDX PARSER.
    what might be reason ?
    Thanks,
    Naresh

    This is caused by RFC user being set as for a standard Client-Dependent Objects transports.
    Add the profile S_BI-WX_RFC to user(used for import request)

  • Error in remote call of destination PROCESS_CHAIN

    Dear All,
    I am getting following error in transport of prcocess chains from DEV to QA.
    Error Message :
    Error in remote call of destination PROCESS_CHAIN
    Message no. RSPC051
    Diagnosis
    The following error occurred during the remote function call for destination PROCESS_CHAIN:
    Name or password is incorrect (repeat logon)
    System Response
    A short dump has probably been written in the other system.
    Procedure
    Look at the short-dump overview in the other system.
    Please help!!
    Regards
    Rakesh

    Hi Rakesh,
             It's a BASIS problem. After transport during process chain activation, the background user tries to logon with the password and if it fails the chain will not be activated. The contents will be transported though. You can manually activate the chain. You can request the Basis guys to fix this.
    - Ram

  • Result handler of a remote call not executed till the other remote calls get result

    I have 3 remote calls in sequence.
    Say RemoteCall1, RemoteCall2 and RemoteCall3. RemoteCall1 takes the least time say  5 seconds to get results. RemoteCall2 also 5 seconds and RemoteCall3 takes 30 seconds. But the resulthandler for RemoteCall1 does not execute till the RemoteCall3 gets results from server. Any fixes to call resulthander for RemoteCall1 as soon as it gets result without waiting for RemoteCall3 results.
    by the way I am usindg Robotlegs framework and AsyncToken.

    Don’t make remoteCall3 until you get the results from remoteCall2, etc.  That’s the only way I know to guarantee order.
    Fllash queues up all remote calls until the end of the frame and sends them all at once, although a network monitor should show that the go out in the order you made the calls.
    Similarly, Flash processes all available results at the end of a frame.  Results are asynchronous, but if all three results arrive in the same frame, they will all get deserialized.  And, the server may not be guaranteed to return results in the order requested, especially if different servers are handling the individual calls.
    I’m not sure if your time to get results is gated by server response or Flash processing the results.  I suspect it is the latter.  You also have the option of changing the resultFormat to get something that doesn’t need processing like XML and process it later.

  • Can I Make 2 Remote Calls at the Same Time?

    Hi,
    Can I make 2 remote calls at the same time? For example, if I have the following remote objects:
    <mx:RemoteObject id="myRemote" destination="zend" source="MyData" showBusyCursor="true" fault="faultListener(event)">
         <mx:method name="getData" result="getDataListener(event)"/>
    </mx:RemoteObject>
    <mx:RemoteObject id="myRemote2" destination="zend" source="MyData2" showBusyCursor="true" fault="faultListener(event)">
         <mx:method name="getData2" result="getDataListener(event)"/>
    </mx:RemoteObject>
    And I call them at the same time:
    public function myFunction():void {
         myRemote.getData();
         myRemote2.getData2();
    Will it work? Will Flex "confuse" the results of one call with the results of the other call? Do I need an AsyncToken? If so, how do I use an AsyncToken in the above example?
    Thank you,
    -Laxmidi

    I do this all the time. I call one for the combobox that has a list of the people, a
    and another with that data about the people filling a datagrid. Then use the combobox to filter the datagrid.
    In your sample though mak another  result="getDataListener(event)" and name it getDataListener2, so there is a dataprovider for the first and a seperat for the second.
    If your going to the same event the second one will replace the first one.
    Hope this helps

  • Optimization of remote calls of EJB

    Hello,
    does the SAP Web AS support automatic optimization of remote calls of EJBs such that the overhead associated with remote calls is avoided iff the target EJB of the call actually runs in the same JVM (and therefore would allow a local call)? This would imply that in this case objects are passed by reference instead of by value.
    To clarify: I am aware of the fact that EJBs can be called through Local and LocalHome interfaces. But that prevents the distribution of the EJBs. What I am looking for is to always use Remote and Home interface (remote call) and let the AppServer optimize the call to be virtually local if possible.
    From what I know, JBoss and WebLogic support this feature. Is there anything like that for the Web AS. What do I need to configure?
    Any hint is greatly appreciated. Please let me know if you need additional clarification on my question. Thanks!
    With kindest regards,
    Nick.

    Hi Nick,
    The optimizations I was talking about are a proprietary internal functionality and not something application developers can rely on. That's why they are not documented in any external documentation. According to your problem, my proposal is to declare both the remote and local interfaces of the beans and use the proper one depending on whether the bean client wants to pass parameters by value or by reference.
    SAP does not have plans to dynamically (or automatically as you call it) switch from calling by value to calling by reference as this is not just a performance optimization - this breaks the functionality. If we decide to do it, we will have at least two problems:
    1. Incompatibility with the RMI specification
    2. Incompatibility with previous versions
    As I already mentioned, there are EJB components that rely on being called by value, no matter whether the client resides in the same JVM or is a remote one.
    I still cannot get your goal - both insisting on remote interfaces and expecting object-by-reference.
    Best regards,
    Viliana

Maybe you are looking for