Innovations in Systems and Software Engineering

, Volume 4, Issue 4, pp 385–394 | Cite as

Component meets service: what does the mongrel look like?

  • Bernd J. KrämerEmail author
Original Paper


Computing with services has attracted much attention as a promising approach for developing distributed applications. The approach is often advertised as being superior to distributed component-based software engineering (CBSE), because it provides a higher potential to bridge heterogeneous IT application and infrastructure landscapes. It facilitates cross-institutional cooperation, lets services run over all kinds of ubiquitous communication infrastructure, scales better and simplifies legacy software integration. If this were absolutely true, there would be no reason for a consortium of major vendors of service and Java EE technology to come up with a new specification, called service component architecture (SCA). This emerging standard tries to leverage service-oriented architecture (SOA) principles with component-based software development techniques. In this article we discuss some commonalities and fundamental differences of the CBS and SOA worlds. We illustrate SCA briefly using snippets of an ongoing case study based on an e-university federation. Then we elaborate on the qualities and current deficits of SCA in the light of CBSE findings and related works.


Service-oriented computing Service component architecture Software engineering Service-oriented architecture 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ActiveBPEL Engine (2007) The ActiveBPEL Open Source Engine, Active Endpoints.
  2. 2.
    Allen R, Garlan D (1997) A formal basis for architectural connection. ACM Trans Softw Eng Methodol 6(3): 213–249CrossRefGoogle Scholar
  3. 3.
    Alves A et al (2006) Web services business process execution language version 2.0, OASIS.
  4. 4.
    Banerji A et al (2002) Web services conversation language (WSCL) 1.0, W3C.
  5. 5.
    Beisiegel M et al (2007) Service component architecture: assembly model specification, SCA Version 1.00, OSOA.
  6. 6.
    Beugnard A, Jézéquel JM, Plouzeau N, Watkins D (1999) Making components contract aware. Computer 32(7): 38–45CrossRefGoogle Scholar
  7. 7.
    Bidoit M, Mosses PD (2004) CASL user manual. LNCS, vol 2900. Springer, HeidelbergGoogle Scholar
  8. 8.
    Brogi A, Canal C, Pimentel E, Vallecillo A (2004) Formalizing web service choreographies. In: Electronic notes in theoretical computer science, vol 105, pp 73–94Google Scholar
  9. 9.
    Bultan T, Fu X, Su J (2006) Analyzing conversations of web services. IEEE Internet Comput 10(1): 18–25CrossRefGoogle Scholar
  10. 10.
    Busi N, Gorrieri R, Guidi C, Lucchi R, Zavattaro G (2005) Towards a formal framework for Choreography. In: 14th IEEE workshops on enabling technologies: infrastructure for collaborative enterprise. IEEE Computer Society PressGoogle Scholar
  11. 11.
    Chapman M et al (2007) Service Component Architecture: Client and Implementation Model Specification for WS-BPEL, SCA Version 1.00, OSOA.
  12. 12.
    Erl T (2005) Service-oriented architecture: concepts, technology, and design. Prentice-Hall, Englewood CliffsGoogle Scholar
  13. 13.
    Fiadeiro JL, Lopes A, Bocchi L (2006) A formal approach to service component architecture. In: Bravetti M, Núñez M, Zavattaro G (eds) third intern. workshop on web services and formal methods. LNCS, vol 4184. Springer, Heidelberg, pp 193–213CrossRefGoogle Scholar
  14. 14.
    Hirsch D, Lluch-Lafuente A, Tuosto E (2006) A logic for application level QoS. Electronic Notes Theor Comput Sci 153(2): 135–159CrossRefGoogle Scholar
  15. 15.
    Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood CliffszbMATHGoogle Scholar
  16. 16.
    Krämer BJ (1998) Synchronization constraints in object interfaces. In: Krämer BJ, Papazoglou MP, Schmidt H-W (eds) Information systems interoperability. Research Studies Press, Champaign, pp 111–142Google Scholar
  17. 17.
    Krämer BJ (2000) Forming a federated virtual university through course broker middleware. In: LearnTEC 2000, pp 137–148Google Scholar
  18. 18.
    Kramer J, Magee J, Uchitel S (2003) Software architecture modeling and analysis: a rigorous approach. In: Bernardo M, Inverardi P (eds) Formal methods for software architectures. LNCS, vol 2804. Springer, Heidelberg, pp 44–51Google Scholar
  19. 19.
    Magee J, Dulay N, Eisenbach S, Kramer J (1995) Specifying distributed software architectures. In: Schäfer W, Botella P (eds) fifth European software engineering conference. LNCS, vol 989. Springer, Heidelberg, pp 137–153Google Scholar
  20. 20.
    McIlroy D (1968) Mass-produced software components. In: Software engineering. NATO Science Committee report, pp 138–155Google Scholar
  21. 21.
    Meredith LG, Bjorg S (2003) Contracts and types. Commun ACM 46(10): 41–47CrossRefGoogle Scholar
  22. 22.
    Meyer B (1997) Object-oriented software construction, 2nd edn. Prentice-Hall, Englewood CliffszbMATHGoogle Scholar
  23. 23.
    OMG (2003) UML 2.0 OCL specification.
  24. 24.
    Papazoglou MP, Georgakopoulos D (2003) Service-oriented computing. Spec Issue Commun ACM 10(46): 24–28Google Scholar
  25. 25.
    Pfadenhauer K, Kittl B, Dustdar S (2005) Challenges and solutions for model driven web service composition. In: fourteenth IEEE intern. workshops on enabling technologies: infrastructure for collaborative enterprise. IEEE Computer Society Press, pp 126–134Google Scholar
  26. 26.
    Rajamani SK, Rehof J (2006) Models for contract conformance. In: Maragria T, Steffen B (eds) First intern. symposium on leveraging applications of formal methods (ISoLA 2004). LNCS, vol 4313. Springer, Heidelberg, pp 181–196Google Scholar
  27. 27.
    Reisig W, Lohmann N, Massuthe P, Stahl C, Weinberg D (2006) Analysis techniques for service models. In: Second international symposium on leveraging applications of formal methods, verification and validation (isola 2006), IEEE Computer Society, pp 11–17Google Scholar
  28. 28.
    Reisig W, Schmidt K, Stahl C (2005) Kommunizierende Workflow-Services modellieren und analysieren, Informatik—Forschung und Entwicklung. Springer, Heidelberg, October (in German), pp 90–101Google Scholar
  29. 29.
    Schmidt H-W, Krämer BJ, Poernomo IH, Reussner R (2004) Predictable component architectures using dependent finite state machines. In: Wirsing M, Balsamo S, Knapp A (eds) Radical innovations of software and systems engineering in the future. Springer, Heidelberg, pp 310–324Google Scholar
  30. 30.
    Stafford JA, Wolf AL (2001) Architecture-level dependence analysis for software systems. Int J Softw Eng Knowl Eng 11(4): 431–452CrossRefGoogle Scholar
  31. 31.
    Stuckenholz A (2005) Component evolution and versioning: state of the art. ACM SIGSOFT Softw Eng Notes 30(1): 1–13CrossRefGoogle Scholar
  32. 32.
    Stuckenholz A, Osterloh A (2006) Safe component updates. In: GPCE: generative programming and component engineering. ACM Press, New York, pp 39–48Google Scholar
  33. 33.
    Yang J, Papazoglou MP (2002) Web component: a substrate for web service reuse and composition. In: Pidduck AB, Mylopoulos J, Woo CC, Ozsu MT (eds) Advanced information systems engineering: 14th intern. conference (CAiSE 2002). LNCS, vol 2348. Springer, Heidelberg, pp 21–36Google Scholar

Copyright information

© Springer-Verlag London Limited 2008

Authors and Affiliations

  1. 1.Department of Mathematics and Computer ScienceFernUniversität in HagenHagenGermany

Personalised recommendations