IT Middleware Etc.
IT Middleware Etc.
The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
PREV NEXT
Acknowledgments 2. The Emergence of Standard Middleware
🔎
1. The Problem
This book makes the link between business problems and IT solutions. It
is about turning functional requirements into an implementation design,
deciding how to spread the functionality across programs, and choosing
the technology to make it happen. But any set of functional requirements
is accompanied by what may be called nonfunctional requirements, which
have to do with ensuring that the system not only does what is expected,
but does it with the required performance, reliability, scalability,
manageability, and security. We therefore address these issues as well.
We believe that a key ingredient for success in all of the above is taking an
IT architectural approach. What does this mean? Architecture in IT
normally means high-level design. There is application architecture,
infrastructure architecture (network, system management, etc.), security
architecture, and many other architectures. IT architecture is the
overarching high-level design of all of these. Our view is that caring about
the high-level design, trying to get it right, and ensuring that all the
technical aspects (application, infrastructure, security, etc.) fit together
are important and are much neglected in IT design.
Find answers on the fly, or master something new. Subscribe today. See pricing options.
File failed to load: /extensions/MathZoom.js
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 1/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
But building the interfaces is only part of the problem. The Web interface
has now exposed to the outside world all the inconsistencies and
complexities of the system that until now only the internal users had to
contend with. Even if the Web interface is a good one, some fundamental
issues go much deeper, for instance:
• When the order information is being sent from the Order Entry to the
Delivery system, there comes a time when it has been completed on one
system but is still unknown on the other. The order has gone into limbo.
The online user is left wondering what happened to it.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 2/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
How can all these requirements be implemented? It’s clear that some kind
of structure is necessary to prevent chaos breaking out. Looking more
closely, we see three generic issues that need exploring.
First, the business process flow from order entry through distribution to
billing must be controlled. The primary reason is that the customer wants
to know what happened to his or her order. The solution could be an
order-tracking system linked to all the other systems. This solution could
provide the basis for many other improvements. For instance, it might be
possible to substantially improve the business process for order
cancellation and product returns. The business might also be able to get a
better handle on where the delays are in the system and improve its speed
of service, perhaps to the extent of being able to promise a delivery time
when the order is made.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 3/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
So what does a typical architecture look like? Figure 1-4 shows such an
architecture as it might be defined, for example. Although variations are
possible, the structure in Figure 1-4 should serve as a useful starting point
for discussing the ideas behind architecture.
The key to tying the parts together is in the rectangle in Figure 1-4 labeled
Integration Infrastructure. It describes the hardware and software
required to make the desired connections—the presentation tier to the
applications and the applications to each other. What happens inside the
rectangle is crucial. The following paragraphs sketch the main elements,
which are discussed in detail throughout the book.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 4/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
In the context of the example, A and B are two elements: either one from
the presentation tier and one from the application tier or two
applications. For the purpose of this discussion, suppose that the two are
in different physical systems. The box around both indicates a complete
environment. There are eight numbered elements in the diagram,
collectively providing the necessary facilities for effective collaboration.
The first two, the communication link and the protocol, enable A and B to
send data to each other through a physical communications link, either
local or wide area. There are two sets of protocols: a network protocol to
carry data over the link and a middleware protocol to handle the dialog
between A and B. The two sets of protocols are complementary and
together provide the required degree of reliability, performance, and so
on. Different middleware protocols provide a wide variety of connection
types, for example, in terms of response time and guarantee of delivery.
The programmatic interface and the common format for data together
define the way that A and B communicate with the middleware. The
common format for data describes how the data should be structured so
that both A and B understand it, and the programmatic interface specifies
the way the data are presented to the middleware.
Server process control concerns the way that the operating system,
middleware, and other software manage the scheduling and execution of
the applications and is crucial to performance, particularly scalability. For
instance, a failure to use resource pooling for threads, database
connections, and application components can severely restrict system
capacity and performance.
A critical point about the architecture discussed here, including its various
deployment strategies, is that the access channels are managed in the
presentation tier while the business logic resides in the applications. Their
role can be viewed as providing services to whoever requests them,
independently of the characteristics of any ultimate requester. It is up to
the presentation tier to manage device dependencies. The Integration
Infrastructure ties the presentation and applications together.
Applications can also request services of each other, again without regard
to characteristics of the requester. An architecture in this form is referred
to as a service-oriented architecture (SOA). Web services technology,
which is discussed in detail in Chapter 4, is a current approach to
standardization of SOA across multiple organizations on the Internet,
although it can be used within a single organization as well. We strongly
support the concept of service-oriented architecture with or without Web
services technology.
⬆
patterns just described. Each model has to be matched with the business
requirements, used as a framework for analyzing the kind of technology
required, and ultimately used to guide the choice of specific technologies
and products in those cases where there is a choice.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 5/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
The example company has six silos: Order Entry, Delivery, Warehouse,
Billing, Accounts, and Marketing. The problems described in this example
are typical: inconsistencies in the data, difficulties in creating a single user
view across multiple silos, and the lack of business process integration.
Sixty silos, not six, would be more typical of a large commercial
organization.
Observe that new tools and clever techniques such as reuse make it easier
to develop new silos even faster. In the past we might have developed a
few hundred applications using old tools; given the new tools, we could
have developed a few thousand more applications. Yes, the business
would have more functionality in its IT applications, but the problems of
fast response to business change and information accuracy would be just
as intractable.
Before going further, let us point out that in some cases this kind of
architecture is inevitable. If the application is bought from an external
software vendor and can be changed by only the vendor, then this kind of
File failed to load: /extensions/MathZoom.js
integration may be the only choice. If the application actually resides in a
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 6/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
Note, it is not that hubs are inherently wrong. The problems arise because
the applications being called by the hubs are not service oriented.
Turning to the back end, we are not against data warehouses, but a data
warehouse is much more effective if the data is clean. The notion of taking
data from multiple sources and reconstructing the correct form is
unrealistic. How can you take the name from one database, the address
from another, the phone number from a third, and reconstruct a correct
record? How do you know John Smith in one database is J. Smith in
another? If there are two phone numbers for a person, which is the
correct one? Of course, the last input data is the most likely to be correct,
but how do you know which one is the last by looking at the data? You
can’t!
All the problems described with silo applications can exist with
applications packages and for exactly the same reason—they are
essentially stand-alone silo applications. Fortunately, many more
packages these days are taking a service-oriented approach and can be
integrated well with the rest of the organization’s IT. It is rare that an
organization can run using only one package, so some level of integration
is likely to be necessary.
• All those concerns about scalability, resiliency, and security may have
been solved already.
• Rewriting is risky.
In the long term, rewriting can never be a strategy for success; at some ⬆
stage or other the organization will have to embrace evolutionary change.
To understand why, look at the graph in Figure 1-8.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 7/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
Over time, a system’s functionality will increase and improve and the
rewrite will become larger and longer. The only escape occurs if the
rewrite can use new tools that are an order of magnitude better than their
predecessors. Suppose ten analysts and programmers have spent 10 years
extending an application; they have spent 100 staff years on the
application. For the same ten people to rewrite the system in 1 year would
require tools that deliver ten times the productivity of their old tools.
So when should you rewrite? First, rewrite when the technology is so old
that there are serious issues with support, such as a lack of skills. Second,
rewrite when the business functionality has changed so much that it’s
probably easier to rewrite than to modify.
2. A rewrite
In our experience, the first option is often easier than many people
realize. For instance, in Chapter 15 we discuss putting a new end-user
interface on applications (e.g., a Web interface on an old screen-based
application). To do such a project requires substantial changes to the
existing application, but the changes often involve deleting rather than
rewriting code—paring the existing application to its core and then
rebuilding on the core. The way to assess the impact of major change is to
try it on a small part of the application. Perhaps give a programmer the
task of doing as much as possible in a set period of time (say, a few weeks)
and then see what progress has been made.
If you do need to rewrite and the application is large, the rewrite will have
to be done in stages. Often a good preliminary to doing a rewrite is to
divide the existing application into chunks that are then replaced one at a
time. A huge advantage of such an approach is that if the project is
stopped for any reason, you will still have the benefit of a partial rewrite.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 8/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
and 6 . But this is only a start. Often the biggest stumbling block is
aligning the services with the business functionality and the business
information. We discuss this issue in detail in Chapters 11, 12, and 13.
One of the main aims of this book is to teach the application designers
enough about the technology and to teach the technologists enough about
application design so that they can all participate in these discussions.
1.6 SUMMARY
In this chapter, we set the scene for the rest of the book by explaining the
most important concepts concerning architecture and its implementation.
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%2… 9/10
2/4/2018 1. The Problem - IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Second Edition
Recommended / Queue / History / Topics / Tutorials / Settings / Get the App / Sign Out
© 2018 Safari. Terms of Service / Privacy Policy
PREV NEXT
Acknowledgments 2. The Emergence of Standard Middleware
file:///C:/Users/RON/Documents/EGDownloads/IT%20Architectures%20and%20Middleware/1.%20The%20Problem%20-%20IT%20Architectures%… 10/10