Integration Architecture: SOAP vs REST Decision Document

advertisement

The Ohio State University – OCIO Enterprise Architecture

Architecture Decision Document

DRAFT – Web Services Implementation

Revision history

Document creation date:

Revision

Number

1

2

3

03/25/2011

Revision

Date

Summary of changes:

03/25/11 Initial Draft – Glenn E. Donaldson Jr.

03/30/11 Minor edits; added supporting information via attachment (Capabilities summary;

Pros/Cons…)

Architecture Decisions

Architectural

Decision

Issue or

Problem

Alternatives

Decision

Integration Architecture: Implement Web

Services w/ SOAP, REST, or Both

AD ID <<A unique identifier>>

The primary ways to implement web services: Simple Object Access Protocol (SOAP)/WS-

* based implementations and/or Representational State Transfer (REST)-based implementations. We need to determine if we support one way or both when developing web services.

Note: The Simple Object Access Protocol name has been dropped. It is simply SOAP. SOAP 1.2 was the adopted as a standard by W3C in 2003. WS-* represent the multiple web service specifications

1. Only support SOAP-based web services

2. Only support REST-based web services

3. Support SOAP and REST –based Web Services along with implementation/usage guidelines

Alternative #3 – Support SOAP and/or REST based web services along with implementation/usage guidelines

Glenn E. Donaldson Jr. Page 1

Justification

Assumptions

The Ohio State University – OCIO Enterprise Architecture

Architecture Decision Document

DRAFT – Web Services Implementation

A key issue is technologists misunderstanding the difference between SOAP and REST.

SOAP is a messaging framework while REST is an architectural style. Other standard web technologies and methods (HTTP/S , AJAX, JSON ...) are used to implement REST-based

(web) services. Because of this, both implementations should be supported and the decision of which one should be based on the use case(s), source(s), and target(s).

For further justification read below:

 Both SOAP w/ WS-* and REST have value

 PeopleSoft ERPs (HR/SIS, FIN) only supports SOAP/WS-*-based web services.

 Both SOAP/WS-* and REST-based web services are used by major IT companies

(Amazon, Google…).

 The regular and mobile web applications do not only consume secure and/or transactional services. They also consume RSS feeds and other public/open data services. (i.e. Find people, maps, or sports information)

 SOAP is about exposing named operations; REST is for exposing named resources

 SOAP is good for transactional (Support for distributed ACID transactions) or logicbased web services, using SOAP for read-only data web services could be overkill.

REST may be the optimal choice.

 RESTful web services are based standard HTTP/S and URI specifications, and the HTTP

Verbs (GET, PUT, DELETE, and POST).

 RESTful web services are simple to implement and can be cached ( this can help with performance and scalability)

 SOAP is not only possible over HTTP transport. SOAP can be used the SMTP and JMS transport protocols.

 There is good support for both SOAP/WS-* and REST in Java EE, .NET, other frameworks

 Future State: the prominent Enterprise Services Buses (ESBs) supports both SOAP and

REST

Additional Considerations

 The solution for a web service (SOAP or REST) depends on the use case, source(s), and target(s)

 There is a need for guidance around developing web services

 There are needs for multiple types of web services (public/private, data/logic, browser clients/systems…)

 While the first sprint of the Integration Architecture initiative will focus on OCIO, our future state will involve our partners across the university community.

 PeopleSoft ERP environments only supports SOAP/WS-*-based web services, there are other systems/environments providing REST-based web services

Glenn E. Donaldson Jr. Page 2

Motivation

The Ohio State University – OCIO Enterprise Architecture

Architecture Decision Document

DRAFT – Web Services Implementation

 Knowing what options are available and what will be supported will help in making solution decisions

 OCIO and partners are embarking on Integration Architecture and specifically web services

 There are no OCIO guidelines in place to help development or infrastructure

 Guidelines and standards will promote consistency across the decentralized development groups especially for integration activities.

Implications  The capabilities of the producer and consumer

 The security protocols used

 The amount of development needed

Architecture Conceptual Technology Principles Scorecard

Conceptual

Technology

Principles

Key Questions Technology Request

Responses

Ensure business alignment is an

imperative.

Information is an

enterprise asset.

Does the investment and capability align with the university needs or requirements and strategies? Does it align with similar functions across the institution?

None of these alternatives directly impacts Business alignment

Does the data support accelerating decision making? Does the information asset allow appropriate university wide access? Is the information asset a critical institutional asset?

None of these alternatives directly impacts use of data in the enterprise.

Manage enterprise assets through the entire

life cycle.

What is the total cost of ownership

(implementation, ongoing maintenance and support, refresh)? What is life of the product? What is the current and projected demand over the next 5 years?

The cost comes from designing, developing, and managing web services and any additional software/hardware needed for support. SOAP and REST by themselves do not add costs directly.

Standardize, rationalize, componentize, encapsulate, and

interoperate .

Does the product replace or eliminate other products? Are there similar products in use or planned for use elsewhere on campus? Does the product fill a gap? Does the product duplicate all or part the functionality of another product? Does the product seamlessly

Both SOAP and REST based web services are either developed or delivered. Therefore, they do not replace or eliminate other products.

The gap being filled is the need for

Glenn E. Donaldson Jr. Page 3

Ensure effective

compliance.

The Ohio State University – OCIO Enterprise Architecture

Architecture Decision Document

DRAFT – Web Services Implementation integrate with other components? Does the product meet open systems standards? more web/data services. Web

Services, which are based on SOAP and/or REST, are to help the goal of providing improved methods of application and system integration.

SOAP 1.2 is a standard supported by W3C. REST is not a standard, but the technologies used to provide REST are based on open system standards (i.e. HTTP/S….)

Is the product compliant with legal and regulatory requirements? How will the product affect internal or external auditability of the business unit? Is the product compliant with the OSU IT security framework?

None of these alternatives directly impacts compliance

Glenn E. Donaldson Jr. Page 4

Download