Use of Java in the CERN Accelerator Environment

Use of Java in the CERN Accelerator Environment

CERN European Laboratory for Particle Physics CERN Note 99-001 (CO) Use of Java in the CERN Accelerator Environment A Technical White Paper on Java Document prepared by: R. Billen, E.L.Casado, M.Vanden Eynden On behalf of the Java-GUILS project team: M. Alvarez, R. Billen, E. L. Casado, J. Courthial, R. Hoh, R. Martini, P. Nouchi, G. Smith, M. Vanden Eynden, C.Watson March 1999 Table of Contents Table of Contents......................................................................................................................................2 1. Preface..................................................................................................................................................3 1.1 Readership ......................................................................................................................................3 1.2 Objectives.......................................................................................................................................3 1.3 Java-GUILS Project Background.....................................................................................................3 1.4. Acronyms, Abbreviations and Definitions.......................................................................................3 2. Object Oriented Technology and Java Training..................................................................................4 2.1 Courses .....................................................................................................................................4 2.2 Books........................................................................................................................................5 3. Java Development Environment ............................................................................................................5 3.1 Platforms ........................................................................................................................................5 3.2 Java Development Kit .....................................................................................................................5 3.3 Editor..............................................................................................................................................6 3.4 Development and Runtime Environment..........................................................................................6 3.5 Java Classes ....................................................................................................................................6 3.6 User Interface Building Tools..........................................................................................................7 4. Object Oriented Analysis and Design ....................................................................................................7 4.1 Need for It.......................................................................................................................................7 4.2 Unified Modelling Language...........................................................................................................7 4.3 Modelling Tools..............................................................................................................................8 5. What Protocols for Building Distributed Java Applications? ..................................................................8 5.1 Communication Architecture...........................................................................................................8 5.2 Database Access..............................................................................................................................9 6. General Issues.....................................................................................................................................10 6.1 Central Repository and Support .....................................................................................................10 6.2 Communication.............................................................................................................................10 6.3 Documentation..............................................................................................................................10 7. Java Critical Issues..............................................................................................................................11 7.1 Java Availability............................................................................................................................11 7.2 Java Performance ..........................................................................................................................11 7.3 Java Portability..............................................................................................................................12 8. Pros and Cons of Java .........................................................................................................................12 8.1 The Advantages of the Java Language ...........................................................................................12 8.2 The Drawbacks of the Java Language............................................................................................13 9. Conclusions and Recommendations.....................................................................................................13 References..............................................................................................................................................14 1. Preface 1.1 Readership This White Paper compiles the experience gained during the Java-GUILS Project [ref 1] with the Java technology in the CERN technical accelerator environment. The target audience is technical and project managers and developers who are considering to implement Java technology in their software environment. 1.2 Objectives The objectives of this document are: x To explain the benefits and drawbacks of Java with respect to "traditional" software languages. x To give guidelines to define and set up the correct Java Development environment. x To elaborate the need for object oriented modelling methods and tools. x To discuss some commercial products and standards. x To demystify the myths of Java such as portability and performance. x To provide a basis for making the Java decision. x To provide common sense tips when using Java. However, the information provided in this document is helpful but not sufficient to decide on the use of Java technology in future software projects. Such decision but will depend on the specific requirements and constraints of each project, as well as on the evolution of Java. 1.3 Java-GUILS Project Background The purpose of the Java-GUILS project was to provide a generic, platform independent tool to visualise and analyse CERN operational data. This tool would replace the existing Graphical User Interface for the Logging System (GUILS) written in Pro*C and X/Motif. For platform independence and technology investment reasons, the project was to be developed with the Java technology. The Java-GUILS project was intended as pilot project for the use of the Java technology in the CERN technical accelerator environment. Therefore, this White Paper on Java was an important deliverable of the project. The project was officially launched in February 1998 and was foreseen to end in December 1998. The project team was composed of eight members from the CERN divisions SL, PS, ST and LHC, led by R. Billen (SL/OP). At the end of 1998, the estimated manpower resources put into the project are two man-years and only marginal financial resources. At that time, a working Java-GUILS tools was available on the PC platform as a beta release. Work still needs to be done in order to satisfy all user requirements, solve the existing software bugs, improve speed performance, endorse user friendliness and make the tool operationally available. Nevertheless, as a pilot project, the result is extremely encouraging. 1.4. Acronyms, Abbreviations and Definitions API Application Programming Interface AWT Abstract Window Toolkit C C programming language C++ C++ object oriented programming language CERN European Laboratory for Particle Physics CORBA Common Object Request Broker Architecture CPU Central Processing Unit FTP File Transfer Protocol GUI Graphical User Interface GUILS Graphical User Interface for Logging Systems HP-UX Hewlett-Packard Operating System HTML HyperText Markup Language IT Information Technology Java-GUILS Java Graphical User Interface for Logging Systems JDBC Java Database Connectivity protocol JDE Java Development Environment JDK Java Development Kit JFC Java Foundation Classes JIT Just-in-time compiler JRE Java Runtime Environment JVM Java Virtual Machine OMT Object Modelling Technique OO Object Oriented OOA Object Oriented Analysis OOD Object Oriented Design PCR Prevessin Control Room RDBMS Relational Database Management System RMI Remote Method Invocation RPC Remote Procedure Call SASD Structured Analysis Structured Design SQL Structured Query Language SQLJ Structured Query Language Java UML Unified Modelling Language URL Uniform Resource Locator 2. Object Oriented Technology and Java Training In order to start developing Java software, it is vital to be acquainted with the Object Oriented (OO) paradigm. Especially for software developers with a "traditional" education in languages such as C and methods such as Structured Analysis & Structured Design (SASD) [ref 2], a mental leap needs

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us