|
When
it comes to a characterization of actual Integrated Composition and
Execution Environment (ICEE) products, composition granularity is a
key differentiator. Granularity is the extent to which a larger
entity is subdivided. Composition granularity
refers to the scope of a composition's functionality and behavior.
Fine-grained compositions are entities that form
logically atomic units (e.g. "date" (combines day, month and
year), and "combination box" (combines the functions of an entry
field with a
drop-down list)).
Medium-grained compositions represent individually
meaningful entities, such as aggregate business information entities
(e.g. "invoice address", "order", "role") and
presentation entities (e.g. "menu", "form").
Coarse-grained composition refers to business
capabilities, encompassing all levels of the capability hierarchy
(e.g. claims processing, payroll, computing a customer's mortgage
interest, creating an invoice, or generating a list of a customer's
overdue invoices).
The categorization of composition granularity
categories may be considered artificial to some extent. For example,
a very simple business capability might be regarded as a
medium-grained composition, while a complex multi-level business
information entity (e.g. "invoice") could be viewed as a
coarse-grained composition. Thus, the terms fine, medium and coarse
are relative.
Coarse-grained compositions are easier to use, but
the finer the granularity, the higher the potential for reuse. Small,
fine-grained compositions give much greater flexibility in assembling
precisely the right combination of functionality and behavior, but
they are more difficult to coordinate.
Clearly, the better an ICEE supports all
granularity levels and empowers a business analyst to perform the act
of composition across all kinds of compositions, the less the need to
resort to traditional software development. In fact, a business
analyst would be able to compose business capabilities of arbitrary
complexity from components and compositions and create value streams.
In other terms, the traditional "order-deliver model", meaning
the business is "ordering" and IT is "delivering",
would eventually become obsolete.
There are broadly two types of ICEEs: the
Process-Oriented ICEE and the Pure-Play ICEE.
A Process-Oriented ICEE allows for the recursive
composition of artifacts, particularly business services, which is
also one of the most important features of service-oriented
architecture (SOA). Developers can rapidly build new solutions based
on the existing business services. The more individual business
services (and their compositions) exist in a business service
repository (BSR), the easier it becomes to implement new enterprise
solutions.
Business data are not represented as components
and compositions. Therefore, software developers need to implement
data access logic. To make data access independent of persistence
technology, developers may use technologies that allow heterogeneous
data to be accessed in a uniform way, such as Service Data Objects
(SDO).
Modern Business Process Management System (BPMS)
products qualify as model-driven Process-Oriented ICEEs. These
products enable business users to take an active role and participate
in the process improvement life cycle. The
act of composition in a BPMS begins and ends with the business
process. Process compositions can be thought of as orchestrated
assemblies of business services. Data access and other resource
interactions are also performed by services, considering DBMSs and
other resource management systems as service providers.
A Pure-Play ICEE relies on a well-defined
composition architecture, that is a set of specifications used to
describe and facilitate the composition of components and
compositions regardless of granularity. It encompasses an assembly
model and an implementation model. Compositions are assembled through
the wiring of composition interfaces, although those interfaces are
irrelevant for the composer (i.e. the business analyst). Compositions are executable, requiring an
execution engine that interprets the composition meta data and any
additional embedded programming logic.
|