Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | ezra-wilkinson |
View: | 215 times |
Download: | 0 times |
Environmental Molecular Sciences Laboratory
Electronic Laboratory Notebook
Elena S. Mendoza
5/19/98
Environmental Molecular Sciences LaboratoryComputing & Information Sciences
Pacific Northwest National Laboratory
Environmental Molecular Sciences Laboratory
Overview
• Project Background
• What is an “Electronic Notebook”?
• How does it work?
• API’s
• Technologies
• Wrap-up
Environmental Molecular Sciences Laboratory
Projects
• Collaboration Management (ANL, PNNL): Real-Time Session Management from both a session based metaphor and a space based metaphor.
• Electronic Notebooks (LBNL, ORNL, PNNL): We’re 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.
Structural Biology LDRD Researchers collaborating electronically to perform NMR experiments.
DOE2000
EMSL Operations Use of the Collaboratory tool suite as a portion of the EMSL Research Facility.
Environmental Molecular Sciences Laboratory
Collaborative Electronic Notebook Systems Association (CENSA)Rich Lysakowski - www.censa.org
Chemical and Pharmaceutical companies promoting the development of commercial EN systems
Environmental Molecular Sciences Laboratory
DOE2000 Electronic Notebook Project
LBNL
ORNL
PNNL
Environmental Molecular Sciences Laboratory
DOE2000 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
Environmental Molecular Sciences Laboratory
Types of Notebooks/ Purposes of a Notebook
• Researcher’s 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
Environmental Molecular Sciences Laboratory
Sources 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, …)
Environmental Molecular Sciences Laboratory
EMSL 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
Environmental Molecular Sciences Laboratory
A Common Architecture
Notebook Client
Common Input Editors/Viewers•Text•Images•Equations•Sketches•Data Type N•...
OODBMS RDBMS
Files
Common Notebook Engine
Data Storage Interface
Resource DiscoverySigning...
CORBAHTTPJAVA
Advanced Features
DataAcquisitionSystems (many) Input interfaces (few)
migratedAdvanced Features
Environmental Molecular Sciences Laboratory
How Does it Work?
• Server - Perl/cgi
– generates html on the fly
• Client - java
– application and/or applets
• Communication
– Sockets and http
• Security
– DFSWeb/cookies
– Signed Applets/Certificates
– SSL - https
• Export/Import
– multi-part mime
Environmental Molecular Sciences Laboratory
Object Diagram
INObINOb
NOb
NObList1+
Environmental Molecular Sciences Laboratory
NOb Interfacepackage 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);
}
Environmental Molecular Sciences Laboratory
Notebook Object Fields
• 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
Defined TBD (non-standard)
Environmental Molecular Sciences Laboratory
Notebook Objects and Editors
Environmental Molecular Sciences Laboratory
Editor/Viewer API
• Bean like
• Extensible - add editors to the CLASSPATH
• Add editors on the fly
• Render any “type” of data
public interface INBEditor {
public Image getIcon(); public String getLabel(); public void Launch(INOb aNOb); public void setClient(INBClient aClient);
}
Environmental Molecular Sciences Laboratory
Viewer Interface###PAR### file viewer######### ProcPar: Viewer for Varian NMR procpar files######### Jim Myers 3/98sub rend_par{ local($filename) = @_; local($visvar); #Clear the visualization variable. This holds rendered content. $visvar = “”;
#Parse out just the name of the file itself from the $filename variable (which includes path info) if ($filename =~ m#.*/([^/]*)$# )
{local($filen) = $1;
$visvar .= “<hr>”;$visvar .= “<center><table border=1 width = 400 height = 150><td>\n”;$visvar .= “<applet codebase=\”$server$relapplets/procpar\” code=nmr.Pro
cpar”;$visvar .= “\r\nARCHIVE = \”procpar.jar\”\r\n”;
$visvar .= “ width = 400 height = 150 vspace=0 hspace=0>\n”;
$visvar .= “<param name=ProcParURL value=\”$server$relnotebook/$notebook/$folder/$experiment/$filen\” >\n”;
$visvar .= “<param name=NumLines value=\”5\” >\n”;
$visvar .= “The Procpar viewer applet is not responding, is java enabled ?\n”;
$visvar .= “</applet>\n”;
$visvar .= “</table></center>\n”;
} else {##cgierror(“OUCH: can’t find filename in: $filename” );
$visvar .= “<P>Sorry, can’t find usable filename in: $filename<P>\n”;
}$visvar;
}1;
_.
Environmental Molecular Sciences Laboratory
Signed Applets• Sandbox - How to get out of it
• Capabilities APItry { PrivilegeManager.enablePrivilege("UniversalPropertyRead"); PrivilegeManager.enablePrivilege("UniversalFileRead"); } catch (netscape.security.ForbiddenTargetException e) { System.err.println("\tFailed! Permission to read system properties denied by user."); } catch (Exception e) { System.err.println("\tFailed! Unknown exception while enabling privilege."); e.printStackTrace(System.err); }
> signtool -k emslCertificate -Z ClientApplet.jar .
Environmental Molecular Sciences Laboratory
Certificate Example
Environmental Molecular Sciences Laboratory
LiveConnect
• Talking from Java to JavaScript– JSObject jsroot = JSObject.getWindow(theApplet);
– JSObject jsdocument = (JSObject)jsroot.getMember("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", theCookies[0]); mJsDocument.setMember("cookie", theCookies[1]); }
Environmental Molecular Sciences Laboratory
Export/Import
• Export Nobs and NobLists to well-defined multi-part mime
• Read and write Mime from Java
• Use internally written encoders/decoders
Environmental Molecular Sciences Laboratory
Current Team Members
EMSL Collaboratory Details
Jim MyersBrett DidierKen Yates
Elena MendozaShelly Harris
Shawn Merriman
Debbie PayneTom Valdez
Kelly KeatingRay Bair
http://www.emsl.pnl.gov:2080/docs/collabWeb Address
Environmental Molecular Sciences Laboratory
For more information
• C&IS Technical Exchange 5/19/98 9:00am EMSL
• Send me mail
• http://www.emsl.pnl.gov:2080/docs/collab
Environmental Molecular Sciences Laboratory
Acknowledgments
• 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.