Overview, Architecture & Data Model - CCPN

flutheronioneyedΛογισμικό & κατασκευή λογ/κού

13 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

80 εμφανίσεις

PiMS
Overview, Architecture & Data Model
Overview
PiMS
Free-to-use Laboratory Information Management System
(LIMS)
to store processes involved in protein production
for structural biology research-environment
Based on a UML data model for protein production from
which a database and application programming interface
(API) are derived
Developed as a Java web application using PostgreSQL as
the database management system
no client software other than a Java-enabled browser
PiMS
Based on the Protein Production Data Model paper
Proteins. 2005 Feb 1;58(2):278-84. “Design of a data model for
developing laboratory information management and analysis
systems for protein production.”
PiMS 5 years UK project, funded by BBSRC SPoRT grant
in collaboration with and in support of other SPoRT award holders
(SSPF and MPSI) with heavy involvement of CCP4 and OPPF
PiMS effectively started April 2005
Management structure re-investigated late 2005
Part-time ‘Scientific Sponsor’ (Robert Esnouf) who works with
‘Project Manager’ (Chris Morris)
Version 2.0 released 15/01/2008
PiMS 2.0 release – Jan 2008
Available functionalities
Recording laboratory information
Target
Construct
Experiment
Plate Experiment
Protocol
Recipes
Data reporting
Report
Search
Reference Data
www.pims-lims.org
tutorials & demo system
Architecture
PiMS Architecture
servlets
Data Model API
Presentation API
JSP
Lab API
Hibernate Persistence Layer
PostgreSQL database
PiMS Architecture
Java web application
standard http protocol (post & get)
JSP/servlet running in Tomcat
Hibernate persistence layer
PostgreSQL database
servlets
JSP
web
post/http
doPost()
Tomcat
getRequestDispatcher()
Java code
AbstractModel model = ModelImpl.getModel();
WritableVersion wv = model.getWritableVersion(
"administrator"
);
Map<String, Object> protocolAttrMap =
new
java.util.HashMap<String, Object>();
protocolAttrMap.put(Protocol.
PROP_NAME
, name);
protocolAttrMap.put(Protocol.
PROP_EXPERIMENTTYPE
, experimentType);
protocolAttrMap.put(Protocol.
PROP_OBJECTIVE
, objective);
protocolAttrMap.put(Protocol.
PROP_REMARKS
, remarks);
protocolAttrMap.put(Protocol.
PROP_DETAILS
, details);
protocol =
new
Protocol(wv, protocolAttrMap);
wv.commit();
Lab API
Data Model
Old DM framework
Relational DB
UML data model
Java API
SQL
script
Hibernate
mapping
files
Applications
CCPN framework
Simplify Data Model
Discard Molecule model
Reduced the number of tables from 233 to 142
Simplification – 131 tables left
Removed unused tables
Generate new Hibernate mapping files (hbm) with CCPN
framework in order to generate SQL from hbm by using new
Hibernate framework
we got almost the SQL we wanted, which initially means the SQL
we already have
Current DM framework
Relational DB
UML data model
Java API
SQL
script
Hibernate
mapping
files
Applications
CCPN framework
Hibernate
framework
Change DM framework
Generate Java classes from Hibernate mapping files with a
new framework based on Hibernate tools and Freemarker
templates
End of alliance on CCPN framework
End of alliance on UML model and ObjectDomain
Treat the hibernate mapping files as the principal form of the
model
Too many methods to create while dealing with Java classes as
main source of data model that could cause a lot of inconsistency if
not checked automatically
Future DM framework?
Relational DB
Java API
SQL
script
Hibernate
mapping
files
Applications
Hibernate
framework
UML Diagrams
?
Future DM framework - concerns
Need a new graphical tool to have our model in UML and/or
ER diagrams
Best way to communicate concepts with users
Best way to communicate changes between developers
Describes business entities without emphasis on the implementation
Better global overview of the model itself
Easier to maintain
Easier to understand
Consistent implementation
One central location
But required a lots of methodology
Current tool (ObjectDomain) is not appropriate
MagicDraw?
Further DM improvements
Review ERD for existing packages based of the MSD review
via online wiki for collaborative discussion
Review ERD for plate experiments & complexes
Discard implementation package
Future work
Test a new tool for ER and/or UML diagrams
MagicDraw?
Make Entity-Relationship Diagrams (ERD)
Data Model: re-design database schema based on SQL review
Reference data management & protocol library
Acknowledgements
Developer team
Chris Morris – project manager
Ian Berry
Ed Daniel
Jon Diprose
Susy Griffiths
Bill Lin
Anne Pajon
Peter Troshin
Marc Savitsky
Funding
BBSRC
CCP4