Middleware 2004

ACM/IFIP/USENIX 5th International Middleware Conference

Renaissance Toronto Hotel at SkyDome

Toronto, Ontario, Canada

October 18th - 22nd, 2004

Home ] Program ] Registration ] Organization ] Sponsors ] CFP ] Important Dates ] Submissions ] Travel ]

[ Workshops ]
[ Tutorials ]
[ Keynotes ]
[ Posters ]
[ Related Events ]
[ Travel Grants ]
[ Publicity ]



Middleware 2004 Tutorials

Middleware'2004 will host six exciting tutorials:

Middleware 2004 Tutorial Program Structure

Tutorials take place on Monday and Tuesday, October 18th and 19th at the conference hotel.

Morning tutorials start at 8:30 am - noon with a 30 minute break at 10 am.

Afternoon tutorials start at 1:30 pm - 5 pm with a 30 minute break at 3 pm.

Tutorial T1: Building Distributed .NET Applications - Technologies, Architecture, Comparison with J2EE

By Michael Stal, Siemens AG Germany

In 2000 at the PDC Conference in Orlando the .NET technology was introduced by Microsoft. It represents a family of technologies based upon the CLR (Common Language Runtime) which denotes a virtual execution environment similar to the JVM (Java Virtual Machine). .NET comprises a class library, the .NET Framework Classes, that enables architects and developers to build different flavors of applications such as desktop applications, server applications, or Web applications. Unlike Java the .NET platform focuses more on supporting multiple programming languages than on supporting different operating systems. This, however, might change in the future due to Open Source Software implementations such as Mono.

One of the strengths of .NET is its support for the development of distributed software systems. For that purpose it provides different middleware approaches such as .NET Remoting, XML Web-services, integration of MoM middleware such as MSMQ, to name just a few. In the future Indigo will combine all of these technologies under one common umbrella. Building distributed systems is also supported by additional technologies such as LDAP integration, XML support, COM+ integration, or Mail server integration.

The goal of the tutorial is to illustrate the technologies .NET includes for building distributed systems from different perspectives. In the first part the basic .NET technologies and concepts will be introduced and compared with their Java/J2EE counterparts. The second part will focus on the usage of XML Web services for building Web-based applications. The last part presents software patterns that help to build distributed .NET applicatons efficiently and effectively. Technologies the tutorial will introduce include: Low level communication (Sockets), .NET Remoting, MSMQ integration, COM/COM+ integration, DBMS integration using ADO.NET, LDAP integration, XML Web-services and WSE (Web-service Enhancements), Indigo, Enterprise Solution Patterns and other patterns useful for distributed .NET, CORBA/J2EE interoperability. As prerequisite attendees should be either familiar with Java and J2EE or at least with .NET fundamentals.

Tutorial T2: Getting Started with Aspect-Oriented Programming for Middleware

By Yvonne Coady, University of Victoria, Canada

This tutorial will provide an introduction to state of the art aspect-oriented languages and tools, and survey their current and potential application in wide range of middleware.

Though languages surveyed will include AspectWerkz, JBoss, Spring, and DynAOP, concrete examples and benefits will focus on AspectJ and AJDT. Key concepts of AOP will be introduced in the context of AspectJ, along with key cost/benefits involved. Guidelines for adoption strategies will also be provided. Examples explored in detail will include error handling, policy enforcement, testing, and more---spanning high-level J2EE technologies, such as JSPs and EJBs, and low-level system concerns, such as garbage collection and scheduling in a (distributed) JVM.

At the end of the tutorial, participants will have an understanding of both the potential and the pitfalls for applying AOP in a middleware context.

Tutorial T3: Middleware and Data Management for Sensor Networks

The tutorial will be given by Sam Madden, M.I.T., USA

With the advances in computational, communication, and sensing capabilities, large scale sensorbased distributed environments are becoming a reality. Sensor enriched communication and information infrastructures have the potential to revolutionize almost every aspect of human life benefiting application domains such as transportation, medicine, surveillance, security, defense, science and engineering. In the future, we will see a wide range of application domains that use embedded sensor networks for monitoring, analysis, control- e.g. monitoring chemical toxin levels, traffic monitoring and congestion analysis and embedded process control in manufacturing.

Such a distributed infrastructure must integrate networking, embedded systems, distributed computing and data management technologies to ensure seamless access to data dispersed acrossa hierarchy of storage, communication, and processing units -- from sensor devices where data originates to large databases where the data generated is stored and/or analyzed. Existing state of the art solutions that simply collect and gather information from distributed (power-constrained) sensors using wireless (bandwidth-constrained) networks into a repository suffer from scalability, timeliness and information fidelity problems. To make sensor environments energy/resource efficient while satisfying applications requirements, there is a need to exploit strategies at each level of the system – runtime OS, distributed middleware and data management technologies must be integrated into an end-to-end solution.

The goal of this tutorial is to present challenges and efforts in exploiting sensor properties and savings at the various layers and develop comprehensive systems support for designing an end-toend solution. The tutorial will specifically address middleware and data management challenges approaches that have a direct impact on the utility and efficiency of distributed sensor networks. Specifically, we will present a coordinated set of strategies consisting of: techniques for data management (clustering, automatic approximation, summarization, query processing) and techniques for resource management and control (energy/power management, real-time and fault-tolerant data collection) that enables highly efficient movement and processing of information in distributed sensor networks.

Tutorial T4: Enterprise Integration Patterns: Asynchronous Messaging Architectures in Practice

By Gregor Hohpe, ThoughtWorks Inc., USA

Asynchronous messaging architectures have proven to be the strategy of choice for enterprise integration because they allow for loosely coupled solutions that overcome the limitations of remote communication, such as latency and unreliability. Unfortunately, asynchronous messaging is not without pitfalls and requires developers and architects to rethink some of the basic assumptions they are used to when developing monolithic, object-oriented applications.

This tutorial establishes an intuitive design notation and vocabulary for asynchronous, message-based solutions to help integration architects and developers express solution alternatives and trade-offs in a technologyindependent manner. The vocabulary is then used to discuss common integration problems and find alternative solutions.

Tutorial T5: Data Grid Management Systems

By Arun swaran Jagatheesan, University of California, San Diego, USA

The “Grid” is an emerging infrastructure providing coordinated services to access distributed, heterogeneous computational and information storage resources amongst autonomous organizations. Data grids are being built across the world as the next generation inter-organizational data management infrastructure for coordinated sharing of data as well as storage resources. A data grid is a location independent logical name space consisting persistent global identifiers for digital entities, storage resources and users in an autonomous inter-organizational collaboration. Data Grid Management Systems (DGMS) provide services on the data grid’s logical name space for management and organization of digital entities and resources. These data-intensive environments involve long run processes, which could be aggregated as Grid Workflows (Gridflows). Gridflows are executed as peer-to-peer workflows in the data grid infrastructure.

The tutorial’s objective is to introduce the data grid technologies and their relevance to enterprise middleware systems. Novices and middleware experts would benefit from this tutorial. The tutorial would cover introduction, use-cases in large projects, design philosophies, existing technologies, open research issues, and demonstrations. Hands on sessions for the participants to use and “feel” the existing technologies could be provided based on the availability of wireless internet connections.

Tutorial T6: DDS: The Real-Time Publish-Subscribe Standard for Data Distribution

By Gerardo Pardo-Castellote, Real-Time Innovations Inc., USA

Many applications, including military communications, VoIP control, distributed simulation, and robotics, require real-time data distribution. Different data-centric publish-subscribe implementations have been proposed as a consequence. The new OMG Data Distribution Service (DDS) unifies these implementations in a standard specification for high-performance publish-subscribe data-distribution systems.

Described using UML and the Model Driven Architecture (MDA), DDS provides a well-defined platform-independent model that can be mapped into a variety of concrete platforms and programming languages. DDS enumerates and provides formal definitions for the Quality-of-Service (QoS) settings that can be used to configure the service.

In this tutorial we will review the DDS specification, describe in detail aspects of the model, compare it with related technologies, and give examples of the applications it supports. We will cover the benefits of the DDS standard, use cases, designs, and the appropriate use of data-centric and object-centric methodologies. Scalability from new nodes on a dedicated tactical system to hundreds or thousands of nodes on a globally distributed ad hoc network will also be discussed.

DDS use case examples include ad hoc wireless networking infrastructure, Joint C4ISR systems, Navy Open Architecture, in-memory database integration, or commercial telecommunications. A practical, instructional discussion about data distribution design patterns, migration of existing applications to the DDS standard, and how to use the rich DDS QoS policies will be provided. We will cover advanced networking topics like pluggable transports, multicast, and IPv4 to IPv6 transition issues depending on audience interest.

For general information on the Tutorials program, contact Stefan Tai, the Middleware 2004, Tutorials Chair. For information about a specific tutorial, please contact the tutorialist directly.

Latest update: May 2004 - Questions and Comments about the Site: jacobsen@eecg.toronto.edu