creating a systems architecture for an soa-based it system ... · creating a systems architecture...

28
Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger, Ph.D. Enterprise Architect Gabriel Hoffman Senior System Engineer October 2008

Upload: others

Post on 30-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

Creating a Systems Architecture for an SOA-based IT System as Part of a

Systems Engineering Process

Robert S. Ellinger, Ph.D.

Enterprise Architect

Gabriel Hoffman

Senior System Engineer

October 2008

Page 2: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

2

Agenda

• Service Oriented Architecture?

• Service Oriented Architecture and Investment-Driven SOA (ID-SOA™)

• Creating a System Architecture for an SOA-based IT System

Page 3: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

Services-Oriented Architecture?

Page 4: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

4

The Problem

• IT organizations often focus on implementing technology yet not enough on helping a customer organization accomplish its mission

• Today's IT solutions tend to be based on COTS architectures that often enforce specific business processes and lack open technology upgrade paths– Flexibility: Large-scale COTS applications have limits on their

configurability, so the application does not readily support the organization’s continuously changing processes

– Technology Upgrade: Upgrading or replacing technology is often very difficult, that hinders the organization in achieving its mission with the current IT technology

• Therefore, too often the organization conforms to the IT needs, instead of IT conforming to what the organization requires

Page 5: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

5

SOA as a Solution

• Service Oriented Architecture (SOA) assists the organization with focusing its IT on solving business problems

– Measurably links the applications to the organization’s processes to enable the organization to understand the contribution of each application within the process. This enables the organization to determine whether its investment is worthwhile

– Provides ―line-of-sight‖

• From the Organization’s Mission through its Strategies to its Processes to determine the optimal place for the next investment

• To support the intent of the Federal Enterprise Architecture (FEA), a concept which is being incorporated into the DoD Architecture Framework version 2

Page 6: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

6

SOA as a Solution

(Continued)

• The SOA enables the organization’s IT to support continuous process change

– Existing ―composite‖ applications can be reassembled to support a change in the organization’s processes in a Continuous Operational and Development Environment (CODE)

– The ―Composite‖ applications are the Services and are assemble from Service Components, each of which is a separate application (which may be a Web Service)

• Each Service Component may be upgraded to new technology or replaced independently

• These Service Components are assembled using a process flow which may be redesigned independently of the components being used

Page 7: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

7

ID-SOA™

• A good SOA process will help management to: – Identify processes and IT systems that are producing minimal or no value

for the organization, that is, IT systems that are good candidates for investment

– Recommend deletion or investment (by updates/upgrades or replacement)

– Execute projects that the customer has approved as IT investments

– Evolve toward a service-based business vision/model with the agility to successfully respond to unexpected challenges and opportunities

• In other words, a good SOA process allows the organization to use an IT investment process to optimize its processes and the supporting IT systems and applications in a CODE

• Northrop Grumman’s Investment-Driven Service-Oriented Architecture (ID-SOA™) is such a process

Page 8: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

The ID-SOA™ Process

Page 9: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

9

Enterprise SOA

Business

Process

Modeling and

Engineering

Execution Context

(Services Infrastructure)

Composite

Application

Deployment

Composite

Application

Operation

Composite

Application

Management

Composite

Application

Modeling and

Assembly

Service

Development

Composite

Application

Lifecycle Service

Infrastructure:

The Service

Infrastructure provides

functions that enable

and support the use of

Composite Applications

in production and the

governance functions

Composite

Application Lifecycle:

Composite Application

Lifecycle (CAL) is the

Business Process and

Composite Application

Modeling, Assembly,

and Deployment

process

Service Development:

Service Development

provides activities and

functions that support

the creation and testing

of Service Components

Page 10: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

10

ID-SOA™ Simplified High-level Flow

Enterprise SOA Created Here

Page 11: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

Creating a System Architecture for an SOA-based IT System

Page 12: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

12

The Composite Application Lifecycle

Business

Process

Modeling and

Engineering

Composite

Application

Deployment

Composite

Application

Operation

Composite

Application

Management

Composite

Application

Modeling and

Assembly

• Business Process

Modeling and

Engineering: The

processes and functions

associated with Business

Process Modeling

(BPM)/(BIOS is Business

Innovation and

Optimization

Services). BIOS supports

the as-is and to-be

Business Process

Modeling activities

required to build

Composite Applications

• BPM has been used,

standalone in the past; it is

integrated in the SOA CAL

• Composite Application

Modeling and Assembly:

Assembly functions and

Service Components that

support the assembly of

Composite Applications

• Composite Application Modeling:

Functions and Service Components that

support the conversion of a business

process model into a model Composite

Application using a repository of Service

Components. Analysis of the Composite

Application model, based on the business

process model enables

• Composite Application Assembly:

Functions and Service Components that

enable the assembly of Composite

Applications from Service Components

• These are entirely new functions

• Composite Application

Deployment: Functions

and Service Components

that support the

deployment of Composite

Applications to production,

including Verification &

Validation testing

• This is identical with

current software

deployment functions,

though the details may

vary somewhat.

• Composite Application

Operation: Using the

Services Infrastructure to

support the Composite

Applications in production

• This is identical with

current software

deployment functions,

though the details may

vary somewhat.

• Composite Application

Management: Using the

Governance functions

Services Infrastructure to

measure the performance

of the business processes

to ensure meeting SLAs

and to evaluate processes

for future revisions or

upgrades of service

components

• This set of functions

supports B-SLAs, which

are new in SOA

Create Systems

Architecture

Creating Systems Architecture–

This activity:

• Decomposes the Business

Process Model

• Derives the IT Functions

required to enable and support

the process—creating the

“functional requirements”

• Structures the IT Functions to

optimize communications

among the functions and

minimize the number of

redundant functions

• Allocates the Functions to

Components—creating the

“Component Requirements”

Page 13: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

13

The System ArchitectureProcess

The Overall IT System Architecture Process

Identify the Customer’s

Requirements

Decomposition

Derivation

Structuring/Allocation

• Decomposition includes:Process ModelingFunctional Modeling

• Decomposition includes:Process ModelingFunctional Modeling

• Derivation Includes:Determining the IT

Functions Required

• Decomposition includes:Process ModelingFunctional Modeling

• Derivation Includes:Determining the IT

Functions Required• Structuring/Allocation

Includes:Structuring and

grouping the Functions to support the Process Assigning the Grouped

Functions to Components

Page 14: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

14

The Overall System Architecture Process(More Detail)

Page 15: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

15

The System Requirements Document (SRD)Used as Inputs (Table of Contents)

1 Introduction

1.1 Purpose

1.2 Scope

1.3 Background

1.4 Identification

1.5 Rapid Implementation Approach

1.6 Document Change Management

1.7 Referenced Documents

2 System Context

2.1 Organizational Mission, and Strategies

2.2 System Scope

2.2.1 In Scope

2.2.2 Out of Scope

2.3 Business Processes

2.3.1 BP1

2.3.2 BP2

2.3.3 BP3

2.3.4 BPi

2.3.5 BPn

3 Use Cases

3.1 Actors

3.2 Use Cases Identified by Actor, Business Process, and Release

3.3 Use Cases

4 Design Constraints

4.1.1 Size and Location of User Community

4.1.2 Interfaces

4.1.3 Customer Furnished or Identified Components

4.1.4 Data Base

4.1.5 System Transition

4.1.6 Training

4.1.7 General Computing Controls & Security

4.1.8 Business Continuity (COOP)

4.1.9 Performance and Availability

4.1.10 Information Retention/Purging/Archiving

4.1.11 Other Constraints

4.1.12 Hardware and Software Standards

4.1.13 Communications and Network

4.2 Customer IT Standards Constraining the Design

4.2.1 Architectural Constraints

4.2.2 Scalability

4.2.3 Reliability/Availability

4.2.4 Service Infrastructure

4.3 Outside Standards and Specifications Constraining the Design

5 System Validation

Appendix A: Acronyms, and Abbreviations

Appendix B: Glossary

Page 16: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

16

The Decomposition Activity

Objective: To define processes and activities in sufficient detail to allow the derivation of IT functions to support the process

Send Submission

Receive Response(s)

Sent to other agencies as well

Initiate APO

Re-send Submission / IAFIS Response

Stage Submission for APO

[ APO Mode ]

Store Responses

[ APO Mode ]

Analyze Comparative Data

Analyze Performance Data (from pTM logs)

Comparative & Performance Analysis Complete

Re-send IAFIS Submission

Store IAFIS Submissions

Receive & Process Submission

Receive & Process Submission

Receive & Process Submission

[ SPO Mode ]

[ APO Mode ]

: Secondary : Primary : IAFIS : POA : APO Administrator : Submitter

Initiate Asynchronous

Operations

Launch APO

Controller

Exit APO

Controller

Select Data Select Load

Factor

Selected data processed

by NG-ABIS 1.0

Process

QueueSend

Submission

Display

GUI

Display

Results

Pre-Process

Queue

Initialize

Send IAFIS

Response

[ records = 0 ]

Receive IAFIS

Submission

Store IAFIS

Submission

Receive Match

Response

Store Match

Response

Receive

Submission

Receive IAFIS

Response

Process

Submission

Send IAFIS

Submission

Send Match

Response

Process IAFIS

Response

Flow may overlap with

Send Response AD

starting here

Flow may overlap with

Send IAFIS Submission

AD starting here

[ records > 0 ]

NG-ABIS 1.0 : Secondary : POA : APO Administrator

Send Response

Systems have a response to return to the Submitter

Send Response

Send Response

Store Response

Receive Response

[ APO Mode ]

[ SPO Mode ]

Receive Secondary Response

Response Stored

Response Discarded

Receive Response

Response Received

Receive Response

: NGIC-AIMS : Submitter : POA : Secondary : Primary

Level 1 – Example: Parallel Operations

Level 2 – Example: Stage APO Level 2 – Example: Resend Submission

Send Submission

Receive Response(s)

Sent to other agencies as well

Initiate APO

Re-send Submission / IAFIS Response

Stage Submission for APO

[ APO Mode ]

Store Responses

[ APO Mode ]

Analyze Comparative Data

Analyze Performance Data (from pTM logs)

Comparative & Performance Analysis Complete

Re-send IAFIS Submission

Store IAFIS Submissions

Receive & Process Submission

Receive & Process Submission

Receive & Process Submission

[ SPO Mode ]

[ APO Mode ]

: Secondary : Primary : IAFIS : POA : APO Administrator : Submitter

Send Submission

Receive Response(s)

Sent to other agencies as well

Initiate APO

Re-send Submission / IAFIS Response

Stage Submission for APO

[ APO Mode ]

Store Responses

[ APO Mode ]

Analyze Comparative Data

Analyze Performance Data (from pTM logs)

Comparative & Performance Analysis Complete

Re-send IAFIS Submission

Store IAFIS Submissions

Receive & Process Submission

Receive & Process Submission

Receive & Process Submission

[ SPO Mode ]

[ APO Mode ]

: Secondary : Primary : IAFIS : POA : APO Administrator : Submitter

Page 17: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

17

Derivation

Objective: To determine what IT Functions are required to enable and support the processes and activities determined in decomposition

: POA : POA : NistCompare : NistCompare source :

JNistpacksource :

JNistpacktarget :

JNistpacktarget :

JNistpack :

Discrepancy :

Discrepancy :

DiscrepancyCollection :

DiscrepancyCollection

ctor( )

readVerification(filename)

readTransaction(filename)

For each

image:

If discrepency:

For each

Text Field:

If discrepency:

Initialize:

ctor(Source, Target)

compareNist( )

compareImage(Source, Target, RecordNum, Index)

compareText(Source, Target, RecordNum, Index)

storeDiscrepencies( )

ctor( )

findItem( )

ctor( )

getImage( )

ctor( )

readVerification(filename)

readTransaction(filename)

IT Classes (Services and Service Components) are derived from objects in the process

Page 18: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

18

Structuring and Allocation: Step 1

Objective: To Structure and group IT functions into Services to:• Minimize the number of redundant functions• Optimize the grouping of IT functions for allocation• And to Allocate the grouped functions to actual service components

Step 1: Structure Classes with Communications Diagrams

Objective: Determine tightly and loosely coupled classes (and functions)

• Step 1.1 Create Communications Diagram− Initiate by Duplicating IT portions of Activity

Diagrams as Communication Diagrams− Two Top-level Classes:

Service Process Flow

Page 19: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

19

Structuring and Allocation: Step 1

Initiate Asynchronous

Operations

Launch APO

Controller

Exit APO

Controller

Select Data Select Load

Factor

Selected data processed

by NG-ABIS 1.0

Process

QueueSend

Submission

Display

GUI

Display

Results

Pre-Process

Queue

Initialize

Send IAFIS

Response

[ records = 0 ]

Receive IAFIS

Submission

Store IAFIS

Submission

Receive Match

Response

Store Match

Response

Receive

Submission

Receive IAFIS

Response

Process

Submission

Send IAFIS

Submission

Send Match

Response

Process IAFIS

Response

Flow may overlap with

Send Response AD

starting here

Flow may overlap with

Send IAFIS Submission

AD starting here

[ records > 0 ]

NG-ABIS 1.0 : Secondary : POA : APO Administrator

Level 2 – Seq. Dia.: Stage APO* Class Diagram

*Asynchronous Parallel Operations

Inputs to Communications Diagram

Class Diagrams

POSCandidate

The POS Communications Diagram

Page 20: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

20

Structuring and Allocation: Step 2

Objective: To Structure and group IT functions into Services to:• Minimize the number of redundant functions• Optimize the grouping of IT functions for allocation• And to Allocate the grouped functions to actual service components

Step 2: QFD and Graph AnalysisObjective: Determine the minimum number

of Logical Service Components Required• Step 2.1 Graph Analysis—Analysis of

Communications Diagrams• Analysis Principles Include:

−Noting where one class communicates only with one other class or a small group of classes−Noting where there is one or two links between groups of classes

• Step 2.2 Quality Functional Deployment Analysis

Page 21: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

21

Structuring and Allocation: Graph Analysis

Initiate Asynchronous

Operations

Launch APO

Controller

Exit APO

Controller

Select Data Select Load

Factor

Selected data processed

by NG-ABIS 1.0

Process

QueueSend

Submission

Display

GUI

Display

Results

Pre-Process

Queue

Initialize

Send IAFIS

Response

[ records = 0 ]

Receive IAFIS

Submission

Store IAFIS

Submission

Receive Match

Response

Store Match

Response

Receive

Submission

Receive IAFIS

Response

Process

Submission

Send IAFIS

Submission

Send Match

Response

Process IAFIS

Response

Flow may overlap with

Send Response AD

starting here

Flow may overlap with

Send IAFIS Submission

AD starting here

[ records > 0 ]

NG-ABIS 1.0 : Secondary : POA : APO Administrator

POSCandidate

SecondaryService

Candidate

Service Candidates are identified by base grouping or clustering of functions and communications interfaces

Interface used here

Page 22: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

22

Structuring and Allocation: QFD Analysis

Quality Functional Deployment analysis is common sense with a template

Activity+

Service*

+Activity from Activity Diagram*Service from Communications Diagram

―Roof‖ added to determine level of

service (functional) redundancy

Note: QFD analysis is generally used to determine + or –correlations between two phenomena, but used here to determine:• If all activities have associated services• Where services are highly correlated leading to redundant services

Send Submission

Send IAFIS Response

Rec. IAFIS Response

Rec. Match Response

Store IAFIS Response

etc.

Asy

nc.

O

pera

tions

etc

.

Papa. O

ps

Serv

ice

Send

Subm

issi

on

Serv

ice

Send I

AFIS

Subm

issi

on

Serv

ice

++

++

+

+

+

+

+ = some correlation++ = high correlation

―The House of Quality‖

Page 23: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

23

Structuring and Allocation: Step 3

Objective: To Structure and group IT functions into Services to:• Minimize the number of redundant functions• Optimize the grouping of IT functions for allocation• And to Allocate the grouped functions to actual service components

Step 3: Dynamic Service/functional ModelingObjective: Use simulation to verify, within a

confidence interval, that the functional model will meet the customer’s system requirements

• Currently, the SOA and SA tools suppliers do not support this activity to the degree required by SOA

Page 24: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

24

Structuring and Allocation: Step 4

Objective: To Structure and group IT functions into Services to:• Minimize the number of redundant functions• Optimize the grouping of IT functions for allocation• And to Allocate the grouped functions to actual service components

Step 4: Allocation of Services/Functions to Actual Components

Objective: Allocate the services/functions to components using a make/buy/use tradeoff study procedure

• Step 4.1: Assign Design Constraints to Proposed Components

• Step 4.2: Perform Tradeoff Study− Make—the team develops the service component− Buy—the service component is purchased from a

software supplier− Use—the team discovers and uses a service

component in the SOA Ecosystem (across the Internet

Page 25: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

25

Results to Date

• The team has completed the Systems Requirements Document (SRD) to establish the requirements baseline with the customer. This includes:– Identifying the processes and activities (in the form of use cases)

– Identifying the design constraints

• The team has decomposed the requirements in the SRD into two levels of Activity Diagrams to define the ―detailed what‖ with the customer. This was delivered as the System Design Document

• The team derived the IT functions by translating the detailed Activity Diagrams into Sequence and Class diagrams

• The team then allocated these into the specific components (COTS, existing software, new software, server scripts, hardware, and networks) to create the detailed design. This was integrated into the Detailed Design Document and presented to the customer for a very successful Critical Design Review

Page 26: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

Questions?

Page 27: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

27

Contact Information

• Robert S. Ellinger, Ph.D.

[email protected]

• Gabriel Hoffman

[email protected]

Page 28: Creating a Systems Architecture for an SOA-based IT System ... · Creating a Systems Architecture for an SOA-based IT System as Part of a Systems Engineering Process Robert S. Ellinger,

28