loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
26th International Conference on Software Engineering (ICSE'04)
Towards Safe Distributed Application Development
Edinburgh, Scotland, United Kingdom
May 23-May 28
ISBN: 0-7695-2163-0
Patrick Thomas Eugster, Sun Microsystems
Christian Heide Damm, Microsoft Business Solutions

Distributed application development is overly tedious, as the dynamic composition of distributed components is hard to combine with static safety with respect to types (type safety) and data (encapsulation). Achieving such safety usually goes through specific compilation to generate the glue between components, or making use of a single programming language for all individual components with a hardwired abstraction for the distributed interaction.

In this paper, we investigate general-purpose programming language features for supporting third-party implementations of programming abstractions for distributed interaction among components. We report from our experiences in developing a stock market application based on type-based publish/subscribe (TPS) implemented (1) as a library in standard Java as well as with (2) a homegrown extension of the Java language augmented with specific primitives for TPS, motivated by the lacks of former implementation. We then revisit the library approach, investigating the impact of genericity, reflective features, and the type system, on the implementation of a satisfactory TPS library. We then discuss the impact of these features also on other distributed programming abstractions, and hence on the engineering of distributed applications in general, pointing out lacks of mainstream programming environments such as Java as well as .NET.

Citation:
Patrick Thomas Eugster, Christian Heide Damm, Rachid Guerraoui, "Towards Safe Distributed Application Development," icse, pp.347-356, 26th International Conference on Software Engineering (ICSE'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.