Mercury Lab Management Software

Mercury is a system that helps management, staff, and members efficiently use laboratory resources. Mercury emphasizes accounting by utilizing a double entry accounting system: lab activities are recorded and debited/credited to the appropriate accounts in real-time. It is a Management Information System or more appropriately a Member Information System. The software is named Mercury after the Roman god that acted as a messenger (often depicted holding a purse). The components of Mercury are a relational database management system (Ingres), daemons, and clients. It is a dual, three tier application (see the diagram below). The client program that runs in the laboratory is called MercuryClient. It connects to a session management daemon, Mercury Server. There is also a client system that runs in a browser, MercuryWeb. Most of the logic or business rules for the system are implemented in the database as stored procedures. This helps insure data integrity and improves speed. It also minimizes duplication of procedures in the middle tier and clients. MercuryClient is a Java application that members use in the laboratory. When the application is run, a sign-in window appears. Members enter their login name, password, and select a project associated with their account. If members are qualified to use the lab, the full MercuryClient screen appears (lab charges commence). At this point they are connected to the Mercury database through Mercury Server and have access to equipment status, qualifications, materials, viewing who is in the lab, and more. The main task for members once logged in, will be to select an equipment row and enable the equipment. Several rules are checked at this point including presence, equipment and facility qualifications, and problem reports. MercuryClient maintains a continual session with the server and holds session information such as location, lab time, and idle time. MercuryWeb is a web application that provides lab members and staff access to the Mercury database system through any web browser. MercuryWeb is written in Java and uses SQL queries and stored procedures to access and update data in the Ingres RDMS. MercuryWeb also allows creating various reports in PDF, Word, Excel, and PowerPoint formats. MercuryWeb includes the following major modules: Accounting, Inventory, Member Management, Online Tests, Facilities, Reservations, Calendar, and Tasks. The Accounting module is used for day to day tasks as well as to create end of month financial statements and reports. The Inventory module helps to maintain inventory of supplies and parts used in the lab. Member Management provides member and staff account setup and administration. Online Tests allow creating, taking, and grading tests online, completely replacing paper based tests. Facilities are used to define resources (equipment, utilities, and locations) and create associations between them. The Reservation modules allow lab members to reserve frequently used equipment. The inspiration for Mercury was The Berkeley Computer Integrated Manufacturing System (BCIMS) used in the Microlab (known more commonly as the Wand). Twenty years of use by members and staff and two million activities captured by the Wand provided a solid foundation for the design of Mercury.