First Class Connectors for Prototyping Service Oriented Architectures

  • Kristian Ellebæk Kjær
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4758)


Prototyping Service Oriented Architectures based on web services is a complex and time consuming process. Several steps, some of them complicated, are required for even the simplest application. Therefore, it is desirable to be able to create prototypes using more familiar constructs, entirely within a single programming language, and then define some of the components as web services, and others as clients.

We present a framework which enables programmers to create web services and clients in ArchJava, an extension to Java which supports components and connectors as first class entities, by defining interfaces to services as ports on components. This supports rapid creation of prototypes by defining a component and connector structure of a web service based system in ArchJava, and then later, with only minor modifications, change the prototype to use web services. The services and client components will not be aware of this. From their point of view they are talking through connectors. Client components can also be connected to existing web services.


Rapid Prototype Software Architecture Architecture Description Language Class Connector Building Prototype 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Booth, D., Haas, H., McCabe, F., Newcomer, E., Champion, M., Ferris, C., Orchard, D.: Web services architecture. Technical report, W3C Working Group (February 2004)Google Scholar
  2. 2.
    Floyd, C.: A systematic look at prototyping. In: Budde, R., Kuhlenkamp, K., Mathiassn, L., Züllighoven, H. (eds.) Approaches to Prototyping, pp. 1–18. Springer, Heidelberg (1984)Google Scholar
  3. 3.
    Bardram, J.E., Christensen, H.B., Hansen, K.M.: Achitectural prototyping: An approach for grounding architectural design and learning. In: WICSA 2004. Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (2004)Google Scholar
  4. 4.
    Bardram, J.E., Christensen, H.B., Corry, A.V., Hansen, K.M., Ingstrup, M.: Exploring quality attribues using architectural prototyping. In: Reussner, R., Mayer, J., Stafford, J.A., Overhage, S., Becker, S., Schroeder, P.J. (eds.) QoSA 2005 and SOQUA 2005. LNCS, vol. 3712, Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Professional, Reading (2003)Google Scholar
  6. 6.
    Aldrich, J., Chambers, C., Notkin, D.: Archjava: connecting software architecture to implementation. In: ICSE 2002. Proceedings of the 24th International Conference on Software Engineering, pp. 187–197. ACM Press, New York (2002)CrossRefGoogle Scholar
  7. 7.
    Grundy, J., Cai, Y., Liu, A.: Softarch/mte: Generating distributed system test-beds from high-level software architecture descriptions. Automated Software Engg. 12(1), 5–39 (2005)CrossRefGoogle Scholar
  8. 8.
    Yamaizumi, T., Sakairi, T., Wakao, M., Shinomi, H., Adams, S.: Easy soa: Rapid prototyping environment withweb services for end users. In: ICWS 2006. Proceedings of the IEEE International Conference on Web Services, pp. 931–932. IEEE Computer Society, Washington, DC, USA (2006)Google Scholar
  9. 9.
    Zinnikus, I., Elguezabal, G.B., Elvesæter, B., Fischer, K., Vayssière, J.: A model driven approach to agent-based service-oriented architectures. In: Fischer, K., Timm, I.J., André, E., Zhong, N. (eds.) MATES 2006. LNCS (LNAI), vol. 4196, pp. 110–122. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language Support for Connector Abstractions. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)Google Scholar
  11. 11.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A Comprehensive Approach for the Development of Modular Software Architecture Description Languages. ACM Transactions on Software Engeneering Methodology 14(2), 199–245 (2005)CrossRefGoogle Scholar
  12. 12.
    Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engeneering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  13. 13.
    Shaw, M.: Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status. In: Proceeding of Workshop on Studies of Software Design (January 1994)Google Scholar
  14. 14.
    Shaw, M., DeLine, R., Klein, D.V., Ross, T.L., Young, D.M., Zelesnik, G.: Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering 21(4), 314–335 (1995)CrossRefGoogle Scholar
  15. 15.
    Apache Software Foundation: Axis2/Java - Apache Axis2/Java - Next Generation Web Services (accessed, June 2007),

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Kristian Ellebæk Kjær
    • 1
  1. 1.Department of Computer Science, University of Aarhus, Åbogade 34, 8200 Århus N.Denmark

Personalised recommendations