|
Go back to
Tutorials Home |
T4: Dynamic and Distributed Aspect-Oriented
Programming with JAC |
Presenters: - Renaud
Pawlak, University of Lille - Lionel Seinturier,
LIP6
Date: Monday, March 17, afternoon (half
day)
Level: Intermediate
Attendees should
have basic familiarity with aspect-oriented programming, UML,
and Java.
Abstract:
Modern business
systems run in open and distributed environments, often
involve the Web, and are often based on industry-standard
middleware such as CORBA and Java RMI. Distributed
applications are critical to businesses and must deal with
concerns such as data consistency, scalability, dynamic
resource discovery, fault tolerance, run-time maintenance, and
remote version updating. For all these issues, the need for
dynamic and fast software reconfiguration is increasing.
Aspect-oriented techniques can provide powerful ways to deal
with such challenges: indeed, separating concerns not only
makes applications easier to develop and maintain, but also
offers means to add or remove concerns to applications in a
dynamic fashion at run time.
This tutorial presents JAC
(Java Aspect Component), a fully operational programming
environment for developing aspect-oriented, dynamically
reconfigurable, distributed, and Web-based software. JAC
offers the programmer a set of concepts for creating,
manipulating, and composing aspects at run time within
distributed and changing environments.
In this tutorial
we describe the entire process of developing and configuring
aspect-oriented software with JAC. After introducing the basic
concepts and features of the environment, we explain why it is
suitable for developing distributed applications. We show how
to design an application in JAC's UML-flavored IDE, and we
configure that application to work with the Web and use
specific application-level aspects to implement a fully
running online store. We then demonstrate the clustering
features of JAC by deploying the application atop JAC remote
containers using a communication layer implemented on RMI or
CORBA. We show how to include dynamic adaptation features that
allow the application to react to changing environments.
Finally, at the end of the tutorial, we demonstrate the rapid
development of applications and reuse of aspect
capabilities.
JAC is available from http://jac.aopsys.com/.
Biographies:
Renaud Pawlak received his M.S. degree, specializing
in computer science and distributed processing, from the
University of Paris VI in 1999. Prior to that, he received his
engineering degree from the Institut Superieur d'Electronique
de Paris in 1997. Renaud is currently finishing his Ph.D. on
AOP techniques and separation of concerns at the CEDRIC-CNAM
laboratory, and is starting as a post-doctoral researcher at
the LIFL laboratory in Lille, France. He is a primary
programmer of the JAC framework.
Lionel Seinturier
received his Ph.D. in computer science from the Conservatoire
National des Arts et Métiers (Paris, France) in 1997.
Subsequently, he worked in the France Telecom R&D center
in Paris as a post-doctoral student on middleware
architectures for high-speed ATM networks. Since 1999, Lionel
has been as associate professor at the University of Paris VI.
His research activities are centered around component models
for distributed applications (EJB, CCM) and reflective and
aspect-oriented programming. |
Contact |
For additional information,
clarifications, questions, or special requirements, please
contact the AOSD 2003 Tutorial Chair: Eric Eide
(tutorials@aosd.net). |
| |
|