a

Architecture

The strategic role of IT architecture in the enterprise has never been greater, with companies seeking to improve performance and gain competitive advantage over competitors, through their ability to fully leverage the potential of the Internet and the vast reservoirs of knowledge, both within and outside of their corporate boundaries.

With a multitude of opinions on how architecture relates to IT at the overall level and an even greater number of viewpoints and definitions of specific architectures, the importance that an organisation must now place on leveraging its network and applications infrastructure is beyond question. The convergence that is currently taking place between IT, telecommunications and media is fundamentally changing the way companies do business. The development of the Internet is being accompanied by the rapid development of broadband (e.g. xDSL) and wireless data communications and the emergence of new, event-driven IT architectures, based on publish-subscribe and EAI technologies. These changes are presenting a diversity of challenges for all kinds of IT architects - whether applications, middleware, database or systems oriented  - aiming to bridge the gap between business and technology

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

back to top

[Home] [About Us] [Contact Us] [Vacancies] [How to Apply] [Skills Glossary] [Useful Links]