Early Attempts at Architecture, Conceptual Building Blocks, and Heuristics

Information Systems Architecture & Organization Early Attempts at Architecture, Conceptual Building Blocks, and Heuristics Initial Attempts at IS Ar...
Author: Regina Sullivan
4 downloads 1 Views 387KB Size
Information Systems Architecture & Organization

Early Attempts at Architecture, Conceptual Building Blocks, and Heuristics

Initial Attempts at IS Architecture

The good old days?

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Riding the Technology Waves Technology independent business model

Same underlying abstract business rules

??? Internet Distr. Objects Client/Server Terminal Host Batch

Time

Source: Gartner Group, 1996

Mainframe Computing • At first, the only form of business computing • Functions: – Core business processes, transaction processing

• Architectural approach: – Highly centralized, often fitting their organizations

• Few vendors, mostly proprietary systems

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Mainframe Computing Types BATCH

HOST

Mainframe Computing • Early limitations: – Technical possibilities – Organizational structures and workflows – Lack of experience with business computing

• What changed? – Technical possibilities expanded – Changing organizational structures, often enabled by technology – Increased experience with business computing

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Mainframe Computing • Mainframes were not ideal: – Limited computing possibilities for end users – Inflexible in management reporting – Different applications usually not integrated – Mainframe set-up itself was resistant to change

• Use of centralized mainframes does not by itself imply an IS architecture!

Mainframe Computing • Organizations gladly moved on… – Mainframe remains to support TPS – Decentralized support using minis and PCs

• …but the organizational IS environment became much more complex as a result Did the move away from mainframes raise or create most IS architecture problems?

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Database Systems From flat file systems... Appl. 1

File 1

Appl. 2

File 2

Appl. 3

File 3

…to database systems Appl. 1

Appl. 2

DATA BASE

Database Systems • Advantages of database systems: – Centralization of data – Standardization across the enterprise – Increased data accuracy – Reduced data redundancy – Giant step towards data management!

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Appl. 3

Database Systems EXTERNAL

CONCEPTUAL INTERNAL

Database Systems • External - The User/Manager View – Entities (what the database describes), Attributes (what is recorded about the entities), and Relations (how the entities are associated).

• Conceptual - the IS Architect / DB Administrator view – Fields (attributes of the entities), Records (collected entity-descriptions), and Tables/Files (groups of similar entities).

• Internal - The database developer view – Data Dictionary / Directory Systems, Data Access Methods, Data Storage Devices

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Database Systems • In theory: – Single organizational database accessed by all programs, departments, and functions

• In practice: – Inability of different departments or divisions to collaborate/agree on organizational data standards – Organizational concern over confidential or competitive data – Organizational moves towards decentralization

• Resulting in: – Localized approaches to database systems – Data redundancy, reduced accuracy

Database Systems • Database Systems as an effort towards IS architecture: – Standardize the data used in the organization – Localize/reduce the impact of changes – Separate function from technology and let function drive the application of technology – Layered DB model provides multiple perspectives on the database architecture

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Data Dictionary/Directory Systems • A DD/DS is a repository of Meta-Data. • Meta-Data is data about data: – What fields are in the database? – How are these fields formatted? – How & where are these fields stored? – When & by whom were they created? – And so forth...

Data Dictionary/Directory Systems • Organizations quickly realized that it was worthwhile to describe more than only their data-items: – Files & databases – Programs / Applications – Systems & Projects – Relationships among all these.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Data Dictionary/Directory Systems • Why gather meta-data? – To create an inventory of IS resources. – To enable management of IS resources – To promote reusability of IS resources. – To encourage or enforce standardization in IS development.

Data Dictionary/Directory Systems • Organizations also found that two approaches to meta-data were useful: – Logical meta-data: descriptive information relating to purpose and meaning. – Physical meta-data: technical specifications.

• These approaches provide different perspectives on the same items!

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Data Dictionary/Directory Systems • A DD/DS includes a Dictionary/Directory Management System - DDMS. – Defines and maintains DD/DS content using a Data Definition Language. – Secures DD/DS content, incl. Back-ups. – Reports on DD/DS content in a variety of useful formats. – Interfaces with the IS it defines.

Data Dictionary/Directory Systems GENERAL DD/DS & DATABASE MODEL

DATA DICT DATA DIRC

DATA DICT. MGMT SYSTEM - DDMS -

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

DATA BASE MGMT SYSTEM - DBMS -

DATA BASE DATA BASE

Data Dictionary/Directory Systems • DD/DS as an effort towards IS architecture: – An effort towards standardization, which provides for connectivity and data exchange. – DD/DS organizes and classifies meta-data. – Logical and physical meta-data provide multiple perspectives on the architecture.

• IS architecture descriptions are in essence meta-data.

Client/Server Networks • An architecture in which one computer can get information from another. The client is the computer that asks for access to data, software, or services. The server, which can be anything from a personal computer to a mainframe, supplies the requested data or services for the client.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Client/Server Networks But also... • A form of distributed computing in which multiple computers (usually minis, servers, and PCs) handling different aspects of input, processing, output, and storage.

Client/Server Types Distributed Remote Distributed Remote Distributed Presentation Presentation Logic Data Mgmt. Database Data Mgmt Data Mgmt Data Mgmt Data Mgmt Data Mgmt Application Application Application Presentation

R K O W Data Mgmt N E T Application Application Application

Presentation Presentation Presentation Presentation Presentation

CLIENT

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Client/Server Networks • Why are C/S networks so popular? – Balance of need for centralization and local concerns and opportunities – Design and development of customized network solution for organization – Scalability of network allows for growth – Integration of multi-vendor equipment – Integration of new technologies

Client/Server Networks • Client/Server Networks as an effort IS towards architecture: – A complete, consciously designed approach to IS which includes data, processing, and networking, as well as organizational design and business workflow. – Distribution of data and computing resources to the most appropriate locations in the organization – C/S provides a platform for organizational growth and integration of future technologies.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Heuristics & Conceptual Building Blocks of IS Architecture

Basic Starting Points

Heuristics & Conceptual Building Blocks • Conceptual Building Blocks: – Standards & Standardization – Distributed Computing – Horizontal Approach to IS Design – Classification Theory – Design Patterns – Multiple IS Perspectives

• Heuristics as Tools

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Standards & Standardization

“”

The research shows that enterprises which are retooling invariably conclude that a new network-centered architecture can only be achieved through the adoption of standard interfaces and components. The result is the emergence of the ‘standardsbased’ architecture. A comprehensive standardsbased architecture will include both open and proprietary standards. Unisys Corp. “The Open Systems Approach.”

Standards & Standardization

“STANDARD” “Something established by authority, custom, or general consent as a model or example.” “Something set up and established by authority as a rule for the measure of quantity, weight, extent, value, or quality.”

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Standards & Standardization • We are surrounded by standards: – Miles, Gallons, Dollars, Voltage, Cables & Connectors, etc.

• Digital standards are common too: – TCP/IP, HTML, DOC, RTF, JPEG, MIME

Standards & Standardization • But standards can conflict: – Miles Kilometers – Gallons Liters

• Digital standards are no different: – GIF is different from JPEG – DOC is different from WPD

• Sometimes we get carried away: – EDI has 4700 standard formats!

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Standards & Standardization • Advantages of standards: – Standards allow for an industry to grow and mature. • E.g.: European GSM Vs. American cell-soup

– Standards allow for the integration of products of different vendors. – Standards provide a framework within which developers can be creative and innovative. – Standards may speed up product adoption.

Standards & Standardization • Disadvantages of standards: – Standards may allow for monopolization of an industry. (Microsoft?) – Standards may halt innovation in an industry. (VHS) – Standards are a compromise, and the best option may not become standard. – Standards may create resistance from people who consider them restrictive.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Standards & Standardization • Demand for standards often comes from the customer base. – Customers want their new TV to connect to a standard cable plug and a standard wall power socket. – Customers want their new PC to read standard disks. – Customers want their on-line service to display standard Internet documents.

Standards & Standardization • Reasons for standards in information architectures: – Efficiency: information systems management and operation become cheaper and faster. – Effectiveness: integrate information and intelligence across the enterprise to help find and exploit new business opportunities.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Standards & Standardization • Standards in information architectures: – Networking standards – Transmission standards – Operating Systems standards – Graphical User Interface standards – Software Application standards – Data / Database formatting standards

Standards & Standardization • How detailed should IS standards be? – Standards that are too specific may hinder business units in their work. – Standards that are too vague may lead to a confusion of incompatible standards. – Key focus:

INTEROPERABILITY & OPEN SYSTEMS

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Standards & Standardization • Interoperability – The ability of software and hardware on multiple machines from multiple vendors to communicate and work together by sharing applications, data, and computer resources.

Standards & Standardization • Open Systems – Software systems that subscribe to public operating systems, user interfaces, application standards, and networking protocols. – Open systems allow for flexibility and optimization in implementing IS solutions using multiple vendors and products.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Distributed Computing DECENTRALIZATION

PCs

DISTRIBUTED COMPUTING MAIN FRAMES CENTRALIZATION

TIME

Distributed Computing • Distributed Computing: – A logically centralized and physically decentralized arrangement of an IS. – Computing activity is centrally guided but performed at separate yet interconnected machines.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Distributed Computing PROCESSING POINT

CENTRAL PROCESSING POINT

PROCESSING POINT PROCESSING POINT

PROCESSING POINT

Distributed Computing • Distributed Computing Environment: – An architecture consisting of standard programming interfaces, conventions and server functionality for distributing applications transparently across networks of heterogeneous computers. – Commonly implemented using a Client/Server design.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Distributed Computing • Advantages of distributed computing: – Benefits of centralized control and decentralized adaptability. – Reduced cost of smaller computing resources, especially PCs. – Increased flexibility and scalability of separate computing resources. – Computing resources easily adapt to individual or local needs.

Distributed Computing • Disadvantages of distributed computing: – Loss of economies of scale of centralized computing. – Possible loss of central control on data and computing standards. – Loss of central data access controls for confidential data. – Possibility of private “data islands.”

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Horizontal Design of IS • Most IS have been developed using a vertical approach: – Organizational strategies & goals – Departmental strategies & goals – IS development to support department

Horizontal Design of IS VERTICALLY DEVELOPED IS PROBLEM AREAS ENTERPRISE MANAGEMENT ACCOUNTING

PRODUCTION

MARKETING

Proprietary IS

Proprietary IS

Proprietary IS

DB

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

DB

DB

Horizontal Design of IS • The vertical approach resulted in proprietary information systems. • These IS were optimized for departments and functions, but not necessarily for the whole enterprise. • Disconnects and hand-offs became common in many organizations. • Data and application redundancy become common.

Horizontal Design of IS • IS developed using the vertical approach are based on the Functional View of the organization. Top Management

Accounting & Finance

Research & Development

Production

Sales & Marketing

• However, this usually does not reflect the way the enterprise works.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Horizontal Design of IS • The Process View of the organization may be a much better starting point! Inventory Management

Sales Management

Production

• It is on this perspective that the horizontal approach to IS design is based.

Horizontal Design of IS • The horizontal approach to IS design allows for integration and coordination across the enterprise by focusing the organization and the IS on organizational goals. • The horizontal approach is similar to Business Process Reengineering.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Horizontal Design of IS • The Horizontal Approach: – Organizational strategies & goals – Organizational cross-functional processes – IS development to support these processes

Horizontal Design of IS ENTERPRISE MANAGEMENT ACCOUNTING

PRODUCTION

Org. Processes

MARKETING

Org. Databases

DB

DB

ENTERPRISE IS INFRASTRUCTURE

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

DB

Horizontal Design of IS • Advantages of the horizontal approach: – IS follow natural process boundaries rather than artificial departmental boundaries. – Increased sharing of data and applications. – Continued focus on organizational goals.

• Disadvantages of the horizontal approach: – High cost of legacy system replacement. – Need to change organizational culture.

Horizontal Design of IS The goal of Horizontal IS Design:

END USER SATISFACTION

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

EXECUTIVE SATISFACTION

Classification Theory

“CLASSIFICATION” “The systematic arrangement in groups or categories according to established criteria.” “The sorting of like objects into groups to provide the ability to simplify and comprehend.”

Classification Theory • Classification is all around us: – At home: it’s why you put cooking appliances in your kitchen. – At the supermarket: the produce section, the dairy section, etc. – In science: the periodic table of the elements, grammar, Dewey Decimal Classification, etc. – On the web: Yahoo!

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Classification Theory • Why classification? – Classification results in simplification which leads to understanding. – Classification is integration, structure, and control. – Common factors align with standards. – Identification of common factors provides the ability to anticipate future needs and developments.

Classification Theory • Classification in information systems: – Object Orientation: group associated data and processes into an object. – IS architecture planning: • Organize functions and aspects of the IS. • Break down the development of an enterprise-wide IS into manageable parts. • Eliminate redundancy of data and processes.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Design Patterns • Sources of Architecture: Method Theft

Intuition

Classical System

Method Theft

Intuition

Unprecedented System

Design Patterns • A pattern is the abstraction from a concrete form which keeps recurring in specific nonarbitrary contexts. • A pattern is a named nugget of instructive information that captures the essential structure and insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces. • Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Design Patterns • A pattern is a solution to a problem in a context • A pattern codifies and communicates specific knowledge collected from experience in a domain • All well-structured systems are full of patterns – Idioms – Design patterns – Architectural patterns

Sample Design Patterns         

Distributed Event-driven Frame-based Batch Pipes and filters Repository-centric Blackboard Interpreter Rule-based

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

• • • • •

Layered MVC architecture IR-centric Subsumption (layered) Disposable

Architectural Patterns • An architectural pattern expresses a fundamental structural organization or schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them.

Some Architectural Patterns Simple Separation User Interface

Application

Seehaim Model Dialog Control Application Component

Presentation Component

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

PAC Min=0 Max=400 Value=50

Abstraction

Control

Presentation

MVC Model Controller

View

Model

User

Multiple IS Perspectives • There is usually no single way of describing an IS architecture. • One important application of classification theory is by classifying aspects of an IS architecture based on participant perspectives.

Multiple IS Perspectives • Key idea: An architecture is created from the perspectives of the participants developing the structure. • Traditional architecture has used this idea quite successfully. • For example: How does one build the perfect home?

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Multiple IS Perspectives • Building the perfect home: – Owner has idea as to what the house should be like, financial limitations, location, who would live in it, etc. – Architect drafts the home until the owner approves of the design. – Architect then draws building plans. – Builder prepares detailed construction plans from the architect’s building plans.

Multiple IS Perspectives • Multiple perspectives work for buildings... ARCHITECTURE OWNER

Architect’s Drawings

DESIGNER

Architect’s Plans

BUILDER

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Contractor’s Plans

Multiple IS Perspectives • …and for Information Systems! ARCHITECTURE

INFORMATION SYSTEMS

OWNER

Architect’s Drawings

Enterprise Model

DESIGNER

Architect’s Plans

System Model

Contractor’s Plans

Technology Model

BUILDER

Multiple IS Perspectives • Key to using multiple perspectives: – Each perspective describes a total view of the solution from a specific point of view. – Each perspective is a “layer” of the total picture, not a successive increase in the level of detail. – Each perspective provides requirements and constraints for the other perspectives to take into account.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Applying the Conceptual Building Blocks • Five conceptual building blocks... – Standards & Standardization – Distributed Computing – Horizontal Approach to IS Design – Classification Theory – Multiple IS Perspectives

• …have resulted in: – A variety of IS Architecture frameworks – IS Architecture models and patterns

Heuristics as Tools

Capturing ISA Experience

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Why Use Heuristics? • Heuristics are verbal abstractions of experience • They provide a starting point for activity… • …and a means to simplify its complexity.

Popular Heuristics – Do you agree? • Don’t assume that the original statement of the problem is necessarily the best, or even the right one. • In partitioning, choose the elements so that they are as independent as possible; that is, elements with low external complexity and high internal complexity. • Simplify. Simplify. Simplify. • Build in and maintain options as long as possible in the design and implementation of complex systems. You will need them.

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Criteria for Good Heuristics • They heuristic must make sense in its original context. • The heuristic should apply beyond its original context. • The heuristic should be easily rationalized or explained. • The opposite of a heuristic should be foolish. • The heuristic must be based on consensus and must have stood the test of time.

Some questions… • To what extent should heuristics guide systems development/architecture activities? • What to do about contradictory heuristics? • Can heuristics stand in the way of innovation?

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha

Next week…

Technical Building Blocks & Introduction to the UML

(c) 2001 - Paul J.A. van Vliet - University of Nebraska at Omaha