Services, SOAs and Integration at Scale

Ingolf Krueger
July 2, 2012

After more than a decade of research into and practical application of service-orientation (SO*) there is still confusion about what services are, and what their benefit to Software Engineering research and practice is. Nevertheless, and unfazed by its fuzzy backdrop, SO* has taken hold across industry as the foundation on which large software systems are built. Clearly, this leaves many fundamental questions on the table. This paper focuses on developing the principles and practices for using SO* in large-scale service integration. We start from a simple premise: services are functions, service-oriented architectures (SOAs) are dynamic functional programs. We develop this premise into a semantic foundation for services and SOAs based on a novel dynamic model of stream processing functions. We introduce Open Rich Services (ORS), an architecture pattern for SOA that (a) disentangles infrastructure-concerns cleanly from application-specific concerns, (b) supports flexible and dynamically changeable service composition, and (c) facilitates hierarchical service decomposition. We establish the link between ORS and our basic SOA semantics to yield a comprehensive and scalable SOA foundation. As a proof of concept we develop a domain specific language (DSL) for specification of SOAs following this semantic approach.

How to view this document

The authors of these documents have submitted their reports to this technical report series for the purpose of non-commercial dissemination of scientific work. The reports are copyrighted by the authors, and their existence in electronic format does not imply that the authors have relinquished any rights. You may copy a report for scholarly, non-commercial purposes, such as research or instruction, provided that you agree to respect the author's copyright. For information concerning the use of this document for other than research or instructional purposes, contact the authors. Other information concerning this technical report series can be obtained from the Computer Science and Engineering Department at the University of California at San Diego,

[ Search ]

This server operates at UCSD Computer Science and Engineering.
Send email to