Sei sulla pagina 1di 6

Beyond Composite Applications

Automating the Exception Rich Business Processes that Represent the Next
Generation of Application Development
Peter EvansGreenwood
peter@evans-greenwood.com
Mark Stason
mark.stason@dhl.com
The market for enterprise applications is
maturing, forcing new development efforts to
move up the business valuechain and deliver
solutions to the exceptionrich business problems that were previously beyond information
technology's reach. Existing servicebased
approaches are reaching their limits and new
tools and techniques are needed to drive this
growth. Agent technology has proven to be a
powerful tool, enabling the development of
more flexible, adaptive and sophisticated solutions than possible with more conventional
approaches. Integrating the technology with a
modern servicebased architecture allows us to
deliver applications as networks of dynamic
business services, supporting the sophisticated
negotiation and exception management necessary to enable this next wave of application
development.
Serviceoriented architectures (SOA) and
webservice technologies[1] represent the latest generation of tools and techniques for delivering enterprise applications. A webservice
based approach allows us to create applications

from distributed networks of loosely coupled


services in heterogeneous environments,
breaking away from the limitations of previous
monolithic approaches to deliver more flexible
applications more cost effectively than before.
Today, the major focus in enterprise software is
the development of composite applications[2].
Existing applications from a companys portfolio are cracked open, exposing as webservices
the suite of basic services the business transactions that each legacy application supports. Any additional functionality required is
developed as new services within the SOA of
the composite application. Finally, the set of
hetrogeneous services are strung together using
workflow tools and techniques (such as
BPEL[3]) to create higher level business process services to support the endtoend business processes required. These services act as
clerks (Figure 1), scripting together the functionality provided by business transactions to
deliver solutions targeted at a specific business
need or process.

FIGURE 1. Composite Application Technology Stack


Workflow Tools
Scripting Languages

Composite Applications
Clerks

3 rd Party Applications
Network Services
Customer Functionality

Service Wrapped
Legacy Applications

Existing composite applications have already


harvested much of the low hanging fruit, providing companies with a suite of targeted applications that simplify business operations and
allow the business to focus on the problem at
hand: delivering value to their customers and

Business Transactions

shareholders. Rather than interacting with a


range of systems to carry out their job, users
are now provided with a focused user interface
that reduces the effort required to carry out
their daytoday business activities, reducing
cost and improving overall quality of service.

Page 1 of 6

From Consolidation to Automation


With the first generation of applications rapidly
maturing, the next step in the evolution of
webservice technology and composite applications lies in front of us. The next generation
of enterprise application technology will build
on the consolidated business processes provided by composite applications, automating
the the decision and exception management
processes that were previously beyond the
reach of process automation technology. These
applications will for the first time can capture the truly dynamic nature of a business process as a collection of cooperating,
deliberating, negotiating services.
Automation allows us to bring the benefits of
software to these (previously manual) processes. A software based solution can look
across the enterprise to create globally optimal

solutions where manual processes are restricted


to locally acceptable solutions, restricted by the
limited data and time available to human operators. To do this we need to add a new layer to
the technology stack (Figure 2) Agent services that contains technologies and
approaches that are capable of automating the
exception rich business processes and deliberations that are currently the responsibility of the
human operators. Previously we had a suite of
business transactions (webservices) coordinated by clerks (BPEL); now we introduce a
layer of agents capable of managing business
exceptions and planning the operations of
Clerks in the layer below. This provides us
with a simple threelayer technology model
that allows us to associate specific technologies
and approaches with different types of functionality in the final solution.

M ore Com plex

Human Agents
Software Agent Technology

Workflow Tools
Scripting Languages

Agents &
Business Webs

Agents

Composite Applications
Clerks

3rd Party Applications


Network Services
Customer Functionality

Service Wrapped
Legacy Applications

Business Transactions

A simple analogy is to compare the different


layers to the roles in a simple shipping business
process. If you were to walk into a shipping
office to ship a package, then the three layers
would be represented by the following business
entities:

Less Complex

FIGURE 2. Agents, Clerks & Business Transactions

The Shipping Business Transactions represent the basic business transaction required
to fulfill the business process. These
include common business operations such
as creating a waybill, scheduling a pickup,
etc.
You interact with a Shipping Clerk who is
responsible for shipping business processes
such as filling out and validating the
waybill, calculating the charge or booking
a pickup created by stringing together
the business transactions. However, the
Shipping Clerk cannot cope with business
exceptions or complex business decisions.

A Shipping Agent is responsible for planning a shipment, and dealing with any business exceptions that arise. Whereas the
Shipping Clerk knows how to carry out a
business process, the Shipping Agent
understands how the business process integrates with the business and the processs
purpose.

These new agent services require tools and


techniques capable of supporting the development and maintenance of these complex,
exception rich, business processes. One obvious candidate is agent technology[4]. Agent
technology is a large field that covers a wide
range of disciplines; though, at its core, the
technology is simply inspired by the flexibility
and sophistication seen in living systems[5].
The technology draws inspiration from a wide
variety of fields; including philosophy, physiology, biology, game theory & mathematics,

Page 2 of 6

logic, linguistics, economics and computer science.


Agent technology's anthropomorphic nature
makes it a good fit to the development of agent
level services. The exception rich, goalbased,
trialanderror nature of realworld business
decisions can be directly supported by modeling these decisions with goaldirected technology[6]. In the agent layer, business exceptions
are no longer exceptional; they are simply
alternative ways of achieving a goal. Business
processes consist of a series of decisions made
by different business roles. The roles are
formed into networks of negotiating, cooperating, agents working toward a common goal.
Multiagent systems allow us to use agent
tools and techniques to directly capture, and

implement, the roles, their relationships, and


the communication between them.

A Logistics Composite Application


Logistics management is typical of the style of
business problem that webservice enabled
composite applications are suited. The current
trend in enterprise application support for
logistics is to divide support between planning
systems which compute production plans overnight, and execution systems which manage
the flow of events (Figure 3). The disconnection forces employees to deal with business
exceptions (lost shipments for example). manually resolving the problems by updating the
execution and planning applications directly.

FIGURE 3. Logistics Management Today

Planning

Planning

Execution

Execution

Consolidating Logistics Functionality


We can address this problem by leveraging
web technology to create a heterogeneous composite application involving all participants in
the business process. The new applications fits
between the existing systems, creating new
endtoend business processes extending them

rather than replacing them outright. The final


composite application connects the planning
and execution systems, providing employees
with a single unified view into the logistics
pipeline (Figure 4). Using this solution,
employees can quickly identify and correct
business exceptions as they occur.

FIGURE 4. A Logistics Composite Application

Planning

Composite
Application

Planning

Execution

Automating Logistics Management


Todays logistics solution architectures take a

Composite
Application

Execution

simple blackbox view of optimization: production is matched to expected demand and

Page 3 of 6

then fed into a set of predefined delivery pipelines, with business exceptions and deviations
from the plan requiring human intervention.
Once a shipment has entered a pipeline we can
only delay its progress, and it is impossible for
employees to optimize across pipelines by
diverting underutilized capacity in one to cover
a deficiency in another. The result is a logistics
network that contains excess stock, as the disconnection between the planning and execution
systems restricts the plan to managing produc-

tion on a daily basis; tuning the input to the


pipeline but not movements through it.
One approach to improving the efficiency of
the logistics network is to introduce a set of
exception management and planning services
to manage operation of the logistics pipeline
(Figure 5). These exceptionrich roles were
previously the domain of employees but leveraging agent technology allows us to integrate
them into the applications SOA, creating an
enhanced application.

FIGURE 5. Automated Logistics Management

Planning

Route
Management

Route
Management

Replenishm ent

Replenishm ent

Optim ization

Optim ization

Composite
Application

Planning

Composite
Application

Execution

Execution

New services are introduced to support the


realtime planing and management functions
required by the new application, previously the
domain of employees. Agent technology is a
good fit for these services as each service
implements business processes and heuristics
reflecting the goalbased, trailanderror

approach employees used to manually solve


these problems in the past; approaches that are
intractable with conventional technologies and
tools. The final solution contains services in all
three layers from the Business Transactions,
through Clerks, to Agent services (Figure 6).

M ore Com plex

Route Management
Replenishment
Optimization
Workflow Tools
Scripting Languages

Agents &
Business Webs

Agents

Composite Applications

Less Complex

FIGURE 6. Services in Automated Logistics Management

Clerks
Planning
Execution

Service Wrapped
Legacy Applications

Business Transactions

The use of agent technology provides us with a


degree of flexibility not possible with conventional approaches. The agentbased services
isolate key business decisions behind cleanly
defined interfaces, rather than forcing these
decisions to be implemented with design patterns (such as Chain of Responsibility[7]) that
bake business decisions into the solutions

structure; where changing the business decision involves (to some extent) refactoring the
application. In contrast, agent tools and techniques provide a simple, highlevel, approach
to capturing this goalbased behavior. Adding
a new optimization strategy for the Optimization service is simply a matter of defining the
new optimization business process, and then

Page 4 of 6

adding it to the set of approaches for the agent


to consider. The agent manages at runtime
the trialanderror process of trying different optimization approaches until a successful
one is found.

Dynamic Business Webs


This approach to role automation can also
extend beyond the original application boundries to integrate multiple application into a
dynamic business web: a hetrogenerous collection of applications, representing different
companies (or departments within a company),
that collaborate together in a single marketplace to manage resources and negotiate. Companies can use business webs to coordinate
operations between their various departments,
or to automate planning and management with
their partners.
One example of this is gathering multiple 3PL
solutions together into a logistics marketplace
(Figure 7), extending the 3PL logistics management solution beyond the original model to
support 4PL operation. A 4PL solution allows
us to combine multiple logistics providers into
a single heterogeneous virtual logistics net-

work a dynamic business web where customers, suppliers and partners can come
together to create tailored solutions to business
problems in real time. Each shipment is
assigned a route assembled dynamically from
one or more individual logistics providers. The
extended realtime negotiation and monitoring
functionality required by the 4PL approach is
supported by creating a virtual auction between
the participants in the business web. Previously
these business functions were manual and off
line, where today agenttechnology allows us
to use advanced algorithms (inspired by economics) to automate them. The composite 4PL
application consists of a distributed network of
heterogeneous (agent) services using auction
based algorithms to negotiate logistics and
shipment routes, dynamically creating virtual
supply chains in realtime. The algorithms
include advanced features such as multiitem
markets, multiunit markets, trust, coalition
formation and contract formation & breach
management. The enhanced application uses
this functionality to support, online and in real
time, the dynamic formation and management
of virtual supply networks disturbed across
multiple logistics providers.

FIGURE 7. A 4PL Logistics Marketplace

Monitoring &
Auditing
3PL
Application

3PL
Application

3PL
Application

4PL
Marketplace

3PL
Application

Each in the business web is implemented with


webservice tools and techniques extended
with agent technology, while still presenting
conventional webservice interfaces exter-

nally. The collection of (agent) services operates as a multi-agent system each agent
acting independently but coordinating its

Page 5 of 6

actions with other agent via orchestration protocols.

4.

Conclusions
As the market for webservices based applications matures, the lowhanging fruit the
straightforward composite applications
will be exhausted, and new development
efforts will move up the technology chain to
provide more advanced systemwide behaviours. This move will be characterized by a
shift from developing composite applications
designed to consolidate business processes and
data, to solutions that automate and optimize
the business process brought into focus by the
original composite application. These solutions
can form the basis for the creation of dynamic
business webs, virtual applications, which
dynamically provision the resources they
require.

5.

6.

7.
8.

Current tools and techniques cannot support


this new generation of webservice based
applications due to the nonlinear, exception
rich nature of the business processes that they
must implement. Agent technology promises to
fill this gap, by providing the tools and techniques required to extend existing webservice
and SOA based approaches. The technology
integrates cleanly with a modern servicebased
approach to application development, with a
modern SOA environment providing a sound
foundation for the advanced functionality provided by an agentbased solution.
Marrying agent technology with webservice
technology results in applications that exhibit a
flexibility and robustness not seen with current
technologies creating dynamic business
webs that dynamically adapt to the rapidly
changing business environment. Integrating the
two technologies can provide us with the platform required to deliver the next generation of
enterprise applications.

References
Singh & Huhns (2004), ServiceOriented
Computing, Wiley, ISBN
2. Dan Woods (June 2003), Packaged Composite Applications, O'Reilly & Associates,
ISBN 059600520
3. BPEL
1.

Page 6 of 6

Nicholas Jennings (2001), An Agent Based


Approach to Building Complex Systems,
Communications of the ACM, Volume 44,
Number 4
Michael Wooldridge (June 2002), Introduction to MultiAgent Systems, John Wiley &
Sons, ISBN 047149691X
M. Georgeff and A. Lansky (1986), Procedural Knowledge, Proceedings of the IEEE
(Special Issue on Knowledge Representation), 74:13831398
Chain or Responsibility Pattern
FIPA protocols

Potrebbero piacerti anche