The document discusses system technical architecture (STA). It defines system architecture and how it describes the elements, relationships, and rules of a system. It also discusses how to build an architecture, including guidelines, activities, and factors that influence it. A good architecture has a single leader, requirements, quality attributes, documentation, and stakeholder involvement. Architectures can be represented structurally or with description languages. Key decisions in STA development include technology choices, data storage, interfaces, and more. Client-server architecture distributes workload and resources between client systems that initiate connections and server systems that wait for requests.
The document discusses system technical architecture (STA). It defines system architecture and how it describes the elements, relationships, and rules of a system. It also discusses how to build an architecture, including guidelines, activities, and factors that influence it. A good architecture has a single leader, requirements, quality attributes, documentation, and stakeholder involvement. Architectures can be represented structurally or with description languages. Key decisions in STA development include technology choices, data storage, interfaces, and more. Client-server architecture distributes workload and resources between client systems that initiate connections and server systems that wait for requests.
The document discusses system technical architecture (STA). It defines system architecture and how it describes the elements, relationships, and rules of a system. It also discusses how to build an architecture, including guidelines, activities, and factors that influence it. A good architecture has a single leader, requirements, quality attributes, documentation, and stakeholder involvement. Architectures can be represented structurally or with description languages. Key decisions in STA development include technology choices, data storage, interfaces, and more. Client-server architecture distributes workload and resources between client systems that initiate connections and server systems that wait for requests.
System architecture is the presentation of an existing (or future) system, describing the elements comprising a system, the relationships among those elements, and the rules governing those relationships. System Architecture defines the technologies to be used by (or built in) one, more, or all information systems in terms of its data, processes, interfaces, and network components. It defines the framework for the general design ֎ How to build architecture Some Structural Guidelines to Architect • The architecture should well-define modules with functional responsibilities. • Each module should have a well-defined interface. • The architecture should never depend on a particular version of a commercial product or tool. Activities of Building Architecture • Creating the business case for the system • Understanding the requirements • Creating or selecting the architecture • Documenting and communicating the architecture • Analyzing or evaluating the architecture • Implementing the system based on the architecture • Ensuring that the implementation conforms to the architecture ֎ What influence/affects building architecture • System Stakeholders • Developing organization • Background & experience of architects • Technical environment ֎ What Makes a 'Good' Architecture? Process recommendations • The architecture should be the product of a single architect or a small group of architects with an identified leader. • The architect (or architecture team) should have: ▪ The functional requirements for the system and ▪ The Basic required prioritized list of quality attributes (such as security or modifiability) that the architecture is expected to satisfy. • The architecture should be well documented, using an agreed-on notation that all stakeholders can understand with a minimum effort. • The architecture should be circulated to the system's stakeholders, who should be actively involved in its review and implementation. • The architecture should define the contention areas Omnia Khaled ֎ Explain Architecture Representation Architecture can be represented by • Structured Method which are formal analytical way of representation, consisting of a set of representative graphs of the basic blocks/components of the system, a set of connection arrows between them, and a set of comments to describe such structures and the rules governing the relations between system blocks/components. • Architecture description languages (ADLs) are formal languages and can be used to represent the architecture of a software intensive system, which comprise the software elements, the externally visible properties of those elements and the relationship among them. ֎ Decisions Taken During STA Development Will the System use centralized or distributed computing? Will the system’s data stores be centralized or distributed? How so? What data storage technology will be used? Will SW be purchased, built-in house, or both? For programs to be written, what technology will be used? How will users interface with the system? How data will be input? How outputs be generated? How will the system interface to other existing systems? ֎ Explain Client Server Software Architecture Client-Server architecture is a software architecture model consisting of two components: • Client software or Client systems, Server software or systems Objectives of the Client-server architecture are to provide a better way to share the resources (files, devices, and even processing power.) and distribute workload Evenly as possible. ֎ Explain Two Components of Client Server Software Architecture Client software or Client systems • which always initiates a connection to the server.. • Clients are PCs or workstations on which users request a service from the server and rely on servers for resources, such as files, devices, and even processing power. Server software or systems • which always wait for requests from any client • Servers are powerful computers or processes dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers). Both are communicating over a computer network or on the same computer. When both the client process and server process are running on the same computer, this is called a single seat setup. Omnia Khaled ֎ Types of Client-Server Architecture Client-Server Two-tier Architecture Client-Server Three-tier Architecture Client-Server n-tier Architecture ֎ Explain Client-Server Two-tier Architecture The basic type of client-server software architecture employs only two types of hosts: • clients • servers The two-tier architecture means that the client acts as one tier and server process acts as the other tier. ֎ Explain Client-Server Three-Tier Architecture Presentation Tier • Occupies the top level and displays information related to service available on a website. Application Tier • Also called the middle tier, logic tier or business logic • this tier is pulled from the presentation tier. • It controls application functionality by performing detailed processing. Data Tier • Houses database server where information is stored and retrieved. • Data in this tier is kept independent of application servers or business logic. In the three-tier architecture the functional process logic, data access, computer data storage and user interface are developed and maintained as independent modules on separate platform. ֎ Explain Client-Server n-Tiers Architecture Often referred as Multitier Architecture. It is a client-server architecture in which presentation, application processing, and data management functions are physically separated. it is an expanded form of three-tier architecture. ֎ Explain Advantages of Client-Server n-Tiers Architecture It provides a model by which developers can create flexible and reusable applications. By segregating an application into tiers, developer acquires the option of modifying or adding a specific layer, instead of reworking the application. ֎ Explain Limitation of Client-Server n-Tiers Architecture Difficult to Implement: Due to componentization of tiers, the complex structure is difficult to implement or maintain.