Author :
Rasche, Andreas ; Puhlmann, Marco ; Polze, Andreas
Abstract :
Adaptation to changing environmental conditions is a major challenge for most distributed applications. The service-oriented programming paradigm leads to an increasing number of applications that are not only meant to provide services through standard user-interfaces hosted on desktop computers, but are to be accessible from small mobile devices as well. The integration of the different programming environments on desktop (i.e.; Windows) and mobile computers (i.e.; Java Micro Editions - J2ME) puts an extra burden on the programmer of this kind of applications. In addition, unstable conditions caused by modern infrastructures for mobile applications and varying properties of computational devices have to be considered during runtime of the application. Dynamic reconfiguration provides a powerful mechanism for adaptive computing. Within this paper, we elaborate on the extension of our previously developed Adaptive.Net framework towards CORBA and Java. With the introduction of new connector types, our framework is able to provide seamless support for adaptive, heterogeneous applications based on .Net, Java, and CORBA. In context of our framework, applications consist of components which interact via so-called connectors. The component/connector model allows for mediating between component frameworks (Java, .Net) as well as between communication protocols (CORBA, .Net Remoting, sockets, etc.). Within the paper we give an overview of our adaptation framework Adaptive.Net, that includes a monitoring infrastructure, a reconfiguration platform and tools for building adaptive applications. Using a proof-of-concept application, we experimentally evaluate our connector architecture and study interoperability of Java, CORBA, and .Net objects.
Keywords :
Java; distributed object management; mobile computing; network operating systems; object-oriented programming; open systems; software architecture; transport protocols; user interfaces; Adaptive.Net framework; CORBA; Java Micro Editions; Java interoperability; adaptive computing; communication protocols; desktop computers; heterogeneous component-based application; heterogeneous distributed systems architecture; mobile devices; service-oriented program; user-interfaces; Application software; Connectors; Context; Java; Mobile computing; Programming environments; Programming profession; Protocols; Runtime; Sockets; .NET; Adaptive Computing; CORBA; Heterogeneous Distributed Systems Architecture; Java;