+ All Categories
Home > Documents > Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.

Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.

Date post: 28-Dec-2015
Category:
Upload: amie-dickerson
View: 229 times
Download: 0 times
Share this document with a friend
Popular Tags:
31
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu
Transcript

Chemical Toxicity and Safety Information System

Shuanghui Luo Ying Li

Jin Xu

Outline

IntroductionGoals and system functionalitiesTechnologies and toolsSystem architecture Illustration of the implementation

Cheminfomatics

Cheminformatics is an exciting and rapidly developing field, and focuses on solving problems arising from chemistry using methodology from computer science.The practice not only to leverage the accumulated knowledge in various forms but also to derive new understanding based on the available knowledge using information technologies and tools.

Introduction

Significance:

Our designed system is to provide a useful on-line resource for different users such as scientists, students and so on.

To show the selected chemical toxicity, risky and safety

information. To compare the toxicity data, risky and safety phrases with the analogue chemicals. To indicate the risky phrases and safety guidelines, for example, some chemicals are high toxic and need to keep away from human being and living entities.

Metadatabase

Precise Enables the creation of customized “virtual collections”--pulling objects together seamlessly from any digital space to meet exact information requirements.

Flexible Supports any search engine, search strategy, transport or display option

Efficient Provides immediate access to the most appropriate asset for the searcher.

Durable independent of changes to hardware, software and network infrastructure

Interoperable Can be seamlessly shared across the web with disparate hardware, software, network infrastructure and search engines

Metadata: Data that describes data; Structured data about data.

Goals

Establish a distributed chemical toxicity and safety information service system using a multi-tier architecture

Follow the process of software development

Learn and apply middleware technologies (EJB and XML)

Understand distributed meta-database service

Client TierBrowser

Servlet

EJB

DB2

Representation Tier

BusinessTier

IntegrationTier

Resource Tier DB1 DB3

meta-data layer

System Functionalities

Online search applicationPresents users chemical toxicity, risky, and safety

information and servicesManages user logins for securityThe meta data layer will integrate data from distributed

sources and does some analysis and returns the corresponding data table and view in graph.

Technology and Tools (1/3)

BrowserBrowser

Web container

Web container

EJBcontainer

EJBcontainer

EISresources

HTML

Servlets Enterprise Beans

Meta DataLayer

Meta DataLayer

Entity Bean

Technology and Tools (2/3)

EJB ( Enterprise Java Beans) Server-side architecture for distributed, transactional components. Framework for easily creating business objects.(e.g. transaction,

naming, persistence services) Relive developers from managing• Low-level transaction and state management• Multithreading and resource pooling• Security• Persistence and other complex APIs.

Provide standard Java component architecture.• Allow combining components developed using different tools.• Compatible with existing server platforms, existing Java APIs and CORBA.• Write once, and run anywhere.

Technology and Tools (3/3)

•Java: programming language•Servlet: web presentation•XML: used to write deployment descriptor•Jboss-Jetty •Ant - Build Tool

•MS-Access: DB1•SQL-Server: DB2•Oracle: DB3

Web BrowserWeb

Browser

Database Database

Tier 1 Tier 2 Tier 3

EJB container

Web container

Servlet

QueryBeanSesssion Bean

ChemDBBean Entity Bean

UserDBBean(Entity Bean)

AdminBeanSesssion Bean

SafeDBBean Entity Bean

RiskDBBean Entity Bean

LoginBeanSesssion Bean

System architecture

Web BrowserWeb

Browser

DB3 DB3

Web container

Servlet

QueryBeanSesssion Bean

UserDBBean(Entity Bean)

AdminBeanSesssion Bean

LoginBeanSesssion Bean

Proposed System architecture

DB2 DB2 DB1 DB1

ChemDBBean Entity Bean1

ChemDBBean Entity Bean2

ChemDBBean Entity Bean3

EJB Container

Entity BeanMeta Data Layer

Knowledge Database

Knowledge Database

EJB BeansFour Entity Beans• UserDBBean: store user information for user management. • ChemDBBean: store chemical toxicity, and chemical properties.• RiskDBBean: store chemical information about risky phrases.

• SafeDBBean: store chemical information about safety phrases Three Session Beans• LoginBean: handle user verification (uses UserDBBean check

the user ID and password)• AdminBean: for administrator to manage user accounts• QueryBean: handle client request retrieve chemical information

LoginServlet: User verification.

FormulaServlet: Query by chemical formula.

QueryServlet: Query for chemical information including toxicity, risky and safety phrases.

Compareservlet: Compare chemical information by category.

Servlets

Root=/cheminfo

Ant Project scripts:= /buildPackage com.cheminfo:

=/com/cheminfo

chem risk

File structure (1)

safe user query login admin servlet html

File structure (2)

Container-managed Persistence(CMP)

Container automatically manages persistence. (Developer does not write database calls.)

The CMP-field element describe a container managed field. The field element includes an optional description of the field, and the name of the field.

Container-managed Persistence(CMP) cont’d

Since the container is accessing the database on behalf of the bean, the container need to know:

a) the fields that are to be persisted by the container

b) the type of persistence, connection to database

c) the table name, the mapping between table columns

d) field names in the beans

e) the semantics of the finder methods and so on. This information is specified in the deployment

descriptors: ejb-jar.xml; jboss-web.xml, web.xml, jaws.xml

ejb-jar.xml

This file tells the EJB server which classes make up bean implementation, the home interface and the remote interface. Also called deployment descriptor.

ejb-jar.xml example <?xml version="1.0" ?>   <!DOCTYPE ejb-jar (View Source for full doctype...)> - <ejb-jar>  <display-name>Chemical Toxicity and Safety</display-name> - <enterprise-beans> - <entity>  <description>User database</description>   <ejb-name>UserDBBean</ejbname>   <home>com.cheminfo.user.UserDBHome</home>   <remote>com.cheminfo.user.UserDB</remote>   <ejb-class>com.cheminfo.user.UserDBBean</ejb-class>   <persistence-type>Container</persistence-type>   <prim-key-class>java.lang.String</prim-keyclass>   <reentrant>False</reentrant> -<cmp-field>  <field-name>UserName</field-name> </cmp-field> - <cmp-field>  <field-name>PassWord</field-name>   </cmp-field> - <cmp-field>  <field-name>Email</field-name>   </cmp-field> -<cmp-field>  <field-name>Address</field-name>   </cmp-field>  -<primkey-field>UserName</primkey-field>   </entity>

jboss-web.xml file Specify servlets & beans about their setup to

deploy the web application.

Example:

A servlet wants to call methods on a bean B

B bean = home.create(pk);

the servlet must declare a reference to the ejb in

its deployment descriptor.

This is done by an <ejb-ref> tag in the web.xml file.

jboss-web.xml example

<?xml version="1.0" encoding="UTF-8" ?> - <jboss-web>- <ejb-ref> <ejb-ref-name>ejb/Admin</ejb-ref-name> <jndi-name>cheminfo/Admin</jndi-name> </ejb-ref>- <ejb-ref> <ejb-ref-name>ejb/Login</ejb-ref-name> <jndi-name>cheminfo/Login</jndi-name> </ejb-ref>- <ejb-ref> <ejb-ref-name>ejb/Query</ejb-ref-name> <jndi-name>cheminfo/Query</jndi-name> </ejb-ref>

- <ejb-ref> <ejb-ref-name>ejb/ChemDB</ejb-ref-name> <jndi-name>cheminfo/ChemDB</jndi-name> </ejb-ref>- <ejb-ref> <ejb-ref-name>ejb/RiskDB</ejb-ref-name> <jndi-name>cheminfo/RiskDB</jndi-name> </ejb-ref>- <ejb-ref> <ejb-ref-name>ejb/SafeDB</ejb-ref-name> <jndi-name>cheminfo/SafeDB</jndi-name> </ejb-ref> </jboss-web>

jaws.xml file

JAWS is the mapper used by JBoss to manage CMP entity beans.

Specify a datasource and the type-mappings to use with it

Set a bunch of options concerning jaws behavior Specify how JAWS should build/use your tables Define finders to access you entity beans Define a type mapping

jaws.xml example <jaws>

<datasource>ChemInfoDB</datasource> <type-mapping>MS SQLSERVER</type-mapping> <enterprise-beans> <entity> <ejb-name>UserDBBean</ejb-name> <table-name>user</table-name> <create-table>false</create-table> <cmp-field><field-name>UserName</field-name>

<column-name>UserName</column-name></cmp-field> <cmp-field><field-name>PassWord</field-name><column-

name>PassWord</column-name></cmp-field>

<cmp-field><field-name>Email</field-name><column-name>Email</column-name></cmp-field>

<cmp-field><field-name>Address</field-name><column-name>Address</column-name></cmp-field>

</entity>name>   <create-table>false</create-table> <cmp-field> <field-name>UserName</field-name>   <column-name>UserName</column-name>   </cmp-field> ……..

Administrator

Change user’s information

User

New User register

New User registered successfully

Query a chemical

Query page

Safety, risky, toxicity result page

Toxicity comparison result page


Recommended