Professional Documents
Culture Documents
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 1
Agenda…
(01:00) Introduction to Logical and Physical Tiers
(01:00) Logical Tier
(00:15) Break
(01:00) Physical Tiers
(01:00) Evolution of Multi-Tiered Architecture
(01:00) Lunch Break
(01:00) Introduction to Web Architecture
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 2
Software Architecture
“Software Architecture of a computing
system is the structure or structures of the
system, which comprise software
components, the externally visible properties
of those components, and the relationships
among them.”
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 3
Software Architecture
The distinction between architecture and design
that is normally made is that software design is
normally only concerned with functional
requirements, architecture is also concerned
with other requirements.
Performance
Reliability
Portability
Re-usability
…
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 4
Architecture and Design
Architecture influences design
Requirements
Architecture
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 5
Quality Characteristics - ISO
9126
ISO 9126 defines 6 quality characteristics:
Functionality
Usability
Reliability
Efficiency
Portability
Maintainability
Also other required characteristics - e.g. reusability
The quality requirements of a system influence its
architecture. Quality must be built-in.
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 6
Functionality
A set of attributes that bear on the existence of a set of
functions and their specified properties. The functions
are those that satisfy stated or implied needs.
Sub-Characteristics
Suitability
Accuracy
Interoperability
Compliance
Security
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 7
Reliability
A set of attributes that bear on the capability of
software to maintain its level of performance
under stated conditions for a stated period of
time
Sub-characteristics
Maturity
Fault
Tolerance
Recoverability
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 8
Usability
A set of attributes that bear on the effort
needed for use, and on the individual
assessment of such use by a stated or
implied set of users.
Sub-characteristics
Understandability
Learnability
Operability
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 9
Efficiency
A set of attributes that bear on the
relationship between the level of
performance of the software and the
amount of resources used, under stated
conditions.
Sub-characteristics
Timebehavior
Resource behavior
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 10
Maintainability
“Maintainability, is par excellence, a yardstick by which the quality of software can be
judged. Paradoxical as it may seem, software that has been developed with a view to
being changed is likely to need changing less than any other. It will be quality software"
Manns and Coleman
Aset of attributes that bear on the effort needed to make specified
modifications
Sub-characteristics
Analysability
Changeability
Stability
Testability
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 11
Portability
A set of attributes that bear on the ability
of software to be transferred from one
environment to another
Sub-characteristics
Adaptability
Installability
Conformance
Replaceability
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 12
Reusability
The goal:
Dramatically increased productivity leading to
decreased development costs and shorter time to
market
Also trusted component reuse
Reuse across projects
Reuse across layers
Difficult to build reusable software
Difficulties with distributing, maintaining,
adapting reusable software.
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 13
Components & Structures
Architecture defines “components”
an abstraction
suppresses details not pertinent to its interactions
with other components
An architecture comprises more than one
structure
modular structure (calls/uses)
process structure (invokes, communicates with,
synchronises with)
physical structure (libraries, DLL’s, processors)
inheritance structures (inherits)
…
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 14
Some Common Architectures
Monolithic
Client Server
Two-Tier Model
Three-Tier Model
ERP Solutions
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 15
Monolithic Architectures
One subsystem + horizontal architecture
No architectural decomposition (Not no structure)
Most efficient for small systems (20-30KLOC) and small
groups
Problems arise when system grows (due to lack of
structure)
Data imported/exported to/from memory
No simultaneous data sharing
May be multi-threaded and multi-process
Egs: word processors, corporate batch systems, …
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 16
Client Server Architectures
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 17
C/S Inter Process
Communication
Shared Memory
Fast
Can’t be used over network
Message passing
used over network
slow
must consider latency and bandwidth
Egs of implementation
Sockets
RPC, SQL
Distributed Objects
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 18
Two-Tier Model
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 19
Two-Tier Model Technology
Client Hardware
Desktop Computer
Client Software
Power Builder, Delphi, Java, C++, …
ASP, JSP etc… thin client model
Server Hardware
Typically multi-CPU
Server Software
ORACLE
COBOL, Java, C++,…
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 20
Problems of Two-Tier Model
Changes to business rules may need to be
performed on multiple clients
Alternatively could use stored DB procedures
Want to avoid changing DB
inefficient, poor error recovery, limited language
Database size limitations (>500 tables)
Stove Piping - partition into separate business
systems
Business data stored (duplicated) in different systems
Transactions can’t span multiple systems
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 21
Three-Tier Model
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 23
ERP Solutions
An Enterprise Resource Planning (ERP) solution
involves customising an already built solution.
PeopleSoft, SAP, Oracle, ..
solutions cover many common business functions
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 24
SOFTWARE ARCHITECTURE
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 25
SOFTWARE ARCHITECTURE
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 26
SOFTWARE ARCHITECTURE
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 27
SOFTWARE ARCHITECTURE
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 28
SOFTWARE ARCHITECTURE
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 29
SOFTWARE ARCHITECTURE
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 30
Web Architecture
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 31
J2EE Multi-tier Framework
Client Client
ANY CLIENT WEB CLIENT
Tier Machine
JSP/Servlet Web
Container Tier J2EE
Server
Business
EJB Container
Tier
Database
Database/Legacy Systems EIS Tier Server /
Legacy
Server
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 32
J2EE Architecture
CLIENTS J2EE WEB APPLICATION SERVER TIER BACK END
TIER TIER
PRESENTATION BUSINESS LOGIC
LOGIC (EJB Container )
External Clients (Web Components)
from INTERNET
(Browsers , WAP
etc.) Applets
SERVLETS EJB EJB
HTML
RMI - IIOP
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 33
J2EE offerings for Developer
Java Authentication & Enterprise Java
Authorization Service Beans
JAXP – JAXB –
J2EE Java Server Pages
JAXR – JAXRPC
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 34
J2EE Application Components
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 35
Web Components
J2EE Web components can be either servlets or
JSP pages
Servlets are Java programming language
classes that dynamically process requests and
construct responses.
JSP pages are text-based documents that
execute as servlets but allow a more natural
approach to creating static content
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 36
Web Components (cont..)
Static HTML pages and applets are bundled with
Web components during application assembly,
but are not considered Web components by the
J2EE specification.
Server-side utility classes can also be bundled
with Web components and, like HTML pages,
are not considered Web components.
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 37
Web Tier
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 38
Business Components
Business code, which is logic that solves or
meets the needs of a particular business domain
such as banking, retail, or finance, is handled by
enterprise beans running in the business tier.
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 39
Business Tier
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 40
EIS Tier
The enterprise information system tier handles
enterprise information system software and
includes enterprise infrastructure systems such
as enterprise resource planning (ERP),
mainframe transaction processing, database
systems, and other legacy information systems.
Related API’s
JCA , JDBC , JMS , Web Services etc
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 41
Thank You