21.01.2022 Views

Sommerville-Software-Engineering-10ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

548 Chapter 18 ■ Service-oriented software engineering

Key Points

Service-oriented architecture is an approach to software engineering where reusable, standardized

services are the basic building blocks for application systems.

Services may be implemented within a service-oriented architecture using a set of XML-based

web service standards. These include standards for service communication, interface definition,

and service enactment in workflows.

Alternatively, a RESTful architecture may be used, which is based on resources and standard

operations on these resources. A RESTful approach uses the http and https protocols for service

communication and maps operations on the standard http verbs POST, GET, PUT, and DELETE.

Services may be classified as utility services that provide a general-purpose functionality,

business services that implement part of a business process, or coordination services that

coordinate the execution of other services.

The service engineering process involves identifying candidate services for implementation,

defining the service interface, and implementing, testing, and deploying the service.

The development of software using services is based on the idea that programs are created by

composing and configuring services to create new composite services and systems.

Graphical workflow languages, such as BPMN, may be used to describe a business process and

the services used in that process. These languages can describe interactions between the

organizations that are involved.

Further Reading

There is an immense amount of tutorial material on the web covering all aspects of web services.

However, I found the book by Thomas Erl to be the best overview and description of services and service

standards. Erl includes some discussion of software engineering issues in service-oriented computing.

He has also written more recent books on RESTful services.

Service-Oriented Architecture: Concepts, Technology and Design. Erl has written a number of books

on service-oriented systems covering both SOA and RESTful architectures. In this book, Erl discusses

SOA and web service standards but mostly concentrates on discussing how a service-oriented

approach may be used at all stages of the software process. (T. Erl, Prentice-Hall, 2005).

“Service-oriented architecture.” This is a good, readable introduction to SOA. (Various authors, 2008)

http://msdn.microsoft.com/en-us/library/bb833022.aspx

“RESTful Web Services: The Basics.” A good introductory tutorial on the RESTful approach and RESTful

services. (A. Rodriguez, 2008). https://www.ibm.com/developerworks/webservices/library/ws-restful/

Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL, and RESTful Web Services.

This is a more advanced text for developers who wish to use web services in enterprise applications.

It describes a number of common problems and abstract web service solutions to these problems.

(R. Daigneau, Addison-Wesley, 2012).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!