Home · Schedule · Tracks · Recommendations · Registration

Web Services

Sunday, 26 October

8:30-12:00 Morning

Tutorial 7 Programming Internet-Scale Distributed Applications in the 21st Century: BPEL and Beyond

13:30-17:00 Afternoon

Tutorial 12 Successful Web Services and Service-Oriented Architectures: Beyond the Hype

Monday, 27 October

8:30-17:00 Full day

Workshop 18 Bridging the Gap: Examining Approaches that Connect Business Requirements to Enabling Technology Solutions
Workshop 22: Web Services and Service-Oriented Architecture Best Practices and Patterns

8:30-12:00 Morning

Tutorial 26: Patterns for High Performance Systems

Tuesday, 28 October

13:30-17:00 Afternoon

Tutorial 39: Enterprise Aspect-Oriented Programming with AspectJ

Wednesday, 29 October

13:30-17:00 Afternoon

Tutorial 47: Enterprise Application Integration with J2EE and .NET
Tutorial 50: Understanding Circa-2003 XML Technologies


Domain-Driven Development: Technology

7 Programming Internet-Scale Distributed Applications in the 21st Century: BPEL and Beyond

Sunday, 26 October – 8:30-12:00 Morning

Vivek Sarkar, IBM T.J. Watson Research Center, vsarkar@us.ibm.com
John Field, IBM T.J. Watson Research Center, jfield@us.ibm.com

As more and more applications entail interaction among distributed collections of software components, it is becoming increasingly difficult to discern the boundaries between "application", "middleware", "client", and "server". There is an increasing demand for building internet-scale distributed applications, which have the following key characteristics: (a) lack of a single organizational "locus of control" for application development, (b) heterogeneity -- use of a wide variety of languages and systems for each application component, and (c) greater likelihood of system or network failure than in distributed applications interconnected over a local area network.

Despite work on various "infrastructure" standards for Web Services (e.g., SOAP), until recently, there has been little work on programming models directly supporting internet-scale distributed applications. However, in late 2002, the Business Process Execution Language for Web Services standard ("BPEL4WS", or "BPEL"), jointly developed by IBM, Microsoft, and BEA, was released. The name is somewhat misleading -- BPEL is more than a business process specification. It is essentially a high-level programming language, one which addresses some, but not all, of the issues relevant to developing internet-scale distributed applications.

This tutorial will first discuss general issues that arise in building internet-scale applications. Next, we will give a detailed overview of BPEL with examples, showing how BPEL addresses many of these issues. The overview will cover processes, service links activities, containers, scopes, fault handlers, and exception handlers. Finally, we will cover a number of other technologies and standards related to programming internet-scale distributed applications, and discuss their relationship to BPEL.

Attendee background

Prerequisites: Basic knowledge of object-oriented languages, web services, and parallel and distributed computing.




Dr. Vivek Sarkar is Senior Manager of the Programming Technologies department at the IBM T. J. Watson Research Center. His research interests are in the areas of static and dynamic program analyses and their applications to optimization, parallelization, and programming tools. The projects under way in his department include component verification (Canvas), analysis and optimization of web service and database applications (DOMO), refactoring analysis and transformation (Gnosis), adaptive optimization and memory wall (Jikes RVM), data model extraction from legacy applications (Mastery), and dynamic analysis and datarace detection (Shrike). Vivek obtained his Ph.D. from Stanford University in 1987, and has been a member of the IBM Academy of Technology since 1995.

John Field is a Research Staff Member and manager of the Advanced Programming Tools group at IBM's T.J. Watson Research Center. His research interests include static analysis and verification of programs, tools for program understanding and transformation, program slicing, program semantics and logics, and programming models for distributed systems. In addition to publishing his work in a wide variety of conferences and journals, he has contributed to the development of several IBM products. He received a Ph.D. from Cornell University in 1991.

12 Successful Web Services and Service-Oriented Architectures: Beyond the Hype

Sunday, 26 October – 13:30-17:00 Afternoon

Ali Arsanjani, IBM Corporation and Maharishi University of Management, arsanjan@us.ibm.com
Bruce Anderson, IBM Corporation, bruce_anderson@uk.ibm.com

This intense and unique tutorial provides an introduction and step-by-step walkthrough of the state of the art of Web services (WS) and Service-oriented Architectures (SOA).

The tutorial presents overviews of key web services standards (including WS-I, WSIF, WSIL, SOAP, WSDL, UDDI) considerations for their use, and some tools and technologies (including Apache Axis and related projects) that can be employed to implement them. Next, it presents an architectural blueprint for web services architecture that can server as a basis for most projects. With these standards, considerations, tools and blueprint in hand, we present a set of concrete process steps that lead to the realization of an SOA.

The tutorial will then present a set of patterns for the design and implementation of web services based architectures including Business Service, Service Gateway, SOAP Document, and SOAP Method. We also discuss methods for assessment that can be used as checklists by architects who wish to evaluate web services architectures.

Finally, to tie these togather, we will present two case studies, from the financial services and retail purchasing domains.

Attendee background

Prerequisites: Basic knowledge of object-oriented development, and some knowledge of software architecture, design and implementation, are required.


Lecture and hands-on exercises


Ali Arsanjani has over 19 years of industrial experience. He is a Senior Consulting I/T Architect for IBM's National E-business Application Development Center of Competency, where he leads the Component-based Development and Integration Competency area. He has been architecting n-tier e-business systems based on object, component, and service-oriented technologies for IBM's larger clients. His areas of experience and research include component-based development, service-oriented architectures, business rules modeling and implementation, creation and evolution of reusable assets, extending methods for CBD, building business frameworks and components and incorporating patterns and pattern languages to build resilient and stable software architectures. He has been actively speaking and publishing in these areas for a variety of industrial and academic audiences.

Bruce Anderson is a Senior Consultant in IBM's Component Technology Services. He specialises in working with customer organisations to create powerful component- and object-based solutions, and in helping individuals to develop their knowledge and understanding. Typically, Mr. Anderson leads planning and definition work, and mentoring programme leaders, project managers or architects into their roles.

18 Bridging the Gap: Examining Approaches that Connect Business Requirements to Enabling Technology Solutions

Monday, 27 October – 8:30-17:00 Full day

Ralph Hodgson, TopQuadrant, Inc., ralph@topquadrant.com
Dave Parrish, Management Science Associates, Inc., dparrish@msa.com
Christine Brautigam, Direct Dynamics, Inc., christine@directdynamics.biz
Dr. Robert F. Coyne, TopQuadrant, Inc., robert@topquadrant.com

To ensure return on technology investments, companies need to align IT projects to their Business Strategy. Today a technology solution has many stakeholders, requiring systems to be developed in a multi-stakeholder context.

The key stakeholders include:

  • End-users of the solution who will have to live with the solution and will ultimately decide how successful it is – often they are external customers of the company
  • The Enterprise that is hoping to realize a business ROI from the solution
  • IT departments or other technical organizations responsible for implementing the solution
  • Technology vendors whose technology provides underpinnings and components of the solution

Stakeholders often have conflicting objectives. Moreover, differing sub-cultures and ways of working and communicating contribute to communication barriers and the possibility of project failure.

This workshop explores ways of realizing an effective “bridge” to close communication gaps and to create a shared vision and plan for realization among different stakeholders. The benefits of having an effective way to translate a Business Strategy into optimal technology solutions include:

  • Improved likelihood of project success
  • Increased enterprise vitality through effective use of technology
  • Greater ROI of technology spending

The workshop will look into approaches for accelerated solution design that can reliably translate and connect core business requirements into the best choices for enabling technology and software implementations. In particular, the workshop will solicit submissions that summarize substantive candidates of such approaches for presentation and subsequent cross-comparison and analysis. Workshop attendees will discuss, analyze and attempt to distill the essence of what makes these approaches work – looking for a core set of similar features, activities, constructs and results produced that have proven to be effective and reliable.

One possible example of such a common feature -- the use of solution stories -- appears to foster a common understanding of ideas and confidence in proposed capabilities for given domains. As one of the probable items of focus, the workshop will seek to confirm that this is a common feature, and to understand why. The overall goal and result of the workshop will be to catalog the most important, common features or activities of the best approaches and how and why each works, whether by itself or in combination with the rest.


22 Web Services and Service-Oriented Architecture Best Practices and Patterns

Monday, 27 October – 8:30-17:00 Full day

Ali Arsanjani, IBM Corporation, arsanjan@us.ibm.com
Kerrie Holley, IBM, holley@us.ibm.com

Web services and service-oriented architectures are promising technology. However, they are still fraught with problems and issues: operational issues, quality of service, functional and methodology related.

In this workshop we aim to identify real industry experiences (successes or failures) in designing and implementing web services based systems. And we look for research papers aiming at identifying and alleviating major bottlenecks and issues related to service-oriented architectures, web services and dynamically re-configurable architectures.

This workshop builds on the Object Oriented Web Services workshops in previous OOPSLA conferences and sets a slightly different direction, aimed at consolidating web services and service-oriented architecture best practices and patterns.


26 Patterns for High Performance Systems

Monday, 27 October – 8:30-12:00 Morning

Robert Hanmer, Lucent Technologies, hanmer@lucent.com

Good performance, reliability, and maintainability are designed into software. The tutorial presents a guided tour through existing, industry-tested patterns that aid in the design of high performance, real-time, distributed and embedded systems, using a telecommunications system to structure the tour. The tour highlights various collections of patterns, as well as their sources -- books, conference notes and websites. Our objective is to make participants aware of these valuable resources that can greatly simplify their design work. By reusing a proven solution to frequently occurring problems, their efforts can be focused on the truly new portions of their design.

Attendee background

Prerequisites: Attendees should have a basic understanding of what a pattern is. No prior knowledge in any specific domain is expected. Attendees will gain the most from the tutorial if they have considered the general performance and reliability constraints with which they most frequently work.




Robert Hanmer is a Consulting Member of Technical Staff in the Convergence Solutions R&D organization of Lucent Technologies. He began working with patterns in 1995, capturing the patterns of a large telephone switching system and also of telecommunications systems in general. He has served as Program Chair at several PLoP conferences. He is active in the Hillside Group, as well as the TelePLoP group, which is an informal collection of pattern advocates and authors interested in the field of telecommunications. He has authored many patterns that discuss key solutions for high performance systems.

39 Enterprise Aspect-Oriented Programming with AspectJ

Tuesday, 28 October – 13:30-17:00 Afternoon

Ron Bodkin, New Aspects of Security, rbodkin@newaspects.com
Adrian Colyer, IBM UK, adrian_colyer@uk.ibm.com

This tutorial teaches participants how to apply AspectJ to enterprise application development using J2EE. It demonstrates some of the more advanced capabilities of AspectJ and how they can be used to address concerns such as security, caching, logging with Jakarta Commons, testing with JUnit, and more. The tutorial is based on a J2EE setting working with servlets, JSPs, EJBs and Web Services. It also compares AspectJ to AspectWerkz and JBoss AOP.

Attendee background

Prerequisites: Attendees should have experience doing object-oriented design and implementation for IT applications. Attendees should have already experimented with AspectJ.


Lectures and hands-on exercises


Ron Bodkin is the founder of New Aspects of Security, which extends AspectJ to provide security and privacy management for enterprise applications, and provides consulting on AOP and architecture. Previously, Ron worked for Xerox PARC, where he led the first AspectJ training and implementation projects for customers. Prior to that, Ron was a founder and the CTO of C-bridge, a consultancy that built and customized enterprise applications using Java, XML, and other Internet technologies.

Adrian Colyer is an IBM UK Technical Staff Member with over 10 years of experience in developing enterprise middleware. He leads the open source AspectJ Development Tools for Eclipse project, and is also a committer on the core AspectJ compiler project.

47 Enterprise Application Integration with J2EE and .NET

Wednesday, 29 October – 13:30-17:00 Afternoon

Ian Gorton, Pacific Northwest National Laboratory, ian.gorton@pnl.gov
Anna Liu, Microsoft Australia, annali@microsoft.com

Creating enterprise-scale information systems poses many challenges, as such systems require integrating multiple (legacy) applications in such a way as to streamline and automate internal business processes and provide web-enabled business functions. The underlying architectures for such systems are embodied in a range of diverse products known as Enterprise Application Integration (EAI) technologies.

This tutorial introduces EAI. It highlights some of the major issues in EAI technology selection, application design, and deployment. It introduces service-oriented architectures as a means of EAI, and presents some common architecture patterns for accomplishing EAI using J2EE and .NET. J2EE components covered will include the Java Messaging Service, Java Connector Architecture and supporting application server technology. In .NET, BizTalk, Web Services and various XML technologies will be described and illustrated. We will conclude with a detailed comparison of the strengths and weaknesses of J2EE and .NET technologies for EAI.

Attendee background

Prerequisites: A solid understanding of object-oriented programming languages, such as Java, C++, or C#. Familiarity with the key features of distributed component technologies and enterprise platforms (e.g., J2EE, .NET) is useful but not required.


Lecture and demonstrations


Ian Gorton is chief architect in information sciences and engineering at the US Department of Energy's Pacific Northwest National Laboratory. His research interests include software architectures, particularly large-scale, high-performance information systems that use commercial off-the-shelf (COTS) middleware technologies. Dr. Gorton received a PhD in Computer Science from Sheffield Hallam University.

Anna Liu is an enterprise architect with Microsoft Australia. Her research interests include software architectures, patterns and best practices, and COTS software-evaluation and acquisition methods. Dr. Liu holds a BEng (with honors) and a PhD in computer engineering from the University of New South Wales, Australia.

50 Understanding Circa-2003 XML Technologies

Wednesday, 29 October – 13:30-17:00 Afternoon

Don Box, Microsoft Corporation, dbox@microsoft.com

XML has grown out of the world of document management to become a broadly applicable technology that has impact on storage, messaging, and programming languages. This tutorial will look at the current landscape of XML technologies that are used to transmit, traverse, and transform XML-based information, with an emphasis on how these technologies impact current programming environments. Topics to be discussed include:

  • The XML Data Model(s)
  • Traversal: Imperative vs. Declarative
  • Transformation and Projection: XSLT and XML Query
  • Datatypes in XML: XML Schema Part II
  • Structural types in XML: XML Schema Part 1, Relax NG
  • XML Messaging: SOAP
  • Behavioral typing in XML: Web Services
  • Nominal typing in XML: RDF and WS-Policy

Attendee background

Attendees should have a basic familiarity with two or more type systems used in modern programming environments.




Don Box is an architect on the XML Messaging team at Microsoft, where he works on defining and implementing the web service protocol stack. Don co-created the Simple Object Access Protocol (SOAP) and has helped develop SOAP-based technologies such as WS-Policy, WS-Reliable Messaging and WS-Addressing. Don has written several books on component technologies for Addison Wesley, beginning with "Essential COM," and most recently, "Essential .NET."


Wednesday, 29 October – 13:30-15:00

Chair: John Vlissides, IBM T. J. Watson Research Center, ddd@oopsla.acm.org

13:30 - 14:00
XAspects: An Extensible System for Domain-Specific Aspect Languages

Macneil Shonle, Northeastern University, mshonle@ccs.neu.edu
Karl Lieberherr, Northeastern University, lieber@ccs.neu.edu
Ankit Shah, Northeastern University, ankit@ccs.neu.edu

Current general aspect-oriented programming solutions fall short of helping the problem of separation of concerns for several concern domains. Because of this limitation good solutions for these concern domains do not get used and the opportunity to benefit from separation of these concerns is missed. By using XAspects, a plug-in mechanism for domain-specific aspect languages, separation of concerns can be achieved at a level beyond what is possible for object-oriented programming languages. As a result, XAspects allows for certain domain-specific solutions to be used as easily as a new language feature.
Keywords: Aspect-oriented programming, — programming, language extensions, domain-specific languages.

14:00 - 14:30
The Power of Symmetry: Unifying Inheritance and Generative Programming

DeLesley Hutchins, MZA Associates Corporation, hutchins@mza.com

I present the Ohmu language, a unified object model which allows a number of "advanced" techniques such as aspects, mixin layers, parametric polymorphism, and generative components to be implemented cleanly using two basic concepts: block structure and inheritance. I argue that conventional ways of defining classes and objects have created artificial distinctions which limit their expressiveness. The Ohmu model unifies functions, classes, instances, templates, and even aspects into a single construct – the structure. Function calls, instantiation, aspect-weaving, and inheritance are likewise unified into a single operation – the structure transformation. This simplification eliminates the distinction between classes and instances, and between compile-time and run-time code. Instead of being compiled, programs are reduced using partial evaluation, in which the interpreter is invoked at compile-time. Within this architecture, standard OO inheritance becomes a natural vehicle for creating meta-programs and automatic code generators— the key to a number of recent domain-driven programming methodologies.

14:30 - 15:00
Domain Driven Web Development With WebJinn

Sergei Kojarski, Northeastern University, kojarski@ccs.neu.edu
David Lorenz, Northeastern University, lorenz@ccs.neu.edu

Web application development cuts across the HTTP protocol, the client-side presentation language (HTML, XML), the server-side technology (Servlets, JSP, ASP, PHP), and the underlying resource (files, database, information system). Consequently, web development concerns including functionality, presentation, control, and structure cross-cut, leading to tangled and scattered code that is hard to develop, maintain, and reuse. In this paper we analyze the cause, consequence, and remedy for this crosscutting. We distinguish between intra-crosscutting that results in code tangling and inter-crosscutting that results in code scattering. To resolve inter-crosscutting, we present a new web application development model named XP that introduces extension points as place-holders for structure-dependent code. We present another model named DDD that incorporates XP into the Model-View-Controller (MVC) model to resolve both intra- and inter-crosscutting. WebJinn is a novel domain-driven web development framework that implements the DDD model. WebJinn has been used to develop web applications at several web sites. Domain driven web development with WebJinn benefits from a significant improvement in code reuse, adaptability, and maintainability.