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

Class 8: N-Tier Architecture

Class 8: N-Tier Architecture

Notes for 6/27/2013

Ian Luke Kane

June 27, 2013
Tweet

More Decks by Ian Luke Kane

Other Decks in Technology

Transcript

  1. N-­‐Tier  (Mul,,er)  Architecture In  so&ware  engineering,  mul1-­‐1er  architecture  (o&en  

    referred  to  as  n-­‐1er  architecture)  is  a  client–server   architecture  in  which  presenta1on,  applica1on   processing,  and  data  management  func1ons  are  logically   separated. The  most  widespread  use  of  mul1-­‐1er  architecture  is   the  three-­‐1er  architecture.
  2. Why  N-­‐Tier? • N-­‐1er  applica1on  architecture  provides  a  model  by

      which  developers  can  create  flexible  and  reusable   applica1ons.   • By  segrega1ng  an  applica1on  into  1ers,  developers   acquire  the  op1on  of  modifying  or  adding  a  specific   layer,  instead  of  reworking  the  en1re  applica1on. • The  three-­‐1er  architecture  is  intended  to  allow  any  of   the  three  1ers  to  be  upgraded  or  replaced   independently  in  response  to  changes  in  requirements   or  technology.  For  example,  a  change  of  opera1ng   system  in  the  presenta1on  1er  would  only  affect  the   user  interface  code.  
  3. N-­‐Tier  Benefits Maintainability Because  each  0er  is  independent  of  the

     other  0ers,  updates  or   changes  can  be  carried  out  without  affec0ng  the  applica0on  as  a   whole. Scalability Because  0ers  are  based  on  the  deployment  of  layers,  scaling  out  an   applica0on  is  reasonably  straigh=orward. Flexibility Because  each  0er  can  be  managed  or  scaled  independently,   flexibility  is  increased. Availability Applica0ons  can  exploit  the  modular  architecture  of  enabling   systems  using  easily  scalable  components,  which  increases   availability.
  4. Three  Tier  Architecture A  Three-­‐1er  architecture  is  typically  composed  of

      a  presenta1on  1er,  a  business  or  data  access  1er,  and   a  data  1er. O&en  these  1ers  are  located  on  physically  separate   servers,  though  that  is  not  strictly  a  necessity.
  5. Web  Development  Usage In  the  web  development  field,  three-­‐0er  is

     oFen  used  to   refer  to  websites,  which  are  built  using  three  0ers: 1. A  front-­‐end  web  server  serving  sta0c  content,  and   poten0ally  some  cached  dynamic  content.  In  web  based   applica0on,  Front  End  is  the  content  rendered  by  the   browser.  The  content  may  be  sta0c  or  generated   dynamically. 2. A  middle  dynamic  content  processing  and  genera0on   level  applica0on  server,  for  example  Ruby  on  Rails,  Java   EE,  ASP.NET,  PHP,  Python  ColdFusion,  Perl  pla=orm. 3. A  back-­‐end  database  or  data  store,  comprising  both  data   sets  and  the  database  management  system  or  RDBMS  
  6. Downsides   Physical  Complexity More  machines  with  more  moving  pieces.

    Network  Latency Latency  is  the  amount  of  0me  between  when  a  packet  of   network  data  is  transmiSed  and  the  0me  it  is  received Ini1al  Development  Time
  7. What  is  LAMP?  /   How  does  it  relate? LAMP

     is  a  combina0on  of  free,  open  source  soFware.  The   acronym  LAMP  refers  to  the  first  leSers  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.
  8. Wordpress  as  LAMP  Example Books  in  Pieces • “So  you

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