Home | Symposium Program | Tutorials | Speakers | Registration | Venue | SI-SE

Tutorials

Tutorial I

Component development using agile methodologies
Erik Dörnenburg, ThoughtWorks Ltd. (UK)

The effect of agile development methodologies goes beyond the high-level process and the team structure of a project. They also influence the way each individual piece of software is written and developers utilise several unique tools as part of their daily work. Regarding the structure of a solution many proponents of agile software development believe that componentisation is essential for good software design.

This tutorial demonstrates the development of a very small component-based system using agile best-practices and corresponding technologies. The system will comprise a handful of Java classes that exemplify typical components found in enterprise applications. Attendees will gain an understanding of how good component design can be achieved by concentrating on the interfaces and partitioning of the system, often referred to as "interface discovery", while deferring the actual implementation of functionality. The key technique in this process is test-driven development (TDD) using tools such as JUnit and Mock Objects.

Implementing a component-based system does, of course, touch on the question of coupling. The tutorial will examine design considerations for component containers and present the Inversion of Control (IoC) pattern. The sample system will be designed according to this pattern and the tutorial will finish with the deployment of the components into an IoC container such as PicoContainer.

Attendees should have a working knowledge of Java.

 

Tutorial II

Model Driven Web Services Development Using UML, XML, WSDL and BPEL4WS
Sridhar Iyengar, IBM Rational Software (USA)

There are three main technology tracks emerging in enterprise software development: (a) The rise of J2EE and .Net based application platforms (b) The use of web services (WSDL, XSD, SOAP, BPEL4WS) as the basis for software interoperability (c) The emergence of Model Driven Architecture as a development discipline that brings principles of software architecture and design patterns to the often chaotic world of web services.

This tutorial will give an overview of OMG Model Driven Architecture and its key standards: UML, XMI, and MOF and how these standards enable architected development, deployment and integration of web services using OMG, W3C and OASIS standards. Examples of how to use various parts of UML to model XML Schemas, WSDL Definitions, BPEL4WS flows illustrate how you can gain the benefits of interoperability using web services, without abandoning proven principles of software architecture and the use of design patterns. The audience will learn how to effectively use the 3 M's of MDA - Models, Metadata, Mappings (transformations and design patterns) to bridge the gap between business and technology concerns that architects and developers have to struggle with. Many of the examples will be derived from the eclipse open source(www.eclipse.org) project where many MDA and Web Services technologies are under development.

Prerequisites: Knowledge of XML and XSD helpful. Some knowledge of UML. (Class modeling and Activity Modeling desirable.)

 

Schedule

Thursday March 18, 2004

08:45

Start of Tutorials I and II

10:15-10:45

Break

10:45

Tutorials I and II (continued)

12:15

Lunch

13:45

Start of Symposium



Martin Glinz    2003-12-31