SOA Reference Architecture

SOA Reference Architecture

Liang-Jie Zhang (IBM T.J. Watson Research, USA) and Jia Zhang (Northern Illinois University, USA)
DOI: 10.4018/978-1-61520-684-1.ch001
OnDemand PDF Download:
$37.50

Abstract

SOA Reference Architecture (SOA-RA) aims to provide a normative guidance for software engineers to design and develop enterprise-level Service Oriented Architecture (SOA)-based solutions. Its basis is SOA Solution Stack (S3) that defines a conceptual view of a service-oriented architecture in the context of solution design and delivery. S3 is then extended by introducing conceptual architectural building blocks (ABBs) that serve as design templates to make S3-based solutions more configurable, reusable, and goal-aligned. On top of an extendable metamodel, SOA-RA decomposes an SOA solution view into an enterprise view, an IT system view, and a services view. These view models allows software designers to establish a comprehensive overview of an expected SOA solution. This chapter first analyzes the architectural style and metamodel of S3, then describes the various view models, and then describes an end-to-end SOA solution design and modeling framework and methodology.
Chapter Preview
Top

Introduction

“What is SOA?” To a software architect, a Service Oriented Architecture (SOA) refers to an architectural style comprising a set of highly reusable components equipped with standard interfaces, connectors, constraints, composition criteria, and containers. In other words, in an SOA-based software system, comprising components are services.

Each service implies a service provider and some service consumers. SOA decouples the service provider and service consumers using a service description that covers both the interfaces (e.g., what the service can do and how to access the service) and policies (e.g., requirements and constraints) needed to describe an abstract specification of both functional and non-functional attributes of the service. Some of the specifications may be executable.

To provide normative guidance for software engineers to design and develop enterprise-level SOA-based solutions in a systematic manner, SOA Reference Architecture (SOA-RA) establishes a logical reference architecture that helps IT architects design the overall architecture of an SOA solution.

The foundation of SOA-RA is IBM SOA Solution Stack (S3) (Arsanjani, A., Zhang, L.-J., Ellis, M., Allam, A., & Channabasavaiah, K., 2007) that defines a conceptual view of a service-oriented architecture in the context of solution design and delivery. Nine layers are identified organizing into a two-dimensional architecture with five horizontal layers and four vertical layers. The horizontal dimension (Operational System layer, Services Component layer, Service layer, Business Process layer, and Service Consumer layer) implements functional requirements, and the vertical dimension (Integration layer, Data Architecture layer, Quality of Service (QoS) layer, and Governance layer) provides system-support facilities and enablement.

S3 provides an enterprise architectural template that guides the creation of an SOA solution at the enterprise level. Starting from the reference model, software engineers can customize and refine it, based on the needs of a service domain, to develop application-specific SOA solutions for one or more lines of business. For example, an Enterprise Service Bus (ESB) can be adopted to realize the Integration layer of the reference model to develop an ESB-based SOA solution. In other words, S3 allows us to develop and deliver SOA business services faster and easier.

S3 is also an answer to the question “If I build an SOA, what would it look like conceptually and what abstraction would be present?” It enumerates the fundamental elements of an SOA solution. Moreover, it presents the architectural foundation of an SOA solution, from which various perspectives can be derived: tooling, standards, industry specification, and so on.

However, S3 alone is coarse grained to be advisory for enterprise-level SOA solution design and development. It provides high-level guidance for developers to design an SOA solution (i.e., in nine layers) without detailed normative guidance. To provide a uniform mechanism for building configurable and reusable SOA solutions on top of S3, this chapter discusses S3-based SOA reference architecture, including S3 metamodel, enterprise view, and end-to-end SOA solution modeling. Instead of focusing on any detailed SOA method, this chapter focuses on how to design activities, roles, and work products that are critical to build an SOA-based solution.

Especially, we introduce a concept of Architectural Building Block (ABB) as the fundamental unit of an SOA solution (Zhang, L.-J., Zhang, J., & Allam, A., 2008). An ABB is an autonomous component that encapsulates internal states and functions and can be configured and extended. Each layer in S3 is comprised of multiple ABBs, which collaborate to carry all expected activities. Based on industry best practice, our previous work concluded a comprehensive collection of fine-grained ABB templates for each of the nine layers in S3, which will be discussed in detail in the following chapters.

In this chapter, we first analyze the architectural style and metamodel of S3, then we describe various view models comprised in SOA-RA. Finally, we describe an end-to-end SOA solution design and modeling framework and methodology.

Complete Chapter List

Search this Book:
Reset