11 ATCT: a Java Framework that Offers New Approach to Developing Asynchronous Processes
Tuesday, 28 October
15:00-15:45
Thursday, 30 October
11:00-11:45
Serguei Mourachov,
Velare Technologies Inc.,
smourachov@velare.com John van Rij,
Velare Technologies Inc.,
jvanrij@velare.com
|
|
Velare Technologies, Inc. will demonstrate ATCT (Asynchronous Transfer
of Control Threading) a Java framework for asynchronous method
invocation. ATCT facilitates development of asynchronous long-running
processes in Java, using well-known OOP techniques and design
patterns. Traditionally when an application interacts asynchronously
with an external environment, event-driven programming is used.
However, this approach makes it difficult to develop processes with
complex flow logic. Moreover, programming of sophisticated workflow
patterns becomes almost impossible. ATCT allows transforming the
event-driven programming style into a well-known sequential
programming style, enabling the use of OOP for asynchronous process
development. In addition, it is possible to develop a variety of new
types of applications that require manipulation of execution context.
ATCT introduces a new approach for execution context reification in
Virtual Machine based runtime environments. ATCT uses a secondary
bytecode interpreter to execute specially marked methods in a special
mode, which allows to access execution context as first class
object. The secondary interpreter is written in the Java programming
language allowing use of ATCT on any JVM. ATCTs functionality and
capabilities will be presented by using slides and code samples. After
introducing the concept using simple examples, we will show the
possibilities for complex distributed architectures by showing
prototypes of frameworks for messaging and web applications. Our
demonstration is targeted to people who are interested in the use of
VM-oriented mainstream OO languages such as Java or C#, for new types
of applications. The demonstration should also be interesting for
designers of Virtual Machines and new languages.
|