, Volume 95, Issue 9, pp 817–835 | Cite as

Levering object-oriented knowledge for service-oriented proficiency

Enhancing service capability in developers
  • Gary StubbingsEmail author
  • Simon Polovina


As more and more enterprise systems endeavour to interconnect seamlessly by using a service-oriented architecture (SOA) a number of challenges are beginning to surface as a result of the differences in understanding between object-orientated programming (OOP) and service-orientation in technical development teams. These differences are thus explored to determine the potential of subsidising gaps in knowledge through relational learning in order to better prepare development environments for service migration. It emerges that the principles of service-oriented programming can be used within OOP by selectively identifying the existing knowledge found within object-orientation and traditional programming methodologies. The benefit of this approach proposes to lever the expertise of object-oriented developers so as to build service-ready computer software and encourage the seamlessness of SOA.


Object-orientation Service-orientation Developer capability Expertise Programming approach Knowledge transfer Service-ready 

Mathematics Subject Classification (2000)

68M11 68U35 


  1. 1.
    Allen P (2006) Service orientation: winning stratergies and best practices. Cambridge University Press, New YorkCrossRefGoogle Scholar
  2. 2.
    Armstrong J (1997) The development of erlang. SIGPLAN Not 32(8):196–203. doi: 10.1145/258949.258967 MathSciNetCrossRefGoogle Scholar
  3. 3.
    Arsanjani A (2005) Toward a pattern language for service-oriented architecture and integration, part 1: build a service eco-system. Accessed 30 October 2011
  4. 4.
    Baarda PJ (2008) Your SOA needs a business case. Accessed 18 February 2012
  5. 5.
    Bär H, Ciupke O (1998) Exploiting design heuristics for automatic problem detection. In: Workshop ion on object-oriented technology, ECOOP ’98. Springer, Berlin, pp 73–74Google Scholar
  6. 6.
    Brown P (2008) Implementing SOA: total architecture in practice. TIBCO Press Series, Prentice HallGoogle Scholar
  7. 7.
    Buck D, Stucki DJ (2000) Design early considered harmful: graduated exposure to complexity and structure based on levels of cognitive development. SIGCSE Bull 32(1):75–79. doi: 10.1145/331795.331817
  8. 8.
    Clark D (2006) Designing OOP solutions: identifying the class structure. In: Beginning object-oriented programming with VB 2005. Apress, pp 11–30. doi: 10.1007/978-1-4302-0095-6
  9. 9.
    D’Andrea V, Aiello M, Aiello M (2003) Services and objects: open issues. In: European workshop on OO and web service, pp 23–29Google Scholar
  10. 10.
    Dov D (2007) SOA for services or UML for objects: reconciliation of the battle of giants with object-process methodology. In: SwSTE. IEEE Computer Society, Herzlia, pp 147–156. doi: 10.1109/SwSTE.2007.10
  11. 11.
    Erl T (2007) SOA principles of service design (the Prentice Hall service-oriented computing series from Thomas Erl). Prentice Hall, Upper Saddle RiverGoogle Scholar
  12. 12.
    Erl T (2008) Service-orientation and object-orientation part I: a comparison of goals and concepts. Accessed 29 January 2011
  13. 13.
    Fowler M (1999) Refactoring: improving the design of existing code. Addison-Wesley, BostonGoogle Scholar
  14. 14.
    Freeman E, Freeman E, Bates B, Sierra K (2004) Head first design patterns. O’ Reilly & Associates, Inc.Google Scholar
  15. 15.
    Gamma E, Helm R, Johnson RE, Vlissides J (1994) Design patterns: elements of reusable object-oriented software. Addison-Wesley, ReadingGoogle Scholar
  16. 16.
    Glen S (2008) Polymorphic web services, part 1: polymorphic data. Accessed 07 December 2012
  17. 17.
    Goedicke M, Neumann G, Zdun U (2001) Message redirector. In: Proceedings of EuroPloP 2001, sixth European conference on pattern languages of programs, IrseeGoogle Scholar
  18. 18.
    Graham I, O’Callaghan A, Wills A (2000) Object-oriented methods: principles and practice. Addison-Wesley Object Technology Series. Addison-Wesley, ReadingGoogle Scholar
  19. 19.
    Guizzardi G, Wagner G, van Sinderen M (2004) A formal theory of conceptual modeling universals. In: Workshop on philosophy and informatics (WSPI). Deutsches Forchungszentrum fur Kunstliche Intelligenz, CologneGoogle Scholar
  20. 20.
    Hoffman K (2006) Microsoft Visual C# 2005 Unleashed, chap. Designing for service-oriented architectures (SOA). Pearson Education, IndiaGoogle Scholar
  21. 21.
    Holland S, Griffiths R, Woodman M (1997) Avoiding object misconceptions. SIGCSE Bull 29(1):131–134. doi: 10.1145/268085.268132 CrossRefGoogle Scholar
  22. 22.
    IBM (2003) Rational process library. Accessed 05 December 2012
  23. 23.
    IBM (2004) Service-oriented modeling and architecture. Accessed 07 December 2012
  24. 24.
    Johnson RE, Foote B (1988) Designing reusable classes. J Object Orient Program 1(2):22–35Google Scholar
  25. 25.
    Josuttis NM (2007) SOA in practice: the art of distributed system design. O’Reilly, BeijingGoogle Scholar
  26. 26.
    Karsten R, Roth RM (1998) The relationship of computer experience and computer self-efficacy to performance in introductory computer literacy courses. J Res Comput Educ 31(1):14–24Google Scholar
  27. 27.
    Koskela M, Rahikainen M, Wan T (2007) Software development methods: SOA vs. CBD, OO and AOP. Accessed 20 December 2010
  28. 28.
    Marks EA (2008) Service-oriented architecture (SOA) governance for the services driven enterprise. Wiley, New YorkGoogle Scholar
  29. 29.
    Mcbeath J (2010) Scala pros and cons. Accessed 30 October 201
  30. 30.
    Mittal K (2010) Service oriented unified process (soup). Accessed 24 December 2012
  31. 31.
    Papazoglou MP, Heuvel WJ (2007) Service oriented architectures: approaches, technologies and research issues. VLDB J 16(3):389–415. doi: 10.1007/s00778-007-0044-3 CrossRefGoogle Scholar
  32. 32.
    Papazoglou MP, Traverso P, Ricerca I, Tecnologica S (2007) Service-oriented computing: state of the art and research challenges. IEEE Comput 40:38–45CrossRefGoogle Scholar
  33. 33.
    Ragonis N (2004) Teaching object-oriented programming to novices. Ph.D. thesis, Weizmann Institute of ScienceGoogle Scholar
  34. 34.
    Ragonis N, Ben-Ari M (2005) A long-term investigation of the comprehension of OOP concepts by novices. Comput Sci Educ 15:203–221. doi: 10.1080/08993400500224310 CrossRefGoogle Scholar
  35. 35.
    Riel AJ (1996) Object-oriented design heuristics, 1st edn. Addison-Wesley, ReadingGoogle Scholar
  36. 36.
    Rosen M, Lublinsky B, Smith KT, Balcer MJ (2008) Applied SOA: service-oriented architecture and design strategies. Wiley, New York (2008)Google Scholar
  37. 37.
    Scala (2008) The scala programming language. Accessed 30 October 2012
  38. 38.
    Udell J (2005) The spiral staircase of SOA. InfoWorld 27(40):46–46Google Scholar
  39. 39.
    Voigt J (2009) Characterising the use of encapsulation in object-oriented systemsGoogle Scholar
  40. 40.
    Yang J, Papazoglou MP (2004) Service components for managing the life-cycle of service compositions. Inf Syst 29(2):97–125. doi: 10.1016/S0306-4379(03)00051-6 CrossRefGoogle Scholar
  41. 41.
    Zdun U (2008) Pattern-based design of a service-oriented middleware for remote object federations. ACM Trans Internet Technol 8(3):15:1–15:38 (2008). doi: 10.1145/1361186.1361191
  42. 42.
    Zimmermann O (2009) SOA decision modeling (SOAD). Accessed 17 December 2012
  43. 43.
    Zimmermann O, Schlimm N, Waller G, Pestel M (2005) Analysis and design techniques for service-oriented development and, integration. pp 606–611Google Scholar

Copyright information

© Springer-Verlag Wien 2013

Authors and Affiliations

  1. 1.t-mac Technologies LtdDerbyshireUK
  2. 2.Conceptual Structures Research Group, Communication and Computing Research CentreSheffield Hallam UniversitySheffieldUK

Personalised recommendations