Вы находитесь на странице: 1из 19

Database Application Development

Environment

Dr. Farhi Marir


Head of the Knowledge Management Research Centre (KMC),
CCTM Department,
London Metropolitan University

Plan of the lecture


l Database Application Development Environment
l Client/Server Architecture
l Client/Server two tier architecture for
Database Application Development
l ORACLE Development tools for Developing
Client/Server two tier Database Application
l Limitation of Client Server two tier
Architecture and the Emergence of Three
tier Architecture
l DB3012 Module Scheme of Work

30 January 2008 Copyright © 2008 Dr. F. Marir 2


Database Application
Development Environment

30 January 2008 Copyright © 2008 Dr. F. Marir 3

Database application development


l A database application is any application that
accesses stored data and allows you to view,
modify or manipulate that data.
l In most cases, the data is stored in a database.
l A database application that requests information
from a data source such as a database is known
as a client application
l A DBMS (Database Management System) that
handles data requests from various clients is
known as a database server
l There are different architecture environment
for developing database application

30 January 2008 Copyright © 2008 Dr. F. Marir 4


Architecture Environment for developing
database applications

l There are at least three architecture


Environment for database application
development
– Mainframe architecture
– File sharing architecture
– Client/server architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 5

Mainframe architecture
l All intelligence is within the central host
computer
l Users interact with the host through a terminal
that captures keystrokes and sends that
information to the host
l Mainframe software architectures are not tied
to a hardware platform
l User interaction can be done using PCs and UNIX
workstations
l A limitation of mainframe software
architectures:
– they do not easily support graphical user interfaces
– they do not access to multiple databases from
geographically dispersed sites.

30 January 2008 Copyright © 2008 Dr. F. Marir 6


File Sharing Architecture
l The original PC networks were based on file sharing
architectures, where the server downloads files from the
shared location to the desktop environment.
l The requested user job is then run (including logic and
data) in the desktop environment.
l File sharing architectures work if :
– shared usage is low,
– update contention is low, and
– the volume of data to be transferred is low.
l A limitation of file software architectures
– the capacity of the file sharing is strained when the number of
online user grew (it can only satisfy about 12 users
simultaneously)
– graphical user interfaces (GUIs) became popular (making
mainframe and terminal displays appear out of date).

30 January 2008 Copyright © 2008 Dr. F. Marir 7

Client/Server Architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 8


Client/Server Architecture
l As a result of the limitations of file sharing
architectures, the client/server architecture
emerged
l The term client/server was first used in the 1980s in
reference to personal computers (PCs) on a network
l This approach introduced a database server to
replace the file server
l Using a relational database management system,
user queries could be answered directly using
– Standard query language (SQL) statements OR
Remote Procedure Calls (RPCs) which are typically used
to communicate between the client and server
30 January 2008 Copyright © 2008 Dr. F. Marir 9

Benefit of Client/Server
Architecture database Development
l It is a versatile, message-based and modular
infrastructure
l It is intended to improve usability, flexibility,
interoperability, and scalability as compared to
centralised, mainframe, time sharing computing
l It reduces network traffic by providing a query
response rather than total file transfer
l It also improves multi-user updating through a
Graphical User Interface (GUI) front end to a
shared database.

30 January 2008 Copyright © 2008 Dr. F. Marir 10


Characteristics of a Client

l Request sender is known as client


l Initiates requests
l Waits for and receives replies.
l Usually connects to a small number of
servers at one time
l Typically interacts directly with end-users
using a graphical user interface (GUI)

30 January 2008 Copyright © 2008 Dr. F. Marir 11

Characteristics of a Server

l Receiver of request which is sent by client is


known as server
l Passive (slave)
l Waits for requests from clients
l Upon receipt of requests, processes them and
then serves replies
l Usually accepts connections from a large number
of clients
l Typically does not interact directly with end-
users

30 January 2008 Copyright © 2008 Dr. F. Marir 12


Client & Server locations
l One machine is devoted to Client and
another machine is devoted to Server
l Also a single machine can be both a client
and a server depending on the software
configuration

30 January 2008 Copyright © 2008 Dr. F. Marir 13

An Example of Client/Server
Architecture
l When you are visiting an e-commerce web site:
– your computer and web browser is the client,
– the remote computers, databases, and applications which respond
is the server.
– When your web browser requests specific information from the
online store, the server finds all of the data in the database you
requested, assembles that data into a web page, and transmits
that page back to your web browser for you to view.
l Specific types of clients include web browsers, email
clients, and online chat clients.
l Specific types of servers include web servers, ftp
servers, application servers, database servers, mail
servers, file servers, print servers, and terminal servers.
l Most web services are also types of servers.

30 January 2008 Copyright © 2008 Dr. F. Marir 14


Type of Client/Server Architecture
Client/Server architecture could be
l Two tier Architecture
l Three tier Architecture is the most
commonly used type of client-server
architecture
l Designs that contain more than two tiers
are referred to as multi-tiered or n-tiered
(n-tier).

30 January 2008 Copyright © 2008 Dr. F. Marir 15

Client/Server two-tier
Architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 16


Two -tier Client/Server Architecture
l A two-tier client/server application architecture
is implemented when a client talks directly to a
server, with no intermediate server.
l It is typically used in small environments of less
than 50 users.
l Generally two-tier architecture separates:
– the user interface and the business logic (data logic) into one
computer (Client or Tier1) and
– the database management server is into another computer
(Server or Tier2).
l The database management server provides stored
procedures and triggers.
l There are a number of software vendors e.g. ORACLE
which provide tools to simplify development of database
applications for the two tier client/server architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 17

Two -Tier Client/Server Architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 18


Client/Server two -tier Benefits

Rich GUI
Multi-Tasking Client

Reliability
Availability
Universal
Serviceability Database

ORACLE Tools for Developing two -


tier Database Application

30 January 2008 Copyright © 2008 Dr. F. Marir 20


ORACLE tools for two-tier
Database Application Development

l Oracle Designer • Oracle Developer

ORACLE Designer
l It is used to design the database server
application
l It is used to create E-R diagrams, Function
Hierarchy diagrams, Process diagrams, and Data
Flow diagrams that are needed to design a
database server and implement a user defined
system in client's organization
l It provides a multi-user repository and is closely
integrated with ORACLE Forms and Report
Developer
l It allows organizations to design and rapidly
deliver scalable, database server application that
can adapt to changing business needs.
30 January 2008 Copyright © 2008 Dr. F. Marir 22
ORACLE Designer Editor

30 January 2008 Copyright © 2008 Dr. F. Marir 23

Creating the Entities Relationship


Diagram Using ORACLE Designer

30 January 2008 Copyright © 2008 Dr. F. Marir 24


Convert the ERD into an ORACLE
database tables using Database
Design Transformer

30 January 2008 Copyright © 2008 Dr. F. Marir 25

ORACLE Developer Suite


l It is a tool that helps you to create forms
and reports based on the tables that you
have created using ORACLE Designer
l You can use Developer to:
– Design and customize your forms and reports.
– Add various functionality, like radio buttons,
combo boxes, and list of values to make your
forms and reports more user friendly.
– Write triggers on your objects to add
functionality to them and capture errors.

30 January 2008 Copyright © 2008 Dr. F. Marir 26


ORACLE Developer tool for the
design of Client Side
Interactive
Interactive Forms
Forms
PL/SQL
PL/SQL Editing
Editing and Menus
and Menus
and Debugging
and Debugging
Professional
Professional
Report
Report and
and
Database
Database
Publishing
Publishing

Charting
Charting and
and Project
Project
Graphical
Graphical Management
Management
Applications
Applications

Design Client Interface using


Form Builder

30 January 2008 Copyright © 2008 Dr. F. Marir 28


Forms Builder
for Creating Client side
l Graphical WYSIWYG
Editors
l All standard GUI
Controls
l Complete Event Model
l Thin Client and Web
Deployment
l Object Navigator
l Property Palettes

Reports Builder for Client side

l Graphical WYSIWYG
Editors
l Multiple Formats
supported like
tabular and matrix
l Standard output
formats including
HTML and PDF
for the Web
l Multi-Tier support
Limitation of Client Server two
tier Architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 31

Two -tiers Client/Server


Architecture Limitation
l Client side presented two problems preventing
true scalability:
– ‘Fat’ client, requiring considerable resources on client’s computer
to run effectively.
– Significant client side administration overhead.
l It has also a number of other limitations:
– When the number of users exceeds 100, performance begins to
deteriorate.
– Implementation of processing management services using vendor
proprietary database procedures restricts flexibility and choice
of DBMS for applications.
– Provide limited flexibility in moving (repartitioning) program
functionality from one server to another without manually
regenerating procedural code

30 January 2008 Copyright © 2008 Dr. F. Marir 32


Three tier Architecture

l By 1995, three tier architecture was


proposed, each potentially running on a
different platform.
l In the next lecture students will learn
more on three tier architecture and
how to develop it using ORACLE tools

30 January 2008 Copyright © 2008 Dr. F. Marir 33

Module Schedule of Work


from Week 1 to Week 12

30 January 2008 Copyright © 2008 Dr. F. Marir 34


W1 to W2 Lectures

l Week 1 and Week 2 will focus on the


introduction of Database Application
Development in the two different
environments:
– Client/Server two tier architecture and
– Client/Server three tier architecture

30 January 2008 Copyright © 2008 Dr. F. Marir 35

W3 to W7 Organisation of lectures,
tutorials and Coursework 1
l From Week 3 to Week 8 students will learn through
lectures and tutorials how to develop two-tier database
applications using ORACLE Designer, ORACLE Developer
Suite and Procedural Language (PL)/SQL
l In particular the student will learn:
– How to design an ORACLE database (Server) using ORACLE
Designer
– How to design ORACLE forms and reports (Client) using ORACLE
Developer Suite
– How to write PL/SQL programs to develop interaction OR driven
events interface between Client and Database Server
– How to use SQL and PL/SQL to develop triggers which are
implicitly run, or fired, when and event happens
l Tutorial on Database Development in two tier
architecture environment will start in week 2 till Week 7
l Coursework 1 will be given in week 2/3 and should be
submitted in week 9 and Demo of the CWK1 database
application in Week11
30 January 2008 Copyright © 2008 Dr. F. Marir 36
W8 to W12 Lectures, Tutorials and
Coursework 2

l Lectures and tutorials will focus on


Database development in three tier
architecture environment and also new
trends in database systems
l Coursework 2 will be given in Week 7 and
should be submitted in Week 12

30 January 2008 Copyright © 2008 Dr. F. Marir 37

Вам также может понравиться