Toward a Programming Model for Service-Oriented Computing

  • Francisco Curbera
  • Donald Ferguson
  • Martin Nally
  • Marcia L. Stockton
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3826)


The service oriented paradigm is, at its core, a model of distributed software components, built around the idea of multi-protocol interoperability and standardized component contracts. The Web Services Interoperability (WS-I) profiles provide standards for runtime interoperability, and the Web Services Description Language (WSDL) and WS-Policy define service contracts that support interoperability between developer tools. A major goal of Service Oriented Architectures (SOAs) is to enable an abstraction layer that integrates and bridges over platform and implementation technology differences, effectively providing a universal business software component and integration framework. Achieving a complete solution requires a portable component model and well-defined patterns for components types. This paper examines the main requirements for a SOA programming model and identifies its most relevant characteristics. In line with SOA’s goals, such model must allow a broad community of users (including non-programmers) to create service-oriented applications by instantiating, using, assembling and customizing different component types that match the user’s goals, skills, and conceptual framework. Moreover, these component types must be portable and interoperable between multiple different vendors’ runtimes.


Service Component Component Type Service Component Architecture Deployment Descriptor Event Drive Architecture 
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.


  1. 1.
    Sun Microsystems, Java 2 Platform, Enterprise Edition (J2EE),
  2. 2.
    Sun Microsystems, Java Server Pages,
  3. 3.
    Sun Microsystems, Java Servlets,
  4. 4.
    Sun Microsystems, JavaBeans,
  5. 5.
    Web Services Description Language (WSDL) 1.1 (March 2001),
  6. 6.
    Business Process Execution Language for Web Services (BPEL4WS) v1.1 (May 2003),
  7. 7.
    XSL Transformations (XSLT) Version 1.0 (November 1999),
  8. 8.
    Lerdorf, R., Tatroe, K.: Programming PHP. O’Reilly, Sebastopol (2002)zbMATHGoogle Scholar
  9. 9.
    Object Management Group, Universal Modeling Language 2.0 Superstructure FTF convenience document (October 2004),
  10. 10.
    Hightower, R.: Enhance J2EE Component Reuse With XDoclets,
  11. 11.
    Sun Microsystems, JSR 175: A Metadata Facility for the JavaTM Programming Language,
  12. 12.
    IBM Corp., WebSphere Application Server,
  13. 13.
    IBM Corp., Build Interoperable Web Services with JSR-109 (August 2003),
  14. 14.
    Sun Microsystems, Java 2 Platform, Enterprise Edition (J2EE),
  15. 15.
  16. 16.
    Kim, S.: Java Web Start: Developing and Distributing Java Applications for the Client Side,
  17. 17.
  18. 18.
    IBM Corp., IBM DB2 Information Integrator Application Developer’s Guide v8.2 Google Scholar
  19. 19.
    XQuery 1.0: An XML Query Language, W3C working draft (February 2005),
  20. 20.
    Leymann, F., Roller, D.: Production Workflow. Concepts and Techniques. Prentice Hall, Englewood Cliffs (1999)Google Scholar
  21. 21.
    Robinson, R.: Understand Enterprise Service Bus scenarios and solutions in Service-Oriented Architecture,
  22. 22.
    Chappell, D.: Enterprise Service Bus. O’Reilly, Sebastopol (2004)Google Scholar
  23. 23.
    IBM Corp. WebSphere Business Integration Message Broker,
  24. 24.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  25. 25.
    Portier, B., Budinsky, F.: Introduction to Service Data Objects: Next-generation data programming in the Java environment (September 2004),
  26. 26.
    Henning, M., Vinoski, S.: Advanced CORBA(R) Programming with C++. Addison-Wesley, Reading (1999)Google Scholar
  27. 27.
    Box, D.: Essential COM. Addison-Wesley, Reading (1997)Google Scholar
  28. 28.
    Sceppa, D.: Microsoft ADO.NET (Core Reference). Microsoft Press (May 2002)Google Scholar
  29. 29.
    Gample, O., Gregor, A., Hassen, S.B., Johnson, D., Jonsson, W., Racioppo, D., Stöllinger, H., Washida, K., Widengren, L.: Component Broker Connector Overview. IBM ITSC (May 1997)Google Scholar
  30. 30.
    IBM Corp., Websphere Integration Developer 6.0. Technical Product Overview, available at
  31. 31.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Francisco Curbera
    • 1
  • Donald Ferguson
    • 1
  • Martin Nally
    • 1
  • Marcia L. Stockton
    • 1
  1. 1.IBM Corp. 

Personalised recommendations