Composite Applications
Web Portals, Web Services and an SOA
(ii) Web Applications (& Services)
(D) Composite Application Management (CAM)
Appendix
A – The Transflow Application Management System
Author:
Garth Eaglesfield
Revision:
1-0000
Published:
August 2006 on www.transflow.co.uk
Enquiries:
contact@transflow.co.uk
Entire contents © 2006 by Transflow Ltd.. All rights
reserved. Reproduction of this publication in any form without prior written
permission is forbidden. The information contained herein has been obtained
from sources believed to be reliable. Transflow disclaims all warranties as to
the accuracy, completeness or adequacy of such information. Transflow shall
have no liability for errors, omissions or inadequacies in the information
contained herein or for interpretations thereof. The reader assumes sole
responsibility for the selection of these materials to achieve its intended
results. The opinions expressed herein are subject to change without notice.
This article addresses composite applications and their underlying components – web portals,
web services and a service oriented architecture (SOA).
It identifies the business requirement for them and some of the technology
trends that have led to them.
The clamour
surrounding these ideas is sometimes reminiscent of the early days of the data
warehouse era when extremely extravagant claims were made. Now composite
applications, web portals and SOA are slated as the new delivery mechanism for
corporate information and services but they too could deliver the same
disappointing results as many data warehouse implementations. A real danger is
that rather than helping businesses they will exacerbate the already critical
problems of information overload and underperforming, unreliable applications.
This article argues that composite applications are all about simplifying business
processes by eliminating obstacles to getting the job done efficiently. They
are about getting the right information (and only the right information) to the
right people (and only the right people) and, based on that information,
allowing them to execute business processes efficiently, with the minimum of
manual intervention.
Businesses
generally need to simplify the over-complex and inefficient manner in which technology
mediated business transactions tend to take place, which means pretty much all
business transactions. Any increase in the efficiency of these business transactions
will be reflected directly in a company’s bottom line. The core principle is to
use web technology’s simple, and hugely successful, global publication model
plus a service based architecture to implement composite applications. This
simplifies the complex, and cumbersome, restricted access processing model in
use at most businesses. Because this is very much a real world issue it
involves existing mission critical software and therefore underlying the
composite applications will be a hybrid of legacy, new, custom and packaged
software.
Composite
applications use web technology to simplify, un-clutter, and automate the
interfaces that enterprise users have to contend with, be they employees, partners
or customers. They make available a relevant subset of a corporation’s
information and application resources in a simple, structured fashion. By doing
so they are laying the foundations for the creation of callable web services which
will in turn be used to easily create additional composite applications.
The key business objective of
composite applications is to increase business efficiency and this is done by
delivering only relevant information and functionality and by streamlining
business collaborations between enterprise users, who may include employees,
customers, partners and suppliers. This results in increased business transaction
flow, which is the lifeblood of all businesses. It is achieved through the
application of one key principle ‘simplify, simplify, simplify’. This principle
is applied ruthlessly to the way in which enterprise users interact with their
information resources (structured data, web content, applications and external
interfaces). By simplifying these interactions the business is made more
efficient.
This simplification is necessary
because even though businesses today are totally dependent on their corporate
information resources for transaction flow these are accessed via an obstacle
course of bewildering proportions, causing major inefficiencies. Human users
face a graphical interface that is likely to involve a far from intuitive
sequence of desktop icons, menu choices, list choices, button presses, all
taking place in a complex desktop environment which requires almost continual
remedial care from the corporate PC support team. Slow and error-prone manual
intervention is frequently needed to advance the business process. External
users, such as business partners, who need to communicate via a messaging
interface, face non-standard, or little-used, protocols and formats with
serious integration implications. These various interfaces are locked in a
chicken and egg deadly embrace with a tangled legacy of application silos,
ranging from custom created mainframe systems to the ERP (Enterprise Resource
Planning) and CRM (Customer Relationship Management) applications that were
supposed to solve these problems not add to them.
Composite applications address
these issues through two main techniques:
The first technique allows composite
applications to apply the features that have made the web so successful as a
global publishing medium to the distribution of corporate information and the
application software that underlies business processes. The only (thin) client
software required is a web browser, thus reducing the PC maintenance overhead. The
most structured form of this interface is when a web portal is used and resources
appear to portal users as familiar style web content plus a set of
business-oriented portlets.
The second technique involves
linking together several distinct silo applications to form a single composite
application and by doing so removing all the manual inter-silo processing
steps. Frequently only a specific
business transaction is required from a particular silo application, for
example ‘check credit rating’, and such functionality is usually described as a
service and the resulting software architecture as a service oriented
architecture (SOA).
Thus composite applications deliver the key enterprise resources of information and application services in a simpler and more automated fashion than traditional monolithic silo applications. The results of this exercise in simplification are to unlock hidden business value, reduce costs and improve efficiency and productivity.
This section
provides some terminology and background for understanding composite
applications.
The number of web portal products
in the marketplace has led to a recognisable ‘portal style’ of browser based
user interface design and while composite applications are not always accessed
via a portal their user interfaces
frequently exhibit elements of this style.
The main principle behind the portal
style is to help make business processes more efficient by simplifying the way
in which collaborating enterprise users interact with their corporate
resources.
Who are a
composite application’s users? They may be employees, customers or partners,
and within each category further groupings can take place. The concept of a
user community has come to mean a user group collaborating for specific
business purposes.
What are the resources that the
users are being given access to? In traditional terms they are corporate
documents, corporate data (such as sales information, order processing data,
etc. all probably held in a relational database, sometimes referred to as
structured data) and the application software that manages that data (such as
custom applications, for instance reservation systems, or packages supporting
things like order processing, CRM, ERP, Supply Chain Management (SCM), etc.).
Using the web model of access to
resources via URLs corporate resources can be divided into two categories, content
and applications.
This broadly means publishable
web style graphically formatted information defined in HTML. It is accessed via
a URL and presented via a browser, frequently without application program
intervention. Of course it may include multi-media data, like audio or video,
or pre-web content, such as business documents that are not correctly formatted
for web publication, the phrase unstructured data/content is often used in this
context.
These refer to the software
applications that implement an enterprise’s business processes but which now need
to be accessible over the web. Although many new web applications have been
developed almost without exception they are composite applications, i.e. a
hybrid of new web based software plus existing custom or packaged software. The
general form of the architecture they exhibit is as below.

This architecture is the web
enabled version of the classic 3-tier service oriented architecture (SOA) that
has been around for over 30 years. It was first used on TPMs (Transaction
Processing Monitors) such as IBM’s CICS or BEA’s Tuxedo and today on Application
Servers (such as BEA’s WebLogic and IBM’s WebSphere). When a business has legacy applications based
on an SOA their inclusion in composite applications is relatively
straightforward but most businesses, at best, have applications that are only
partially structured as services, so there are legacy issues to be resolved.
The web has given SOAs a huge boost
(SOA is currently a very hot acronym) and has led to the idea of calling
services over the Internet as ‘web services’. This raises many issues including
transactional integrity, security, load balancing, manageability and failure
recovery. In the past these issues could be handled within a business by the
TPM infrastructure software but when services are being offered, and used, over
the web then they become much more complex. Key standards such as SOAP, UDDI and WSDL have
already been established and standards organisations are busy working on many
others.
The integration of services
implemented by several silo applications into a single composite application is
potentially the first step to presenting them as web services. These could then
be linked together to form further composite applications. Such widely
distributed composite applications will bring with them serious operational
issues both in development and production. Already this has led to the appearance
of composite application management (

Composite
applications require a software platform on which to be implemented and as
composite applications based on web services become more common so this
infrastructure will become more complex in order to handle issues like service
publication and discovery, transaction support, recovery and resilience
features. Java2 Enterprise Edition (J2EE) application servers are by far the
most common platform in use at present.
Composite
applications, and underlying technologies such as web portals, web services and
SOAs, are evolving rapidly as they move to centre stage in enterprise software
architectures. As this happens a number of trends are discernible:
· Composite applications are helping to impose the web version of the
classic Service Oriented Architecture (SOA) whereby in the future they will use
(and offer) web services which can be called over the Internet.
Since composite applications are becoming
critical to businesses the selection of the software platform on which they
rest is very much a strategic decision, not a tactical one. Many software
vendors now have platform products and currently the favoured platform on which
to implement composite applications is a J2EE (Java2 Enterprise Edition)
application server. The 2 market leaders in that space are IBM WebSphere and BEA
WebLogic, though many other options, including open source alternatives, are
available. In future the Microsoft .NET platform will certainly challenge J2EE
and at that time both platforms will no doubt have their adherents and a shared
market will be established.