enterprise software architecture design characteristics
play

Enterprise Software Architecture & Design Characteristics - PowerPoint PPT Presentation

Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed 2


  1. Enterprise Software Architecture & Design

  2. Characteristics Servers ● application server, web server, proxy servers etc. Clients ● heterogeneous – users, business partners (B2B) ● scale – large number of clients ● distributed 2

  3. Characteristics Data ● large amounts of data ● long-term & short term persistence ● distributed in nature ● governed by schema – global company wide – local application specific – complex & resistant to change 3

  4. Architectural Style Layered style applications business utilities core Are you sure? 4

  5. Architectural Style Tiered style ● from layered to tiered – physical separation – each tier ● acts as a client of the tier to the right ● provides a service to the tier on the left 5

  6. Architectural Style Client-Server style ● distributed clients – thick & thin – isolated from each other ● centralized servers – computationally powerful – one server to support many clients 6

  7. Architectural Style Client-Server style ● observations – main functionality processed at the central server – user interface at each client – flows ● data flows from server to client ● control flows from client to server – did some body say data? 7

  8. Architectural Style Repository Style ● central repository – multiple data-sources – generally database type ● data is shared across – clients – applications ● data is dynamic – in enterprise applications 8

  9. Functional Concerns application ● collection of business functionality ● generally divided over two tiers data ● transactional – transaction – generally a single operation – ACID ● atomicity – all or nothing ● consistency – from one consistent state to another consistent state ● isolation – interaction of other operations with the modified data ● durability – data after a successful transaction is never lost 9

  10. Non-functional Concerns Mostly honoured ● concurrency ● availability ● security ● performance ● fault-tolerance ● application distribution & deployment ● evolution ● re-usability 10

  11. Non-functional Concerns Most commonly violated ● cost ● ease of use ● interoperability ● portability ● throughput 11

  12. Putting it all Together Server Tier Data Tier Client Tier 12

  13. Putting it all Together W A A W Server Tier Data Tier Client Tier Presentation Business 13

  14. Putting it all Together W A W A Server Tier Data Tier Client Tier Presentation Business Controllers Data Services Source Web Application Data Access 14

  15. Web-based Enterprise Apps Why web applications? ● what non-functional requirements are we solving? concurrency cost availability ease of use security interoperability performance portability fault-tolerance throughput application distribution & deployment evolution re-usability 15

  16. Web-based Enterprise Apps Key attributes ● thin clients – web browsers – computationally challenged ● user interface – HTML, javascript, css – simple & static – resides at client tier ● communication – synchronous request response – HTTP over TCP/IP 16

  17. First Generation HTTP request (URL or Form posting) W W W HTTP response (HTML Document) Client Tier Server Tier Data Tier CGI-Scripts Data Source Web 17

  18. First Generation HTTP request Observations (URL or Form posting) ● simple design W ● client-tier – building blocks are? W W ● business tier HTTP response (HTML Document) – aggregation of scripts Client Tier Server Tier Data Tier – scripts are CGI-Scripts Data Source ● independent Web ● stateless ● lacks organic growth ● security nightmare 18

  19. Second Generation HTTP request (URL or Form posting) W J W W J HTTP response (HTML Document) Server Tier Data Tier Client Tier Presentation JEE Container Servlet Data Services Source JDBC Web JEE Server 19

  20. Second Generation Observations ● not so simple anymore ● improves business tier only – high level frameworks ● JEE servlets, struts, spring MVC – applications server standardization ● provides various services (like what?) ● negative impact on – request-response cycle – user interface 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend