| Summary | This article discusses the role of the locator, node daemon and naming service in a general Orbix environment. |
|---|---|
| Article Number | 29997 |
| Environment | Orbix All Platforms C /Java 6.3.X |
| Question/Problem Description | Many Orbix installations have a locator, node daemon, and naming service. How are these used by a client to connect to a server? How can an Orbix client find the connection details for a new Orbix server? Why are the locator, node daemon and naming service used? What is a general process flow for a client to connect to a server? |
| Clarifying Information | In a general, CORBA services must be scalable and should should support failover. It should be easy to deploy Orbix servers to new hosts without having to reconfigure Orbix. A client should be able to find a new server as soon as the new server is deployed and without an administrator needing to take any action. |
| Error Message | |
| Defect/Enhancement Number | |
| Cause | |
| Resolution | Herein we discuss a general case of a client Orbix process connecting to an Orbix server. When a server starts it advertises its location to the Orbix locator. When a client wishes to connect to a service, it can ask the locator for the reference to a server which provides a service. After receiving the server reference, the client will make direct connections to the server to process. The client will not need to perform a look up for subsequent operations. The client uses an IOR reference to find the locator and ask the locator for the server reference. IOR's must be generated. This is a minus point for this approach. A client can also use a corbaloc to request a service. A corbaloc is a humanly readable and editable way to specify where a server reference can be obtained. Corbalocs are much easier to use than IOR's but they still require some hardcoded server information. A second approach to connect to a server is for the client to ask a Naming Service for a reference to the server. Servers can advertise themselves to the Naming Service using a specific name. This is a simpler method to use in order to connect to a server. The client will just need to look up the server using a well known name. Using just the Locator and Naming Services without a Node Daemon means it is necessary to manually start all servers before that they can be used by a client. This is a drawback as it requires a lot of administration. The solution to this is to deploy a Node Daemon and register a server process with this. When a request is received by the locator for a service, it checks if such a service exists. If no such service exists then it will ask the Node Daemon to start such a service on a host which has been registered as being able to contain such a service. The Node Daemon can also monitor servers, restart servers if they stop, and automatically start servers on start up. This article is only meant as an introduction to the Orbix locator, node daemon and naming service. Please read the Orbix documentation for more information on these services. It is also possible to create Orbix servers which listen on a fixed host and port. Orbix clients could then connect directly to this server. This solution is not easily scalable though. An administrator would need to take action to configure the client to connect to the server. Generally Orbix servers are not deployed to fixed hosts and ports. |
| Workaround | |
| Notes | Related Documentation: Orbix Documentation:
Orbix Administrator's Guide, "Managing a Location Domain"
Orbix Administrator's Guide, "Managing the Naming Service" |
| Attachment |
| Created date: | 22 March 2012 |
|---|---|
| Last Modified: | 13 February 2013 |
| Last Published: | 18 May 2012 |
| First Published date: | 18 May 2012 |
#Orbix
#KnowledgeDocs




