Integrated Meta Database IMDB Architecture - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Integrated Meta Database IMDB Architecture

Description:

Alleviates burden on client machine. Faster run and load time, ease of deployment ... 2002- 2003: Phase 3 - Input of meta data for data elements ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 28
Provided by: SDD2
Category:

less

Transcript and Presenter's Notes

Title: Integrated Meta Database IMDB Architecture


1
Integrated Meta Database (IMDB) Architecture
  • November 5th, 2003

2
Design Goals
  • Web deployable (Project/Architectural)
  • Acceptable Performance (Project/Architectural)
  • Thin-client (Architectural)
  • Alleviates burden on client machine
  • Faster run and load time, ease of deployment
  • n-tier (Architectural)
  • Development of corporate components
  • Services/products available from multiple vendors
    (Architectural)
  • Bilingual (Architectural)

3
Implementation
  • Two different architectures
  • 1999-2002 Phase 2 - Input of meta information
    for statistical business processes
  • 2002- 2003 Phase 3 - Input of meta data for data
    elements
  • Phase 2 implementation frozen because of
  • Discontinued support for software by vendor
  • Size of system has exceeded the capabilities the
    selected web deployment technology.

4
Phase 22-Tier (plump client) Model
Technologies
Presentation Application (Business Rules)

Tools

GUI Internet Explorer Sun Java Plug-In
V1.1.3 Swing 1.0.3
Web Browser Java Applet


JDBC
Oracle JDBC Driver
Middleware
  • Business Logic Database
  • Oracle 8i
  • Oracle (PL/SQL)

Application (Business Rules Data Access
Logic) Data Layer
RDBMSwith Stored Procs
5
Phase 2 Bilingualism
Menu items
Directive
Tabs
English and French text fields
Labels
Coded fields
Buttons
6
Phase 2 Bilingualism
Text for elements of the interface
English
Resource Bundle Key Value menu_File File tab_
ID Identification tab_Des Description ...
7
Phase 2 Input Screens
Text strings related to data components
Directives Resource Bundle Key
Value SurveySDDS Statistical Data Doc ...
IMDB database
Labels Resource Bundle Key Value SurveySDDS
SDDS ...
8
Phase 2 Input ScreenAdministered Item
9
Phase 2 - Identification Tab
10
Phase 2 - Organization Tab
11
Phase 2 DescriptionTab Statistical Activity
and Survey
12
Factory Pattern applied to Description
Instrument Request
Survey Request
Description Factory
13
Phase 2Model View Controller Pattern
  • Model maintains the data
  • View displays the data
  • Controller event handlers for the Model and
    View
  • Phase 2 combines the View and Controller

14
Phase 2Mapping of Relational Model to OO
Visual Age DATA ACCESS BUILDER
IMDB Relational Database
JDBC Class
15
Phase 2 2001 Achievement of design goals
  • Web deployable? via Applet however plug-in
    technology was not stable and removed from
    deployment.
  • Acceptable Performance? Applet very slow for
    load time. Performance is improved by deployment
    as an application on the client. Support provided
    for both Applet and Application versions.
  • Thin-client? Plump client
  • n-tier? 2-tier
  • Services/products available from multiple
    vendors? No vendor support for Visual Age 3.0
    DAB. Code is not compliant with JDK 1.3
  • Bilingual ? English and French

16
Phase 2 Data Migration
  • Microsoft Access form to collect business meta
    data from various sources.
  • Load from existing meta data systems.
  • PL/SQL procedure for conversion and load into the
    phase 2 database

17
Phase 3 Considerations
  • Design Goals
  • Conformance with standards.
  • Minimize use of auto generation tools/wizards,
    therefore reducing risk of vendor lock-in.

18
Phase 33-Tier (thin client) Model
Technologies
Standards
Tools
Presentation Tier
Web Browser



Internet Explorer 6.0
HTTP, HTML
JSP 2.0
Jakarta Struts 1.2.8
Servlet 2.4
Jakarta Tomcat 5.5.15
Application Tier
XML 1.0
XSLT 1.0
Web Server
Apache (?)
HTTP


JDBC 2.0
Oracle JDBC Driver
Data Tier

Oracle 9i
RDBMS
SQL
19
Phase3MVC - Model
Model Layers
Business Layer
  • The Model role is realized by two software
    layers from the Application tier, plus the Data
    tier.
  • Layering reflects division of responsibilities.
  • Each layer knows nothing about the layers above,
    and can delegate work only to the layer directly
    below.
  • This reduces the scope of change for example,
    if a database table definition is altered, the
    Persistence layer can usually absorb the change,
    leaving the Business classes totally unaffected.

Persistence Layer
Database
20
Phase3MVC - Model
The Database
Business Layer
  • Responsible for storage and retrieval of data
    according to the relational model.
  • Enforces referential integrity.
  • Provides vendor-specific tools for
    administration and data access.
  • Provides driver implementations for remote
    access through JDBC, ODBC, etc
  • Some non-standard aspects are unavoidable, such
    as vendor-specific SQL dialects for data
    definition.

Persistence Layer
Database
21
Phase3MVC - Model
The Persistence Layer
Business Layer
  • Contains low-level Java classes that model the
    database tables closely.
  • Knows how to store and retrieve data directly
    from the database using JDBC methods.
  • Also contains higher-level Java classes that
    provide data access services to any kind of
    Business layer, through a public API.
  • Protects the rest of the system from
    evolutionary changes in the type, vendor or
    release version of the database.

Persistence Layer
Database
22
Phase3MVC - Model
The Business Layer
Business Layer
  • Java classes in this layer model the objects and
    processes in the users world. In our case,
    these objects are instances of the metadata items
    defined by the ISO 11179 specification.
  • Delegates the actual saving and retrieving of
    these objects to the Persistence layer.
  • Defines and enforces business rules.
  • Contains a public API that allows any
    Controller-level class to create and manipulate
    metadata objects.

Persistence Layer
Database
23
Phase 3 MVC - Controller
1. User Action
Struts Controller Classes
MetaWeb
2. Process Request
4. System Response
Business Layer (Model)
JSP
3. Select View
24
Phase 3 MVC - Controller
Struts Controller Classes
  • A Struts servlet intercepts requests from the
    users browser, and dispatches each request (by
    URL) to an Action class for processing.
  • Depending on the outcome of processing, the most
    suitable view is selected to display the result.
  • View selection can be controlled in an XML
    configuration file as well as in code.
  • The Struts framework enables a clean and
    flexible separation of MVC responsibilities in a
    web application.

25
Phase 3MVC - View
  • The View role is realized by JavaServer Pages in
    the Application tier, and by the browser in the
    Presentation tier.
  • JavaServer Pages are similar to HTML pages, but
    combine HTML markup with special JSP tags that
    enable the insertion of dynamic content.
  • Struts provides a rich and powerful assortment
    of tags that integrate well with the rest of the
    framework.
  • Every JSP is transformed into a servlet when
    first requested, and the generated servlet
    returns the view as pure HTML to the browser.

MetaWeb
HTML
Servlet
JSP
26
Phase 3 Bilingualism
  • The user interface language can be changed by the
    user at any time, to any language for which a
    resource bundle has been created. (So far, the
    only demand is for English and French)
  • Data in any two languages can be simultaneously
    displayed and edited.
  • Data in multiple languages can be stored in the
    database, and new languages can be supported
    without changes to the data model.
  • Java and the Struts framework both provide rich
    support for localized content, including
    variations by country, and formatting of dates,
    times, and currencies.

27
Phase 3 2003 Achievement of design goals
  • Web deployable? Application resides entirely on
    the server and is available to any browser.
  • Acceptable Performance? Servlets are designed
    for high efficiency and scalability. Database
    I/O can be optimized in the Persistence layer.
  • Thin-client? Ultra-thin (no client-side code
    required).
  • n-tier? 3-tier
  • Services/products available from multiple
    vendors? Open solution using open software.
  • Bilingual? Multi-lingual.
Write a Comment
User Comments (0)
About PowerShow.com