CHAPTER 6

Designing Service Interfaces

Parts Is Parts

– Wendy’s

In previous chapters, we discussed the architectural implications of SOA, the issues related to composing larger services from a collection of smaller ones, and the issues involved in designing common information and semantics to span many different service interfaces. In this chapter, we tie these concepts together around the design of service interfaces. First, we review some of the important service concepts and look at the important characteristics of service interfaces. Then, we introduce a process for interface design and illustrate it with a detailed example. In this chapter, we cover:

  • The service characteristics of granularity, scope, and visibility
  • Service interaction styles, including parameter passing, document passing, and data passing
  • Service invocation styles, including request/response, events, and mixed
  • Service design guidelines
  • The interface design process
  • Sample problem space models
  • Sample solution models

Services Revisited

Let’s review the important aspects of services. A service provides capabilities that are accessed through its interface. The interface describes how those capabilities are presented and the rules and protocols for using them. The service is implemented through a variety of mechanisms, such as components, composition, and integration. So, we think of a service as a combination of its interface — the public view of the service, and its implementation — the private view of the service. ...

Get Applied SOA: Service-Oriented Architecture and Design Strategies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.