Research Collaboratory for Structural Bioinformatics Macromolecular Structure Middleware OpenMMS An Ontology Driven Architecture.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Distributed Systems Architectures
BICS546 Client/Server Database Application Development.
1 JBus, A Platform Independent Publish/Subscribe Bus for CWave 2000 M.S. Thesis Defense Joseph W. Longson March 30, 2000.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
II. Middleware for Distributed Systems
Project Title: Cobra Implementation on Association Service.
The Architecture of Transaction Processing Systems
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Distributed Systems: Client/Server Computing
The Client/Server Database Environment
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Enabling Rapid Interaction with the Protein Data Bank Alexy Khrabrov Rutgers University John D. Westbrook Rutgers University.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Common Object Request Broker Architecture (CORBA) CS-328.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
CSS/417 Introduction to Database Management Systems Workshop 5.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Location Based Information Service using CORBA CS597 Direct Reading Madhu Narayanan & Rahul Vaghela Advisor: Dr. Yugi Lee.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Introduction to MDA (Model Driven Architecture) CYT.
Fundamentals of Database Chapter 7 Database Technologies.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Chapter 17: Client/Server Computing Business Data Communications, 4e.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Data Integration and Management A PDB Perspective.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Middleware Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi Fujinoki Middleware/001.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
The Holmes Platform and Applications
Common Object Request Broker Architecture (CORBA)
The Client/Server Database Environment
CORBA Alegria Baquero.
Enabling Rapid Interaction with the Protein Data Bank
CORBA Within the OS & Its Implementation
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
Technology Landscape and Enterprise Objectives
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Middleware and ORB CS 314 Operating Systems
Middleware and ORB CS 314 Operating Systems
Copyright 1999 B.Ramamurthy
Presentation transcript:

Research Collaboratory for Structural Bioinformatics Macromolecular Structure Middleware OpenMMS An Ontology Driven Architecture

Research Collaboratory for Structural Bioinformatics Overview  The mmCIF Ontology  OpenMMS Toolkit  Macromolecular Structure (MMS) Metamodel  Parser, XML  SQL / Corba Servers and Clients  Corba  UML and the future...

Research Collaboratory for Structural Bioinformatics How do we “Enable” Science? n Promote well defined Macromolecular Structure (MMS) Specifications n Distribution – Open Interfaces –Now: flat files W3 browsing and searching –Future: XML, SQL, CORBA

Research Collaboratory for Structural Bioinformatics Why OpenMMS? n Allow programmers to more easily create efficient, high performance and robust applications. n A Java-only toolkit with that creates XML, CORBA and Relational DB representations of the mmCIF Macromolecular Structure Data. n Source code is publicly available so users can easily modify the metamodel or create an entirely new one.

Research Collaboratory for Structural Bioinformatics What Do We Mean by an Ontology Driven Architecture? What do we mean by an Ontology? A bridge between Our World of Natural Language and the World of Machines.

Research Collaboratory for Structural Bioinformatics mmCIF Dictionary and Data Files n Based on Ontology for Macromolecular Structure defined by the International Union of Crystallography n Replaces the older 80-Column PDB files n mmCIF Dictionary contains over 140 Category and 1600 Item definitions n Open, Extensible n Provides a well-defined reference standard for data distribution

Research Collaboratory for Structural Bioinformatics OpenMMS Toolkit Data Flow ApplicationsApplications mmCIF Data Files (Reference Standard) Corba Server Relational Database mmCIF Parsers XML Files

Research Collaboratory for Structural Bioinformatics Metamodel Information Flow mmCIF Dictionary Metamodel Framework Corba IDL, SQL Schema, XML DTD, Java Data Loaders JDBC Loaders mmCIF Ontology Metamodel

Research Collaboratory for Structural Bioinformatics What can OpenMMS do? n PDBase program will load any or all PDB files into any SQL-92 compatible database (Oracle, mySQL, Sybase...) n Translate any PDB file into an XML file. n Contains Two Corba servers: –Reference server will cache and serve data read from PDB flat files. –DB server will cache and serve data read from a SQL database (very quickly...) n All Source code written in Java and publicly available.

Research Collaboratory for Structural Bioinformatics Some Advantages of Using an Ontology Driven Architecture n Scales to very large Ontologies n More reliable and maintainable code n Transfer between representations n Scientific Correctness of representation n Help in maintaining backward compatibility

Research Collaboratory for Structural Bioinformatics How does one actually represent an ontology? (OpenMMS Internal Metamodel Overview) Root Module Interface Field Struct Field Visitor Abstract Class Visitor Subclass

Research Collaboratory for Structural Bioinformatics mmCIF Parsers n General Purpose, Low-level access to data n Parsers available in many languages n OpenMMS toolkit includes Java Parser –Uses “Builder” Design Pattern –An application subclasses Abstract Builder class and stores data into its data structures

Research Collaboratory for Structural Bioinformatics MMS in XML n Large Flat Files (open and close tags) n Tables can be grouped by rows or columns n XML from SQL Query –Many requests from Web browsers don’t really need or want all the data –SW available from DB Vendors and ISVs for creating XML files from SQL result sets –Smaller files load faster

Research Collaboratory for Structural Bioinformatics Relational DB Expression n SQL-92 Compatible n Schemas for all the standard DB vendors n Fast and Flexible Keyword searches n PDBase loader allows structures to be selectively loaded n Oracle Instance Tested –14,556 Structures –16GB, 88 Million Atom Records

Research Collaboratory for Structural Bioinformatics A very high-level (and very-rough) classification of communication n Person-to-Person communication – n Person-to-Machine communication –HTTP/HTML n Machine-to-Machine communication –CORBA, SQL,.NET, Soap n Not Communications -> Data Formats –XML, mmCIF (STAR), many more …

Research Collaboratory for Structural Bioinformatics What is CORBA? Common Object Request Broker Architecture  Defines a family of open software interface specifications for distributed object computing.

Research Collaboratory for Structural Bioinformatics What is an Object? “ A Data Structure with an Attitude” Programs = Algorithms + Data Structure Object Oriented Programming Principle: Partition the parts of algorithms with the data structures they use

Research Collaboratory for Structural Bioinformatics Side View of a Distributed Application Client E.g. a Java Applet Server E.g. Mainframe Computer Server Internet (TCP/IP) Middle Ware Middle Ware Network IDL

Research Collaboratory for Structural Bioinformatics The “Hourglass” view of the Internet  Unreliable Datagrams  Reliable Bitsteam Applications TCP, RTP,... IP Copper, Glass Radio Spectrum HTTP, Corba,.NET  OO High-Level Interface (ATM, Ethernet, V.90, SONET...)

Research Collaboratory for Structural Bioinformatics Where is Corba? n Inside every Java Runtime Environment. n Commonly used in middle tier and backend (e.g. database) connections. n Open Source and Commercial Implementations Available n Usually buried deep inside the software –Difficult or impossible to tell when it is being used

Research Collaboratory for Structural Bioinformatics What is Distributed Object Computing? n Extends the benefits of object-oriented technology across process and machine boundaries to encompass entire networks. n Attempts to make remote objects appear to programmers as if they were local objects in the same process. This is called location transparency.

Research Collaboratory for Structural Bioinformatics Advantages of Distributed Object Computing n Easier (and faster) for programmers to create distributed applications n Increases Reliability n Increases Maintainability n Increases Portability n Increases Extensibility

Research Collaboratory for Structural Bioinformatics The Alphabet Soup n OMG = Object Management Group Consortium of 800+ companies founded in n IDL = Interface Definition Language

Research Collaboratory for Structural Bioinformatics n The key is to focus on boundaries, interfaces, how things fit together n Not on the internal details of how they’re built; assume that will be diverse & changing Shape of boundary is defined in IDL Boundaries, Interfaces

Research Collaboratory for Structural Bioinformatics The Interface to an object can be distributed over a network The Interface to an object can be distributed over a network The glue that binds parts together is the ORB Shape of boundary is defined in IDL Boundaries, Interfaces

Research Collaboratory for Structural Bioinformatics Corba Independence n Open Standard for Distributed Object Oriented Design n Independent of Hardware Platform n Independent of Operating System n Independent of Programming Language n Independent of Object Location

Research Collaboratory for Structural Bioinformatics Object Request Broker Client Object L IDLIDL n ORBs mediate between objects and things that use them (clients) Object Request Broker

Research Collaboratory for Structural Bioinformatics Terminology n IIOP – The Internet Inter-ORB Protocol, defined in the Spec as a vendor-independent, wire- level network protocol on top of TCP/IP. This allows ORB implementations of different vendors to interoperate.

Research Collaboratory for Structural Bioinformatics ORB JavaPerlC++CAdaJava VBActiveX Corba / IIOP—Internet Inter-ORB Protocol ORBs: Medium for Integration

Research Collaboratory for Structural Bioinformatics Corba Facilities: Industry Standards in Vertical Markets n Manufacturing n Finance n Life Sciences Research n C4I n Many others...

Research Collaboratory for Structural Bioinformatics Using Corba to access Macromolecular Structure Data n No Parsing of Flat Files n Direct Access to Binary Data Structures n Strongly Typed Data n Granularity of Access n Indices and Presence Flags Pre-computed n Highest Performance

Research Collaboratory for Structural Bioinformatics OMG/LSR Macromolecular Structure Adoption Process n August 1999RFP issued n March 2000Initial Submission September 2000Revised Submission February 2001Adopted Spec by the OMG 4Q 2001OpenMMS LSR/MMS1.0 compliant implementation source code publicly available February 2002Approved as a Formal OMG Available Specification.

Research Collaboratory for Structural Bioinformatics Using the CORBA MMS Server An excerpt from legacy PDB Formatted File ATOM Record (4hhb.ent)... ATOM 6 CG1 VAL A ATOM 7 CG2 VAL A ATOM 8 N LEU A ATOM 9 CA LEU A ATOM 10 C LEU A ATOM 11 O LEU A ATOM 12 CB LEU A ATOM 13 CG LEU A ATOM 14 CD1 LEU A ATOM 15 CD2 LEU A

Research Collaboratory for Structural Bioinformatics LSR/MMS “ATOM Record” struct AtomSite { string id; IndexId type_symbol; AtomIndex label; IndexId label_entity; VectorXYZ cartn; float occupancy; float b_iso_or_equiv; }; DsLSRMacromolecularStructure.idl excerpt:

Research Collaboratory for Structural Bioinformatics Example Code and Resulting Output Entry e = entryFactory.get_entry_from_id(”4hhb"); AtomSite[] a = e.get_atom_site_list(); for (int i = 0; i < a.length; i++) { System.out.println(a[i].id + " " + a[i].type_symbol.id + " (" + a[i].cartn.x + ", " + a[i].cartn.y + ", " + a[i].cartn.z + ")"); } produces: 1 N (11.065, 7.352, 9.598) 2 C (12.436, 7.764, 9.902) 3 C (12.883, 7.09, ) 4 O (12.088, 7.0, ) 5 C (12.611, 9.264, 10.06)...

Research Collaboratory for Structural Bioinformatics What are the alternatives to Corba? n TCP/IP Sockets - Byte stream n DCOM, COM++, OLE,.NET (Microsoft Only) –DCOM   Corba Bridges are available from several vendors n SOAP (Simple Object Access Protocol) –XML Based

Research Collaboratory for Structural Bioinformatics Unified Modeling Language – UML What do all those arrows and boxes Mean? n Schematic Language for Defining SW n Graphics Representations n UML = Things, Relations and Diagrams n 9 types of Diagrams n The most commonly used diagram is the “Class Diagram”

Research Collaboratory for Structural Bioinformatics UML Class Diagram Example get_version() get_entry_id_list() get_entry_modification_dates() native_formats_supported() get_native_entry_representation() EntryFactory EntryIdList * EntryId IdentifierModificationDateList Entry_id : EntryId date: TimeBase::TimeT ModificationDate *

Research Collaboratory for Structural Bioinformatics UML Class Diagram Basics method1() method2() method3() Class_Name var1: Type var2: Type  Underlined for Class Instances, Italics for Abstract Classes  Variables  Methods Details may be omitted if not important

Research Collaboratory for Structural Bioinformatics UML Relationships * * 0..1 Dependency Association Generalization (Inheritance) Aggregation

Research Collaboratory for Structural Bioinformatics UML Example get_version() get_entry_id_list() get_entry_modification_dates() native_formats_supported() get_native_entry_representation() EntryFactory EntryIdList * EntryId IdentifierModificationDateList Entry_id : EntryId Date : TimeBase::TimeT ModificationDate *

Research Collaboratory for Structural Bioinformatics XMI: XML Metadata Interchange n UML is a graphical representation; need some way to exchange UML models between applications n XMI is used to store and transmit UML models n XML based n Defines XML tags for classes, relationships between classes etc.

Research Collaboratory for Structural Bioinformatics OMG MDA n Platform Independent Models (PIMs) that define the interface are defined in UML n The PIMs are translated to Platform Specific Models (PSMs) such as Corba, SOAP,.NET or XML Schemas n The Corba servers and clients may be the same, but now the interface is defined in UML and the IDL is then generated from the UML

Research Collaboratory for Structural Bioinformatics MDA Platform Independent to Platform Dependent Translation UML Corba SOAPXML.NET

Research Collaboratory for Structural Bioinformatics Thanks and Acknowledgments Phil Bourne John Westbrook David Benton Karl Konnerth Lynn TenEyck