The main aim is to separate the extraction execution and the management of the extraction servers. The other aim is to facilitate access to the extraction service.
Two involved services are:
- A set of XML-RPC servers (currently running on lxvm0341 and voatlas18 at CERN). The role of those servers is to work, to execute extraction (or other tasks) using standard Atlas Python environment.
- A J2EE/Tomcat server running on centrally managed service in CERN. The role of that server is to be a unique front-end to worker servers. It knows about all running XML-RPC servers (on different ports, machines or even sites), it knows their characteristics. It can start new server as needed. At the same time, this server checks pre-conditions and post-conditions of the extraction tasks, accumulates statistics and handles errors.
|
|
- Athenaeum server can be hosted on the Tomcat/J2EE container (accessed over http) or can exist as a standalone executable. All access to Extraction servers goes via that Athenaeum server. Command line access has two modes: over http or via direct call to Athenaeum executable. Both J2EE server and command line run the same Athenaeum code (they contain the same Athenaeum.jar library+executable).
- The Athenaeum server processes the input, creates a simple Python script (Extract.py) which then sends to one of XML-RPC servers for execution. That script calls the extraction service on the XML-RPC Server (tagExtrcat.py). In other words: the Athenaeum server creates an extraction job to be executed on an XML-RPC extraction server.
- Athenaeum server can be deployed on any Tomcat container. It is distributed as a single file Athenaeum.war.
- Athenaeum server containes other auxiliary methods, like GetFile.jsp.
- Clients communicate only via http, which makes the configuration simpler and the service less vulnerable (there is no need to open additional holes in firewalls).
|
Athenaeum Architecture
|
other Athenaeum posts, ATLAS TAG User Services Overview |
No comments:
Post a Comment