In general, the architecture of a system is the description of elements from which systems are built, interactions among those elements, patterns that guide their composition, and constraints on these patterns [Shaw 95]. Data, organizational, and technology requirements can all influence the architecture. The architecture must reflect the constraints imposed by these often incompatible requirements. Data RequirementsData requirements are driven by functional requirements ”for example, to maintain and report inventory status ”and by technical requirements ”for example, to support a relational data model. Examples of RSS data requirements follow. Reports and QueriesReports and queries, including flexible and ad hoc queries, involve extracting, relating, and summarizing data from one or more tables. Reports evolve and new reports are often added. In the RSS, support for ad hoc query capability is required so that users can enter their queries in SQL or by using query tools. Persistent Summaries and Roll-upsSummaries and roll-ups are reports produced from consolidated information that involves the extraction of data from multiple tables. Roll-up and summary information is stored in the database. The process for collecting and analyzing this data may be computationally intensive , potentially requiring the creation of interim tables to store data temporarily. Data WarehousingA data warehouse is a collection of data designed to support management decision making at the enterprise level. Data warehouses are described in detail in Chapter 7. Complex TransactionsRSS must support high volumes of transactions involving data elements in dispersed areas of the system in an efficient manner. Organizational RequirementsFigure 12-1 illustrates the distributed nature of the retail organization in our case study. Data stored in the headquarters, in any warehouse, and in any outlet has to be accessible to authenticated users throughout the system. Figure 12-1. Distributed organization
Managing distributed data can be extremely challenging. Some goals of managing distributed databases, as enumerated by Ozsu [Ozsu 99], include
Technology RequirementsTechnology requirements are often suggested or imposed by existing organizational integration frameworks or standards. These frameworks exist for a variety of reasons. By identifying standard products, an organization often hopes to share expertise among development projects and to lower licensing costs by leveraging site or multiple-license discounts . Although these frameworks can help in each of these endeavors, there must be a process for deviating from the framework when the technology choices are inappropriate for a project. The following technologies are contained within the SRF.
|