A Methodology for Developing and Deploying Distributed Applications

  • Graham N. C. Kirby
  • Scott M. Walker
  • Stuart J. Norcross
  • Alan Dearle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3798)

Abstract

We describe a methodology for developing and deploying distributed Java applications using a reflective middleware system called RAFDA. We illustrate the methodology by describing how it has been used to develop a peer-to-peer infrastructure, and explain the benefits relative to other techniques. The strengths of the approach are that the application logic can be designed and implemented completely independently of distribution concerns, easing the development task, and that this gives great flexibility to alter distribution decisions late in the development cycle.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Dearle, A., Kirby, G.N.C., Rebón Portillo, A.J., Walker, S.: Reflective Architecture for Distributed Applications (RAFDA) (2003), http://www-systems.dcs.st-and.ac.uk/rafda/
  2. 2.
    Rebón Portillo, Á.J., Walker, S., Kirby, G.N.C.,, D.: A Reflective Approach to Providing Flexibility in Application Distribution. In: Proc. 2nd International Workshop on Reflective and Adaptive Middleware, ACM/IFIP/USENIX International Middleware Conference (Middleware 2003), Rio de Janeiro, Brazil, pp. 95–99 (2003)Google Scholar
  3. 3.
    Dearle, A., Walker, S., Norcross, S., Kirby, G.N.C., McCarthy, A.: RAFDA: Middleware Supporting the Separation of Application Logic from Distribution Policy. University of St Andrews Report CS/05/3 (2005)Google Scholar
  4. 4.
    Walker, S.M.: RAFDA Run-Time (RRT) Beginner’s Guide v1.0. University of St Andrews Report CS/05/4 (2005)Google Scholar
  5. 5.
    OMG. Common Object Request Broker Architecture: Core Specification (2004)Google Scholar
  6. 6.
    Sun Microsystems. JavaTM Remote Method Invocation Specification (1996)Google Scholar
  7. 7.
    Microsoft Corporation. The Component Object Model Specification (1995)Google Scholar
  8. 8.
    Obermeyer, P., Hawkins, J.: Microsoft.NET Remoting: A Technical Overview. Microsoft Corporation (2001)Google Scholar
  9. 9.
    W3C. Web Services Architecture (2004), http://w3c.org/2002/ws/
  10. 10.
    Tilevich, E., Smaragdakis, Y.: J-Orchestra: Automatic Java Application Partitioning. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 178. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Spiegel, A.: Automatic Distribution of Object-Oriented Programs. PhD thesis (2002)Google Scholar
  12. 12.
    Caromel, D., Klauser, W., Vayssiere, J.: Towards Seamless Computing and Metacomputing in Java. Concurrency Practice and Experience 10,11-13, 1043–1061 (1998)CrossRefGoogle Scholar
  13. 13.
    Fahringer, T., Jugravu, A.: JavaSymphony: A New Programming Paradigm to Control and to Synchronize Locality, Parallelism, and Load Balancing for Parallel and Distributed Computing. Concurrency and Computation: Practice and Experience 17,7-8, 1005–1025 (2002)Google Scholar
  14. 14.
    Lavender, R.G., Schmidt, D.: Active Object - An Object Behavioral Pattern for Concurrent Programming. In: Vlissides, J., Coplien, J., Kerth, N. (eds.) Pattern Languages of Program Design 2. Addison-Wesley, Reading (1996)Google Scholar
  15. 15.
    Apache Axis (2004), http://ws.apache.org/axis/
  16. 16.
    Stoica, I., Morris, R., Karger, D., Kaashoek, F., Balakrishnan, H.: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications. In: Proc. ACM SIGCOMM 2001, San Diego, CA, USA, pp. 149–160 (2001)Google Scholar
  17. 17.
    JUnit, Testing Resources for Extreme Programming (2005), http://www.junit.org
  18. 18.
    AppGate Network Security. MindTerm (2005), http://www.appgate.com/products/80_MindTerm/

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Graham N. C. Kirby
    • 1
  • Scott M. Walker
    • 1
  • Stuart J. Norcross
    • 1
  • Alan Dearle
    • 1
  1. 1.School of Computer ScienceUniversity of St AndrewsSt Andrews, FifeScotland

Personalised recommendations