Beyond Composite Applications
-
Upload
peter-evans-greenwood -
Category
Documents
-
view
217 -
download
0
Transcript of Beyond Composite Applications
-
8/10/2019 Beyond Composite Applications
1/6
Page 1 of 6
Beyond Composite Applications
Automating the Exception Rich Business Processes that Represent the Next
Generation of Application Development
Peter EvansGreenwood
[email protected] Stason
The market for enterprise applications is
maturing, forcing new development efforts to
move up the business valuechain and deliver
solutions to the exceptionrich business prob-
lems that were previously beyond information
technology's reach. Existing servicebased
approaches are reaching their limits and new
tools and techniques are needed to drive thisgrowth. Agent technology has proven to be a
powerful tool, enabling the development of
more flexible, adaptive and sophisticated solu-
tions 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 neces-
sary to enable this next wave of application
development.
Serviceoriented architectures (SOA) and
webservice technologies[1] represent the lat-
est generation of tools and techniques for deliv-
ering 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 portfo-
lio are cracked open, exposing as webservices
the suite of basic services the business trans-
actions that each legacy application sup-
ports. 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 pro-
cess services to support the endtoend busi-ness processes required. These services act as
clerks (Figure 1), scripting together the func-
tionality provided by business transactions to
deliver solutions targeted at a specific business
need or process.
Existing composite applications have already
harvested much of the low hanging fruit, pro-
viding companies with a suite of targeted appli-
cations that simplify business operations andallow the business to focus on the problem at
hand: delivering value to their customers and
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 outtheir daytoday business activities, reducing
cost and improving overall quality of service.
FIGURE 1. Composite Application Technology Stack
Workflow Tools
Scripting Languages
Clerks
Composite Applications
3rdParty Applications
Network ServicesCustomer Functionality
Business Transactions
Service WrappedLegacy Applications
mailto:[email protected]:[email protected]:[email protected]:[email protected]://-/?-http://-/?-http://-/?-http://-/?-mailto:[email protected]:[email protected] -
8/10/2019 Beyond Composite Applications
2/6
Page 2 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 appli-
cations lies in front of us. The next generation
of enterprise application technology will build
on the consolidated business processes pro-
vided 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 cap-
ture the truly dynamic nature of a business pro-
cess as a collection of cooperating,
deliberating, negotiating services.
Automation allows us to bring the benefits of
software to these (previously manual) pro-cesses. 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 oper-
ators. To do this we need to add a new layer to
the technology stack (Figure 2) Agent ser-
vices that contains technologies and
approaches that are capable of automating theexception rich business processes and delibera-
tions that are currently the responsibility of the
human operators. Previously we had a suite of
business transactions (webservices) coordi-
nated 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 func-tionality in the final solution.
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:
The Shipping Business Transactions repre-sent 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 plan-
ning a shipment, and dealing with any busi-
ness exceptions that arise. Whereas the
Shipping Clerk knows how to carry out a
business process, the Shipping Agent
understands how the business process inte-
grates with the business and the processs
purpose.
These new agent services require tools and
techniques capable of supporting the develop-
ment and maintenance of these complex,
exception rich, business processes. One obvi-
ous 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, physi-
ology, biology, game theory & mathematics,
FIGURE 2. Agents, Clerks & Business Transactions
Workflow ToolsScripting Languages
MoreCom
plex
LessComplex
Clerks
Composite Applications
Human Agents
Software Agent Technology
Agents
Agents &
Business Webs
3rdParty Applications
Network Services
Customer FunctionalityBusiness Transactions
Service Wrapped
Legacy Applications
http://-/?-http://-/?- -
8/10/2019 Beyond Composite Applications
3/6
Page 3 of 6
logic, linguistics, economics and computer sci-
ence.
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 model-ing these decisions with goaldirected technol-
ogy[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, cooperat-
ing, 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 over-
night, and execution systems which manage
the flow of events (Figure 3). The disconnec-
tion forces employees to deal with business
exceptions (lost shipments for example). man-
ually resolving the problems by updating the
execution and planning applications directly.
Consolidating Logistics Functionality
We can address this problem by leveraging
web technology to create a heterogeneous com-
posite 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.
Automating Logistics Management
Todays logistics solution architectures take a
simple blackbox view of optimization: pro-
duction is matched to expected demand and
FIGURE 3. Logistics Management Today
Planning
Execution
Planning
Execution
FIGURE 4. A Logistics Composite Application
Planning
Execution
Planning
Execution
CompositeApplication
CompositeApplication
http://-/?-http://-/?-http://-/?-http://-/?- -
8/10/2019 Beyond Composite Applications
4/6
Page 4 of 6
then fed into a set of predefined delivery pipe-
lines, 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 covera deficiency in another. The result is a logistics
network that contains excess stock, as the dis-
connection 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 werepreviously the domain of employees but lever-
aging agent technology allows us to integrate
them into the applications SOA, creating an
enhanced application.
New services are introduced to support the
realtime planing and management functions
required by the new application, previously thedomain 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 andtools. The final solution contains services in all
three layers from the Business Transactions,
through Clerks, to Agent services (Figure 6).
The use of agent technology provides us with a
degree of flexibility not possible with conven-
tional approaches. The agentbased services
isolate key business decisions behind cleanly
defined interfaces, rather than forcing these
decisions to be implemented with design pat-terns (such as Chain of Responsibility[7]) that
bake business decisions into the solutions
structure; where changing the business deci-
sion involves (to some extent) refactoring the
application. In contrast, agent tools and tech-
niques provide a simple, highlevel, approach
to capturing this goalbased behavior. Adding
a new optimization strategy for the Optimiza-tion service is simply a matter of defining the
new optimization business process, and then
FIGURE 5. Automated Logistics Management
Planning
Execution
Planning
Execution
CompositeApplication
Route
Management
Optimization
Replenishment
CompositeApplication
Route
Management
Optimization
Replenishment
FIGURE 6. Services in Automated Logistics Management
Workflow Tools
Scripting Languages
MoreComplex Le
ssComplex
Clerks
Composite Applications
Route Management
ReplenishmentOptimization
Agents
Agents &
Business Webs
Planning
Execution
Business Transactions
Service Wrapped
Legacy Applications
http://-/?-http://-/?- -
8/10/2019 Beyond Composite Applications
5/6
Page 5 of 6
adding it to the set of approaches for the agent
to consider. The agent manages at runtime
the trialanderror process of trying differ-
ent optimization approaches until a successful
one is found.
Dynamic Business WebsThis approach to role automation can also
extend beyond the original application bound-
ries to integrate multiple application into a
dynamic business web: a hetrogenerous collec-
tion of applications, representing different
companies (or departments within a company),
that collaborate together in a single market-
place to manage resources and negotiate. Com-
panies 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 man-
agement 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 cus-
tomers, 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 monitoringfunctionality 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 eco-
nomics) 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 virtualsupply 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.
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 oper-
ates as a multi-agent system each agent
acting independently but coordinating its
FIGURE 7. A 4PL Logistics Marketplace
Monitoring &
Auditing3PL
Application
3PL
Application
3PL
Application
3PL
Application
4PL
Marketplace
http://-/?-http://-/?- -
8/10/2019 Beyond Composite Applications
6/6
Page 6 of 6
actions with other agent via orchestration pro-
tocols.
Conclusions
As the market for webservices based applica-
tions 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 behav-
iours. 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 dynamicbusiness webs, virtual applications, which
dynamically provision the resources they
require.
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 tech-
niques required to extend existing webserviceand 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 pro-
vided 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 plat-
form required to deliver the next generation of
enterprise applications.
References
1. Singh & Huhns (2004), ServiceOriented
Computing, Wiley, ISBN
2. Dan Woods (June 2003), Packaged Com-
posite Applications, O'Reilly & Associates,
ISBN 059600520
3. BPEL
4. Nicholas Jennings (2001),An Agent Based
Approach to Building Complex Systems,
Communications of the ACM, Volume 44,
Number 4
5. Michael Wooldridge (June 2002),Introduc-
tion to MultiAgent Systems, John Wiley &
Sons, ISBN 047149691X6. M. Georgeff and A. Lansky (1986), Proce-
dural Knowledge, Proceedings of the IEEE
(Special Issue on Knowledge Representa-
tion), 74:13831398
7. Chain or Responsibility Pattern
8. FIPA protocols