RMI LoadBalancing and failover without an application server.

Hi All,
I have just one RMI object doing mathematical
calculations.I want to provide
1. Load Balancing and
2. Failover
for this rmi object.Few Application
servers(like weblogic) provide a wrapper over sun's
rmi to produce replica aware rmi stubs but they force
to use vendor specific (like weblogic rmi-registry)
rmi-registry, which runs within the app server.
My problem is :
I dont want to run the whole app server to just run
one rmi object ?
Is there a way using which I can provide load balancing to my single rmi object ?
Thanks in advance for the help !!
Regards
Rais

To provide load balancing the best way that I know of would be to create a front server that handles distribution of work between several back servers. This would be how they do it in app servert load balancing to distribute the load amonst several app servers like BEA Weblogic, Microsoft IIS and others. So create a "dummy" from RMI server that:
1. Queries the servers that it knows about and finds out how how many request it can handle and how many request it is currently handling (they would keep track internally).
2. Use an algorithm to determine which server to send the request to
3. Pass the request through.
What a request is would probably be best designed as an interface like IRequest so regardless of the addition of IRequest i the system the RMI back end servers are sure to be able to process it. How ever ther will always be a maximum number of request that can be handled that can only be changed by adding more resources (RMI server machines).
RMI request ---> RMIServer ---> RMIServer 1 on machine 1
---> RMIServer 2 on machine 2
---> RMIServer 2 on machine 2
You would most likely want to have a base interface that defines a Server in your system like IServer because the front RMI server from above is really nothing more that a regular instance of your server implementation except configured to be a load balancer.
Possible configuration file for the servers(server.conf):
Config for the front load balancing server would look like this:
loadBalancer=1 #Tells the server to use a LoadBalancerRequestHandlerImpl from startup
balanceServers=http://machine1:port/server1,http://machine2:port/server2,http://machine3:port/server3
All Other servers like this
loadBalancer=0 #Tells the server to use a regualar RequestHandlerImpl from startup
balanceServers=
The about RequestHandlerImpl,LoadBalancerRequestHandlerImpl are just some ficticious implementation of you Business Process stuff like login,add user in User database app. etc.
FAILOVER
By failover I assume that you are refering to if an app fails then who handles it's request that it currently has. Well you can do this qite simple by making the back end servers (request servers) knowledgable about the fron server(s)(load balancers). Then when ever (assuming a nice server) will check it's config for who it's load balancer(s) are and hand over the sessions.
Well since this is RMI and assumig that you are not doing login stuff the above is not practical. The load balance servers(s) would may be in a back groud thread(low priority) try to comm with it's servers from the balanceServers property (from the earlier config file, now in memory in some data structure) and if comm failes with a particular server then remove it from the list. THen it will no longer be eligible to recieve request.
I ama bit long winded in my explaination but I hope this helps.
I hope that

Similar Messages

  • Run Form in HTTPS or SSL mode without installing Application Server

    Hi all,
    I have installed Oracle Database 10g and Oracle Developer suite 10g in my PC (Window XP). Now I want to implement SSL or running forms in HTTPS mode instead HTTP and I don't want to install Application server.
    Any workaround is there to run Forms in HTTPS mode without installing Application server.
    Thanks,
    Omer

    Performance issue? How old is your hardware? I am running OAS 10.1.2.3 on a Server 2003 VM which basically consumes 512MB RAM and ludicrous amounts of CPU/IO.
    In any case: as said if you want to test SSL in a real life scenario then enabling SSL in OC4J is not what you want to do. In production the configuration is completely different, as there you would configure Apache to run your forms via SSL.
    What comes to my mind would be to install Apache 1.3 (this would be the version OAS 10.1.2 uses), configure mod_oc4j there and configure it with SSL. On the other hand this also isn't the configuration you have in production so this also is not exacly what you want.
    If you want to verify if your forms application will run via SSL then most certainly it will run without changing your sources. The only things you might have to change would be if you do HTTP Requests from the database to your application server via utl_http or from the client to the application server via java beans or via the java importer.
    But for tests I'd strongly recommend doing it via an application server installation, and not via developer suite.
    cheers

  • Difference between Original copy and free copy of application server 10g

    what are the difference between Original copy and free copy of application server 10g

    Hi,
    I think that there aren't free copy of Oracle AS.
    If you are a developer or a system architect, you may download Oracle AS for your test.
    Mauro

  • How to compile forms and reports 6i in Application server 1.0.2.2.2.

    Hi all,
    i used oracle forms and reports 6i with oracle database 10g in client server architecture.
    now i want to make 3 tier, client-application server version 1.0.2.2.2-origin database serversystem on 3 separate machines.
    i have installed application server version 1.0.2.2.2.
    now i have my forms and reports 6i in application server computer.
    can any one please tell me how to compile forms and reports 6i in application server computer i.e do i have to write some extra code in forms and reports 6i in order to compile in application server computer successfully.
    waiting for an early reply.
    best regards
    fahad ejaz
    email:[email protected]

    ... another question would be why not upgrade those old Forms & Reports to the newest release 10.1.2.0.2 and use the latest Application Server to run them with?
    Release 6i and 1.0.2.2 is as you know desupported.
    Regards,
    Martin

  • I want to change IP and Host Name of application serve

    our application server is on IBM AIX platform and now i want to change IP and Host Name of application server?

    Hi Again;
    For Ip please see:
    How to change the IP Address for a Release 11i Instance ? [ID 364099.1]
    How to Change IP Address in an Oracle Applications Environment [ID 553318.1]
    PS:Please mention your EBS version
    Regard
    Helios

  • Change hostname and IPaddress of Oracle Application server node

    Hello,
    We have oracle application server on windows 2003 os. Recently we changed the ip address and hostname of the computer. We have only forms and reports in the application server. Database server is on other node. I have changed the ipaddress and hostname using chgiphost.bat -mid in $ORACLE_HOME/chgip/scripts. The host name and ipaddress was change successfully. Now, when I see the status using opmnctl status, it still shows me the old host name.
    Please let me know how to update the new hostname and ipaddress.
    Thanks.
    Ali

    Hi,
    Make sure the value of the NLS_LANG environment variable is compatible with the default locale setting of the operating system.
    Check the below links :
    http://docs.oracle.com/cd/B14099_19/core.1012/b14004/iasconfig.htm#BHCJHBBB
    Postinstallation Tasks
    Thanks,
    Sharmela

  • Deploy forms and reports on Oracle Application Server 10gR3 10.1.3 .1.0 on

    hello and hi alls,
    I and two tire method , one for database and one for application server. i connect to databse ,but am i does not unserstand how deploy forms and reports on Oracle Application Server 10gR3 10.1.3 .1.0 ,pls
    help me
    Reagrd
    Mahr Haider Iqbal
    Functional & Technical Consultant

    Hi,
    Well you just need to create a directory in paste your forms there, and then make an entry in the formsweb.cfg file and forms.conf files. Likewise there are entries for the images and report.
    http://download.oracle.com/docs/cd/B28638_01//doc/frs/forms/B14032_03/basics002.htm
    regards

  • How to write a Timer application and deploy on an application server?

    Hello Everyone,
    How to write a Timer application which can be triggered according to a
    specified timetable and deploy on an application server?
    I know JMX(Java Management Extension) support Timer service, but my context
    is the service execute according to a tabletime
    user specified,not periodically. Do u know what i mean?
    Thanks in advance.
    Nov 4,2002

    Woodsonli,
    What about using a third party J2EE scheduler like Kronos
    See the following link
    http://www.indcon.com/
    Would that suit your needs?
    Chuck Nelson
    DRE
    BEA Technical Support

  • CMSDK 90420 without an Application Server??

    Hello,
    as we don't use an Application Server now, it would just be needed for the CMSDK. Unfortunatelly, this costs are not possible as we already have to license some new databases.
    So, my questions are:
    1.) Would the Java Edition of the Application Server be enough for the CMSDK?
    2.) Is it possible to use the CMSDK without using a Application Server? Which server could you recommend? And how much more complicated would a deployment and configuration be?
    Many thanks in advance.
    regards
    Bart

    OK. I found part of the answer.
    Concerning the error: "javax.xml.stream.FactoryConfigurationError: Provider com.bea.xml.stream.MXParserFactory not found" The solution is to put the sjsxp.jar file (although it does not contain the missing class) on the classpath.
    However, I am still concerned about the workaround with respect to the web.xml file. Why is that needed and what are the effects of regressing from version 2.5 to 2.4?
    Thanks again,
    Gaetan

  • Uploading and reading file from application server

    Hi
    My problem is when am uploading a file to application server it is getting stored in
    usr/sap/transyp1/prod/in   directory
    after that i want to read that file from application server to update database
    when  using below code it is showing some other directory in f4 help
    DATA: lv_hostname TYPE msxxlist-name.
    DATA: lv_server TYPE bank_dte_jc_servername.
    PARAMETERS: p_file TYPE rlgrap-filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CALL FUNCTION 'BANK_API_SYS_GET_CURR_SERVER'
    IMPORTING
    e_server = lv_server.
    lv_hostname = lv_server.
    CALL FUNCTION 'F4_DXFILENAME_4_DYNP'
    EXPORTING
    dynpfield_filename = 'P_FILE'
    dyname = sy-cprog
    dynumb = '1000'
    filetype = 'P'
    location = 'A'
    server = lv_hostname.
    experts could you please help me out
    Thanks & Regards
    Nagesh.Paruchuri

    User Transaction file. You will get all logical file path names.
    used following fucntion module to read file name and use command open dataset to read the file.
    CALL FUNCTION 'FILE_GET_NAME'
           EXPORTING
                CLIENT           = SY-MANDT
                LOGICAL_FILENAME = C_LOGICAL_FILENAME
                OPERATING_SYSTEM = SY-OPSYS
                PARAMETER_1      = P_IN_FILENAME
           IMPORTING
                FILE_NAME        = P_OUT_FILENAME
           EXCEPTIONS
                FILE_NOT_FOUND   = 1
                OTHERS           = 2.
    OPEN DATASET P_OPEN_FILE ENCODING UTF-8 IN TEXT MODE FOR OUTPUT.
      IF SY-SUBRC <> 0.
        MESSAGE E000(38) WITH 'Error in Opening file: ' V_PHY_FILENAME.
      ENDIF.

  • LSMW with CI on System i and an additional Windows Application Server 4.70

    Hi together,
    I have a really tricky problem to realize a parallel processing LSMW Workload.
    In truth it isn't a problem to the parallel processing. It is a problem, how to declare the paths to the input files.
    The LSMW is splittet in four steps:
    1. Read data
    2. Convert Data
    3. Creating Batch Input File (IDOCS)
    4. Start Direct Input Program
    The first three points are using file in the IFS.
    In the 13 points of LSMW there is point " 7 Specify Files" where I can customize paths to the real existing input and output-Files, which are stored at the IFS on System i.
    For example:
    Legacy Data          On the R/3 server (application server)                           
        Materialtexte                  /usr/sap/direct/lsmw/material/matsta_text.txt      
    This works fine.
    Now we have added a Windows Applications Server in front of the 2-Tier enviroment to have more performance to the BTC workprocesses. Now we have two servers shown in sm51. One is the central instance (CI) and the other is the application server (AS), which is working together with the CI.
    <b>Now the big bug:</b> In the LSMW transaction, you can submit the job to batch (BTC) and can't choose the server (Instance) where the batchjob should run. So, sometimes the batchjob runs on the CI (iSeries) and sometimes the batchjob runs on the application server.
    But this is the problem, because the files in the IFS are only stored at IFS on iSeries. And if the Job runs at the application-server, the files is not found, and the job end abnormal.
    Now I tried to find a good solution. So I want to declare a patch in LSMW, that the batchjob is running successful at CI and AS.
    So I tried:
    \iSeriesshareusrsapdirectlsmwmaterialmatsta_text.txt
    But this is not really working, because the SAP WP can't find this file with this path.
    There is a second possibility: Not to submit the batchjobs by pressing F9 in the transaction LSMW but making an extra job in sm36 for each job. Not very smart !
    There is a third possibility: To duplicate the import Files to each Windows Application Server. Then it is possible to submit by pressing F9,  whatever server will be used.
    So my question is:  What is the right way? There must be some poeple in the world who have done a migration with iSeries an Windows Application Server together? Or not?
    best regards,
    Carsten
    Message was edited by: C.Schulz
    path corrected:
    iSeries\share\usr\sap\direct\lsmw\material\matsta_text.t
            Carsten Schulz

    >
    \iSeriesshareusrsap/direct/lsmw/material/matsta_text.txt
    Windows doesn't understand forward slashes, you need to use backslashes all way:
    Try the following on one of the application servers:
    Start - execute
    notepad \iSeriesshareusrsapdirectlsmwmaterialmatsta_text.txt
    If you can open the file, that's the way to go.
    You'd need to check in your program, whether the job is been executed on Windows or non-windows and substitute the slashes accordingly.
    Markus

  • RMI service and failover

    Hi All,
    I am building an RMI service (implements UnicatRemoteObject). I am using Naming.rebind to bind my service - I start RMIRegistry as a standalone process. The client performs Naming.lookup to find the handle of server object.
    One of our requirements is that all our services must be highly available, with reasonable fail over.
    The questions are:
    1. How can I handle RMI registry automatic restart when it goes down ? Alternatively can I start multiple RMI Registries and register my service with all of them ?
    2. How can i restart my RMI Service when it goes down ?
    3. What about the Naming.(rebind, lookup) calls ?. Is Naming service always available ?
    We are using JBOss 4.0 as our app server. Any help is highly appreciated.
    Regards
    Vissu
    .

    Hi All,
    I am building an RMI service (implements UnicatRemoteObject). I am using Naming.rebind to bind my service - I start RMIRegistry as a standalone process. The client performs Naming.lookup to find the handle of server object.
    One of our requirements is that all our services must be highly available, with reasonable fail over.
    The questions are:
    1. How can I handle RMI registry automatic restart when it goes down ? Alternatively can I start multiple RMI Registries and register my service with all of them ?
    2. How can i restart my RMI Service when it goes down ?
    3. What about the Naming.(rebind, lookup) calls ?. Is Naming service always available ?
    We are using JBOss 4.0 as our app server. Any help is highly appreciated.
    Regards
    Vissu
    .

  • Unicode 3.0 and HKSCS - Oracle DB, Application server

    I would like to verify which oversion of Oracle - 9i / 10g (both database level and application server - to run Oracle forms) supports Unicode 3.0 (and above) and HKSCS-2001
    Please provide me any specific links regarding the subject.
    Thx

    Check out this link to the ISO 10646 information center database, it tracks the Oracle software and their HKSCS certification status.

  • Discoverer viewer without oracle application server

    Hi,
    has anybody heard, how to use the discoverer viewer with
    another application server (than oracle).
    since j2ee is a standard there schould be a way.
    our administrators will not look after another
    application server, just to get some reports.
    so i have to get it running on a non-oracle-application server (or worst case: choose another reporting tool)
    thanks,
    Udo

    Discoverer is available and ships as a component of Oracle Application Server. Oracle Application Server via Oracle HTTP Server provides a proxy capability to support other web servers such as Netscape iPlanet and Microsoft IIS. The proxy capability will enable client applications to directly route requests to their native web server and these then get routed to Oracle Application Server and the Oracle HTTP Server. For detailed information on support for these web servers please refer to Oracle Application Server documentation.
    Regards
    Discoverer Technical Team

  • JDeveloper And Sun's J2EE Application Server

    Hi,
    As mensioned in JDev31 release notes, it supports Tomcat3.0 app server. How can I connect tomcat and remotely debug EJBs?
    Thanks,
    Reza

    Hi,
    This question may be realted to this discussion. I trying to find the compatibility with iPlanet Application Server 6.0. The Jbuilder section doesn't talk about it. Talked to a rep at 800-ORACLE1 and he said it 100% portable. Can any body confirm this. Any help is appreciated.
    :)balu

Maybe you are looking for

  • Force Quit Didn't Work

    I just recently got a brand new Macbook Pro with retina display in January. I was playing games online when suddenly the game froze.  I tried moving the cursor but the cursor was no where to be found.The sounds to the game still worked perfectly and

  • Offline mode problem nokia N73

    Hello, I have a problem with my Nokia N73, after having passed in Offline mode, it is impossible to change it. I carried out a hard reset by *#7370#, the phone posts general mode, but when i wants to connect to the network it posts phone in Offilne m

  • How to configure Wake On LAN to work through the Internet?

    I'm using an iOS app to wake my desktop computer. It works perfectly fine when I'm within my WiFi range. However, when I'm out of my Linksys E3000 access point, it no longer works over the Internet. So, if anyone can point me to documentation that ha

  • Adding attachment via XML calls

    I am trying to associate an attachment to a punch list item via XML in C#. Whenever I try to insert an Attachment object, I am getting a generic 'Error' message back. The XML is properly formed and I am populating it with values in the same locations

  • Setting up 4 images 90 degrees

    I have been racking my brain trying to set up 4 images at 90 degrees to each other on the' floor' so I can rotate an active camera around them to look like an x pattern. Can anyone help me figure this out? Thanks-working in Motion 4. Sandy V.