Using Active Objects for Structuring Service Oriented Architectures Anthropomorphic Design with Actors
Speaker: Dave Thomas, Bedarra Research Labs, Object Mentor
When: 2006-09-01 11:00:00
Venue: 78-420
Host: Prof Paul Bailes
Abstract:Service Oriented Architectures (SOA) provide concepts and associated
technology (in the form of standards, frameworks, tools, and runtimes)
to enable loosely coupled application-level collaboration between
business computing elements. Services can be aggregated to build new
services, systems, or business processes, depending on how the
aggregation is done and what it is intended to accomplish. One of the
main principles in SOA is to separate the conceptual architecturefrom
any particular implementation. This capability is why SOA has become
popular as way to create value chains that span organizations.
Orchestration and choreography are often used almost interchangeably
to mean assembling web services to create a business process. Some
authors and standards groups provide a more nuanced picture, with
orchestration implying a goal-oriented control flow, while
choreography refers to a more free-flow conversational interaction.
We briefly examine current approaches to specifying SOA interactions
and argue that the SOA continuum (choreography, modeling,
orchestration, BPM/BPEL etc.) will continue to blur. Unfortunately
while each approach definitely has its merits, it creates a lot of
additional accidental complexity at the seams, greatly complicating
design and implementation choices and leading to increased complexity
for service builders. However, there has been little work done in the
area of structuring complex web services. Despite the promise of
vendor independence most SOA approaches are currently very much tied
to specific sets of modeling tools and platform services.
We present the Actor approach to structuring complex services. Actors
provide a simple and elegant language mechanism for SOA applications.
Specifically they provide a family of anthropomorphic active classes
which meet both the needs of the business designer and those of the
software implementer. Actors allow one to model computations as an
organization of communicating active objects and to apply
anthropomorphic roles such as workers, coordinators, managers,
couriers, and notifiers to the design of applications (an approach
that is often referred to as Anthropomorphic Programming). Each of
these roles has well known pre-defined semantics, enabling effective
communication between analysts and designers. This allows business
processes to be expressed using common shared language and principles
for organization and job design.
Biography:See www.davethomas.net
Type: ITEE Seminar
Contact:Prof Paul Bailes, seminar host (paul@itee.uq.edu.au)
or Guido Governatori (ITEE seminar co-ordinator)
(guido@itee.uq.edu.au)
