Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98...

24
Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing & Information Sciences Pacific Northwest National Laboratory

Transcript of Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98...

Page 1: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

Electronic Laboratory Notebook

Elena S. Mendoza

5/19/98

Environmental Molecular Sciences LaboratoryComputing & Information Sciences

Pacific Northwest National Laboratory

Page 2: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

Overview

• Project Background

• What is an “Electronic Notebook”?

• How does it work?

• API’s

• Technologies

• Wrap-up

Page 3: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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.

Page 4: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 5: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

DOE2000 Electronic Notebook Project

LBNL

ORNL

PNNL

Page 6: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 7: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 8: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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, …)

Page 9: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 10: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 11: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 12: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

Object Diagram

INObINOb

NOb

NObList1+

Page 13: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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);

}

Page 14: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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)

Page 15: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

Notebook Objects and Editors

Page 16: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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);

}

Page 17: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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;

_.

Page 18: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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 .

Page 19: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

Certificate Example

Page 20: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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]); }

Page 21: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 22: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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

Page 23: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

Environmental Molecular Sciences Laboratory

For more information

[email protected]

• C&IS Technical Exchange 5/19/98 9:00am EMSL

• Send me mail

• http://www.emsl.pnl.gov:2080/docs/collab

Page 24: Environmental Molecular Sciences Laboratory Electronic Laboratory Notebook Elena S. Mendoza 5/19/98 Environmental Molecular Sciences Laboratory Computing.

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.