Designing the Physical Architecture
Objectives Understanding client server and n-tier architectures Server farms
System Architecture (Introduction) Client (PC / tablet / mobile /) server (minicomputer / mainframe) Web-based client (OFBiz) Thick client (SAP NetWeaver) Two-tiered architecture Client / server / database Three tiered architecture
Client / Server / Illustration
Three-tier (Illustration) Application Server Database Server
System Architecture (Introduction) As systems grow, a single computer is not enough Load balancing servers route traffic to application servers Application servers run the enterprise application OFBiz, SAP We call these Server Farms (and Web Gardens)
System Architecture (Introduction) Server farms typically use a backend database (centralized) The database can be federated
Complex Load Balanced Database Server Load Balancing Servers Clients Application Servers
Physical Architecture Functional Requirements Financial factors Cost of development, infrastructure, and maintenance Performance factors Scalability Fault tolerance Speed The cloud Internet of things
Non-functional Requirements Requirements for data conversion and data integration Portability and flexibility How strict are the hardware and software requirements? OFBiz will run on anything that runs Java, which is just about anything Maintainability Operational tasks / backups, etc.
Establishing Performance Requirements Speed Define expected response time Run simulated benchmarks to test expected response time Capacity requirements How “expandable” are the systems we are buying Availability and reliability What reliability characteristics do we need
Benchmarking We need to estimate performance There are several benchmarks to do this http://www.tpc.org/information/benchmarks.asp TPC-C is a transactional benchmark http://www.tpc.org/tpcc/results/tpcc_results.asp?orderby=hardware OFBiz has some benchmarking tools “built in” to simulate load http://www.hotwaxsystems.com/ofbiz/apache-ofbiz-performance-benchmarking/
Building Hardware and Software Specifications CPU number and speed Memory IO Disk / SAN / NAS Network
Facility Electrical requirements Cooling and humidification requirements Physical footprint
Physical Security This is really the subject of your data security course Controlling physical access Firewalls Proxy Web servers in the DMZ Database lives behind the firewall
Cultural and Political Ecosystems It’s the age old problem of adoption and acceptance
Modeling the Implementation We have a UML diagram for that too Deployment diagrams depict software and hardware components Network diagrams depict the physical network architecture
UML Deployment Diagrams (Parts) Symbols to show the system parts Client, server, mainframe, network, database, etc… Parts Nodes are computational resources Artifacts are pieces of software or databases OfBiz Communication paths show associations between nodes
Network Model There is no specific UML diagram to model the network Instead, we use deployment diagrams.
Network Model