Software Eng for WWW
Software Eng for WWW SWE 642
Popular in Course
Popular in Information technology
This 13 page Class Notes was uploaded by Consuelo Schultz on Monday September 28, 2015. The Class Notes belongs to SWE 642 at George Mason University taught by Andrew Gravatt in Fall. Since its upload, it has received 49 views. For similar materials see /class/215063/swe-642-george-mason-university in Information technology at George Mason University.
Reviews for Software Eng for WWW
Report this Material
What is Karma?
Karma is the currency of StudySoup.
Date Created: 09/28/15
Notes on NTier Architectures Andy Gravatt agravattindusc0rpc0m SWE 642 Software Engineering for the World Wide Web NTier Architectures Distributed application Programs run on two or more host computers Architecture Where the programs run What their responsibilities are and how they interact Tiered Architecture Programs only communicate with each other if they are on adjacent tiers that is information ow is linear tier 1 programs do not communicate with tier 3 programs Clientserver Programs run on two computers They usually interact in a masterslave relationship client is the master This is also called 2tier 3Tier A third computer is used typically a DB 1242007 Gravatt NTier Architectures 2 N Tier An unlimited number of tiers Each tier may have multiple computers Advantages More powerful applications Many services to many clients Enhanced security scalability and availability Disadvantages Software is more complex effects design reliability maintainability Much more complicated to design and model Performance risks Not sure how to achieve reliability Very different to maintain software 1242007 Gravatt Six Major Quality Attributes Effects of N Tier architectures Reliability New methods are needed Usability Security Tiers provide for security walls Availability Tiers enhance redundancy Scalability Fairly easy to expand services Maintainability Good design maintenance is easy bad design maintenance is hard 1242007 Q 1 M Comparison of Architectures JE m Thigh WQDWMW 3 N m m humg au m i 4quot Pmmml Em Chm mmmm ar 61533311 1L g mumm m rg Smme mg idmg cm U1 fcmm Mm gm mp mmcam pamitrm Mm gmm myp mmw J hi bh diam im a gse i blirtrxc Cm qwmm H g 9 51ml wa a myib cgalb cza m1 mmm laitan via infalmm m m me my DB 19mm w him DEA ii mm SQL Tojj r mi mal mapping mm 1242007 SEEpm mm l qg cca gplimuimg m ir mmm mWHJAMPH Gravatt Lam Mm ham APE CQRBAQ KW 343 Eammg w mmga ag Mym farmliig mad bdeam mg g 311ml Challenges of NTier Architectures Communication and distribution is usually handled by bought middleware CORBA EJB DCOM etc Software becomes heterogeneous and parallel A lot to learn about the new technologies Distributed object application servers are expensive BEA39s Weblogic IBM39s WebSphere Designing truly reusable objects is difficult the design must be high quality they may not satisfy the needs of future systems 1242007 Gravatt Challenges of NTier Architectures 2 General distributed object protocols are slow This is usually not important because the internet is so slow and if it is more speed can usually be achieved by adding more hardware Load balancing is quite dif cult distributing requests to computers such that each computer does approximately the same work In small systems everything is simple but in large systems the overall software design is crucial to product success 1242007 Gravatt Web Clustering Web sites can no longer grow by adding a bigger server Modern web sites use groups of servers that act as a single unit or cluster Adding new servers to the cluster allows for scalability Adding new servers adds redundancy which increases availability 1242007 Gravatt Web Clustering Clustering introduces security problems The primary security protocol is Transport Layer Security TLS Formerly SSL TLS uses a large amount of processing to set up a secure sess1on The fact that HTTP is sessionless means that TLS39s information must be cached on a server But with clustering the next request from a client may be on a different server thus the TLS information may n0t be available 1242007 Gravatt Web Clustering 2 Most clustering techniques use a dispatcher in front that routes requests to cluster members Cluster Internet Dispatcher 1242007 Gravatt Web Clustering 3 Three categories of clustering technologies 1 L42 Layer 4 switching 2 packet forwardng 2 L43 Layer 4 switching 3 packet forwardng 3 L7 Layer 7 switching 2 or 3 packet forwarding TCPIP packets contain several layers of information layers 3 network and 4 transport contain Source and destination IP addresses Source and destination protocol addresses ports Information as to whether the packet starts a session or continues a session 1242007 Gravatt Web Clustering 4 Dispatchers choose a server based on the data in the packets and a loadsharing algorithm Continuing sessions are usually sent to the server that is already assigned L43 clusters Each server has its own IP address Dispatcher must do more checks on the packet header The server gets packets om the dispatcher and cannot respond directly to the client L42 clusters are faster All servers have the same IP address layer 3 Once given a packet the server can respond directly to the client Without going through the dispatcher 1242007 Gravatt Web Clustering 4 L4 dispatchers are quotcontent blindquot requiring that each server have the same le systems replicated or shared If data is m no problem Replicating data is very dif cult haring le systems is slow L7 clusters are more intelligent Dispatchers look at application data 081 layer 7 Dispatchers can be more intelligent different servers can be used to serve different types of requests Each dispatch decision is more complicated the application data is usually not structured 1242007 Gravatt