Download 1 Introduction - LHCb Computing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Simulation for LHCb and
Integrated Control Environment (DIRAC)
Job Monitoring and Control (Prototype & Discussion)
LHCB Technical Note
Issue:
Revision:
Draft
1
Reference:
Created:
Last modified:
GridPP-LHCb
14 November 2002
03 May 2017
Prepared By:
Gennady. G. Kuznetsov
Editor: Glenn N. Patrick
Simulation for LHCb and Integrated Control Environment (DIRAC)
Job Monitoring and Control (Prototype & Discussion)
LHCB Technical Note
Issue:
Draft
Table of Contents
Reference:
Revision:
Last modified:
GridPP-LHCb
1
03 May 2017
Abstract
DIRAC is the name given to the LHCb distributed Monte Carlo production environment and its monitoring and control
system.
This document is based on the following documents: “Job Configuration, Data Production, Bookkeeping” and “Data
Management”. It describes requirements for job monitoring and control services, gives a description and analysis of
currently implemented system and continues discussion about implementation of a new prototype of monitoring and
control service with provision for a smooth transition from a batch based submission system to a fully Grid enabled,
GANGA based, platform independent distributed application.
Document Status Sheet
Table 1 Document Status Sheet
1. Document Title: [Project Name Qualification] User Requirements Document
2. Document Reference Number: [Document Reference Number]
3. Issue
Draft
page i
4. Revision
1
5. Date
6. Reason for change
26 November 2002
First version
Simulation for LHCb and Integrated Control Environment (DIRAC)
Job Monitoring and Control (Prototype & Discussion)
LHCB Technical Note
Issue:
Draft
Table of Contents
Reference:
Revision:
Last modified:
GridPP-LHCb
1
03 May 2017
Table of Contents
1
INTRODUCTION .................................................................................................................................................... 1
1.1
1.2
1.3
PURPOSE OF THE DOCUMENT ............................................................................................................................... 1
DEFINITIONS, ACRONYMS AND ABBREVIATIONS .................................................................................................. 1
REFERENCES ........................................................................................................................................................ 2
2
OVERVIEW OF THE MONTE-CARLO SIMULATION ................................................................................... 3
3
BRIEF EXPLANATION OF REQUIREMENTS.................................................................................................. 4
3.1
3.2
3.3
3.4
4
REVIEW OF THE CURRENT PVSSII BASED CONTROL SYSTEM AND WP3 MIDDLEWARE ............ 8
4.1
4.2
4.3
4.4
4.5
5
GATEWAY SIDE .................................................................................................................................................... 4
SERVER SIDE ........................................................................................................................................................ 7
CLIENT SIDE (DIRAC DESKTOP) ......................................................................................................................... 7
CLIENT SIDE (JOB) ............................................................................................................................................... 7
PVSSII INTRODUCTION. ...................................................................................................................................... 8
LHCB SPECIFIC LAYER (DIM) ............................................................................................................................. 9
PVSS AND DIM TOGETHER AS AN INTEGRATED CONTROL ENVIRONMENT. ...................................................... 10
R-GMA: A GRID INFORMATION AND MONITORING SYSTEM (WP3) ................................................................. 11
JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE) .............................................................................................. 13
CONCLUSION. ...................................................................................................................................................... 15
page ii
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Introduction
List of Figures
Figure 1. Communication restrictions between client, server, batch front end and grid
gateway. ................................................................................................................... 5
Figure 2. Message transport and object extraction. ......................................................... 6
Figure 3. PVSS Managers overview (Picture taken from ItCoBe Cern website
http://itcobe.web.cern.ch). ......................................................................................... 8
Figure 4. DIM service (picture taken from DIM web site http://dim.web.cern.ch). ............. 9
Figure 5. Structure of DIRAC Monitoring and Control System ....................................... 10
Figure 6. Grid Monitoring Architecture (picture taken from “Publication” section at
http://hepunx.rl.ac.uk/edg/wp3/ “Time, Information and the Grid”). .......................... 11
Figure 7. More detailed architecture of R-GMA. ............................................................. 12
Figure 8. Relationship between Table (defined in Global Schema) and several
Producers. .............................................................................................................. 12
page iii
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Introduction
1 Introduction
1.1 Purpose of the document
The purpose of this document is to:
Explain new requirements for further development of the existing monitoring and control system.
Provide an overview of existing system.
Discuss range of possible solutions.
Design architecture of the prototype of monitoring and control application.
1.2 Definitions, acronyms and abbreviations
1.2.1 Definitions
Architecture
The software architecture of a program or computing system is the structure or structures of the system, which
comprises software components, the externally visible properties of those components, and the relationships
among them.
Framework
A framework represents a collection of classes that provide a set of services for a particular domain; a framework exports a number of individual classes and mechanisms that clients can use or adapt. A framework realizes the architecture.
Component
A software component is a re-usable piece of software that has a well-specified public interface and it implements a limited functionality. Software components achieve reuse by following standard conventions.
Server (Hardware)
A computer provides resources during a considerable period of time to run services available for others (computer, program, users) within network.
Server (Software)
An application running on one or more servers and provides services available for others clients within network.
Client (Software)
A program uses services provided by one or more servers.
page 1
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Introduction
User
A person uses applications. In this document we are not making ANY difference between different types of
users. For example between production manager and physicist (see Data management document)
Grid Gateway
Grid enabled computer with Grid gateway installed and activated. It allows Grid job submission for local accounts.
Batch frond end
A computer configured to submit jobs from local account to the batch system.
Gateway
A computer, which is a GRID gateway or batch frond end.
Node
A computer which is part of a batch farm.
Step, Job, Production, Workflow
See “Data Management” document.
Job Wrapper
A program submitted with the job, provides additional capability for monitoring and executes logic defined in
the workflow.
Message proxy server
Program rerouting messages received from node to external collection point. It implements Point To Point
(PTP) protocol.
1.2.2 Acronyms
CERN
RAL
SSH
UML
WWW
European Organization for Nuclear Research
Rutherford Appleton Laboratory
Secure Shell
Unified Modelling Language
World Wide Web
1.3 References
2

Data Management: Job Configuration, Bookkeeping, Data Production, LHCb Technical Note,
LHCb COMP 02-nn, 22 May 2002

Gaudi Framework - http://proj-gaudi.web.cern.ch/proj-gaudi/

R-GMA: A GRID Information and Monitoring system. http://hepunx.rl.ac.uk/edg/wp3/

Interfacing GAUDI with GRID: GANGA - http://ganga.web.cern.ch/ganga
page 2
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Overview of the Monte-Carlo simulation
2 Overview of the Monte-Carlo simulation
The LHCb Monte Carlo simulation system is an application designed to simulate particle collisions in the LHCb detector. The main purpose of the simulations, at the current stage, is to provide guidance for the hardware and software design of detector subsystems. The process of simulation includes several steps: event generation, particle tracking, simulation of data acquisition and event reconstruction. Due to the statistical nature of the process, there is a requirement to
produce many millions of events. In order to comply with the production demand, it is essential to use a distributed
computer environment. The architecture of this distributed application can be easily simplified due to the event independency. It gives a freedom to escape from the needs of any process communication during the event calculation, and
to postpone publication of the results until a reasonable number of events are processed.
The process described above can be split into several steps and multiplied by number of available processors.
1. Job preparation.
2. Job submission.
3. Job execution and monitoring.
4. Collecting processed data and finalising
page 3
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Brief explanation of requirements
3 Brief explanation of requirements
3.1 Gateway side
3.1.1 Job preparation
This step requires: definition of the logic for the calculation, preparation of packages and applications to be used, extraction and preparation of all data needed during calculation process (see workflow definition “Data Management”
document). At this time any type of communication with any services is allowed and can be performed by client or
server. The result of this step should be a shell script with data bundled into file of archive. Use of any external persistent storage for keeping data specifically required by this single submitted job must be discouraged. Only data produced from previous steps or generated during the experiment can be taken from persistent remote storage.
3.1.2 Job submission
Job submission can be split into four steps: login into a computer that is the batch front end or GRID gateway, checking
installed software, if required installation of software using software cache storage, transmission of prepared shell script
and associated bundle, submission of script into execution queue.
Direct login from client into batch front end or GRID gateway could be performed via SSH using password or/and secure key (RSA). Indirect login also can be performed via dedicated server using common account (for example “lhcbprod”) but it must require login on server. Here it is strictly prohibited to use ANY kind of “backdoor” between server/client and batch front end (custom, RPC, RMI, …), only SSH, SSL protocols are allowed. The communication between client and server can be based on any protocol (see Figure 1).
After establishing a connection, but before any submission, the presence of the required software and availability of
network resources has to be checked. It will result in the submission of a Pilot application. Due to the fact that jobs are
grouped into productions (see Data Management document), the software check needs to be done once per production.
4
page 4
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Brief explanation of requirements
Client
Server
Grid Gateway
Batch Front End
Batch Front End
SSH Protocol
Any Protocol
Figure 1. Communication restrictions between client, server, batch front end and grid gateway.
At this point, we have to make the following assumptions:
For the batch system:
Gateway has a network connection with the outside world.
Nodes may not have access to the outside world but have full access to gateway resources.
Local network file system exists, and it is common for all nodes and gateway.
Local file space is assigned for a particular job, and it may not be accessible from gateway.
Local network space is available for writing and spit into three areas: for software installation, for
job submission, for data collection.
For EDG Grid:
Grid gateway has a network connection with the outside world.
Local file space is available for preparing jobs for submission.
Grid nodes have only grid services available and do not have access to any other network resources.
(Due to the incomplete status of the GRID project this statement is not strictly assumed.)
For Globus Grid:
Requirements for the Globus tools are not clear at this moment, and it could be a mixture of the two
previous examples.
page 5
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Brief explanation of requirements
If software installation is required, it can be installed from external resources or from the distribution existing on a client computer. The last option allows user to submit jobs based on locally prepared packages.
It is worth noting that the file space cache area can be cleaned at any time and it is very helpful to provide a time stamp
during the check procedure for each package.
Jobs are prepared in the form of a shell script and archived bundle transferred using the SFTP protocol and submitted
into different queues using a submission command. There is no specific requirement for production to be executed on
one single queue, but one production cannot be split between several gateways.
3.1.3 Job execution, control and monitoring
The submitted shell script (job) executes a job wrapper. The job wrapper is a program providing execution of applications according to a workflow specification and encapsulates additional functions required for large-scale data production. For example, all grid or specific LHCb services can be available to the application via communication with the
job wrapper. In this case, applications can be developed and executed independently from any specific infrastructure.
Ganga is the LHCb candidate for interfacing grid services.
M1
Batch
Front End
M2
M3
Message
Proxy
Server
LHCb
Server
O3
O2
O1
NDS
M1 Batch nodes
Job
M2
Mn – message
On – object
M3
Job
Job
Figure 2. Message transport and object extraction.
The monitoring task collects information about the internal status of objects inside a running job. Information on each
stage of calculation can be requested and collected by the job wrapper and sent to a collection point in the form of messages. Generally, a server program implementing Point To Point (PTP) protocol will be the collection point. For sites
with tight network restrictions, a message proxy will used to redirect messages via the gateway (Figure 2).
The original objects will be extracted from all received messages and stored in a Naming and Directory Service on the
server.
6
page 6
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Brief explanation of requirements
In our case, job control is limited by one action only – “kill job”. This command has to be performed by the client via
the batch frond end or via the grid user interface. No other routes, like issuing remote command to the job wrapper, are
considered.
3.1.4 Collecting processed data and finalising
At the final stage, data files have to be moved to the desired destination. Due to the wide area network limitations, this
process cannot be carried out by the batch node. It has to be done by a dedicated server inside the domain. On the grid
node, data will be transferred into the storage element.
When data are transferred, the bookkeeping database has to be updated. It is not clear at this moment what is the best
solution, but obviously it can be done by sending XML objects, to the server in the form of messages.
3.2 Server side
The server program provides two types of service.
The first type is a remote login gateway. It keeps a collection of secure keys and allows remote login for the verified
users into gateways registered for LHCb production. The service is not essential and mainly designed for the production
manager.
The second type is Message, Directory and Naming services. These services will provide Point-to-Point messaging domain with the hierarchical directory service for storing received messages. Publish – subscribe messaging is not required but can be easily implemented.
The clients (SLICE Desktop) will be connecting with the server using RMI over IIOP technology.
3.3 Client side (DIRAC Desktop)
The client desktop will be an interactive front end for GRID and LHCb services. It MUST be platform and OS independent. It also has to be built from independent modules. Due to lack of time and human resources, the Java platform
seems to be the best solution. Java Beans or Netbeans are good candidates.
3.4 Client side (Job)
The job wrapper is prepared inside the DIRAC Desktop by the Workflow Editor (“Data Management” document). At
this moment, this is assumed to be a Java program.
page 7
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
4 Review of the current PVSSII based control system and WP3
middleware
4.1 PVSSII introduction.
PVSS stands for Process Visualization and Control System. It is an industrial two-platform (Linux and Windows with
some restrictions, server designed for Linux, graphical designing tools for Windows.) SCADA product from the Austrian company ETM. It is designed for local control and can be run in a distributed manner. It is device oriented with a
flexible data point concept. It also has advanced scripting capabilities and flexible API allowing access to all features of
PVSS from an external application.
Because PVSS is designed to control real time equipment it has a very advanced object orientated data point concept.
Each data point can be a structure of more simple data points with their own commands and status. Very robust provision for alert and range handling is implemented. The option of archiving process and data point status exists but not as
part of data point interface. The data point can be linked with a graphical object representing its status.
UIM
UIM
Ctrl
DM
UIM
API
D
Processing
Layer
Layer
Communication and
Memory Layer
EV
D
User Interface
D
Driver Layer
Figure 3. PVSS Managers overview (Picture taken from ItCoBe Cern website http://itcobe.web.cern.ch).
Each PVSS project must have one and only one Event Manager (EV). Its event-messaging system is based on the
TCP/IP protocol. It requires establishing and keeping connection during monitoring and is obviously designed for Local
Area Networks. The Event Manager administers data points, administers user authorisation, contain and administers
current process image, receives and evaluates messages, distributes messages to other messages.
8
page 8
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
The Event Manager is directly linked with the Data Manager (DM), which provides a high-speed database for archiving
process status.
The Control Manager (Ctrl) provides an Interpreter with large scope of functions, complex processing of data points
and multithreading capability.
The API Manager (API) provides a C++ class library, integration of existing software and integration of PVSS functions.
User Interface Manager (UIM) provides graphics visualisation of messages received by EV, forwarding of user entries
to EV, animation of graphic components, User Interface Builder and Run-time module for process visualisation.
4.2 LHCb specific layer (DIM)
In the LHCb case of distributed Monte Carlo simulation, the Driver Layer (D) does not exist. It has been replaced by
DIM – Distributed Information Management system http://dim.web.cern.ch, which is a communication system for distributed / mixed environments.
It is based on the client/server paradigm. (Figure 4)
Figure 4. DIM service (picture taken from DIM web site http://dim.web.cern.ch).
The basic concept of the DIM approach is the concept of "service". Servers provide services to clients. A service is
normally a set of data (of any type or size) and it is recognized by a name - "named services". The client normally requests services once (at startup) and they are subsequently automatically updated by the server either at regular time
intervals or whenever the conditions change.
The client updating mechanism can be of two types, either by executing a callback routine or by updating a client buffer
with the new set of data, or both. In fact, this last type works as if the clients maintain a copy of the server's data in
cache, the cache coherence being assured by the server.
In order to allow dynamic discovery of the Server by a client a Name Server was introduced. Servers "publish" their
services by registering them with the Name Server (normally once, at startup). Clients "subscribe" to services by asking
the name server which server provides the service and then contacting the server directly, providing the type of service
and the type of update as parameters. The name server keeps an up-to-date directory of all the servers and services
available in the system.
page 9
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
A special type of service “DimCommand” is implemented. It allows execution of commands by the client on the server
computer.
4.3 PVSS and DIM together as an Integrated Control Environment.
In the LHCb project, PVSS and DIM have been used to implement control and monitoring functions. The core of PVSS
has been used as an undistributed application where the driver layer is replaced by the DIM service. This schema extended PVSS to a Wide Area Network Application and provided the remote user with a PVSS remote user interface.
The server itself runs at CERN on the lbnts2.cern.ch Linux box. It consists of a PVSSII server, DIM Name Server and
DIM Client (See Figure 5)
CERN lbnts2 Server
Remote Linux Cluster
Name
Server
Publishing
Client
PVSS
Farm
Front-End
Nodes
Client
Client
Data
Server
Client
“mcsend”
Client
“mcsend”
“mcserver”
“mcsend”
Commands
Send status “mcsend”
User Computer
PVSS
EV
User
Interface
Figure 5. Structure of DIRAC Monitoring and Control System
As the DIM service was written before the introduction of hierarchical data points in PVSS, the DIM messaging system
adopts a flat data structure, where each variable is a separate service without any provision for message filtering. Messages have not been implemented as an object but as a set of methods belonging to Client and Server and therefore cannot be nested, modified or stored.
No security mechanism is available. All Unix commands can be issued via the DIM service including the launch of
remote Xterm sessions.
10
page 10
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
4.4 R-GMA: A GRID information and monitoring system (WP3)
The Grid Monitoring Architecture as shown in Figure 6 consists of three components: consumers, producers and a directory service. Producers register themselves with the registry and describe the type and structure of information they
want to make available to the Grid. Consumers consult the registry to find a suitable source of information and once
this information is known the consumer connects directly to the Producer and receives data at once or have data
streamed to him.
Producer
subscribe
Registry
Consumer
lookup
Figure 6. Grid Monitoring Architecture (picture taken from “Publication” section at
http://hepunx.rl.ac.uk/edg/wp3/ “Time, Information and the Grid”).
In fact, this simplified “official” description does not explain anything at all. Obviously, the Producer and Consumer
can have different lifetimes and therefore require persistent storage. A more precise description follows (See Figure 7)

All clients communicate with the server where a “Tomcat” servlet runner executes several servlets and
MySQL database is installed and configured.

The biggest and independent unit of information is a Database Table. The table must be defined via a Schema
servlet and registered via the Registry servlet. It is implemented via the SQL CREATE TABLE command. It
must be done once before any client will produce or request the data. (See Figure 8)

The second and smallest unit of information is a Database Table Row. The Producer client calls the Producer
servlet and adds or updates a row in the table via SQL INSERT command.

The Consumer client defines the required SQL Table via the Registry servlet and requests information in the
form of a query expressed as an SQL SELECT statement.
There are APIs developed for Java, C and C++ languages. It supports three types of column: VARCHAR, INT and
REAL. Currently the streaming option is not implemented.
page 11
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
Client: Application
Server
Producer
Servlet
Producer
API
Registry
Servlet
My SQL
Schema
Servlet
Table
Client: Monitor
Consumer
API
Consumer
Servlet
Figure 7. More detailed architecture of R-GMA.
Producer 1
Table_Name
Value
Value
Value
Time
Value
Value
Value
Time
Producer 2
Value
Value
Value
Time
Value
Value
Value
Time
Producer 3
Value
Value
Value
Time
Value
Value
Value
Time
Column1
Column2
Column3
Time stamp
Value
Value
Value
Time
Value
Value
Value
Time
Value
Value
Value
Time
Value
Value
Value
Time
Value
Value
Value
Time
Value
Value
Value
Time
Figure 8. Relationship between Table (defined in Global Schema) and several Producers.
12
page 12
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
4.5 Java 2 Platform, Enterprise Edition (J2EE)
The Java 2 Platform, Enterprise Edition (J2EE) defines the standard for developing multitier client - server applications.
J2EE simplifies applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming.
The J2EE, takes advantage of many features of the Java 2 Platform, Standard Edition, such as Java portability, JDBC
API for database access, CORBA technology for interaction with existing enterprise resources, and a security model
that protects data even in internet applications. Building on this base, J2EE adds full support for Enterprise JavaBeans
components, Java Servlets API, JavaServer Pages and XML technology.
4.5.1 JDBC API
JDBC technology is an API that lets you access virtually any tabular data source from the Java programming language.
It provides cross-DBMS connectivity to a wide range of SQL databases, and now, with the new JDBC API, it also provides access to other tabular data sources, such as spreadsheets or flat files
4.5.2 Java Servlets
Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality
of a Web server. A servlet can almost be thought of as an applet that runs on the server side.
Servlets are the Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations
of CGI programs.
Servlets have access to the entire family of Java APIs, including the JDBCTM API to access enterprise databases.
Servlets can also access a library of HTTP-specific calls and receive all the benefits of the mature Java language, including portability, performance, reusability, and crash protection.
4.5.3 Common Object Request Broker Architecture (CORBA)
CORBA (Common Object Request Broker Architecture) technology is the open standard for heterogeneous computing.
CORBA complements the Java platform by providing a distributed objects framework, services to support that framework, and interoperability with other languages. CORBA standards provide the proven, interoperable infrastructure to
Java 2 Platform, Enterprise Edition. CORBA technology is an integral part of the Java 2 platform through Enterprise
JavaBeans, RMI over IIOP, Java IDL, and Java Transaction Service.
RMI over IIOP is part of the Java 2 Platform, Enterprise Edition and Java 2 Platform, Standard Edition version 1.3.
RMI over IIOP provides the ability to write CORBA applications for the Java platform without learning CORBA Interface Definition Language (IDL). To work with CORBA applications in other languages, IDL can be generated from
Java programming language interfaces. RMI over IIOP includes the full functionality of a CORBA Object Request
Broker.
page 13
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Review of the current PVSSII based control system and WP3 middleware
4.5.4 Enterprise JavaBeans (EJB)
Enterprise JavaBeans is part of the Java 2 Platform, Enterprise Edition. The EJB server-side component model simplifies development of middleware components that are transactional, scalable, and portable. EJB servers reduce the complexity of developing middleware by providing automatic support for middleware services such as transactions, security, database connectivity, and more.
EJBs use the RMI/IDL CORBA subset for their distributed object model, and use the Java Transaction Service (JTS)
for their distributed transaction model. When Enterprise JavaBeans are implemented using the RMI-IIOP protocol for
EJB interoperability in heterogeneous server environments, the standard mapping of the EJB architecture to CORBA
enables the following interoperability:

A client using an ORB from one vendor can access enterprise beans residing on an EJB server provided by another vendor.

Enterprise beans in one EJB server can access enterprise beans in another EJB server.

A non-Java platform CORBA client can access any enterprise bean object.
4.5.5 Java XML Pack
SUN Java XML Pack brings together several of the key industry standards for XML -- such as SAX, DOM, XSLT,
SOAP, UDDI, ebXML, and WSDL. There ensure Java developers have a quick and easy development cycle for integration of XML functionality and standards support their applications.
The Java API for XML Messaging (JAXM) enables developers to send and receive XML messages based on the Simple
Object Access Protocol (SOAP) 1.1 with attachments specification and contains profiles for ebXML TR&P and SOAPRP.
The Java API for XML Processing (JAXP) enables developers to process XML documents by providing support for the
XML processing standards SAX, DOM, and XSLT.
The Java API for XML Registries (JAXR) provides a uniform and standard Java API for interacting with XML registries such as UDDI and ebXML Registry/Repository.
The Java API for XML-based RPC (JAX-RPC) enables Java technology developers to build Web applications and Web
services incorporating XML-based remote procedure call (RPC) functionality according to the Simple Object Access
Protocol (SOAP) 1.1 specification. By using JAX-RPC, Java developers can rapidly achieve web services interoperability based on widely adopted standards and protocols.
The SOAP with Attachments API for Java (SAAJ) enables developers to produce and consume messages conforming to
the SOAP 1.1 specification and SOAP with Attachments note.
Java Architecture for XML Binding (JAXB) provides an API and tools that automate the mapping between XML documents and Java objects.
14
page 14
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)Reference:
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Conclusion.
5 Conclusion.
From the point of view of application monitoring, R-GMA technology is the least useful approach, probably because it
has been designed for the GRID monitoring rather than for application monitoring. The difference is that application
monitoring does not require ANY stable and long living infrastructure. It requires short-lived and very flexible persistent storage.
The R-GMA information system is based on a dedicated server with a database (MySQL), where the functionality of
the SQL database is reduced by the Servlet used as a gateway for data access. Database tables have to be predefined
and support only 3 types of object (String, Real and Integer). There is no planned provision for any object-orientated
container or hierarchical storage or for any type of component model or for any graphical user interface. A simple and
standard XML-RPC interface would be much more flexible (it has been use intensively in the LHCb project for communication with databases).
The current system, based on PVSS and DIM, has potentially much better functionality. The new version of the PVSS
system supports very complex object storage and provides a GIU for client visualization. It also supports two operating
systems on I386 platform: Windows and Linux. Unfortunately, it is a commercial product and requires licenses for
server and client. From the developer point of view, nothing from the existing system can be used. DIM must be redeveloped completely to support object encapsulation and Point-to-Point messaging protocol. Security also needs to be
introduced.
It worth noting, that none of the above systems fully support modern software development technology. Object orientated technology is completely really in use (R-GMA and DIM have classes but does not have any support for objects,
PVSS has objects but it just has a scripting language for the GUI). Neither component programming model nor distributed method nor object invocation are mentioned.
From this perspective, the best available tool is Java 2 SDK Enterprise Edition. It provides all the functionality mentioned above plus an enormous library of freely available code. The comparison table below shows the differences between all three available options.
Functionality
R-GMA
PVSS+DIM
J2EE
Table based storage
Yes
Yes
Yes
Hierarchical persistent storage
No
Yes
Dynamic persistent storage
No
Yes, no objects delivery, no
PTP protocol.
No
Data base type
JDBC driver
Internal
Any
Message service
No
Needs to be developed
Yes
Remote GUI
No
Yes
Yes
License
Not required
Required
Not required
Security
GRID (not ready?)
Not used
Yes
Cross platform
Yes
I386 Win/Linux
Yes
Distributed method invocation
No
No
Yes, based on CORBA
Component Model
No
No
Yes, server and client
Multi-language support
C, C++, Java
C++, C
Any
Yes
page 15
GridPP-L
Simulation for LHCb and Integrated Control Environment (DIRAC)Job Monitoring and Control (Prototype & Discussion)
Reference:
GridPP-LHCb
LHCB Technical Note
Revision:
1
Issue:
Draft
Last modified:
03 May 2017
Conclusion.
16
page 16