Title: Environmental Molecular Sciences Laboratory Pacific Northwest Laboratory
1Electronic Laboratory Notebook
Elena S. Mendoza 5/19/98 Environmental
Molecular Sciences Laboratory Computing
Information Sciences Pacific Northwest National
Laboratory
2Overview
- Project Background
- What is an Electronic Notebook?
- How does it work?
- APIs
- Technologies
- Wrap-up
3 Projects
DOE2000
- Collaboration Management (ANL, PNNL) Real-Time
Session Management from both a session based
metaphor and a space based metaphor. - Electronic Notebooks (LBNL, ORNL, PNNL) Were
developing an Electronic Notebook system to
provide a shareable, multimedia version of the
traditional paper scientific notebook. - Collaboratory Interoperability Framework (ANL,
LBNL, PNNL, SNL) Technologies to allow
scientific instruments, notebooks, and real-time
collaboration tools to work together.
EMSL Operations Use of the Collaboratory tool
suite as a portion of the EMSL Research Facility.
Structural Biology LDRD Researchers
collaborating electronically to perform NMR
experiments.
4Collaborative Electronic Notebook Systems
Association (CENSA)Rich Lysakowski -
www.censa.orgChemical and Pharmaceutical
companies promoting the development of commercial
EN systems
5DOE2000 Electronic Notebook Project
ORNL
PNNL
LBNL
6DOE2000 EN Approach
- Started with 3 separate prototypes at 3 labs
- Defined common architecture and all are migrating
towards it (e.g. editor interface, import/export) - Providing prototypes and support now(install,
docs, help, SDKs, ...) - New functionality available every 6 months
- Revolutionize over 3 years
7Types of Notebooks/ Purposes of a Notebook
- Researchers Laboratory Notebook (Scientific
Observations) - Design Notebook (New Ideas)
- Instrument Log Book (Maintenance)
- Experiment Log Book (Time/Cost Accounting)
- Legal Record
- Invention Reports (Intellectual Property)
- Sample Tracking
- Notepad
- Group Workspace
8Sources of Notebook Information
- Instruments, Analysis/Visualization/Modeling
Software - Data files/ Results files in native format
(lossless) - Summaries - Images, Tables, (lossy)
- Metadata/ Processing history/ Parameter files
- Researchers (individual)
- Notes - structured and unstructured text
- Sketches/ Diagrams/ Schematics
- Groups
- Presentations
- Conversations(A/V, Whiteboard, Shared Screeen, )
9EMSL Electronic Notebook
- WWW based access to EMSL data and meta-data
- Automation of data/metadata input from
instruments and calculations - Querying/ Searching
- Simple, secure access to full datasets
- Interactive input of results into notebook from
the WWW - Rich media types (text, images, files, 3D
structures, voice, animations, video, ...) - Extensible - 3rd party API for new data types
10A Common Architecture
Advanced Features
Resource Discovery Signing ...
CORBA HTTP JAVA
Notebook Client
Common Notebook Engine
migrated Advanced Features
Data Storage Interface
Files
Data Acquisition Systems (many)
OODBMS
RDBMS
Input interfaces (few)
11How Does it Work?
- Security
- DFSWeb/cookies
- Signed Applets/Certificates
- SSL - https
- Export/Import
- multi-part mime
- Server - Perl/cgi
- generates html on the fly
- Client - java
- application and/or applets
- Communication
- Sockets and http
12Object Diagram
INOb
INOb
NOb
NObList
1
13NOb Interface
package eln.nob import java.lang. import
java.io. import java.awt. import
java.util. public interface INOb public
Object get(String key) public Object
put(String key, Object value) public
Enumeration keys() public void remove(String
key)
14Notebook Object Fields
Defined
TBD (non-standard)
- String authorName
- String objectID
- String dateTime
- String label
- MIME dataType
- Byte data
- URL dataRef
- Version
- OID
- Instrument ID
- Author Certificate
- Author DN
- NB Engine DN
- NB Certificate
- Signature - author
- Signature - witness
- Signature - timestamp
15Notebook Objects and Editors
16Editor/Viewer API
public interface INBEditor public Image
getIcon() public String getLabel() public
void Launch(INOb aNOb) public void
setClient(INBClient aClient)
- Bean like
- Extensible - add editors to the CLASSPATH
- Add editors on the fly
- Render any type of data
17Viewer Interface
18Signed Applets
- Sandbox - How to get out of it
- Capabilities API
try PrivilegeManager.enablePrivilege("U
niversalPropertyRead")
PrivilegeManager.enablePrivilege("UniversalFileRea
d") catch (netscape.security.ForbiddenTar
getException e) System.err.println("\tF
ailed! Permission to read system properties
denied by user.") catch (Exception e)
System.err.println("\tFailed! Unknown
exception while enabling privilege.")
e.printStackTrace(System.err)
gt signtool -k emslCertificate -Z ClientApplet.jar
.
19Certificate Example
20LiveConnect
- Talking from Java to JavaScript
- JSObject jsroot JSObject.getWindow(theApplet)
- JSObject jsdocument (JSObject)jsroot.getMemb
er("document") - Using JavaScript to get and set cookies
public String getCookies() Object
tmpCookies mJsDocument.getMember("cookie")
String cookies tmpCookies.toString()
return cookies public void
setCookies(String theCookies)
mJsDocument.setMember("cookie", theCookies0)
mJsDocument.setMember("cookie",
theCookies1)
21Export/Import
- Export Nobs and NobLists to well-defined
multi-part mime - Read and write Mime from Java
- Use internally written encoders/decoders
22EMSL Collaboratory Details
Web Address
http//www.emsl.pnl.gov2080/docs/collab
Current Team Members
Jim Myers Brett Didier Ken Yates
Elena Mendoza Shelly Harris Shawn Merriman
Debbie Payne Tom Valdez Kelly Keating Ray Bair
23For more information
- Java-dev_at_emsl.pnl.gov
- CIS Technical Exchange 5/19/98 900am EMSL
- Send me mail
- http//www.emsl.pnl.gov2080/docs/collab
24Acknowledgments
- U.S. Department of Energy
- Mathematical, Information and Computational
Sciences Division of the Office of Energy
Research - Office of Biological Environmental Research of
the Office of Energy Research - Pacific Northwest National Laboratory (PNNL)
Laboratory Directed Research and Development
(LDRD)
Pacific Northwest National Laboratory is a
multiprogram national laboratory operated by
Battelle Memorial Institute for the U.S.
Department of Energy under Contract DE-AC06-76RLO
1830.