Some basic questions about rmi registry  context  "bind" and "lookup"

We have more processing to do than can be accomplished with a single computer. To solve the problem I've implemented a distributed computing solution using RMI. (The first time I saw RMI was about 2 weeks ago, so please bear with me!)
The implementation is a proof of concept not a fully fleshed out system. I have one "Workunit Distributor" computer and any number of "Data Processor" computers all on the same lan segment. "Workunit Distributor" and "Data Processor" computers are both RMI client and server to each other. The "Data Processor" computers are given the ip address and name of the "Data Distributor" on the commandline when they start. They communicate their willingness to receive and process a workunit to the ""Workunit Distributor" via a RMI call. Work units are sent to available "DataProcessors" and results are eventually returned to the "WorkunitDistributor" (minutes or hours later). The model program works quite well, and appears to be capable of doing the processing we need to get done.
But now that it seems viable, I've been asked to make it a little more scalable, flexible and self configuring. In particular, instead of one "Workunit Distributor", any number of "Workunit Distributors" should be allowed to show up or disappear from the lan at any time and the system should continue to function. I've worked out a good scheme for how this can be done, but I have a couple of questions about the RMI registry (registries?). I'm trying to keep from implementing some functionality that may already be available as a library or subsystem.
With my current model design, each computer binds to its own registry with a unique name. For instance:
CRDataProcessorImpl crdpi = new CRDataProcessorImpl(svr);
Context crDataProcessingContext = new InitialContext();
crDataProcessingContext.bind("rmi:"+hostName, crdpi);
Currently the "Data Processors" get the info they need for a Context lookup() of the one and only "Workunit Distributor" from the commandline. And the info the "Workunit Distributor" needs to do a Context lookup() of a "DataProcessor" is passed to it from each "DataProcessor" via a RMI call.
But in the newer (yet to be implemented) scheme where any and all "Workunit Distributors" show up and disappear whenever they feel like, the naming bootstrapping scheme described above won't work.
I can imagine a few ways of solving this problem. For instance, having "Workunit Distributors" multicast their contact information on the lan and have a worker thread on each "Data Processor" keep track of the naming information that was multicast. Another alternative (more organized, but more complex) might be to have a dedicated host with a "well known" address and port that "Workunit Distributors" and "Data Processors" could all go to, to register or look up at an application level. Sort of a "domain name service" for RMI. But both these schemes look like a lot of work to implement , debug and maintain.
The BEST thing would be if there was one plain vanilla RMI registry that was usable by all RMI enabled computers instead of having each computer have its own local name registry. In volume 2 of the Core Java2 book it says that every registry must be local. I'm only hoping there's been progress since the book was published and now a central rmi registry is available.
If you have any ideas about this I'd like to hear what you know.
Thanks in advance for any advice.
Lenny Wintfeld
ps - I don't believe web services, as full featured as it is, is a useful alternative. I'm moving 100's (in the future possibly 1000's) of megabytes back an forth for processing.

The local bind/rebind/unbind restriction is still there and it will always be there.
I would look at
(a) RMI/IIOP, where you use COSNaming as a registry, which doesn't have that registriction, and which also has location-independent object identifiers
(b) Jini.

Similar Messages

  • Some basic question about SCM Installation

    Hi Folks,
    Could you please advice me about some basic questions about SCM and its installation -
    Q1. Do I need to have an R/3 System to be able to practice OR demo the SCM system?
    Q2. If, yes, which version of SCM is compatible with the ECC 5.0?
    Q3. What are the basic requirements to install SCM (version compatible with ECC 5.0) and ECC on a oracle db and windows OS?
    Q4. Does SCM have APO and BI as an inbuilt functionality OR does the user need to purchase these as an Add-On?
    I know these are some basic questions, but these will help me give me a direction.
    With best wishes,
    Krishna

    Hello Krishna -
    Q1. Do I need to have an R/3 System to be able to practice OR demo the SCM system?
    ---> There are various Modules in SCM Like APO (Sub Modules  DP (stand alone), SNP Needs Master data from R/3 and has to pass on transactional Data to R/3, PPDS same as SNP, GATP same as SNP), ICH needs Data from R/3 to work with. Core Interface (CIF) connects R/3 to APO for transferring data.
    Q2. If, yes, which version of SCM is compatible with the ECC 5.0?
    -->For thorough understanding explore the following links
    http://help.sap.com/saphelp_scm41/helpdata/en/9b/954d3baf755b67e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_scm50/helpdata/en/9b/954d3baf755b67e10000000a114084/frameset.htm
    Q3. What are the basic requirements to install SCM (version compatible with ECC 5.0) and ECC on a oracle db and windows OS?
    -->Refer Above
    Q4. Does SCM have APO and BI as an inbuilt functionality OR does the user need to purchase these as an Add-On?
    --> APO comes with a small BI inbuilt functionality. you can only perform certain functions using that BI.
    Hope this helps.
    Regards,
    Suresh Garg

  • Some basic questions about DAC

    Hello
    I am just starting to use DAC now and I have some basic questions about DAC..
    1: How many different kinda image tables are there, what are they used for?
    2: In order to check which ETL mapping with in the same execution plan is taking a long time, what to do? I mean is there a table that stores such info?
    3: How to determine which ETL task to run after and which after?
    4: Is subject area always map to the Informatica workflow folder? Or what should subject area be?
    Please shed some lights on it, deeply appreciate!
    Thanks

    Hi,
    I have problems to understand you question but will do a try:
    From a logical point of view objects can be only serialized reasonabely when they have a state of it's own which can be reestablished at a later point in time and space without further dependencies.
    F.E. a "serialized file" would NOT make much sense cause it depends heavily on the state of the underlying file system.
    You can't expected that is can be deserialized at a later point of time (physical file refered may not longer exists) or on another machine, where the serialized object was transported to.
    Technical - at zero approach - it's more or less trivial. Simply implement Serializable and all non static, non transient fields of your object will be serialized automatically.
    But there is a couple of pitfalls, you should study documentations regarding this feature.
    Hope this helps
    Martin

  • Here's a very basic question about 2 TB external drives and Time Machine.

    Here's a very basic question about 2 TB external drives and Time Machine.
    Ihave a Mac Pro with a .75 TB and 1 TB drive.  It also has a 1 TB 2ndinternal drive.  My current external drive is too small so I'll begetting a 1.5 TB or 2 TB drive.
    Obviouslythe new larger 2 TB drive will backup everything on the Mac Prointernal drive with Time Machine.  But there will be 1 TB of space leftover going to waste.
    ShouldI partition the external drive so that the TM portion will be 1 TB andthe use the remaining extra partition for additional file backups withCarbon Copy?
    Thanks for any insights.
    I tried searching around on the new Apple discussion forum, but I find it much harder to use than the old forum I used to use.

    The problem with terabyte drives is that that a 3 TB is about as big as you can get without going into RAID territory. Ideally, a Time Machine drive should be 3 times as large as all the drives you are backing up. So, if you have 2.75 TB of internal storage, you should have 8 TB of Time Machine space.
    Of course, that is "should". If your TB drives are mostly empty, then you can get away with something 3 times the size of your used disk space. Just remember that you are pushing it. Linc is right about Time Machine needing space to work.
    It is unlikely that you have regular churn on 2.75 TB of disk. I suggest identifying which drives and folders have the most activity and excluding those drives and directories that don't change much. It would be better to archive the data that doesn't change often and keep it out of Time Machine. Then you may be able to get away with a 2 TB Time Machine drive.

  • Some basic questions about serialization

    Hi,
    I have some basic questions on serialization.
    1. What are the basic criteria to make an object serializable(except that it must implement serializable ?) I mean that objects of some class inherently cannot be serialized so any object must have some features which makes it serializable/non serializable.
    2. I know it makes no sense to serialize a socket because it is fixed only by specifying ip and port at both ends, and is valid only when the network connection remains valid. Still in the context of my previous question, I would like to know why a socket cannot be serialized.

    Hi,
    I have problems to understand you question but will do a try:
    From a logical point of view objects can be only serialized reasonabely when they have a state of it's own which can be reestablished at a later point in time and space without further dependencies.
    F.E. a "serialized file" would NOT make much sense cause it depends heavily on the state of the underlying file system.
    You can't expected that is can be deserialized at a later point of time (physical file refered may not longer exists) or on another machine, where the serialized object was transported to.
    Technical - at zero approach - it's more or less trivial. Simply implement Serializable and all non static, non transient fields of your object will be serialized automatically.
    But there is a couple of pitfalls, you should study documentations regarding this feature.
    Hope this helps
    Martin

  • Some basic questions about foriegn key , and relationships.

    Hi
    Thank you for reading my post
    I read some documents about foreugn key and tables relation ships.
    but i still can not understnad some stuff.
    1-when we have a foreign key , we have two tables that we want to relate them together
    in a way that one of ? table columns forced to be a value from ?? table column.
    what is name of those two tables , i saw , child-parent , ..... which confuse me.
    can some one please tell me correct name of those two tables ?
    2-some times we need some kind of master details relation like :
    one-to-many : i this case MANY table will have a column to point a record in ONE table , can this relation be a foreign key relation ?
    3-we can achieve many-to-many relation only by using a helper table to host both tables primary keys in a record to relate them together.
    can you point me to some resources that help me to find answers to this questions ?
    or explain them to me ?
    thank you for your time.

    These are critical database basics that you need to understand. I would seriously recommend getting some study in, because proper relational database design relies on the basic principle of data and relationships and a process called normalization.
    In reality, you only really need one gigantic table to host data. It would include everything you would want to know about something - let's take a sales order for example. You would have to record the customer's name, address, etc. along with every item they ordered, etc. You would have a HUGE table full of data that appeared over and over and over again. This is bad design for two basic reasons: it is difficult to query, and it is very easy to have minor mistakes like capitalization or alternate spellings that prevent things from matching up properly. For example, let's say Bob orders 40 widgets and 40 digits. In our hypothetical table, we could put it in as Bob - 40 widgets and Robert - 40 digits. See how confusing this can get even in a simple example? And let's say you wanted to correct all of Robert's orders to say Bob and you found out there were 40 orders from "Robert" How would you know which ones to change?
    The process of normalization helps to reduce the chance for these types of errors in addition to creating a good basis for indexes. You normalize the data by creating sets of parent/child tables with a "key" value to match them. In our hypothetical situation, you could create a table for orders and a table for customers. In the customers table you give all the detail for the customer in one place, and you assign each customer a unique number or ID. In the orders table we add the customer ID (NOT the name) and we ensure that we are getting the customer we want, in addition to saving a lot of space and eliminating redundancy. In our example, the customers table is the "parent" table and the orders table is the "child" table. The child table references the unique entries in the parent table via that id. That reference is referred to as a foreign key. The foreign key in the child table points back to the original and complete record in the parent table and eliminates the redundancy of keeping all that extra data for every order. Foreign keys in child tables always refer to a primary/unique key in the parent field.
    That help?

  • Some basic questions about Java ME

    Hi,
    I am new in the world of Java ME, I started to read about the technologies around it and for this reason I have some questions.
    There are 2 platforms CDC and CLDC and on top of these platforms there are some profiles, for example Personal Profile for CDC or MIDP2 for CLDC. On the next level (on top of these profiles) are some JSRs which are treated as optional packages.
    I saw that the CLDC emulator from SUN - WTK contains for example JSR 179 for Location based services and JSR 226 - SVG rendering. But the counterpart for CDC doesn't contain them.
    How can these JSRs be added to the CDC stack? are there some implementations of these JSRs as jars or something like this? or on the JCP site are only the specifications of this JSRs and if someone wants to add these JSRs to an emulator (virtual machine) he should implement these specifications?
    I hope that I have explained properly my "puzzle" and that someone will answer to my questions.
    Thank you

    1.    String[] numString = {"1","2","345678","9","abc"};
        int[] numInt = new int[numString.length];
        for (int x=0; x<numString.length; x++) {
          try {
         numInt[x] = Integer.parseInt(numString[x]);
          } catch (NumberFormatException nfe) {
         System.out.println(nfe.getMessage());
            numInt[x] = Integer.MIN_VALUE;
        }2. Best for what?

  • Some basic Questions about Solaris

    Hi...
    I�ve further got some problems ...
    1. Can anyone tell me where i can get a list with
    Commands for the SOLARIS 8 system ???
    For example: I would like to know how to start
    the Xwindow from the bash ...
    (like you can start it with startx in SuSE)
    Need to know the basic commands.
    C ya

    I recommend http://sun.drydog.com/faq, which deals
    with a good deal of questions concerning Solaris on
    Intel PC. Ther, you will find hints and links which
    enable you to go further. http://docs.sun.com is
    an important site for all of Solaris documentation.
    While I can't tell you how to keep X inactive and
    restart it on demand (maybe lowering initdefault?),
    you may choose a text session from the login
    screen. X is deactivated, then, and you are
    working on a full screen ascii console. Unfortionately,
    as far as I know, there aren't virtual consoles like
    under SCO, Interactive, or Linux. But you may
    obtain and start the GPL screen program, which
    provides virtual multi-terminal function on ascii
    screens (even for modem-based connections).
    HTH
    regards, e.sanio

  • Some basic questions about Arch.

    Hey guys, I am a newbie so bear with me please
    1) I have fairly well supported hardware and don't use any fancy software. I keep hearing that rolling release causes dramas. Realistically, how often should I expect difficulties to happen?
    2) How do you compare the variety of Arch repositories to that of Debian systems? What are the differences between pacman and aptitude today?
    3) How does the speed and efficiency of a basic Arch system compare to Ubuntu on minimal install (I am not talking about the bloated out of the box version, I am talking about build from the ground up minimal CD).
    4) Last but not least.. I never used KDE. How do you guys survive without Gnome Do? Is there some good alternative?
    Thank you.

    corsakh wrote:Hey guys, I am a newbie so bear with me please
    Hi, we're all newbies !
    corsakh wrote:2) How do you compare the variety of Arch repositories to that of Debian systems? What are the differences between pacman and aptitude today?
    Variety is well sufficient because :
    corsakh wrote:I [...] don't use any fancy software.
    corsakh wrote:3) How does the speed and efficiency of a basic Arch system compare to Ubuntu on minimal install (I am not talking about the bloated out of the box version, I am talking about build from the ground up minimal CD).
    I'd say it's better, because Arch is the best !
    corsakh wrote:4) Last but not least.. I never used KDE. How do you guys survive without Gnome Do? Is there some good alternative?
    I hate KDE, Arch isn't tied up to KDE, in fact it isn't tied up to anything expect maybe Pacman. If you like Gnome, well, install gnome !
    Personnally I enjoy Awesome as WM and I don't have a Desktop Environnement.

  • Some basic questions about JAAS

    I am confused about the general use of the JAAS mechanism in Java. Hopefully someone can answer these hopefully not too naive questions:
    1. Does it ever make sense to use java.net.Authenticator instead of JAAS?
    2. JAAS allows the definition of an assumedly text based Configuration file that instructs the LoginContext how to stack various login mechanisms on top of each other. Wouldn't this be easily hacked by the user, where one would only need to edit this known file and remove the authentication requirement(s)?
    3. I am confused about the utility of the Subject.doAs... priviledged security actions. Specifically, does this absolutely prevent a hacker from running the program in a debugger and running certain bytecode? I have read the tutorial section on what Subject.doAs... provides, but does this stop a hacker from obtaining the PrivilegedAction object (or code inside it) and somehow executing that code in a debugger or in a custom jar?
    Thank You,
    Eric

    I'll follow up to my own post with two more questions:
    4. The app I'm targeting here is a JavaWebStart client, that connects to a remote server app. Assuming I use JAAS on the client, do I also use it on the server to re-check the client-login (to prevent a hacker from circumventing the client-side JAAS authentication checks)?
    5. If I use JAAS for authorization in a JavaWebStart app, but I need the JNLP to include the following:
    <security>
    <all-permissions/>
    </security>
    Does this completely circumvent any authorization checks I need to do using JAAS, seeing as I'm already granting all-permissions to the Java security module?

  • Some basic questions about an applet

    Hi all,
    I am planning to make a project in JAVA and I have some problems, which I need to solve. I am not a total beginner in JAVA but I have never made an applet. So I need to know if it is possible to make an upload of files from clients computers to servers and the second problem is if there will be some problems with printing services and applets?
    Thank you all for your helpfull replies.

    Read all about Applets' capabilities and (perhaps even more) incapabilities here:
    http://java.sun.com/docs/books/tutorial/deployment/applet/index.html

  • Some basic questions about StreamWork's API

    hi,
    i am a student start to develop a simple Streamwork client on Android. i have some questions:
    - how the get all the favorite activities from server? i can get the activities which are open or close. but i have no idea to get the favorite one. i tried add "favorite=1" or "favorite=true" in the URL but i seems not to work.
    - when i create a new activity, i want to get the list of templates that defined by Streamwork. but in the APIs, i can only find the one which gets the templates defined by user.
    - how to delete a activity? maybe i can't find that API on the website. and further, after i delete an activity by my laptop, and i can still use the android client the get the deleted one. if i set "status=all" in the http request. why?
    thank you very much
    CHEN

    Hi all,
    I am currently developing a similar project and ran into the same problems concerning the favorite option. It seems that it does not work as pointed out in the API documentation and that filter parameter is just ignored, all activities are shown. Can you reproduce this?
    Best regards,
    Michael

  • Very urgent! some basic questions about discoveror

    1. if i made some changes to a workbook (e.g: change some conditions) on discoveror desktop,will them take effect at the same time on discoveror plus???
    2. how and where can I make control for one user to access some workbooks and another user to access some other workbooks both on desktop and plus? (workbook accessibility control)
    Thanks in advance,

    Hi,
    if i made some changes to a workbook (e.g: change some conditions) on discoveror desktop,will them take effect at the same time on discoveror plus???When you save the report using the desktop the workbook in changed for all users including the Plus,
    But in order to see the change in the Plus you will have to re-login to Plus.
    This is since the workbook is saved to memory of the user's PC.
    how and where can I make control for one user to access some workbooks and another user to access some other workbooks both on desktop and plus? (workbook accessibility control)Only the owner of the workbook can do that.
    This is done in the desktop as well as in Plus.
    In desktop go to the tool bar "File -> Manage Workbooks -> Sharing" then choose the workbook and share it with whom ever you like.
    In Plus you can find it in the tool bar "File -> Manage Workbooks" then click on any of the reports and select the "Share" from the right.
    You have to make sure that the shared user have access to the BA that the workbook is based on, and that the user have the privilege to use the desktop/Plus (this is done in the Administrator tool)
    Tamir

  • Some basic questions about jsf

    for example, a login page with two input filed(user name and password)and a "submit" button.the code is:
    <h:outputText value="username:" />
    <h:inputText id="username" size="12"   value="#{userBean.userName}" required="true" />
    <h:outputText value="password:" />
    <h:inputSecret size="12" id="pwd" value="#{userBean.pwd}" required="true" />
    <h:commandButton id="submit" value="submit" action="#{userBean.login}" />UserBean's source code:
    public class UserBean {
         String userName;
         String pwd;
         String uid;
          * @return the uid
         public String getUid() {
              return uid;
          * @param uid the uid to set
         public void setUid(String uid) {
              this.uid = uid;
         public String getPwd() {
              return pwd;
         public void setPwd(String pwd) {
              this.pwd = pwd;
         public String getUserName() {
              return userName;
         public void setUserName(String userName) {
              this.userName = userName;
         public UserBean(){
         public String login() {
              if("Jordan".equals(userName))return "login_error";
              return "home";
        private static Log logger = LogFactory.getLog(UserBean.class);
    }in faces-config.xml i define:
         <navigation-rule>
              <from-view-id>/login.jsp</from-view-id>
              <navigation-case>
                   <from-outcome>home</from-outcome>
                   <to-view-id>/index.jsp</to-view-id>
              </navigation-case>
         </navigation-rule>
         <navigation-rule>
              <from-view-id>/login.jsp</from-view-id>
              <navigation-case>
                   <from-outcome>login_error</from-outcome>
                   <to-view-id>/login_error.jsp</to-view-id>
              </navigation-case>
         </navigation-rule>now i have a question:
    if a input a incorrect username or password, the page will direct to login_error.jsp.then i click "back" (ie) to login.jsp page,put correct username and password ,click the "submit" button,then the page doesn't direct to index.jsp ,it just clear the two fields(username and password).and then i put the correct username and password again, this time, the page direct to index.jsp.
    why? why i hava to input twice?

    How are you clicking on back? Are you using the back button on your browser or a back button on your page?
         <navigation-rule>
              <from-view-id>/userLogin.jsp</from-view-id>
              <navigation-case>
                   <from-outcome>success</from-outcome>
                   <to-view-id>/index.jsp</to-view-id>
              </navigation-case>
              <navigation-case>
                   <from-outcome>failure</from-outcome>
                   <to-view-id>/loginError.jsp</to-view-id>
              </navigation-case>
              <navigation-case>
                   <from-outcome>cancel</from-outcome>
                   <to-view-id>/userLogin.jsp</to-view-id>
              </navigation-case>
         </navigation-rule>
         <navigation-rule>
              <from-view-id>/loginError.jsp</from-view-id>
              <navigation-case>
                   <from-outcome>back</from-outcome>
                   <to-view-id>/userLogin.jsp</to-view-id>
              </navigation-case>
         </navigation-rule>
    You might want to try putting a back button on your error page. Have a look at the navigation rule above

  • Some basic questions about Reports' chart capabilities

    Hi,
    I'm currently surveying my options for a web based application that we are developing that requires reports with charts in HTML, PDF and Excel format.
    As the application is being built around 9i DB and AS it would be great to take advantage of the functionality already available to us, but I wanted to clarify the following to determine if I need to also use any external packages to support my needs:
    (1) With Oracle Reports, when charts are embedded in a PDF are they generated as bitmap or vector diagrams?
    (2) I've searched around the OTN and couldn't find a complete list of the charts available within Reports - is such a list available anywhere? Are there any samples anywhere so I can get a feel of the "aesthetic" qualities of the output of Reports?
    (3) Do charts support any image map or DHTML features (ie. mouseover to get textual display of numeric values).
    (4) Does Reports support an Excel export capability. I don't mean a simple CSV dump of data - I mean a fully formatted Excel spreadsheet with charts, etc.
    Thanks in advance for any pointers.
    cheers... adam.

    Hi,
    (1) With Oracle Reports, when charts are embedded in a PDF are they generated as bitmap or vector diagrams? With Oracle Reports 9i, Charts are generated as gif files during the generation of PDF files, but the gif files are deleted after the PDF is generated, they are embedded in the PDF file.
    (2) I've searched around the OTN and couldn't find a complete list of the charts available within Reports - is such a list available anywhere? Are there any
    samples anywhere so I can get a feel of the "aesthetic" qualities of the output of Reports? Oracle reports 9i is integrated with bi bean, the complete list of the charts (bar, area, line, pie, ...) is available on Bibean doc. You can take a look at http://otn.oracle.com/products/bib/content.html.
    (3) Do charts support any image map or DHTML features (ie. mouseover to get textual display of numeric values). With Oracle Reports 9i, charts support image map and hyperlink. But you need to specify when you create the chart.
    (4) Does Reports support an Excel export capability. I don't mean a simple CSV dump of data - I mean a fully formatted Excel spreadsheet with charts, etc. You can't put report with charts in Excel spreadsheet.

Maybe you are looking for

  • Dynamic Item Renderer

    Hello everyone, I used Catalyst to design my interaction and navigation and then use Flash Builder to add all my logic. Everything works as expected but i have one issue regarding my item renderer data list. Here is my issue : i set up an itemRendere

  • CS4 InDesign Server hangs

    I've ran into a problem where the my CS4 InDesign Server hangs.  I'm adding pages dynamically using the JAVA API.  Basically I go through all the content, check to see if I've reached the ParagraphStyle that indicates the "end" of the document.  If n

  • My computer is unresponsive after I login

    My computer is unresponsive after I log in and get to desktop, have to frequently go to task manager to get it going and sometimes that doesn't work. If I manage to get a window open I have to close it sometimes before I can open another. Running 8.1

  • Scanning in editable text mode

    When I scan a document using the editable text mode, the previewed copy comes up correct.  When I save the copy to my desktop or document file, the copy become ureadable because the lettering changes.  Rich text sends the document to Microsoft Word w

  • Missing MixRadio App

    In order to fix some problem I've decided to remove and reinstall MixRadio. After removing the app I've found hat the app is not available anymore on the Store. I've selected "my app" in the store, I've found the tab "not installed app", I've tried t