Web Technologies and Programming Lecture 05
Software system architecture
Specifics of web application architecture
Layered web architecture
2-layered architecture
3-layered architecture
N-layered architecture
36 trang |
Chia sẻ: hoant3298 | Lượt xem: 618 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Web Technologies and Programming Lecture 05, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Web Technologies and ProgrammingLecture 05 2Modeling web applicationsWeb application architecture3Summary of the previous lectureSystem modelingRequirement Modelinguse-case diagram, activity diagramContent modelingclass diagram, state machine diagramNavigation modelingPresentation modeling4Summary of the previous lectureTechnologies for web developmentProtocolclient-side technologiesserver-side technologiesTesting web applicationsObjectivesLevelsWeb application specificschallenges5OutlineSoftware system architectureSpecifics of web application architectureLayered web architecture2-layered architecture3-layered architectureN-layered architecture61. Software system architectureThe architecture of a computer system is the high-level (most general) design on which the system is basedArchitectural features include:Components (a Component is a part of a program)It contains one or several routinesConnectors (how components communicate)Collaborations (how components interact) 71. Software system architecture8Key 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 architecture9Factors influence the system architectureArchitectureQuality considerations withPerformanceScalabilityReusabilityOther?Functional RequirementsClientsUsersOther Stakeholders1. Software system architecture10Factors influence the system architectureArchitectureExperience withExisting ArchitecturePatternsProject ManagementOther?Technical AspectsOperating SystemMiddlewareLegacy SystemsOther?2. Specifics in web application architecture11A 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 architecture12For 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 architecture13we 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 architecture14Client: 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 architecture15Proxy: 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 architecture16Database 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 architecture17Media 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 architecture18ClientBrowserPlug -InFirewallproxyWeb-serverHTML, XML CGI supportDatabase serverApplication serverLegacy applicationMedia server3. Layered architecture for web applications19Presentation 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 applications20Application 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 applications21Data tier: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 architecture22Presents 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 architecture23ClientWeb/App ServerDatabaseServicesDynamic HTMLStatic HTMLClientServer3.1 two-layer web architecture24Advantage:Inexpensive (single platform)Disadvantages:Interdependency (coupling) of componentsNo redundancyLimited scalabilityTypical application:10-100 usersSmall company or organization3.2 three-layer web architecture25Usually implemented in 3 layersLayer 1: DataLayer 2: ApplicationLayer 3: presentationAdditionally, security mechanism (Firewall) and caching mechanism (Proxies) can be added3.1 three-layer web architecture26Application Server(Business Logic, Connectors,Personalization, Data Access)DBMSBackend(Legacy Application,Enterprise Info System)Business LayerData LayerClientPresentation LayerFirewallProxyWeb Server3.2 three-layer web architecture27Advantages: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 architecture28A 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 architecture29Replication:Application and data servers are replicatedServers share the total workload3.3 N-layer web architecture30Specialization:Servers are specializedEach server handles a designated part of the workload, by function3.3 N-layer web architecture313.3 N-layer web architecture32Advantages: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 architecture332-Tier3-TierN-Tier101001000userslarge e-commerce, business, or organizationsmall e-commerce, regional business or organizationlocal business or organizationcapacityscalabilityredundancycost3.5 example34Application 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 architecture35THANK YOU
Các file đính kèm theo tài liệu này:
- lecture_05_wt_web_application_architecture_1715_2028567.pptx