|Deployment||Token API||Active naming||Trusted|
The Active Naming of PageBox for Java follows the same principles as the Active Naming for .NET. Active Naming is used in PageBox constellations involving:
The purpose of Active Naming is to select the most convenient location.
The Active Naming uses the token implementation of PageBox for Java.
Active Naming serves the same need as load balancers.
Users connect to a load balancer that can act like a set of virtual servers. The load balancer distributes requests to actual servers defined in a pool of application servers.
Load balancers can be software solutions like BIG-IP of F5 Networks that you can also find on some Dell computers or hardware solutions like the Cisco Content Services Switch (CSS). Load balancers have different functions:
Load balancers can distribute load between thousands of applications servers. Without PageBox it may even be difficult to distribute applications on so large numbers of servers. Therefore it may be useful to use load balancers in combination with PageBox constellations.
However because load balancers are commercial (and rather expensive) products they cannot be a prerequisite for PageBox use. We also had the opportunity to play with the CSS and we got the feeling that today they have another - cultural rather than technical - drawback. First sophisticated setting require writing a significant amount of scripts. Second people are specialized. Very few have an hollistic view of an information system. A load balancer is considered as a network device and managed by people that usually configure firewalls and routers. A sophisticated setting of a load balancer requires a good understanding of application protocols that developers, operations and network engineers cooperate and notify changes to each others in due time.
Therefore we designed the Active Naming as a pure, highly customizable application solution with automated updates: for instance when a new application clone is added it is automatically added to the pool. A future direction for Active Naming could be an automated update of load balancers.
A PageBox-enabled Web application declares entry points that can be pages or services. Clients can balance their requests between entry points.
An entry point is defined by:
A PageBox-enabled Web application uses a method of the PageBox API to declare, update and remove its entry points.
When an application has declared its entry points the hosting PageBox registers on the ring and updates a special message, which is a HashMap whose key is the archive name of the application and value another HashMap whose key is the entry name and value an object of ActiveEntry class defined like this:
When it acts as a client a PageBox-enabled Web application implements servlets, JSPs and services that parse user input, create imperative and nice if match objects and uses a getCandidate method of the PageBox API to get the most convenient URL for entry points.
Especially when the services pointed by the entry points return XML messages the proxy can syndicate responses. A syndication servlet:
The user enters data needed for routing, for instance her GPS coordinates or the location of the data she wants to use on a first form. A servlet processes these data, selects the most suitable page instance and returns a page like this:
On load the page automatically posts on the entry page with needed parameters.
The Web service client first calls a proxy Web service to get the URL of the chosen service instance and then call this service instance.