Software system architecture
Specifics of web application architecture
Layered web architecture
2-layered architecture
3-layered architecture
N-layered architecture
33 trang |
Chia sẻ: dntpro1256 | Lượt xem: 673 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Web application architecture, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.1Summary of the previous lectureSystem modelingRequirement Modelinguse-case diagram, activity diagramContent modelingclass diagram, state machine diagramNavigation modelingPresentation modelingBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.2OutlineSoftware system architectureSpecifics of web application architectureLayered web architecture2-layered architecture3-layered architectureN-layered architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.31. Software system architectureThe architecture of a computer system is the high-level (most general) design on which the system is basedArchitectural features include:ComponentsCollaborations (how components interact)Connectors (how components communicate) Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.41. Software system architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.5Key attributes of an architecturearchitecture describes structurearchitecture forms the transition from analysis to implementationdifferent viewpoints (conceptual, runtime, process and implementation)makes a system understandable1. Software system architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.6Factors influence the system architectureArchitectureQuality considerations withPerformanceScalabilityReusabilityOther?Functional RequirementsClientsUsersOther Stakeholders1. Software system architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.7Factors influence the system architectureArchitectureExperience withExisting ArchitecturePatternsProject ManagementOther?Technical AspectsOperating SystemMiddlewareLegacy SystemsOther?2. Specifics in web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.8A number of architectures for specific requirement in several application domain have been developedFor web application architecture, usually we considerlayering aspect: to implement the principle of ‘separation of concerns’data aspects: to support processing of structured and non-structured data2. Specifics in web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.9For web applications quality requirements are more demanding as compared to desktop applicationsperformance, security, scalability, and availability etc.Need specific technical infrastructures both for the development and the operation of web applications2. Specifics in web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.10we have to considerweb infrastructure architecture (WPA)web application architecture (WAA)Web application architecture (WAA) depends on the problem domain of the application, therefore we focus on web platform architecture (WPA)2. 1 Components of a web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.11Client: generally a browser (user agent) is controlled by a user to operate the web applicationthe client’s functionality can be expanded by installing plug-ins Firewall: a piece of software regulating the communication between insecure networks(e.g., the Internet) and secure networks (e.g., corporate LANs)this communication is filtered by access rules2. 1 Components of a web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.12Proxy: A proxy is typically used to temporarily store web pages in a cacheWeb server: A Web server is a piece of software that supports various Web protocols like HTTP, and HTTPS, etc., to process client requests2. 1 Components of a web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.13Database server: this server normally supplies data in structured form, e.g., in tablesLegacy application: A legacy application is an older system that should be integrated as an internal or external component2. 1 Components of a web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.14Media server: This component is primarily used for content streaming of non-structured bulk data (e.g., audio or video)Application server:An application server holds the functionality required by several applications2. 1 Components of a web application architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.15ClientBrowserPlug -InFirewallproxyWeb-serverHTML, XML CGI supportDatabase serverApplication serverLegacy applicationMedia server3. Layered architecture for web applicationsBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.16Presentation tier:Every web application needs to communicate with external entities, human users or other computersallows these entities to interact with the systemimplemented as a GUI interfaceHow the data should appear to the user3. Layered architecture for web applicationsBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.17Application tier:Web applications do more than information delivery, they perform data processing (Business Logic & calculation) behind the results being deliveredThis tier is often referred to asServicesBusiness logic3. Layered architecture for web applicationsBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.18Data layer:Web applications needs data to work with Data can reside in databases or other information repositoriesDeals with and implements different data sources of Information Systems3.1 two-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.19Presents architecture in two layers:Layer 1: Client platform, hosting a web browserLayer 2: server platform, hosting all server software componentsAlso called client/server architectureClient directly send request to the serverServer respond to the client requestStatic or dynamic requests3.1 two-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.20ClientWeb/App ServerDatabaseServicesDynamic HTMLStatic HTMLClientServer3.1 two-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.21Advantage:Inexpensive (single platform)Disadvantages:Interdependency (coupling) of componentsNo redundancyLimited scalabilityTypical application:10-100 usersSmall company or organization3.2 three-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.22Usually implemented in 3 layersLayer 1: DataLayer 2: ApplicationLayer 3: presentationAdditionally, security mechanism (Firewall) and caching mechanism (Proxies) can be added3.1 three-layer web architecture23Application Server(Business Logic, Connectors,Personalization, Data Access)DBMSBackend(Legacy Application,Enterprise Info System)Business LayerData LayerClientPresentation LayerFirewallProxyWeb Server3.2 three-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.24Advantages:Improved performanceDecreased coupling of software componentsImproved scalabilityDisadvantages:No redundancyTypical Application:100-1000 usersSmall business or regional organization, e.g., specialty retailer, small college 3.3 N-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.25A multitier (N-layer) architecture is an expansion of the 3-layer architecture, in one of several different possible waysReplication of the function of a layerSpecialization of function within a layer3.3 N-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.26Replication:Application and data servers are replicatedServers share the total workload3.3 N-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.27Specialization:Servers are specializedEach server handles a designated part of the workload, by function3.3 N-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.283.3 N-layer web architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.29Advantages:Decoupling of software componentsFlexibility to add/remove platforms in response to loadScalabilityRedundancyDisadvantages:Higher costs (maintenance, design, electrical load, cooling)Typical Application:1000+ usersLarge business or organization3.4 Comparison of layered architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.302-Tier3-TierN-Tier101001000userslarge e-commerce, business, or organizationsmall e-commerce, regional business or organizationlocal business or organizationcapacityscalabilityredundancycost3.5 example31Application Server(Business Logic, Connectors,Personalization, Data Access)DBMSBusiness LayerData LayerClientPresentation LayerWeb ServerMedia ServerSummarySoftware system architectureSpecifics of web application architectureLayered web architecture2-layered architecture3-layered architectureN-layered architectureBasharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.32ReferencesChapter 4, Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Hoboken, NJ: Wiley & SonWeb-based application development, Ralph F Grove , J and B publishers, (www.jbpub.com)Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan.33
Các file đính kèm theo tài liệu này:
- lec_7_web_application_architecture_2257_2026955.pptx