|
Adaptive Architecture
|
Adaptive Architecture is a term applied to a set of design specifications that results in an architecture that can
be adapted to fit new circumstances without having a major impact on the design.
|
|
Application Architecture
|
The applications architecture defines the way in which applications are designed and how they interact in order to
provide the optimum support to the business processes of the enterprise. A good applications architecture should enable an enterprise to achieve a high level of systems integration, maximise the reuse of components
& enable the rapid deployment of applications in response to changing business requirements.
|
|
Architectural View
|
An architectural view is a view of the systems architecture from a given perspective such as the system’s structure,
components & modularity.
|
|
Architecture
|
Architecture is the overall design of a computer system that describes its individual components and the way in
which they interact and behave over time. It can refer to either hardware or software or to a combination of the two.
|
|
Architecture Requirements (AR)
|
AR is a term to describe the framework within which a business driven enterprise architecture must operate within,
It defines the basic IT requirements needed to support the business processes of the enterprise.
|
|
Architecture component
|
An architecture component is a clearly identifiable part of a system that fulfils a clear function in the context of
a well-defined architecture. Examples of organisation components are enterprise resources (e.g. technology infrastructure, applications, human resources), external agents (customers, suppliers) and processes. At a
lower level, examples of technology infrastructure components include hardware platforms, operating systems, networks etc. (see domains)
|
|
Anti-Pattern
|
The phrase ‘Anti-Patterns’ is used to denote the opposite of the term pattern: with pattern used to represent a
‘best practice’, an anti-pattern represents a ‘lesson learned’ or ‘pitfalls’. The most useful anti-patterns are concerned with the recovery, realignment & refactoring & realignment of the good from the bad
e.g. the refactoring of software, architectures and projects in crisis. (see Patterns)
|
|
Business Architecture
|
The business architecture defines the organisation by defining the business functions and business processes which
those functions.
|
|
Client-Server Architecture
|
Client-server architecture is a network architecture in which application processing is divided between client
workstations and servers. Servers include network servers (dedicated to managing network traffic), file servers (managing disk drives) & print servers (managing printers). Clients are typically PC’s or
workstations on which users run applications. Client-Server architectures are sometimes called two-tier architectures.
|
|
Connection Architectures
|
Connection Architectures is a generic term that has been used to describe the various types of architectures that
are available for integrating applications. Common connection architectures include: Hub & Spoke; Publish & Subscribe; and Point-to-Point. Companies need to balance their integration needs when selecting a
connection architecture; given the diversity of requirements and applications across the enterprise, companies will typically require to implement a mixture of connection architectures. (see ‘Hub & Spoke’,
‘Publish & Subscribe’ and ‘Point-to-Point’ architectures).
|
|
Conventional Systems Planning
|
Conventional Systems Planning is often described as both ‘process & technology driven’ with an
applications architecture comprising of a few large systems within the organisation. This is in direct comparison with EAP which is often described as ‘business function & data driven’ with a large number of
unique systems in which the applications and data span organisational boundaries. (see EAP).
|
|
Data Architecture
|
Data Architecture is a component of the technology architecture. It provides the underlying set of rules and
descriptions of relationships that dictate how the major kinds of data support the business processes defined in the business architecture. The data architecture is used to define system and infrastructure
requirements
|
|
Database Architecture
|
The database architecture defines the technical components of the technology infrastructure that support the storage
and retrieval of data.
|
|
Distributed/Collaborative Architecture
|
This is a software architecture based on ORB technology that goes beyond CORBA by using shared, reusable, object
business models (written in C++, Smalltalk or Java) on an enterprise wide scale. The ORB acts as a messaging communication component at the core of the infrastructure that links the organisation and provides an
enterprise-wide standard mechanism for accessing computing and information resources. In being able to adapt to change, this architecture is better equipped than the three-tier architecture to address the need
of being able to evolve the business model over time. It is consequently used by some companies to address their long term business needs and as a viable alternative to three-tier architecture, particularly if
object-oriented technology on an enterprise-wide scale is desired.
|
|
Distributed Object Computing
|
Distributed Object Computing is the term applied to the combination of object technology with fine-grained
client-server architectures which enable the development of adaptive information systems and the distribution of computing power throughout an enterprise network.
|
|
Distributed Systems Architecture
|
Distributed systems can be structured in a number of ways, the two most common approaches being the
workstation-server model and the processor pool model. There is also a hybrid model which contains PC’s & workstations used by individual users as much as in a purely heterogeneous system together with a
processor pool for handling computationally intensive applications. (see ‘workstation-sever model’ and ‘processor pool model’.
|
|
Domain Architecture
|
Domain architecture is a set of architecture design principles, practices and standards used to guide the usage of a
related set of technologies.
|
|
DRDA
|
DRDA is an acronym for Distributed Relational Database Architecture
|
|
Elaboration
|
Elaboration is the second phase of the process in which the product vision and its architecture are defined.
|
|
Enterprise Architecture
|
The enterprise architecture is a strategic information asset base that defines the overall structure of the
business, the information and technologies necessary to support the business, and the transitional processes (ie migration plans and configuration management) necessary for implementing new technologies in response
to changing business needs.
It provides a framework and foundation upon which an organisation can use IT to address business objectives and gain
competitive advantage.
The enterprise architecture is comprised of multiple architectures: the Information Architecture, the Application
Architecture & the Infrastructure Architecture.
|
|
EAP
|
EAP (Enterprise Architecture Planning) is a process for defining the top two layers of Zachman’s Information Systems
Architecture Framework in order to generate a high-level blueprint of data, applications and technology that can be used to provide a cost-effective, long term solution to address business needs.
EAP is defining rather than designing: design and implementation is initiated after the EAP definition process has
been completed. Conventional systems plans typically comprise of a few, mammoth-sized systems projects. An EAP plan on the other hand is similar to a jigsaw puzzle in which each piece is unique (ie no
redundancy) and fits (ie integrates) with the others in a logical and single way to provide the complete picture. (see Zachman Framework).
|
|
Event-Driven IT Architecture
|
The ‘event-driven IT architecture’ comprises of a number of key integrated components (including messaging,
application adapters & message brokering) which together provide a complete IT environment for moving, managing and integrating information in the event-driven enterprise. Information moves in the form of
messages generated by business events instead of through requests for updates.
The event-driven architecture, which eliminates many of the limitations of point-to-point architectures, has many
benefits including publish/subscribe, subject-based addressing and messaging. An organisation can use an event-driven architecture, for example, to deliver real-time data marts containing current information on the
business and its performance and to leverage the value of packaged applications, such as SAP & PeopleSoft, by making them easier to connect to other applications and by making the information they managed more
accessible. (see
|
|
Extensible
|
a term synonymous with open that refers to the architectural property of openness describing the ability to add new
or custom behaviours at a later date.
|
|
fat client
|
A client in a client-server architecture that performs most or all of application processing operations with little
or none performed in the server. Although the term usually refers to software, it can also apply to a network computer that has relatively strong processing abilities. (see thin client)
|
|
fat server
|
A server in a client-server architecture that performs most or all of the application processing with little
or none performed in the client.
|
|
GoF
|
Acronym for the so-called Gang of Four (Gamma, Helm, Johnson & Vlissides), whose book entitled ‘Design Patterns:
Elements of Reusable Object-Oriented Software’ published in 1994, popularised the use of Software Patterns in OO & software design. Patterns consequently became a much hyped, ‘hot-topic’ & OOD buzzword.
|
|
Granularity
|
Granularity is a spectrum of data type ranging from fine grained (e.g. as records and instances) to coarse grained
(e.g. files). RDBMS’s & OODB’s typically operate on fine-grained data whereas File Systems operate on coarse grained data.
|
|
Hub & Spoke Architecture
|
The ‘Hub & Spoke’ architecture is one in which the applications are connected to a central hub containing the
rules for connecting them together and managing the messaging between them. It is a highly flexible approach that minimises the number of connections (thereby reducing complexity) and one which makes new
requirements easier to satisfy (integration of applications already connected to the hub can be quickly defined in the hub whilst new applications added to the hub can be connected immediately to other
applications). This approach, however, can create unnecessary performance overheads as each message is interrogated and interpreted by 4GL rules only to be sent to the same place as the previous 10 million that same
day. (see Connection Architectures).
|
|
Information Architecture
|
Information Architecture defines the overall data architecture and describes the logical structure of databases and
the methodology used to correlate data in multiple databases.
|
|
Infrastructure
|
Infrastructure is the basic framework of an organisation
|
|
Interoperability
|
Interoperability is the ability to function together or separately.
|
|
IT Architecture
|
“A series of principles, guidelines, drawings, standards and rules that guide an organisation through acquiring,
building, modifying, and the interfacing of IT resources throughout the enterprise (Bernard Board, ‘Constructing Blueprints for Enterprise IT Architectures’, 1999).
|
|
Mainframe Server Software Architectures
|
In mainframe server software architecture, mainframes are integrated as servers in a client-server environment,
drawing upon their efficiency at online transactional processing, mass storage, centralised software distribution and data warehousing. The resultant distributed client-server is widely used in data warehousing and
data mining technologies in which information can be extracted from the mainframe server’s massive storage.
|
|
Middleware Architecture
|
Middleware Architecture defines the components that enable integration & interaction of disparate
components, through a set of common protocols, in order to maximise the overall usability of a distributed architecture. Middleware provides and limits the number of interfaces between applications, network
communications and platform technologies.
|
|
Modular Architecture
|
A term which refers to the architecture of a system, either software or hardware, that is composed of separate
components which can be connected together, replaced or added without affecting the rest of the system. The opposite of a modular architecture is an integrated architecture.
|
|
Network Architecture
|
The network architecture defines the communications infrastructure of an enterprise. It includes the hardware,
software, access methods, carrier services, topologies and protocols required for internal and external interconnections.
|
|
n-tier applications
|
n-tier applications are applications built using a layered model approach in which the interactions between the
tiers are defined and in which the internals of each tier are unique to the implementation. N-tier relates to the defined interfaces that enable different tiers to be changed or replaced without affecting the other
tiers - it does not relate the number of systems involved.
|
|
open architecture
|
an architecture whose specifications have been made public; this includes privately designed architectures, whose
specifications have been made public, in addition to open systems that support officially approved standards. Linux, for example, is considered to be an open architecture in that its source code is freely available
to the public.
|
|
Patterns
|
Patterns, popularised by the Gang of Four’s (GoF’s) book published in 1994, represent distilled experience whose
assimilation can provide insight & knowledge (ie best practices) to inexpert software developers. Solutions that have been expressed in the form of a pattern can be reapplied to other contexts.
Patterns have been used by a variety of disciplines: to-date, they have been used by the IT community primarily for
software architecture & design and provide a foundation for a shared architectural vision. There are a variety of Software Patterns : Design Patterns, often object-oriented, encompass architecture (systems
design), design (component interactions) & Programming (language specific techniques); Analysis Patterns (reusable analysis models); Process Patterns (software process design); Organisation Patterns (structure
of organisations/projects). See GoF, PloP & Anti-Patterns
|
|
platform architecture
|
Platform architecture defines the technical components of the infrastructure including client server platforms, the
operating systems and interfaces.
|
|
PLoP & PLoPD
|
PLoP (Pattern Languages of Programming) are events in which pattern authors have the opportunity to have their
pattern languages critically reviewed with the aim of being published in the PLoPD (Pattern Language of Program Design), a series of publications dedicated to the review of pattern languages. (see Patterns)
|
|
Peer-to-Peer architecture
|
A peer-to-peer architecture is a network in which there is no dedicated server and in which each workstation has
equivalent capabilities and responsibilities. As an alternative to the client-server model, peer-to-peer networks are generally simpler, less expensive and sometimes provide the ideal solution for small offices or
workgroups.
|
|
Point-to-Point Architecture
|
A point-to-point architecture is a simple connection architecture in which applications are simply connected
directly to each other resulting in a fixed routing between the connected applications. For example, in a conventional client-server environment, ‘client’ applications have fixed connections to ‘server’
applications; point-to-point, ‘spaghetti’ interfaces abound and represent a complex set of dependencies among the applications. The removal of one interface can have a significant effect on the overall architecture.
Therefore any changes can be costly, especially as the number and complexity of systems grow. Moreover the information that is used by the applications is isolated into separate databases that are connected
only to specific sets of applications; the information therefore remains passive and moves only when requested. Even-driven architectures, using a set of middleware components to eliminate the spaghetti of
point-to-point interfaces, have been introduced to overcome the limitations of this kind of architecture. (see ‘connection architectures’ & ‘event-driven architectures).
|
|
Processor Pool
|
The ‘processor pool’ model for Distributed Systems Architecture is one in which system processors are centrally
located. It typically makes better use of idle computers since it enables any processor to be assigned to any user. It also make it easier to support a multi-threaded (parallel) application and makes it easier &
cheaper to increase the processing power of the system in that adding a few additional processors expands the processing power of every user of the system. The processor pool model lends itself to computationally
intensive applications. (see Distributed Systems Architecture & Workstation Model).
|
|
Publish & Subscribe Architecture
|
‘Publish & Subscribe’ (P&S) is a connection architecture that emerged to provide a special means of
data delivery to meet the needs of increasingly dynamic and complex data environments. It is a coordination mechanism that uses a broker to match and link ‘data producers’ (ie applications which generate new or
changed content, aka ‘services’ or ‘publishers’) with ‘data consumers’ (ie applications that report that content on a continuing basis, aka ‘‘clients’ or ‘subscribers’). It enables decoupling between producers and
consumers and provides platform and location transparency.
The broker ensures that the producer’s data reaches a consumer subscribed to it by establishing a relationship (or
‘subscription’) between them so that as data changes (which can be any type of business object), the producer publishes that data (or object) with the broker which in turn delivers those changes to the consumer.
P&S has become a paradigm for building large scale, flexible distributed applications. It has emerged in a
diverse range of product categories including distributed objects (e.g. Orbix, & Ambrosia), MOM (such as NEONet, Tibco) & data marts (such as Acclue, Tapestry). It has been chosen by many of the world’s
leading corporations, including 300 of the largest financial institutions, as the enterprise infrastructure for integrating disparate applications. It is also used in the implementation of large-scale Internet
services including Yahoo & ETrade. (see Connection Architectures & TIB).
|
|
Request/Reply Architecture
|
The vast majority of business information systems are based on the request/reply or ‘pull’ model in which a ‘data
consumer’ (ie anyone seeking information) must actively locate the ‘data producer’ (ie find out where the information is stored) and then request it in just the right manner to trigger a reply. Each request
for information is queued and then individually fulfilled by the provider. Networks based on this type of architecture become clogged when a great number of ‘consumers’ are searching for and requesting data that
must then be sent individually to each consumer.
The limitations of the request/reply architecture resulted in the drive to develop systems that can ‘push’ or
‘multicast’ information just once onto the network as it happens to everyone who wants it. Consequently many request/reply architectures are now being replaced by event-driven, publish/subscribe architectures
in an effort to achieve this. (see Event-Driven IT Architectures, Publish/Subscribe Architecture).
|
|
Roadmap
|
see Technology Roadmap
|
|
Security Architecture
|
Security Architecture is a component of the xxx architecture and defines the security standards and
policies needed to protect and make available information assets of the enterprise and its partners, suppliers and customers.
|
|
Software Architecture
|
Software architecture is the design of application or system software that incorporates protocols and interfaces to
allow interaction with other components and to provide for evolution over time. It defines how the components of a system relate to each other unlike a stand-alone program which has program logic but lacks a
software architecture.
A software architecture may be a composition of sub-systems or may be a specific sub-system interfacing with others
and possessing architectural properties that preserve certain guarantees (e.g. scaleability, fault tolerance etc.). Not only is software architecture concerned with structure & behaviour, but also with
other concerns such as usage, performance, functionality, reuse, aesthetic and constraints. (See architectural properties, components & composition).
|
|
Systems Management Architecture
|
The systems management architecture defines the systems management of both the hardware and software
components and addresses a number of performance related issues including configuration management, event management and fault detection.
|
|
Technical Architecture
|
Technical architecture is a term used to describe the infrastructure component of enterprise architectures and
encompasses all the infrastructure component architectures including the network architecture, middleware architecture, and database architecture. It provides the framework and an underlying set of rules and
descriptions that govern how complimentary components can together provide an infrastructure base upon which applications can be built, ported and integrated in order to support the business processes of the
enterprise.
|
|
Technology Baseline
|
The technology baseline is simply a description of the ‘as-is’ state of technology in order to help determine what
can be leveraged for the future and what changes are required to achieve the target state.
|
|
Technology Roadmap
|
A technology roadmap is a strategy fast becoming an indispensable tool for an organisation to articulate the
technology pathways and milestones needed to realise its vision. In this context, technology roadmapping guides technology selection and investment decisions and needs to be able to do so in the face of a growing
number of challenges: the rapid pace of technology change, the complexities involved in aligning technical developments with strategies and with internal & external customer needs etc.). As such, the New Economy
is creating the need for experienced IT Architects able to develop technology roadmaps that can provide versatile & future-proof infrastructure strategies for applications such as e-business
and ERP.
|
|
Technology Trends
|
Technology trends are patterns of change that can be used to infer or predict the future course of technology.
|
|
The Information Bus (TIB) Architecture
|
With TIB, an application integration platform, TIBCO (The Information Bus Company) has pioneered the use of the
Publish & Subscribe technologies to build flexible, real-time, loosely coupled distributed applications in finance and other industries. TIB technology enables applications to publish information, such as stock
prices, to other applications which subscribe to the information.
|
|
thin client
|
A thin client is a low cost computing device, designed to be small and to work in a server-centric client-server
environment in which most or all of the application processing is done on the server. It has become a popular buzzword due to the division of the computer industry into the Netscape/Sun Microsystems led camp
(advocating Java-based thin clients running on network computers) and the Microsoft/Intel led camp (advocating ever-larger applications running locally on desktop PC’s. Thin clients typically do not require
state-of-the-art, powerful processors and large amounts of RAM and ROM because they accesses applications from a central server or network. Thin clients can operate in an application server environment.
(see fat client)
|
|
three-tier architecture
|
A three-tier architecture is special type of client-server architecture consisting of 3 layers: the user
interface running on the user’s computer ( the ‘‘client’ or ‘thin client); a middle tier, running on a server, of functional modules that process the data (the ‘application server’); and a DBMS. running on a second
server, that stores and manages the persistent data required by the middle tier ( the ‘database server’ or ‘data server’). The increased performance, flexibility, maintainability, reusability and scalability that
the three-tier architecture can provide over the two-tier approach (whilst hiding the complexity of distributed processing from the user) has made it a popular choice for Internet and net-centric applications.
|
|
two-tier architecture
|
A two-tier architecture is type of client-server architecture consisting of three components (user system interface,
process management, and database management components) distributed in two layers (the client and the server). The user system interface component is handled by the client, database management is handled by the
server and the application processing is split between the client and server thereby creating two layers. Two-tier architectures provide a good solution for distributed computing when the number of users does not
exceed a hundred and in relatively homogenous and non complex environments where the transaction load is light.
|
|
Workstation-server Model
|
The ‘workstation-server Model’ for Distributed Systems Architecture is one in which workstations and/or PC’s are
scattered and connected by a LAN and in which each user has a dedicated machine. Each machine is mainly used as a stand-alone system which can be connected to others for sharing resources (e.g. printers) and
communication (e-mail, RPC). An advantage this model over the processor pool model is that, with each user having a dedicated machine, there is less chance that a heavy system load will degrade performance at every
node of the network. On the other hand, this model makes it more difficult to take advantage of idle processors. (see Distributed Systems Architecture & Processor Pool Model).
|
|
Wrapper
|
A wrapper is a form of glueware that is used to join together other software components.
|
|
Zachman Framework
|
Each column of the Zachman Framework represents an architecture layer (ie data, system & infrastructure).
|