12.2 Forces Affecting the Architecture


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 Requirements

Data 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 Queries

Reports 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-ups

Summaries 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 Warehousing

A 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 Transactions

RSS must support high volumes of transactions involving data elements in dispersed areas of the system in an efficient manner.

Organizational Requirements

Figure 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

  • Transparent management of distributed, fragmented , and replicated data

  • Improved reliability/availability through distributed transactions

  • Improved performance

  • Easier and economical system expansion

Technology Requirements

Technology 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.

  • The Java programming language is the principal language for development. Other, more specialized languages may be used, such as JavaScript for Web pages and PL/SQL for stored procedures in Oracle.

  • Business logic is defined in enterprise beans that are run in an EJB server. The EJB server provides security, transaction, naming, and other services.

  • Dynamic Web pages are described using a combination of Java Server Pages (JSPs), Java servlets, and HTML.

  • OAGIS defines the XML business content to be exchanged between business objects.

  • MQSeries is a message-oriented middleware package used in the SRF for exchanging BSRs between business objects.

  • Oracle is the relational database management system (RDBMS).



Modernizing Legacy Systems
Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
ISBN: 0321118847
EAN: 2147483647
Year: 2003
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net