Application Architecture Application architecture a specification of the











- Slides: 11

Application Architecture Application architecture – a specification of the technologies to be used to implement information systems. The blueprint to communicate the following design decisions: 1 • The degree to which the information system will be centralized or distributed. • The distribution of stored data. • The implementation technology for software developed in-house. • The integration of commercial off-the-shelf software. • The technology to be used to implement the user interface. • The technology to be used to interface with other systems

Possible Computer Process Implementations • A purchased application software package • Also called commercial off-the-shelf (COTS) software • A system or utility program • Such as an e-mail/message server or third-party framework • An existing application program from a program library • May require modification 2 • A program to be written

Computing Layers • Presentation layer—the user interface • Presentation logic layer—processing that must be done to generate the presentation, such as editing input data or formatting output data. • Application logic layer—the logic and processing to support business rules, policies, and procedures • Data manipulation layer—to store and retrieve data to and from the database • Data layer—the actual business data 3

Types of Distributed Computing 4

Network Computing System: Internet/Intranet 5

Types of Data(base) Distribution Data partitioning truly distributes rows and columns of tables to specific database servers with little or no duplication between servers. • Vertical partitioning assigns different columns to different servers. • Horizontal partitioning assigns different rows to different servers. Data replication duplicates some or all tables on more than one database server. • Propagates updates on one database server to any other database server where the data is duplicated. 6

Interface Architectures – Inputs, Outputs, & Middleware • • • Batch inputs and outputs Online inputs and outputs Remote batch Keyless data entry (and automatic identification) Pen input Electronic messaging and work group technology • Electronic Data Interchange (EDI) • Imaging and document interchange • Middleware 7

Middleware – utility software that enables communication between different processors in a system. • It may be built into the respective operating systems or added through purchased middleware products. • Presentation middleware • Application middleware • Database middleware 8

Process Architectures Software development environment (SDE) – a language and tool kit for developing applications. • • • SDEs exist for centralized computing SDEs exist for distributed presentation SDEs exist for two-tiered client/server SDEs exist for multi-tiered client/server SDEs exist for Internet and intranet client/server Clean layering – a design strategy that requires that presentation, application, and data layers of an application be physically separated. 9 • Allows components of each layer to be revised or enhanced without affecting the other layers.

Network Architecture DFD 10

Data Distribution and Technology Assignments DFD 11