Top Banner
Three-tier Architecture Manuel Corona David Nevarez
59
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Three-tier Architecture Manuel Corona David Nevarez.

Three-tier Architecture

Manuel CoronaDavid Nevarez

Page 2: Three-tier Architecture Manuel Corona David Nevarez.

Three-tier Architecture

Page 3: Three-tier Architecture Manuel Corona David Nevarez.

• Comparison to MVC (Model View Control)– Not a triangle, but linear.

• Uses – Web applications.

• Advantages– Modular– Interdependent of other components (reduce

coupling)– Has great control of permissions.

Page 4: Three-tier Architecture Manuel Corona David Nevarez.

Interpreter Software Architecture

Vladimir SotoVeronica Valenzuela

Page 5: Three-tier Architecture Manuel Corona David Nevarez.

What is it?

• Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.

• Map a domain to a language, the language to a grammar, and the grammar to a hierarchical object-oriented design.

Page 6: Three-tier Architecture Manuel Corona David Nevarez.

What does it solve?

• A class of problems occurs repeatedly in a well-defined and well-understood domain. If the domain were characterized with a "language", then problems could be easily solved with an interpretation "engine".

Page 7: Three-tier Architecture Manuel Corona David Nevarez.

Example

Page 8: Three-tier Architecture Manuel Corona David Nevarez.

Conclusion

• This pattern can be applied for parsing light expressions defined in simple grammars and sometimes in simple rule engines.

• The Interpreter pattern has a limited area where it can be applied.

• We can discuss the Interpreter pattern only in terms of formal grammars but in this area there are better solutions and this is the reason why this pattern is not so frequently used.

Page 10: Three-tier Architecture Manuel Corona David Nevarez.

By Rick Lawler & Ray Diaz

Client-Server Model

Page 11: Three-tier Architecture Manuel Corona David Nevarez.

What is a client?

• Any computer or program that makes a request to a server

Page 12: Three-tier Architecture Manuel Corona David Nevarez.

What is a server?

• Any computer or program that processes the requests of multiple computers or programs (clients).

• Typically, the server is always on and waits for client requests

Page 13: Three-tier Architecture Manuel Corona David Nevarez.

What is the client server model?Client Server model is the relationship between the client and the server.

Page 14: Three-tier Architecture Manuel Corona David Nevarez.

Examples of client-server

• Online Gaming• Surfing the internet

Page 15: Three-tier Architecture Manuel Corona David Nevarez.

Online gaming

• Game console (client)• Central Server

Page 16: Three-tier Architecture Manuel Corona David Nevarez.

Internet browsing

• Machine /browser (client)• Machine hosting the site (server)

Page 17: Three-tier Architecture Manuel Corona David Nevarez.

Distributed Architecture

• Ortiz• Montgomery

Page 18: Three-tier Architecture Manuel Corona David Nevarez.

DISTRIBUTED COMPUTING-Hardware and software systems containing more than one processing element or storage element, concurrent processes, or multiple programs, running under a loosely or tightly controlled regime.

- A form of parallel computing- Distributed programs often must deal with heterogeneous environments, network links of varying latencies, and unpredictable failures in the network or the computers.

Page 19: Three-tier Architecture Manuel Corona David Nevarez.

Distributed programming typically falls into one of several basic architectures or categories:

DISTRIBUTED COMPUTING

- Client-server

- 3-tier architecture

- N-tier architecture

- Tight coupling

Page 20: Three-tier Architecture Manuel Corona David Nevarez.

Distributed programming typically falls into one of several basic architectures or categories:

DISTRIBUTED COMPUTING

- Client-server • Contacts the server for data, then formats and displays it to the user. Input at the client is committed back to the server when it represents a permanent change.

- 3-tier architecture

- N-tier architecture

- Tight coupling

Page 21: Three-tier Architecture Manuel Corona David Nevarez.

Distributed programming typically falls into one of several basic architectures or categories:

DISTRIBUTED COMPUTING

- Client-server

- 3-tier architecture

• Move the client intelligence to a middle tier so that stateless clients can be used.

- N-tier architecture

- Tight coupling

Page 22: Three-tier Architecture Manuel Corona David Nevarez.

Distributed programming typically falls into one of several basic architectures or categories:

DISTRIBUTED COMPUTING

- Client-server

- 3-tier architecture

- N-tier architecture• Web applications which further forward their requests to other enterprise services

-Tight coupling

Page 23: Three-tier Architecture Manuel Corona David Nevarez.

Distributed programming typically falls into one of several basic architectures or categories:

DISTRIBUTED COMPUTING

- Client-server

- 3-tier architecture

- N-tier architecture

- Tight Coupling

• A cluster of machines that closely work together, running a shared process in parallel.

Page 24: Three-tier Architecture Manuel Corona David Nevarez.

Batch-Sequential Software Architecture

David MirelesKris Villanueva

Page 25: Three-tier Architecture Manuel Corona David Nevarez.

• Used for offline processing. • Data is (usually) held in files.• It is processed in a strict sequence by a small number of

standalone systems. • Each system transforms the data and writes to a new file

before the next system processes it.

ProcessedData

Validated Input

Input

Validate

Batch-Sequential Processing

Process Report

Validated Input

ProcessedData Report

Page 26: Three-tier Architecture Manuel Corona David Nevarez.

Batch Sequential Architectures

• Are a sub-set of Data Flow Architectures– Pipes and filters executes in parallel– Batch sequential does not

• Examples:– Legacy mainframe systems– Compilers– Compression

Page 27: Three-tier Architecture Manuel Corona David Nevarez.

When to use BS Architecture

• All data is already given.• Processes can be completely modularized.• There are no backward dependencies

between processes. • Pipelining the main processes is unnecessary,

impossible, or undesireable.

Page 28: Three-tier Architecture Manuel Corona David Nevarez.

Blackboard

• David Gomez-LeonOscar A. Olivas

Page 29: Three-tier Architecture Manuel Corona David Nevarez.

Blackboard

• This architecture is composed of knowledge sources (KSs) and a single blackboard– KSs are programs that create, modify, or remove

messages from the blackboard.– The blackboard is a single repository of messages

and is the only mean of communication between KSs.

• In general, a message may represent any form of input/output between the KSs.

Page 30: Three-tier Architecture Manuel Corona David Nevarez.

Blackboard

• Pros– KSs are completely independent from each other

and thus are easy to maintain.– The most optimal KS can be selected for any

specific message.

• Cons– Complexity involved with communication within

the blackboard– Complexity involved with which KS to select.

Page 31: Three-tier Architecture Manuel Corona David Nevarez.

Dabase-centric

• Del Hoyo• Chavez

Page 32: Three-tier Architecture Manuel Corona David Nevarez.

Database-centric is an architecture in which databases play a crucial role

Page 33: Three-tier Architecture Manuel Corona David Nevarez.

Could be a combination of:• Use relational DBM system• Using dynamic table driven logic• Using stored procedures that run on database

servers• using a shared database as the basis for

communicating between parallel processes in distributed computing applications

Page 34: Three-tier Architecture Manuel Corona David Nevarez.

• Distribution: Database & UI Portions

• Protocol needed

• All interaction is accomplished through database views or APIs.

• Nearly all application behavior (including screen navigation) is handled in the database.

Page 35: Three-tier Architecture Manuel Corona David Nevarez.

• Reduced the total amount of code• Reduced development time• Improved performance• Reduced network traffic• Reduced the complexity of the

application

Page 36: Three-tier Architecture Manuel Corona David Nevarez.

P2P

• Saucedo

Page 37: Three-tier Architecture Manuel Corona David Nevarez.

Equal nodes that act as clients and servers at the same time.

Sometimes there can exist a central server which assists in the communication between peers.

P2P uses connectivity to between many computers in a network and the collective bandwidth of all partakers rather than a central resource such as a server.

An important goal in P2P networks is that all clients provide resources, including bandwidth, storage space, and computing power.

Many P2P systems use stronger peers (super-peers, super-nodes) as servers and client-peers are connected in a star-like fashion to a single super-peer.

Page 38: Three-tier Architecture Manuel Corona David Nevarez.

Valeria FierroNeith Estrada

Page 39: Three-tier Architecture Manuel Corona David Nevarez.

• This architecture is composed of two basic entities—the plug-in host and the plug-in itself.

• The host could be an application, operating system, or even another plug-in. The plug-in host’s code is structured such that certain well-defined areas of functionality can be provided by an external module of code.

Plug-ins are written and compiled entirely separately from the host, typically by another developer. When the host code is executed, it uses whatever mechanism is provided by the plug-in architecture to locate compatible plug-ins and load them, thus adding capabilities to the host that were not previously available.

Page 40: Three-tier Architecture Manuel Corona David Nevarez.

• Useful when you are designing extensible software.

For example, Notepad++ has a plug-in architecture where you place a .dll file in the plugins folder, and it adds functionality to the application that wasn't there, such as color-picking, or snippet insertion, or many other things (a wide range of functionality).

Eclipse Plug-in Architecture

Page 41: Three-tier Architecture Manuel Corona David Nevarez.

Search-Oriented

• Rodrigo Nuñez; Brenda Medina

Page 42: Three-tier Architecture Manuel Corona David Nevarez.

Search Oriented Software Architecture

• Search engine is the main integration component of the architectural layer– As opposed to the traditional relational database

management system– Keyboard search instead of SQL queries

Page 43: Three-tier Architecture Manuel Corona David Nevarez.

• Benefit: rapid response time and more convenient, in terms as SQL versus keyboard search

• Drawback: The data tier is not as organized

Search Oriented Software Architecture

Page 44: Three-tier Architecture Manuel Corona David Nevarez.

Service Oriented

• Carmen AvilaLeonel VillagomezCesar Yeep

Page 45: Three-tier Architecture Manuel Corona David Nevarez.

Group of services that communicate with each other.

Page 46: Three-tier Architecture Manuel Corona David Nevarez.

• Is a design for linking computational resources (principally applications and data) on demand to achieve the desired results for service consumers (either end users or other services).

Page 47: Three-tier Architecture Manuel Corona David Nevarez.

• The process of communication involves either simple data-passing or two or more services coordinating some activity.

• Intercommunication implies the need for some means of connecting two or more services to each other.

Page 48: Three-tier Architecture Manuel Corona David Nevarez.

A service: •Is a logical representation of a repeatable business activity that has a specified outcome (e.g., provide weather data) •Is self-contained •May be composed of other services •Is a “black box” to consumers of the service

SOA is an architectural style that supports service orientation.

Service orientation is a way of thinking in terms of services and service-based development and the outcomes of services.

Page 49: Three-tier Architecture Manuel Corona David Nevarez.

• To associates individual SOA objects orchestration is used.

• Orchestration is the ability to control how information flows and services (behaviors) interact to form solutions.

Page 50: Three-tier Architecture Manuel Corona David Nevarez.

• SOA promotes the goal of separating users (consumers) from the service implementations. Services can therefore be run on various distributed platforms and be accessed across networks. This can also maximize reuse of services

Page 51: Three-tier Architecture Manuel Corona David Nevarez.

Reusable Use of Service, not reuse by copying of code/implementation.

Abstracted Service is abstracted from the implementation.

Published Precise, published specification functionality of service interface, not implementation.

Formal Formal contract between endpoints places obligations on provider and consumer.

Relevant Functionality presented at a granularity recognized by the user as a meaningful service.

Page 52: Three-tier Architecture Manuel Corona David Nevarez.

Shared Nothing

• Joshua MartinezAntonio Garza

Page 53: Three-tier Architecture Manuel Corona David Nevarez.

Shared Nothing Architecture

Info from:Wikipedia.org

“The Case for Shared Nothing” by Michael StonebrakerUniversity of California

Page 54: Three-tier Architecture Manuel Corona David Nevarez.

Shared Nothing

• What:– is a distributed computing architecture in which

each node is independent and self-sufficient, and there is no single point of contention across the system.

• Useful?– Mostly used in web development because of its

scalability, system can keep growing just by adding nodes.

Page 55: Three-tier Architecture Manuel Corona David Nevarez.

Shared Nothing

• Additional Properties– Each node has its own private memory, disks and

input/output devices.– A SN system may assign applications and partition

data among nodes, with each node having responsibility for a particular task.

• Drawback– Maintenance and tuning becomes really hard.

Page 56: Three-tier Architecture Manuel Corona David Nevarez.

Shared Nothing

• Examples:– Processors not sharing neither peripherals nor

memory.– hierarchical systems– GRID systems.

Page 57: Three-tier Architecture Manuel Corona David Nevarez.

Space-based

• Steven GarciaAurthor Walton

Page 58: Three-tier Architecture Manuel Corona David Nevarez.

Space Based Architecture

Applications consist of self-sufficient processing-units.

Page 59: Three-tier Architecture Manuel Corona David Nevarez.

Repository

Data

Producing

Process

Data

Producing

Process

Data

Retrieving

Process

Data

Retrieving

Process

Data

Data

Space Based Architecture

Repository

Data

Producing

Process

Data

Producing

Process

Data

Retrieving

Process

Data

Retrieving

Process

Data

Data