Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

28
Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005
  • date post

    15-Jan-2016
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

Page 1: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

Adaptive Database Application Modeling API

Final Project Report

SOURENA NASIRIAMINICS 491

6/2/2005

Page 2: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 3: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

MOTIVATION

• Looking at how applications were being designed and developed, many tasks are repeated for every application

• Such practices often result in applications that– Often do not contain reusable elements– Are hard to maintain and configure– Have static components that are hard to change

• Such concerns compelled me to think about applications that were– Fully Dynamic– Adaptable– Flexible

Page 4: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

MOTIVATION CONT…

• So I could

– Reuse the work I had already done

– Save development time

– Better maintain current applications

– Easily customize/change applications

Page 5: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 6: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OBJECTIVES

• Design API:

– To help reuse components

– To take advantage of metadata

– Use Metadata to generate components dynamically

– Automatically populate components with appropriate data

Page 7: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OBJECTIVES

• Implementation based on API– E-Commerce Application

•The reference implementation to showcase the API functionality

•To show the benefits of using the API

– Class Registration Application•Showcase the reusability benefits•Time saved using Dynamic components •Benefits resulting from data

independence•Application adaptability

Page 8: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 9: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

ARCHITECTURE

• 3 Tier Model

Domain Specific GUI Component

Final Presentation Component

Business and Process Objects

Database ContainingDomain Specific Data

BusinessTier

PresentationTier

Data Tier

Page 10: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

ARCHITECTURE

• Problem:

– Focus on Data (Data Centered)

– Data •Raw•Domain Specific•Cannot be generalized in a useful way

•Does not contain information about its intended use

Page 11: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

ARCHITECTURE

• Solution:– Extend the Architecture

– Change focus from data to metadata (model)

– Place model at the center of the architecture

– Use the Model Driven Architecture (MDA)•Allows for dynamic component

generation•Automatic Data Retrieval•Collaboration Benefits (OMG)

Page 12: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

ARCHITECTURE

• 4 Tier Architecture

Metadata

Business and Process Objects

Domain Specific GUI Component

Final Presentation Component

Generic GUI Component

Data Tier

ModelTier

PresentationTier

BusinessTier

Page 13: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 14: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API DESIGN

• Breakdown of Tasks

Dynamic Interpreter

ADAM Designer

ERD of the business Model

Generic GUI Component

Domain Specific GUI Component

Final Presentation Component

Business and Process Objects

Domain Specific Data

ADAM Designer

ADAMAPI

ADAMAPI

ControllerCode

ViewImplementation

Specific

Page 15: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API DESIGN

• In Java 2 platform

– Classes and Interfaces allow the necessary abstractions to separate tasks that needs to be done.

– Intermediate or “Glue” methods pass collections to/from each tier or class implementing an interface (see Implementation)

Page 16: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API DESIGN

• Organization

Modeler Interface

DataBase

Get

Set

Send

Receive

ProcessLoad

Save

Mapper Interface

Viewer Interface

Page 17: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API DESIGN

• Organization– 2 Ways to use the API

1.Extend Each Tier (Any class thereof)

– Maximum control

2.Implement the appropriate interfaces:

– Minimum Complexity

Page 18: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 19: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API IMPLEMENTATION

• Progress so far:

Modeler

Business and Process Objects

Domain Specific GUI Component

Final Presentation Component

Generic GUI Component

Domain Specific Data

ADAMAPI

ControllerCode

ViewImplementation

Specific

ADAMAPI

Page 20: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API IMPLEMENTATION

• A more detailed view

GUI Manager(Viewer)(Factory)

Interpreter(Modeler)

(Database)

Business Manager(Mapper)

(Processor)

ADAM API

Load()

Send()

Receive()

Save()

Get()

Set()

Page 21: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API IMPLEMENTATION

• Metadata in Java

– In general, applications do not need the name of the columns associated with a ResultSet

– So JDBC designers did not include this in the core ResultSet functionality.

– But in order to develop dynamic data access components, access to this information – the metadata – is essential.

Page 22: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

METADATA IN JAVA

• The use of ResultSetMetaData– A call to getMetaData() tells the application about

the structure and organization of the returned results (metadata).

• Examples: – The number of columns in a table. – The label to use for a column header.– The source table for a column.– The data type of a column.

Page 23: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

API IMPLEMENTATION

Modeler

Collection (Generic)

Collection Type

Collection Name

Collection Size

Collection Type Instance

APIDatabase Application

Table Name

Column Type

Column Name

Column Size

Data

•Mapping Scheme

Page 24: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 25: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

OUTILINE

• Introduction– Motivation– Objectives

• Approach– Architecture– API Design– API Implementation

• Implementation– First Application (Demo)– Second Application (Demo)

• Conclusion and Future Work

Page 26: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

PROJECT TIMELINE (SUMMARY)

Week1

Week2

Week3

Week4

Week5

Week6

Week7

Week 8

Week9

Week10

First Application

Second Application

API Design and Implementation

Final Project Presentation

Page 27: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

CONCLUSION

• Using the API

– Dynamic

– Reusable

– Flexible

• Helping to

– Save time

– Increase Quality

Page 28: Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.

Questions and Answers

• Q/A

• Thank you!