Application Architecture - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Application Architecture

Description:

Speed and reliability of remote communications ... can be found (http://www.htc.honeywell.com/projects/dssa/dssa_whatis/dssa_pp_arch.html) ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 51
Provided by: lockh46
Category:

less

Transcript and Presenter's Notes

Title: Application Architecture


1
Application Architecture
2
Application Architecture
  • Application architecture a specification of the
    technologies to be used to implement information
    systems
  • Data architecture.
  • Component architecture.

3
Component Architecture
  • Distributed system a system in which components
    are distributed across multiple locations and
    computer networks.
  • Accordingly, the processing workload is
    distributed across multiple computers on the
    network.
  • Centralized systems a system in which all
    components are hosted by a central, multi-user
    computer.
  • Users interact with the system via terminals (or
    a PC emulating a terminal).
  • Virtually all the actual processing and work is
    done on the host computer.

4
Why the Trend Toward Distributed Systems?
  • Modern businesses are already decentralized
    (distributed).
  • Distributed computing moves information and
    services closer to the customers and users who
    need them.
  • Distributed computing consolidates the power of
    personal computers across the enterprise.
  • Distributed computing solutions are in general
    more user-friendly because they use the PC as the
    user interface processor.
  • Personal computers and network servers are less
    expensive than mainframe computers

5
Data Architectures
  • Relational database stores data in tabular form.
    Each file is implemented as a table. Each field
    is a column in the table.
  • Distributed relational database A database
    system that duplicates tables to multiple
    database servers located in geographically
    distributed locations.

6
Centralized Database
7
Centralized Database
  • All data is stored in a single database
  • Advantages
  • Concurrency and data integrity
  • Good for systems with large amounts of constantly
    changing data
  • Disadvantages
  • A central repository can easily become a
    bottleneck
  • Single point of failure

8
Types of Data(base) Distribution
  • Data partitioning truly distributes rows and
    columns of tables to specific database servers
    with little or no duplication between servers.
  • Vertical partitioning assigns different columns
    to different servers.
  • Horizontal partitioning assigns different rows to
    different servers.
  • Data replication duplicates some or all tables
    on more than one database server.
  • Propagates updates on one database server to any
    other database server where the data is
    duplicated.

9
Data Partitioning
10
Data Replication
11
Data Partitioning versus Data Replication
12
Software Architectural Styles
  • Patterns for software architecture
  • File Server
  • Client-Server
  • Peer-To-Peer
  • Model/View/Controller
  • Pipes and Filters
  • And more domain specific architectures

13
File Server
  • File Server A computer attached to a network
    that has the primary purpose of providing a
    location for the shared storage of computer files
    (such as documents, sound files, photographs,
    movies, images, databases, etc.)
  • File server sends the clients entire files or
    database table without processing it.

14
File Server
15
File Server
  • File server system a LAN (local Area Network)
    in which a server hosts the data of an
    information system.
  • All other layers are implemented on the client
    computers.
  • Frequently excessive network traffic to transport
    data between servers and clients.
  • Client must be fairly robust (fat) because it
    does most of the work.

16
File Server Architecture
17
Client/Server Architectural Style
  • One or many servers provides services to
    instances of subsystems, called clients.
  • Client calls on the server, which performs some
    service and returns the result
  • Response in general immediately
  • Users interact only with the client
  • Sometimes called two-tiered client/server
    computing.

18
Client/Server Architectural Style
19
Client/Server Database
  • Client Server Database a client/server system in
    which the data and data manipulation layers are
    placed on the server(s), and other layers are
    placed on the clients.
  • Difference to file server systems is where the
    data manipulation commands are executed.
  • Much less network traffic than file server
    systems because only the database requests and
    the results of those requests are transported
    across the network.
  • Database integrity is easier to maintain.

20
Client/ServerDistributed Data
21
Client/Server Architectural Style
  • Advantages
  • Loose coupling between the server and client
  • Disadvantages
  • Dependability when server goes down, operations
    cease

22
Client/Server Architecture Servers
  • Database server a server that hosts one or more
    databases and executes all data manipulation
    commands at the server.
  • Transaction server a server that hosts services
    which ensure that all database updates for a
    transaction succeed or fail as a whole.
  • Application server a server that hosts
    application logic and services for an information
    system.
  • Messaging or groupware server a server that
    hosts services for e-mail, calendaring, and other
    work group functionality.
  • Web server a server that hosts Internet or
    intranet websites.
  • Remote Procedure Call

23
Internet- and Intranet-based Architectures
  • Network computing system presentation and
    presentation logic layers implemented in
    client-side Web browsers using content downloaded
    from a Web server.
  • Presentation logic layer connects to application
    logic layer running on application server, which
    connects to database servers on the backside of
    the system.
  • The greatest potential of this approach is its
    applicability to redesign of traditional
    information systems to run on an intranet.
  • Intranet a secure network that uses Internet
    technology to integrate desktop, work group, and
    enterprise computing into a cohesive framework.

24
Peer-to-Peer Architectural Style
  • Generalization of Client/Server Architecture
  • Clients can be servers and servers can be clients

25
Peer-to-Peer Architectural Style
  • Examples
  • Distributed computing
  • Distributed search engine
  • Advantage
  • Scalability
  • Reliability
  • Disadvantage
  • Concurrency/deadlock issue

26
Three Tiered Architectural Style
  • Three layers are organized as follows
  • Interface Layer User interface, user object
    control
  • Windows, forms, web pages, etc
  • Application logic layer Control over objects and
    data processing
  • Rule checking
  • Storage layer Database abstraction
  • Any persistent objects are managed

27
Three Tiered Architectural Style
  • Developed as an analog to the repository
    architecture
  • Allows the development of many user interfaces
    for the same application logic layer
  • Allows the development of many application logic
    layers to operate on the same storage layer

28
Three Tiered Architectural Style
29
Three Tiered Architectural Style
30
Four Tiered Architectural Style
  • The interface layer is subdivided into two
    independent layers
  • Client presentation layer
  • Implements the end user interface reuses common
    presentation objects and operations from the
    server
  • Server presentation layer
  • Can be located on many machines, reducing the
    possibility of a bottleneck

31
Four Tiered Architectural Style
32
Model/View/Controller
  • Subsystems are classified into 3 different types
  • Model Responsible for application domain
    knowledge
  • View Responsible for displaying application
    domain objects to the user
  • Controller Responsible for sequence of
    interactions with the user.

33
Example of a File System Based on the MVC
Architectural Style
34
Model View Controller Example
  • Java Server Page

35
Model View Controller Example
  • Java Server Page

36
Pipe and Filter Architectural Style
  • Subsystems are referred to as filters
  • Interactions between subsystems are called pipes
  • Each filter is only aware of the content of the
    data it will receive, not the filter that sent
    the data
  • Examples
  • Linux shell pipes
  • Graphic and video filters

37
Pipe and Filter Architectural Style
  • Advantages
  • Loosely coupled
  • Filters may be interchanged or substituted for
    another
  • Good for systems that apply systematic
    transformations to data without user intervention
  • Disadvantages
  • Poorly suited for interactive systems
  • Does not allow complex interactions between
    components

38
Pipe and Filter Architectural Style
39
Domain Specific Architecture Styles
  • Main program/subroutine organizations
  • Concurrent state machine
  • Real time process, more information can be found

40
Architecture Case Study KWIC
  • Problem description
  • The KWIC Key Word in Context index system
    accepts an ordered set of lines, each line is an
    ordered set of words, and each word is an ordered
    set of characters. Any line may be circularly
    shifted' by repeatedly removing the first word
    and appending it at the end of the line. The KWIC
    index system outputs a listing of all circular
    shifts of all lines in alphabetical order.

41
KWIC example
  • Input
  • Pattern-Oriented Software Architecture
  • Software Architecture
  • Introducing Design Patterns
  • Output (assuming Pattern-Oriented treated as one
    word)
  • Architecture Software
  • Architecture Pattern-Oriented Software
  • Design Patterns Introducing
  • Introducing Design Patterns
  • Patterns Introducing Design
  • Pattern-Oriented Software Architecture
  • Software Architecture
  • Software Architecture Pattern-Oriented

42
Main Program/Subroutine with Shared Data
43
Main Program/Subroutine with Shared Data
  • Strengths
  • Efficient use of space - computations share same
    data
  • Weaknesses
  • Change of data representation affects all modules
    all modules take advantage of explicit data
    representation - no information hiding.
  • Not particularly supportive of reuse - explicit
    references to data structures and other
    functions. Tight coupling.

44
Abstract Data Type (OO)
45
Abstract Data Type (OO)
  • Key Difference Data not directly shared - data
    accessed only through module interfaces.
  • Strengths
  • Data representations can be changed inside
    individual modules without affecting others.
  • Reuse better supported because modules make less
    assumptions about others - looser coupling.
  • Weaknesses
  • Larger storage is needed.

46
Pipe and Filter
47
Pipe and Filter
  • Strengths
  • Supports enhancements by addition of filters e.g.
    an omit noisy shift filter, or by modifying
    independent filters.
  • Supports reuse, filters operate in isolation.
  • Weaknesses
  • Inefficient use of space. For example, each
    filter must copy all of the data to its output.

48
Middleware
  • Middleware utility software that enables
    communication between different processors in a
    system.
  • It may be built into the respective operating
    systems or added through purchased middleware
    products.
  • Presentation middleware
  • Application middleware
  • Database middleware

49
Middleware
50
Reading Assignment
  • Textbook Chapter 13
Write a Comment
User Comments (0)
About PowerShow.com