Transparent Mobile Middleware Integration for Java and .NET Development Environments

  • Edgar Marques
  • Luís Veiga
  • Paulo Ferreira
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5168)

Abstract

Developing a distributed application for mobile resource constrained devices is a difficult and error-prone task that requires awareness of several system-level details (e.g., fault-tolerance, ...).

Several mobile middleware solutions addressing these issues have been proposed. However, they rely on either significant changes in application structure, extensions to the programming language syntax and semantics, domain specific languages, cumbersome development tools, or a combination of the above. The main disadvantages of these approaches are lack of transparency and reduced portability.

In this paper we describe our work on enabling transparent integration between applications and middleware without changing application structure, extending the programming language or otherwise reducing portability. We used the OBIWAN middleware but our solutions are general. To achieve this goal we employ program analysis and transformation techniques for extending application code with hooks for calling middleware services. Application code extension is performed automatically at compile-time by a code extension tool integrated with the development environment tool set. We describe the implementation of our .NET and Java prototypes and discuss evaluation results.

Keywords

distributed mobile applications fault-tolerance incremental object replication transparent middleware integration program transformation aspect-oriented programming integrated development environment 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The Apache Ant Project, http://ant.apache.org
  2. 2.
    Caromel, D.: Toward a method of object-oriented concurrent programming. Commun. ACM 36(9), 90–102 (1993)CrossRefGoogle Scholar
  3. 3.
    Caughey, S.J., Hagimont, D., Ingham, D.B.: Deploying distributed objects on the internet. In: Advances in Distributed Systems, Advanced Distributed Computing: From Algorithms to Systems, London, UK, pp. 213–237. Springer, Heidelberg (1999)Google Scholar
  4. 4.
  5. 5.
    Ivan Zderadika’s C# CodeDOM Parser, http://www.codeproject.com/csharp/codedomparser.asp
  6. 6.
    Eclipse.org home, http://www.eclipse.org
  7. 7.
    Ferreira, P., Veiga, L., Ribeiro, C.: Obiwan: design and implementation of a middleware platform. Transactions on Parallel and Distributed Systems 14(11), 1086–1099 (2003)CrossRefGoogle Scholar
  8. 8.
    Gray, J., Roychoudhury, S.: A technique for constructing aspect weavers using a program transformation engine. In: AOSD 2004: Proceedings of the 3rd international conference on Aspect-oriented software development, pp. 36–45. ACM, New York (2004)CrossRefGoogle Scholar
  9. 9.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting started with aspectj. Commun. ACM 44(10), 59–65 (2001)CrossRefGoogle Scholar
  10. 10.
  11. 11.
  12. 12.
    Nishizawa, M., Chiba, S.: Jarcler: Aspect-oriented middleware for distributed software in java. Technical Report C-164, Tokyo Institute of Technology (December 2002)Google Scholar
  13. 13.
    Palsberg, J., Jay, C.B.: The essence of the visitor pattern. In: Proc. 22nd IEEE Int. Computer Software and Applications Conf., COMPSAC, pp. 9–15, 19–21 (1998)Google Scholar
  14. 14.
    Pawlak, R.: Spoon: annotation-driven program transformation — the aop case. In: AOMD 2005: Proceedings of the 1st workshop on Aspect oriented middleware development. ACM Press, New York (2005)Google Scholar
  15. 15.
    Preuveneers, D., Rigole, P., Vandewoude, Y., Berbers, Y.: Middleware support for component-based ubiquitous and mobile computing applications. In: Joolia, A., Jean, S. (eds.) ACM/IFIP/USENIX 6th International Middleware Conference Workshop Proceedings, Demonstrations Extended abstracts, Grenoble/France, pp. 1–4. cd-rom (November 2005)Google Scholar
  16. 16.
    Santos, N., Veiga, L., Ferreira, P.: Transaction policies for mobile networks. In: Fifth IEEE International Workshop on Policies for Distributed Systems and Networks, 2004. POLICY 2004, 7-9 June 2004, pp. 55–64 (2004)Google Scholar
  17. 17.
    Schult, W., Polze, A.: Aspect-oriented programming with c# and.net. In: ISORC 2002: Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Washington, DC, USA, p. 241. IEEE Computer Society Press, Los Alamitos (2002)CrossRefGoogle Scholar
  18. 18.
    Vaysse, G., André, F., Buisson, J.: Using aspects for integrating a middleware for dynamic adaptation. In: AOMD 2005: Proceedings of the 1st workshop on Aspect oriented middleware development. ACM Press, New York (2005)Google Scholar
  19. 19.
    Veiga, L., Ferreira, P.: Incremental replication for mobility support in obiwan. In: 22nd International Conference on Distributed Computing Systems, 2002, pp. 249–256 (2002)Google Scholar
  20. 20.
    Veiga, L., Ferreira, P.: Poliper: policies for mobile and pervasive environments. In: ARM 2004: Proceedings of the 3rd workshop on Adaptive and reflective middleware, pp. 238–243. ACM Press, New York (2004)CrossRefGoogle Scholar
  21. 21.
    Veiga, L., Santos, N., Lebre, R., Ferreira, P.: Loosely-coupled, mobile replication of objects with transactions. In: ICPADS 2004. Proceedings. Tenth International Conference on Parallel and Distributed Systems, 2004, 7-9 July 2004, pp. 675–682 (2004)Google Scholar
  22. 22.
    Visual Studio 2005 Developer Center, http://msdn2.microsoft.com/en-us/vstudio/default.aspx

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Edgar Marques
    • 1
  • Luís Veiga
    • 1
  • Paulo Ferreira
    • 1
  1. 1.Distributed Systems Group at INESC-ID/Technical Univ. of LisbonLisbonPortugal

Personalised recommendations