ABSTRACT

This chapter introduces service-oriented architectures (SOAs) from a technical perspective and provides an architectural framework for SOA. A service-oriented architecture is essentially a collection of services that are able to communicate with each other. The SOA triangle architecture is quite trivial: A service is offered using a remote interface that employs some kind of well-defined interface description. The interface description pattern addresses in an SOA the problem that the interfaces of service client and service provider need to be aligned, and consequently marshaling and demarshaling need to be aligned to send invocations across the wire. Interface descriptions are a first step toward contracts for services. The SOA can be extended with custom directories or repositories allowing for lookup of domain-specific service properties or metadata of services. Service provider adaptation needs to be supported by the remote objects realizing the service, as well as by the invoker that is used for invoking them.