Three-tier Architecture - PowerPoint PPT Presentation

three tier architecture n.
Skip this Video
Loading SlideShow in 5 Seconds..
Three-tier Architecture PowerPoint Presentation
Download Presentation
Three-tier Architecture

play fullscreen
1 / 59
Three-tier Architecture
Download Presentation
Download Presentation

Three-tier Architecture

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Three-tier Architecture Manuel Corona David Nevarez

  2. Three-tier Architecture

  3. 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.

  4. Interpreter Software Architecture Vladimir Soto Veronica Valenzuela

  5. 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.

  6. 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".

  7. Example

  8. 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.

  9. References • • •

  10. By Rick Lawler & Ray Diaz Client-Server Model

  11. What is a client? Any computer or program that makes a request to a server

  12. 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

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

  14. Examples of client-server Online Gaming Surfing the internet

  15. Online gaming Game console (client) Central Server

  16. Internet browsing Machine /browser (client) Machine hosting the site (server)

  17. Distributed Architecture • Ortiz • Montgomery

  18. DISTRIBUTEDCOMPUTING 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.

  19. DISTRIBUTEDCOMPUTING Distributed programming typically falls into one of several basic architectures or categories: • Client-server • 3-tier architecture • N-tier architecture • Tight coupling

  20. DISTRIBUTEDCOMPUTING Distributed programming typically falls into one of several basic architectures or categories: • 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

  21. DISTRIBUTEDCOMPUTING Distributed programming typically falls into one of several basic architectures or categories: • 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

  22. DISTRIBUTEDCOMPUTING Distributed programming typically falls into one of several basic architectures or categories: • Client-server • 3-tier architecture • N-tier architecture • Web applications which further forward their requests to other enterprise services • Tight coupling

  23. DISTRIBUTEDCOMPUTING Distributed programming typically falls into one of several basic architectures or categories: • Client-server • 3-tier architecture • N-tier architecture • Tight Coupling • A cluster of machines that closely work together, running a shared process in parallel.

  24. Batch-Sequential Software Architecture David Mireles Kris Villanueva

  25. Batch-Sequential Processing Input Validated Input ProcessedData Validated Input ProcessedData Report Validate Process Report 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.

  26. 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

  27. 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.

  28. Blackboard • David Gomez-LeonOscar A. Olivas

  29. 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.

  30. 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.

  31. Dabase-centric • Del Hoyo • Chavez

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

  33. Characteristics: 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

  34. Characteristics: 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.

  35. Benefits  Reduced the total amount of code Reduced development time Improved performance Reduced network traffic Reduced the complexity of the application

  36. P2P • Saucedo

  37. 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.

  38. Plug-in architecture Valeria Fierro Neith Estrada

  39. Plug-in architecture 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.

  40. Plug-in architecture 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

  41. Search-Oriented • Rodrigo Nuñez; Brenda Medina

  42. 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

  43. Search Oriented Software Architecture Benefit: rapid response time and more convenient, in terms as SQL versus keyboard search Drawback: The data tier is not as organized

  44. Service Oriented • Carmen AvilaLeonel VillagomezCesar Yeep

  45. Service-oriented Architecture Group of services that communicate with each other.

  46. Service-Oriented Architecture (SOA) 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).

  47. 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.

  48. 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. • 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

  49. To associates individual SOA objects orchestration is used. Orchestration is the ability to control how information flows and services (behaviors) interact to form solutions.

  50. Benefits 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