Java SIG: AspectJ - The Language and Development Tools
...and "Multi Channel and Multi Modal Application Development Using User Interaction Modeling".
Tech Talk: AspectJ - The Language and Development Tools
Main Talk: Multi Channel and Multi Modal Application Development Using User Interaction Modeling
Krishna Vedati and Kelvin Chong - Covigo Inc.
AspectJ - The Language and Development Tools
Object-oriented programming enables the programmer to modularize hierarchical structure. As a result, OO development tools present this hierarchical structure.
Aspect-oriented programming enables the programmer to modularize crosscutting structure--AO languages have been used to cleanly capture crosscutting concerns such as exception handling, multi-object protocols, synchronization, performance optimizations, and resource sharing.
As a result, AO tools must present this crosscutting structure.
This talk will present the AspectJ project from a development tools perspective. It will demonstrate how some common crosscutting concerns can be modularized by refactoring an existing system. It will show the problems and the work that we're doing in order to illustrate crosscutting structure in a way that is explicit and easy to manipulate. It will also discuss the architecture of integrating AO tool functionality into existing OO development environments.
Multi Channel and Multi Modal Application Development Using User Interaction Modeling
Over the years, many Model-View-Controller (M-V-C) frameworks have emerged to solve various application development problems ranging from desktop to online applications. Today, with wireless connectivity fast becoming the norm, mobile devices capable of running applications are sprouting up everywhere. And, with the productivity gains achieved with wireless technologies, it's clear that ubiquitous computing is here to stay. In order to leverage this trend, applications need to be multi-channel aware: They need to support access from diverse devices/channels (e.g. desktop, phones, PDAs) over different modes (e.g. data, voice). This presentation will discuss the following multi-channel and multi-modal application development topics:
User-Interaction Modeling (UIM):
One of the challenges of building multi-channel applications is the ability to seamlessly support multi-modal context transfers when user interaction starts in one channel and transitions over into another (e.g. a user begins an application in the voice channel and then elects to move to the web). The UIM paradigm ensures that applications developed are both multi-channel and multi-modal aware. In addition, using UIM methodology standardizes application creation, and applications created once can be deployed either to the client or to the server. As part of this presentation,, we will present newly-invented concepts, such as Components - (to make application design modular and scalable) and Layering (to make multi-channel applications behave differently on different channels).
A second major challenge of building multi-channel applications is the ability to develop an adaptive user interface that is highly usable from all types of access devices. Covigo is actively participating in the W3C standards arena to evolve device independent authoring technology. For example, we have created Device Independence authoring extensions to XHTML, and have exposed these extensions as JSP tags for Java developers. We will showcase these extensions as part of this presentation.
Using Web Services Standards to Build Multi-Channel Applications:
We have evolved the UIM methodology to leverage a pure XML method of building multi-channel applications using web services standards, such as WSFL, WSRP, WSIA, and WSDL. As part of this presentation, we will give you a sneak preview of how to build multi-channel aware, open, remote portlets.
Cubberly Community Center
4000 Middlefield Road, Room H-1
Palo Alto, CA 94105
7:00-7:50pm tech talk
8:00-9:00pm main talk
$15 for non-SDForum Members
No charge for SDForum members and students with ID
No registration required
More on the Java SIG....