Vous êtes sur la page 1sur 13

The Architecture of Enterprise Information Systems.

______________________________________________________________________

The Architecture of Enterprise Information Systems.


A view based on patterns.

1. -Introduction
2. -Requirements and Information Systems Main Processes
3. -Common Components
4. -Architecture

“... you can see a predefined structure that remains from the source content to the
resulting content...” Moisés D. Díaz.

1. -Introduction

Definition
There are plenty of software systems, being information a constant in all of them.
Information is not only a constant element in the systems we are going to focus on, but
the fundamental element. The relevance of information in software systems is related to
their function, that of managing this ungraspable element (that we call information).
That is why the main problems these systems have to solve are related to information
representation and persistence, data reception and transmission, and to the devices that
help us to transmit and communicate this information.
Then, what is an information system?. We can define an information system as the
compound of components (or elements) that operate together in order to catch, process,
store, and distribute information. This information is generally used for taking
decisions, for the co-ordination, the control, and the analysis in an organisation. In many
occasions, the system´s basic aim is the management of that information.

Features

If we go further, we may wonder about the main features of information systems. Then,
let´s analyse them:
?? They manage huge amounts of persistent data (concretely, they manage the data
they store)
?? They manage many users converging access to information (these users produce and
consume data that the system manages)
?? Information system graphic interfaces are, in some aspect, defined in relation to the
kind of information the system manages (certainly, in many formulation screens and
reports)
?? Information systems can integrate to many other enterprise and ofimatic
applications.

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 1
The Architecture of Enterprise Information Systems.
______________________________________________________________________

Architecture

It is said that function defines form, that is, whatever system whose structure or
architecture is closely related to what is to be made.That is why the compound of
information systems share a common architecture, and well defined processes. Because
all of them have equal aims to achieve (not to forget: to integrate, to process, to store,
and to distribute information). As well as a compound of common features previously
commented.

The concept of architecture is frequently and differently used, making change its
meaning into something diffuse (Truly, I can not assure if it has ever been clear).

In this article we understand architecture as the structure that the compound of


components that makes up a system. That is, a high-level system structural view.

Patterns

We can define a design pattern as the abstract representation of a good solution (or
design) for a concrete problem that is delivered in one or more contexts.

What is what patterns do offer us? Those ones have facilitates us the possibility of
organising our categories, components, and subsystems in common structures, correctly
proved; Impacting in the system, that is increasing its flexibility, modularity, and
extensiveness. In other words, patterns meliorate the design value, quality, and
consequently they meliorate the software itself.

Patterns have proved to be the ideal way to transmit a structural knowledge, that is,
design knowledge; as for example, systems architecture, the subject we are dealing
with.

I will present the different elements by means of a documented structure, inspired upon
design pattern, although much less formal.
In the same way, patterns are frequently grouped into language patterns. Generally, a
compound of patterns is described in these languages for a possible identification of a
series of roles in the particular context that is applied, and also to identify the way they
are related to each other. Then, we can completely describe the systems that appear in
such a context by means of language patterns. Either to solve the different problems that
can appear in a specific context.
In a certain way, this article constitutes a language of patterns that describe all
the components and information system basic processes.

2.Requirements and Information system basic processes

Actors

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 2
The Architecture of Enterprise Information Systems.
______________________________________________________________________

We have previously said that one of the information systems features is that of
managing the users access to the system.
This access can be produced due to different causes: In order to add, modify or erase
data. As well as to consult, and manage the information system itself.
We will have different uses or actors depending on the kind of access.
Information producers, information consumers, and system managers.
An actor is an extern element to the system that interact with it, being this actor a
person, either a computer program.

Basic processes.

Three kinds of actors have been identified, and three types of basic functions are to be
achieved by an information system:
?? To integrate the information to the system. The original data for this activity will be
given by information producers. This process can lead to an earlier processing of
such a data. They can be processed before they have been stored in the system. .
?? To distribute information to the users. Obviously, to the information consumers.
This process can also entail the stored data processing that we are going to
distribute.
?? To manage the system, to enrol and withdraw, to modify new information
producers and consumers, establishing permissions regarding their activity. It is
essential not to forget that whatever information system is a real system, that
requires administration, carried out by the system managers.

As we can see a direct correspondence is established among the actors and the
interacting functionality of the system itself.

After analysing this fact, let’s analyse in a deeper way the two highest impactive
architectonic processes.

Integrating information

Integrating information is one of the fundamental processes that an information system


must carry out.
At the same time this process can be divided into a series of sub-processes that will
have to be implemented depending on the complexity of our system and on the tools we
are working with.

Generally, to integrate information means to process the data that producers generate,
and incorporate this information to our data store (normally, related data stores). Being
more specific to storage information means:
?? To accept the information package (When speaking about information package we
will refer to the grouped and structured data). The system can possibly contain
modules generated by information packages, by means of the information taken
when actors interact.
?? To verify the information package (for example, in a e-mail you have to verify
addressers, adjunct restrictions, etc.)

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 3
The Architecture of Enterprise Information Systems.
______________________________________________________________________

?? To verify the structural validity of data that has been sent (for example, in a xml, it
would be to make it valuable against its xschema). And also verify permissions (of
the producers with respect to the data.
?? To integrate and transform the information into data stores. Generally, it will mean
to incorporate that information into any table compound of any relational data base
Of a relational database (in this case verification processes can occur between the
producers and the kind of data that has been sent).
?? To generate answers concerning those packages process to producers of such an
information.
This process would end up like this, if we document it as a pattern

? Integration pattern. Info-integration process

Problem:
To integrate the information generated by the “Producers” information actors
into the system.

Forces and context:


Basic forces: Forces are functional requirements themselves: Business
necessities, structural validities, content validities, answers generation.
Solution
To create a structure of components that shows, maps, and covers the functional
requirements of incorporating the information to the system.
With a direct correspondence between each requirement of the process and a
component.

Interaction Integration
w ith client Manager

Message Message Response


Receiv er V erificator Data and Generator
Info V erificator

Information
Integrator

Mensaje
[Datos[Info]]

DataBase

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 4
The Architecture of Enterprise Information Systems.
______________________________________________________________________

Distributing information

Distributing information is one of the main processes that information system must
carry out.
It would be worthless to obtain huge or little amount of information if it was not going
to be distributed (after being processed or not) to those users that need it for their job.
But, not all the users share equal necessities and privileges. There will be users capable
of obtaining whatever kind of information. Meanwhile, the other will only be able to
access to a section of it.
The same way, formats in which such an information will be distributed can be very
different, as well as the protocols used for the transmission.

Then, distributing information is a complex process that can be subdivided into different
subprocesses.
?? To admit information petitions. The system can equipped with modules that
represent directly such an information to the consumer.
?? Information petitions validaties.
?? Collecting information.
?? Formatting-processing of it.
?? Sending information to the consumer.

Whose pattern is the following one:

? Info-distributing pattern
Problem:
Distributing information to the users.

Forces and Context

Basic forces. Forces are the functional requirements themselves:business


necessities,(Distributing information, a primary functional requirement),users and
request validities (restrictions), information formatting and sending, etc.

Solution:

We turn each subprocess into a well-defined component concerning


functionality. And it will possibly be implemented depending on two facts:
?? First, if it has or has not been previously implemented by our development
tools.
?? And depending on the complexity required by the task.

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 5
The Architecture of Enterprise Information Systems.
______________________________________________________________________

Interaction with cli ent. Distribution


Represents Information Manager

Request Restrictions Information Information


Receiver Verificator Gathering Formatting

...

Information Database I
Request
Database II

Models of interaction:
I will finally add some notes about the models of interaction between a system and its
users:
?? Synchrone. The “interacting customer” model and must communicate
synchronically. The compound of all interactions among components must be
of a low degree of latency. These solutions offer complete surroundings for
recording data, and for sending huge amounts of information. N-layer Customer-
server architecture, with communications framed in local webs, in which
components can interact by means of dcom or corba(Soap) is the current
solution.

?? Synchrone with latency. Another internet solution based on web, web


activex crossing or java Applets. Generally, Synchronic applications can be
implemented in this case, but featured with latency (due to the band
width,...)and with a lower level of interaction.

?? Light Asynchrones: Systems in which communication is based on


asynchronic messages systems, in which answers can take even minutes in
being originated. For example: JMS, MSMQ, etc.

?? Heavy Asynchrones: Systems in which communication is based on electronic mail.


Firstly, information is sent. Since this information is processed, the integration
manager sends a message to the sender

Common Structure

We have seen that both patterns are similar in terms of structure well as they share
components, that can be found in whatever information system. Now, let´s focus on
peripheral components.

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 6
The Architecture of Enterprise Information Systems.
______________________________________________________________________

3.-Common components
In the previous section we have taken into account aspects about Integrating and
Distributing patterns.We have basically focused on their inside mechanics, that is, on
the interior elements that make up an information system.. Now, we will speak about
the peripheral elements, those that are found in the limits of the system itself, and
interact with the system information exterior.

? Peripheral Component Producer-System Interface


Problem:
Mechanisms must be available in order to incorporate the information (that
exists in the dominion of the problem,) to the system. And consequently it will
processed by it.

Forces and Context


?? The producer produces information
?? This information must be collected and treated by the system
?? Information must be formatted for a correct treatment
?? There must be mechanisms that send those information packages to those system
components, suitable for their treatment. These mechanisms must be transparent
to the producer user,
Solution:
An element is constructed in order to assume this role. The purposes of this element are:
?? To generate the information packages , by means of the interaction with the user
(This activity is generally called “data recording”
?? To establish mechanisms that interact with the producer. This mechanism helps
the producer to incorporate information packages (that have already been created
or generated by other devices) to the system.
?? To transmit the information packages to the system components (created for the
information management and treatment)
Additional notes
This is the most sensitive part of the system
Examples: (All this will seen more specifically in the following note)
?? This role could be modelled in a bureau customer application, in a
customer/server application context.
?? In a context of a local application, in which this application is carried out by a
data base manager (as for example, the Access),the application is already
implemented with all this functionality. All this functionality and the interface
itself are forms presented by the manager to the user.They can be carried out
automatically .

?? In the context of a system distributed among wider geographic areas: Packages


transmission protocols must be chosen, as well as formats, to structure such
information, and then, to be treated by the system. In many occasions,
information comes from any other system, that generates an information
package (generally, a file) for our system, and uses the mechanisms(interface
applications),that are supplied to interact with the system.

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 7
The Architecture of Enterprise Information Systems.
______________________________________________________________________

? Common Component:System-consumer Interface


problem:
Mechanisms must be supplied in order the consumer can send and process the
information that exists in the information system.This activity generally avails the
visualisation of the solicited information representation .And, it also avails the capacity
to export such an information to other systems.

Forces and Context

?? The consumer solicits and uses the information that the system has.
?? Information that is given to the consumer can be processed and filtered, if before
its reception.
?? Information must be delivered in a structured way (visually or by means of files)
?? There must be mechanisms to avail the consumer to process the distributed
information, addressed to him. This can be achieved by means of mechanisms
supplied by the system itself, either exporting the information to other
surroundings.
Solution
To construct an element that assumes this role, whose aims will be:
?? To receive the information packages, that have been generated by the system.
?? To establish mechanisms that help the consumer to interact with the information
system.
?? To establish mechanisms that export the information to other systems.

Additional notes

This role can be implemented by other components that establish a low latency
communication with information distributing mechanisms.
It could be considered the acting part of the digital (nervious)system.
Examples: (All this will be seen in a more detailed way in the following section)
?? Starting point :A context with a customer/server application in the local
dependencies of the enterprise. The interface is a bureau application , made up
of languages and platforms that make all the information sending and reception
management questions invisible, even to the developer. The programme accedes
to the enterprise data base in the customer computer. And it shows the result of
consults in the user´s screen, availing the user to carry out some defined
processing activities ,as well as to export the obtained data to spreadsheet
formats, and to personal data base managers(or to low degree data base
manager).
?? Starting point: A context based on the internet technologies. The interface
component (plus the user) is a navigator that presents and represents the
information, as well as additional interface elements, codified in html; either any
other scripts language .We could add plug-ins to the navigator , in order to
provide more richness to the executing-customer surrounding.
? Common Component: Central information Store
Problem:

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 8
The Architecture of Enterprise Information Systems.
______________________________________________________________________

To store huge amounts of information, in such a way that it is easy to integrate


more information(generated by the information producers ),either to distribute
it(towards the information consumers).
Forces and Context
?? To store huge amounts of information
?? To modify the stored information.
?? To extract and distribute the information that we have.
?? To make possible various simultaneous interactions with the compound of data.
Solution:
To use a component or system that can assume this role. There are several
options. Data base managing systems are the most used(commonly named data
base).These systems are a compound of applications or components that permit to store,
modify , and extract information from a data base. This data base is merely a huge
compound of information , organised into files and registers .There are different kinds
of data base managing systems(ranging from), covering from those tiny systems that
work in a personal computer, to those enormous systems that are executed in
Mainframes.

4.-Architecture
How can we map all we have learnt by now about contemporary standard architecture?.
Let´s start saying that we will distinguish two kinds of architectures: a logic one, made
up by components, subsystems and applications and the physic one, made up of
computers or groups of computers.

Logical architecture

Nowadays, the logical architecture follows a basic scheme , formed by three primary
layers: user interface , logic domain , and data source.

User
Interface

Domain Logic

Data
Source

This scheme, though useful, is not enough to show the logical architecture of the
contemporary enterprise applications. We can make the scheme evolve into a more
precise and consistent one., in accordance with the present reality.
This second scheme is made up of five logical layers .

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 9
The Architecture of Enterprise Information Systems.
______________________________________________________________________

Presentation
User Interface
Interface Logic

Domain Logic
Domain Logic
Data Mapping

Data Source Data Store

This model adds a mediating layer , that works among the primary layers, to obtain a
higher independence among them.And, then, to permit their evolution or substitution
autonomously, decreasing considerably their impact in the other parts of the system.
With a five logical layers architecture, how will we map all the processes and
components, that we have seen in this kind of architecture? . The following diagram
will show the solution
The following scheme shows the process to a five logical layer architecture.

Five logical layers, info-integrating and info-distributing process, the compound of


components that belong to those processes, and the information currents that are
produced, have been shown in this scheme.

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 10
The Architecture of Enterprise Information Systems.
______________________________________________________________________

Physical Architecture

This five logical layer architecture is changed into a one, two, or three-layer architecture
when it is physically implanted. The monopositioned solutions (just one physical layer;
for example, an application carried out in Access that works upon/over a local data
base) are not frequently in /at enterprise surroundings, where applications are usually
complex, multipositioned, and, where data are usually protected, requiring a
considerable administration effort.
Consequently, architectures based on two or three physical layers are the most frequent
in enterprise surroundings.
If we focus on two or three physical layers architecture, we will say that they are
basically articulated into two settings. Each one with its logical layers distribution, its
components, technologies, etc.
These settings are:the web architecture, and the client-server architecture.

Let’s represent it graphically, assuming the following premises: Each rectangle


represents a node, that is, a computer. It will be associated to a rounded angle rectangle,
where we have written the logical layers it would have, as well as the different
technologies we can use for its implementation. The thick arrows represent the
connections among those nodes, and they also are written with protocols and
substitutes, that we can use in these kinds of communications.

-Web Architectures.

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 11
The Architecture of Enterprise Information Systems.
______________________________________________________________________

We can watch two different variables: one, formed by the navigator, the web server, and
the data base; and, the other, in which an application server would be added.

Web architectures have represented one of the biggest changes in enterprise software
applications of this last decade. These have brought us a great quantity of benefits like:
universal access by means of internet navigators (IE and Netscape), standardization of
communication protocols (http, Soap, etc), standardization of languages of
representation of graphical interfaces (html), decrease of costs associated to the
maintenance of the software in the PC.

-Client/Server Architectures.

Customers and servers are supposed to belong to the same corporative web in this kind
of architecture. This approach offers different advantages. For example it supplies the
chance of creating customers with richer interfaces( very useful for recording and
manipulating data), of using the PC´s processing capacity, and it also offers a better
applications agility, for there is a bigger width band for each customer station when
running throughout private webs.
Several disadvantages are also involved, if comparing to architectures based on web
systems:

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 12
The Architecture of Enterprise Information Systems.
______________________________________________________________________

There is a much higher maintaining cost due to the applications to construct and
distribute in customer stations.
There are more connecting restrictions that in the web. For the latter( and its associated
technologies) have turned into an ubiquitous and omnipresent environments. Web
architectures are normally chosen when possible.

Final Note
Each problem is different, as well as each solution. A series of patterns, components,
and architecture, that are not new at all, have been explained in this article. Otherwise,
they try to supply a structural and clear vision to the problem (and solution) of creating
Enterprise Information Systems. I hope they can help and be an useful guide, when
facing a project. Nevertheless, we must always take into account that there is no pattern,
neither architecture, nor tool or article, that can substitute the human brain (at least, by
now;-))

Links and e-Bibliography:

?? ‘Metapatterns. Design Patterns Explained’. Moisés Daniel Díaz Toledano. Url


o http://www.moisesdaniel.com/wri/mdpe.html
?? ‘Patterns of Enterprise Application Architecture’, Martin Fowler. Url:
o http://martinfowler.com/isa/index.html
?? ‘Client/Server: Past, Present and Future’, George Schussel. Url:
o http://www.sei.cmu.edu/str/descriptions/clientserver_body.html
?? ‘Client/Server architectures for Business Information Systems. A pattern
Language’, Renzel y Keller, Plop’97. Url:
o http://jerry.cs.uiuc.edu/~plop/plop97/Proceedings/renzel.pdf
?? ‘Architecture Patterns for Business Systems’, por Lorraine Boydj, Plop’97, Url:
o http://jerry.cs.uiuc.edu/~plop/plop97/Proceedings/boyd.pdf
?? ‘Big Ball of Mud’, Foote y Yoder, Url:
o http://www.laputan.org/mud/
?? ‘Application Design Guidelines: From N-Tier to .NET’, by Chappell, Kirk. Url:
o http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/dnbda/html/bdadotnetarch001.asp
?? ‘J2EE, Java 2 Platform, Enterprise Edition’, Url:
o http://java.sun.com/j2ee/

© Moisés Daniel Díaz Toledano. WebSite: www.moisesdaniel.com


Pág. 13

Vous aimerez peut-être aussi