Towards Safe Distributed Application Development

  • Authors:
  • Patrick Thomas Eugster;Christian Heide Damm;Rachid Guerraoui

  • Affiliations:
  • Sun Microsystems;Microsoft Business Solutions;EPFL

  • Venue:
  • Proceedings of the 26th International Conference on Software Engineering
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distributed application development is overly tedious, asthe dynamic composition of distributed components is hardto combine with static safety with respect to types (typesafety) and data (encapsulation). Achieving such safetyusually goes through specific compilation to generate theglue between components, or making use of a single programminglanguage for all individual components with ahardwired abstraction for the distributed interaction.In this paper, we investigate general-purpose programminglanguage features for supporting third-party implementationsof programming abstractions for distributed interactionamong components. We report from our experiencesin developing a stock market application based ontype-based publish/subscribe (TPS) implemented (1) as alibrary in standard Java as well as with (2) a homegrownextension of the Java language augmented with specificprimitives for TPS, motivated by the lacks of former implementation.We then revisit the library approach, investigatingthe impact of genericity, reflective features, and thetype system, on the implementation of a satisfactory TPSlibrary. We then discuss the impact of these features alsoon other distributed programming abstractions, and henceon the engineering of distributed applications in general,pointing out lacks of mainstream programming environmentssuch as Java as well as .NET.