You are on page 1of 42

Software Architecture

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

Design Design Design

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

„ A versatile, message-based and modular infrastructure that is


intended to improve usability, flexibility, interoperability and
scalability.
„ Client: a requester of services
„ Server: the provider of services.
„ A single machine can be both a client and a server depending on
the software configuration.

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

„ Separates the software into presentation layer and data layer


„ Presentation layer - user input and output presentation
„ Data layer - store business data (no other subsystems store
business data)
„ The business logic (code to manipulate data) is usually wrapped in
either or both the presentation and data layers.

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

„ Separation of presentation, data and business logic.


„ Solves stovepipe problems (transactions can be incorporated as business
functions can call each other)
Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 22
Three-Tier Technology
„ Thin client preferred
„ Middle ware (transaction management,
information transfer, systems admin, …)
… MessageBusses
… CORBA/DCOM
… J2EE
… .NET

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

„ Solutions are typically 3-Tiered


„ Customisation may be costly and slow
„ May dictate business processes

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

EJB EJB Enterprise


JSP
Information
Systems

EJB EJB (Databases,


XML ERP,
Legacy
Internal Clients Systems)
from INTRANET
(Browsers , Desk
top
Applications etc.)
Applets, ENTERPRISE SERVICES
Javabeans
WML

JDBC JNDI JMS JTS

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

Java Naming & Java Servlet


Directory Interface Technology

JAXP – JAXB –
J2EE Java Server Pages
JAXR – JAXRPC

JDBC Java Message Service

Java Transaction API


SAAJ (Web Services) & Service
JTA + JTS
JavaMail API

Teknoturf Info Services Pvt. Ltd. | © Copyright 2008 (Do not redistribute or reuse) Slide# 34
J2EE Application Components

… J2EE applications comprises various


components.
„ Client Components
… Built using applets which runs on client machine
„ Web Compoents
… Built using Java Servlet technology and JSP
technology which runs on server.
„ Business Compnents
… Built using EJB technolgy which runs on server.

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

You might also like