1 / 18

FreeHEP 2000

FreeHEP 2000. CHEP – February 2000 Tony Johnson – SLAC Saul Youssef - SCRI. Contents. What is FreeHEP (2000) Goals Implementation Status. What is FreeHEP?. FreeHEP is a database of HEP software Conceived in 1991 at SSC “HEPLib” workshop Desire to break “free” from CERNLib

cate
Download Presentation

FreeHEP 2000

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FreeHEP 2000 CHEP – February 2000 Tony Johnson – SLAC Saul Youssef - SCRI

  2. Contents • What is FreeHEP (2000) • Goals • Implementation • Status

  3. What is FreeHEP? • FreeHEP is a database of HEP software • Conceived in 1991 at SSC “HEPLib” workshop • Desire to break “free” from CERNLib • Implemented in 1992 using: • Newly invented WWW • SPIRES database at SLAC • Anonymous FTP server at FSU • One of the first databases interfaced to the web • The first to allow incremental searching

  4. FreeHEP circa 1993 • FreeHEP grew fast • Contained almost 200 programs • About 1/3 programs are MC generators. • System of “Editors” for each subject area • Good for getting things started • Editors actively solicited entries in their subject area

  5. FreeHEP circa 1998 • First WWW database becomes • Most obsolete WWW database • Moved from VM to Unix but maintained original architecture (CGI+Rexx+SPIRES) • Entries have not remained up-to-date • System of Editors proved to be too inertial

  6. Why FreeHEP 2000? • New era of small reusable “open-source” software projects makes motivation for FreeHEP stronger than ever. • Need to be able to find out what others have done • New strategy to make database “self-service” • Distributed management of database entries • Anyone in HEP community can create and maintain entries • Update the database to use latest web technologies • Interest areas for collaboration/discussion

  7. Goals • New entries can be created using web form • Each entry has one or more maintainers • Maintainer can update information via web form • Each entry must be updated or checked each year • Automatic e-mail notification • Automatic checking of URL links • Stale entries marked as “inactive” • Import/Export to other databases • Allow mass import from other databases • e.g. Fermitools – imported entries marked read-only • Allow mirroring of entire database

  8. Implementation • Implemented as a “Web Application” • Use Model-View-Controller architecture • Pure Java, portable to many different platforms/architectures • “Object” database for data storage • XML for import/export

  9. Model-View-Controller Architecture Database View Templates JSP FreeHEP Servlet Browser Response JSP JSP

  10. Database Architecture • Wanted to use SQL database (Access) • Planned to use JDBC 2 to access/update db • With Updateable RowSets • Allows db rows to be updated/added/deleted without needing to generate explicit SQL. • Reference implementations • Don’t exist in JDK 1.2 • Broken in JDK 1.3 • Tried several commercial implementation • All had bugs which made them hard to use

  11. Simple Object Database • Eventually abandoned JDBC • Simple homegrown “object” database • Uses Java serialization + soft pointers • Optimized for Web Use • Many readers – multi threaded • Single write lock • Isolated transaction + commit/rollback

  12. Database Layout

  13. Field Description Name Name of the program or package Version Most recent version number Title Short (one line) description Authors List of authors Maintainers Record maintainer(s) Abstract Longer description of the package. Keywords Keywords (used for searching) Sections Section(s) under which this entry will be listed. License Commercial, GPL, etc. Requirements Compilers, OS, etc required to use package. Cross-References Cross-references to other entries in the database. Home Page Link to home page for package Documentation Link to documentation page for package Download Link to download page for package Creation Date Date when the record was created Last Modified Date Date when the record was last updated or checked for accuracy. Active Flag Flags if this entry is active (see text) Program Database

  14. XML Import/Export • Simple format for input/output • Can be set up for automatic (nightly) import/export • Imported records marked as read-only • Ideally would use common format with other commercial/shareware databases

  15. XML Example

  16. Java Interest Area • First interest area is set up • Web page with links to HEP Java Projects • Mailing list • CVS repository • Anyone can get write access • Sandbox where anyone can put code and get feedback • Hopefully will help to combine projects to form basic HEP-wide Java utility libraries

  17. Status • Loaded new database with contents of old FreeHEP database • Testing editing features now • Debugging authorization scheme • Will send e-mail to all maintainers of original programs • Should be ready for new entries by mid-March • First interest area ready now • http://java.freehep.org

  18. Conclusion • Remember this address: • www.freehep.org • Check back in April

More Related