1 / 31

Chemical Toxicity and Safety Information System

Chemical Toxicity and Safety Information System. Shuanghui Luo Ying Li Jin Xu. Outline. Introduction Goals and system functionalities Technologies and tools System architecture Illustration of the implementation. Cheminfomatics.

fergus
Télécharger la présentation

Chemical Toxicity and Safety Information System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Introduction • Goals and system functionalities • Technologies and tools • System architecture • Illustration of the implementation

  3. 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.

  4. 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.

  5. Metadatabase Metadata: Data that describes data; Structured data about data. 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.  Durableindependent 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

  6. Goals Browser • 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 Tier Servlet Representation Tier EJB Business Tier Integration Tier meta-data layer Resource Tier DB1 DB2 DB3

  7. System Functionalities • Online search application • Presents users chemical toxicity, risky, and safety information and services • Manages user logins for security • The meta data layer will integrate data from distributed sources and does some analysis and returns the corresponding data table and view in graph.

  8. Technology and Tools (1/3) Browser EIS resources Web container EJB container Meta Data Layer HTML Servlets Enterprise Beans Entity Bean

  9. 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.

  10. 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

  11. System architecture Tier 1 Tier 2 Tier 3 EJB container UserDBBean (Entity Bean) ChemDBBean Entity Bean SafeDBBean Entity Bean RiskDBBean Entity Bean Database AdminBean Sesssion Bean LoginBean Sesssion Bean QueryBean Sesssion Bean Web Browser Servlet Web container

  12. Proposed System architecture Web Browser Web container Servlet EJB Container LoginBean Sesssion Bean AdminBean Sesssion Bean QueryBean Sesssion Bean UserDBBean (Entity Bean) Knowledge Database Entity Bean Meta Data Layer ChemDBBean Entity Bean1 ChemDBBean Entity Bean3 ChemDBBean Entity Bean2 DB1 DB2 DB3

  13. EJB Beans Four 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

  14. Servlets • 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.

  15. File structure (1) Root=/cheminfo Ant Project scripts:= /build Package com.cheminfo: =/com/cheminfo chem risk safe user query login admin servlet html

  16. File structure (2)

  17. 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.

  18. 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

  19. 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

  20. <?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> ejb-jar.xml example

  21. 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.

  22. 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>

  23. 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

  24. 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> ……..

  25. Administrator Change user’s information

  26. User New User register New User registered successfully

  27. Query a chemical

  28. Query page

  29. Safety, risky, toxicity result page

  30. Toxicity comparison result page

More Related