Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Class 5: N-Tier Architecture

Ian Luke Kane
December 19, 2013

Class 5: N-Tier Architecture

Class Notes for 12/19/2013.

Ian Luke Kane

December 19, 2013
Tweet

More Decks by Ian Luke Kane

Other Decks in Technology

Transcript

  1. N-Tier (Multitier) Architecture In software engineering, multi-tier architecture (often referred

    to as n-tier architecture) is a client–server architecture in which presentation, application processing, and data management functions are logically separated. The most widespread use of multi-tier architecture is the three-tier architecture.
  2. Three Tier Architecture A Three-tier architecture is typically composed of

    a presentation tier, a business or data access tier, and a data tier. Often these tiers are located on physically separate servers, though that is not strictly a necessity.
  3. N-Tier Benefits Maintainability Because each tier is independent of the

    other tiers, updates or changes can be carried out without affecting the application as a whole. Scalability Because tiers are based on the deployment of layers, scaling out an application is reasonably straightforward. Flexibility Because each tier can be managed or scaled independently, flexibility is increased. Availability Applications can exploit the modular architecture of enabling systems using easily scalable components, which increases availability.
  4. Web Development Usage In the web development field, three-tier is

    often used to refer to websites, which are built using three tiers: 1. A front-end web server serving static content, and potentially some cached dynamic content. In web based application, Front End is the content rendered by the browser. The content may be static or generated dynamically. 2. A middle dynamic content processing and generation level application server, for example Ruby on Rails, Java EE, ASP.NET, PHP, Python, ColdFusion, or Perl. 3. A back-end database or data store, comprising both data sets and the database management system or RDBMS software that manages and provides access to the data.
  5. Downsides Physical Complexity More machines with more moving pieces. Network

    Latency Latency is the amount of time between when a packet of network data is transmitted and the time it is received Initial Development Time
  6. What is LAMP? / How does it relate? LAMP is

    a combination of free, open source software. The acronym LAMP refers to the first letters of Linux (OS), Apache HTTP Server (web server), MySQL (RDBMS), and PHP, Perl or Python, principle components to build a viable general purpose web server. We’ve used MAMP, WampServer, and XAMPP.
  7. Wordpress as LAMP Example Books in Pieces • “So you

    never have to commit more than ten minutes of time to your intellectual development! ” • Split a public domain book into chunks and post them bit by bit. Themes, Posts, Creating the Database, Email Demonstration