SOA项目实施经验交流

SOA项目实施经验交流

石磊
专业服务部经理
BEA中国
BEA
中国
BEA World Beijing 2006
BEA Confidential

议 程
什么是SOA项目
项目?
什么是
项目?
SOA项目实施的主要工作
项目实施的主要工作 

技术层面
服务生命周期及服务基础架构 

管理层面
SOA 的项目管理
SOA 的组织及管控

BEA Confidential ©2006 BEA Systems, Inc.

|

2

议 程
什么是SOA项目
项目?
什么是
项目?
SOA项目实施的主要工作
项目实施的主要工作 

技术层面
服务生命周期及服务基础架构 

管理层面
SOA 的项目管理
SOA 的组织及管控

BEA Confidential ©2006 BEA Systems, Inc.

|

3

什么是SOA?

什么是

“面向服务的架构(SOA)是一种企业IT策略

和IT治理解决方案,它将企业应用中的业
务功能重新整理为具有互操作性的标准服
务,达到企业信息全面贯通,同时企业可
以迅速组合和重用这些服务,以满足企业
业务快速发展的需要。”

BEA Confidential ©2006 BEA Systems, Inc.

|

4

SOA的业务和
SOA的业务和IT
的业务和IT驱动
IT驱动
业务驱动 

为业务革新实现灵活运作 

实现实时处理和监控 

组织结构、业务流程的变化

IT驱动 

重构复杂的现有系统 

解决现有系统问题
开发周期长,成本提高
运维成本增加
极少知识共享 (业务流程和架构)

BEA Confidential ©2006 BEA Systems, Inc.

|

5

SOA不是一个独立的项目
SOA不是一个独立的项目

项目及应用
1

2

3

B

1

3

4

C

6

7

5

D

2

7

8

E

7

10

11

F

8

9

10

11

12

G

1

3

7

9

11

表示服务
5

5

8

10

11

12

7
3

信息与访问服务
1

2

4

6

服务目录
通过持续的不同的业务驱动的项目,SOA
使企业获得真正的价值

1

2

3

4

5

6

7

8

9

10

11

12

BEA Confidential ©2006 BEA Systems, Inc.

|

6

公用服务

9

9

服务总线

服务管理

共享业务服务

服务基础架构

A

复合应用

SOA进入点
SOA进入点象限
进入点象限图
象限图

1. 强大的管理模式
- CIO和企业架构师驱动项目

业务主导项目

- 相关业务部门支持统一的IT规则

百万级大型项目

- 客户具备对SI的IT管控机制

业务相关性

2. 解决点对点问题的典型项目
- 最高优先级是解决点对点连接问题
- 大多数客户有着同样的问题

3. 从遗留系统向开放技术/平台移
植的项目
4. 复杂的IT环境

IT主导项目
主导项目

流程项目

- 主机
- ERP
- C/S系统

- J2EE

SOA复杂度
复杂度
BEA Confidential ©2006 BEA Systems, Inc.

- .Net

|

7

议 程
什么是SOA项目
项目?
什么是
项目?
SOA项目实施的主要工作
项目实施的主要工作 

技术层面
服务生命周期及服务基础架构 

管理层面
SOA 的项目管理
SOA 的组织及管控

BEA Confidential ©2006 BEA Systems, Inc.

|

8

技术层面
服务的生命周期及服务基础架构

BEA Confidential ©2006 BEA Systems, Inc.

|

9

每一个服务都有它自己的生命周期

Identify &
Design

Build or
Enablement

Deploy &
Secure

Publish &
Discover

Enterprise
Deployment
& Security

Compose

Operate &
Manage

Analyze &
Evolve

类似于应用开发生命周期但是其中结合了服务理念
在企业级范畴内SOA成功实施的关键是能通过复用及可扩展的方式管理服务
的生命周期
在每个服务生命周期阶段内套用合适的基础架构产品及最佳实践
组织架构及项目规划应当促进对服务生命周期的管理
注意:
服务生命周期中的这些单元不是一个固定的序列,
它依赖于具体的服务级别,
注意
:服务生命周期中的这些单元不是一个固定的序列
,它依赖于具体的服务级别
,其
中的一些步骤可能因具体情况不同而次序不同。
中的一些步骤可能因具体情况不同而次序不同
。如上的服务次序仅是没有既有服务条件
下的服务生命周期的一个展现

BEA Confidential ©2006 BEA Systems, Inc.

|

10

服务的识别及设计
Application & Service Infrastructure
Identify &
Design

Build or
Enablement

Deploy &
Secure

Publish &
Discover

Enterprise
Deployment
& Security

Compose

Operate &
Manage

Analyze &
Evolve 

服务的梳理

什么要做成服务?
从哪里找到服务? 

企业业务的抽象

在未来的项目中确实需要这个服务吗? 

信息集成的需求 

对于潜在的服务需求来说开发一个服务的成本是合理的吗? 

将功能开发一个服务的成本可能需要大于25% 

梳理/分析的手段 
跨部门/业务模块集成需求分析 
企业级流程分析

将应用功能使能为粗粒度的服务对其它应用来说有足够的意
义吗? 

细颗粒度服务在带来灵活性的基础上,产生成本和管理的问题 

这个成本是否物有所值? 

业务模块梳理 
服务的规范 
服务接口规范

这个服务是否使用了系统的中性数据格式? 

服务功能性和非功能性定义规范

从性能方面应当考虑什么? 

服务的封装 

增加服务层会因SOAP消息的序列化和反序列化导致一定的延迟。 

新服务 

服务消费者的数量增加会给后端系统带来计划外的负载 

组合服务

从安全角度看会有什么新的影响?
BEA Confidential ©2006 BEA Systems, Inc.

|

11

服务定义内容
功能:

实现:

非功能:

负责方

统计

实现方式

所属业务模块

审计

服务分解

位置

监控

服务合同

业务功能

性能

协议

应用模块

安全

接口

依赖或相关的其他服

告警

数据模型
服务容器

变更

IP
Port
URI

BEA Confidential ©2006 BEA Systems, Inc.

|

12

服务的实现和演变过程

服务分析
业务模块梳理
跨部门需求分析
企业级流程分析

服务设计/封装
服务设计 封装

服务集成/服务编排
服务集成 服务编排(
服务编排(流程)
流程)
服务分析

发现服务

流程模板

调用服务

流程建模
服务编排

服务模板
服务接口规范
业务模块服务化改造
服务开发/封装

服务注册
服务注册

BEA Confidential ©2006 BEA Systems, Inc.

|

13

作为服务识别驱动器的业务流程
订单管理流程

共享的表示服务

共享的数据服务

Customer
Relationship
Management

CRM

Sales and Marketing

SFA

Prodict

Production Planning

product
ERP.

SCM

Manufacturing

productinfo.

Inventory & Logistics

DB

LMS

MES

应用竖井

BEA Confidential ©2006 BEA Systems, Inc.

Inv MGMT

|

14

B2B

Finance & HR

ERP

服务的实现(
服务的实现(应用服务化)
应用服务化)
Application & Service Infrastructure
Identify &
Design

Build or
Enablement

Deploy &
Secure

Publish &
Discover

Enterprise
Deployment
& Security

Compose

Operate &
Manage

Analyze &
Evolve

服务实现能通过多种方式完成:
•开发新应用
开发新应用
•复合新业务流程
复合新业务流程
•或从既有企业应用中改造
或从既有企业应用中改造
通用服务能通过上述任意一个方式实现,比如说日志、安全和意
外事件管理等等
应用的服务化框架可减少服务实现的周期和成本

BEA Confidential ©2006 BEA Systems, Inc.

|

15

部署及安全
Application & Service Infrastructure
Identify &
Design

Build or
Enablement

Deploy &
Secure

Publish &
Discover

Enterprise
Deployment
& Security

Compose

Operate &
Manage

Analyze &
Evolve

选择一个健壮的、高容错能力、可扩展性强的服务部署容器。这个容器应当能够提
供: 

插入式的安全基础架构(身份验证、授权管理、加密、防假冒) 

服务的可隔离性和易配置性 

服务的监控和管理

考虑服务容器的性能和它可能带来的响应延迟

BEA Confidential ©2006 BEA Systems, Inc.

|

16

服务部署
应用和服务基础架构
Identify &
Design

Build or
Enablement

Deploy &
Secure

Publish &
Discover

Enterprise
Deployment
& Security

Compose

Operate &
Manage

Analyze &
Evolve

对服务的企业级范围的部署来而言是迫切需要一个高级的服务部署平台的。而且
这个平台需要有如下特性: 

避免在服务消费者和提供者之间的点对点的服务连接,确保松耦合 

服务请求发生时提供基于动态路由和转换的配置 

集成既有企业安全平台提供对服务的基于配置的访问控制 

提供可扩展的监控和SLA管理能力

BEA Confidential ©2006 BEA Systems, Inc.

|

17

服务管理服务管理-从操作级别到业务级别的提升

管理数据抽象的级别

业务参数

业务活动

SOA 管理

业务SLAs
业务异常

端到端的事务管理
操作参数

操作SLAs

企业服务总线
(ESB)

错误管理
系统可靠性

系统吞吐
事件追踪

分布式部署

BEA Confidential ©2006 BEA Systems, Inc.

|

18

在服务生命周期中需要服务基础架构
Application & Service Infrastructure
Identify &
Design

Build or
Enablement

Deploy &
Secure

Enterprise
Deployment
& Security

Publish &
Discover

应用基础架构 提供了用于高效开发、
运行以及管理基于应用开放标准的平台

Compose

Operate &
Manage

Analyze &
Evolve

服务基础架构 提供了用以运作复合应用的异
构服务网络的平台 

编程模型依赖性(J2EE or .Net ) 

应用编程模型独立性 (J2EE or .Net ) 

利用开放标准和前沿标准 

基于开放标准 

提高生产效率的框架(开发和运行时)  

提供零宕机、易于应用管理的健壮平台 

典型的部署于一个既定的业务平台上 

支持既有服务的运行时的配置,以及新服务的
开发
支持服务的分布式部署

BEA Confidential ©2006 BEA Systems, Inc.

|

19

参考服务基础架构
指导方针

服务消费者
System A

System B

System C

针对所有开发人员
• 系统连接性指导 ( 如参考架构 )

针对服务消费者

企业服务总线
File

File

格式转换

JMS

格式转换

• 服务消费者指导

针对服务管理员和开发人员
• 基于服务总线的服务开发指导

企业服务目录

路由

• 设计服务总线架构的指导
• 运行服务总线的指导

服务提供者
服务
Service
Enabler

服务

WebService

サービス
服务

• 服务目录管理的指导

Service
Enabler

针对服务提供者

服务

• 服务提供者指导
• 基于现有系统改造的SOA实现指导
• 基于J2EE的SOA实现指导

System D

System E

System F
(J2EE)

System H
(SAP)

BEA Confidential ©2006 BEA Systems, Inc.

|

20

管理层面
SOA 项目管理
项目管理

BEA Confidential ©2006 BEA Systems, Inc.

|

21

SOA项目特征
项目特征
SOA 项目能够比传统IT项目更为复杂
SOA 项目需要在IT部门和业务部门间有更多的交流
建议SOA 项目需要在现有的角色(管理人员)中增加新的角色和职位
一些应用开发的方法论可能不适合与SOA 项目中
跟传统的IT项目相比, SOA 项目能带来不同成效

BEA Confidential ©2006 BEA Systems, Inc.

|

22

SOA项目管理中需要考虑的
项目管理中需要考虑的……
项目管理中需要考虑的……
利用服务作为IT部门和业务部门交流的通用语言
利用服务作为分解系统需求的方式
利用服务作为项目驱动的主导力(设计、开发、部署等等)
利用服务作为成本控制、项目周期估算以及获得资源的基础
利用服务作为项目的考核点(checkpoints、milestones)
利用服务作为迭代开发规划的基础
利用服务作为项目同步的基础
利用服务作为项目测试及发布计划的基础

BEA Confidential ©2006 BEA Systems, Inc.

|

23

管理层面
SOA 组织及管控

BEA Confidential ©2006 BEA Systems, Inc.

|

24





建立和强化设计阶段对服务和
SOA应用设计的规则和流程


什么是SOA组织
什么是
组织和控制
组织和控制?
和控制?

建立和强化对服务和SOA应
用运行阶段时对服务和应用
的管理、变更、和取消的规
则和流程控制

SOA组织和
组织和
控制
资源

建立对规则、流程、架构、标准
的持续性评估和及时有效更新

管控确保SOA环境的持续完整性

BEA Confidential ©2006 BEA Systems, Inc.

|

25

为什么需要SOA
为什么需要SOA组织和控制
SOA组织和控制?
管理管理的SOA业务和IT资产

跨业务部门的项目  

只要有多业务部门的参与,必定
会有组织管理上的问题
不同部门的投入对获得价值的不
同预期

SOA引入了很多边界    

业务服务 

服务基础架构 

SOA应用和项目 

SOA规划,标准和规范

管理控制的需求

业务流程的服务是分布的 

涉及到跨部门/业务模块的服务组
合和编排 

分散的物理位置和价值链

BEA Confidential ©2006 BEA Systems, Inc. 

|

不同和服务的组织和角色的参

执行的时序和相互影响
确保所有SOA的决策能有效地执
行并实现SOA价值

26

不同SOA管控角色
管控角色

制定SOA管理模式和规则
制定总体方向
确定执行优先级
审批关键决定
解决重要的问题

SOA管理组织
SOA管理委员会



制定总体SOA架构
制定服务标准
制定服务实现技术规范
服务重用性审批
服务变更审批

定义服务功能
分析如何使用已有服务的功能

CIO
信息中心
相关部门主管

集中SOA架构中心

企业架构师
安全架构师

服务功能分析

功能/需求分析师

SOA服务架构师和顾问队伍

应用架构师
SOA技术顾问

服务开发队伍

开发人员

测试人员

BEA Confidential ©2006 BEA Systems, Inc.

|

27

识别和确定新的服务
协助服务的设计
制定服务规范
审查服务的设计
制定和审核服务投放上线标准

服务详细设计
开发或修改服务
测试服务
部署服务
调用服务

SOA管控需要一定的组织调整
管控需要一定的组织调整(
管控需要一定的组织调整(例)
客户

BEA
BEA 合作伙

CIO

集成商
BEA SOA 队伍

变更

EA 队伍

项目管理办公室

经理

经理
项目经理

架构师

企业架构师和
项目经理

高级顾问

项目经理

客户 SOA 办公室
开发人员/维护人员
开发人员 维护人员

OtherExternal
External
Other
其他外部系统
System( (Legacy
Legacy) )
System
( J2EE )

企业服务总线和企业服务目录项目

OtherExternal
External
Other
门户
(
J2EE
)
System( (Legacy
Legacy
System
))

财务项目

Other
External
Other
External
其他内部系统
System
( Legacy
System
( Legacy
) )
( Legacy
)
Legacy App 架构

架构师

J2EE 架构师

J2EE 架构师

经理

经理

经理

经理

项目团队

项目团队

项目团队

项目团队

BEA Confidential ©2006 BEA Systems, Inc.

|

28

BEA Confidential

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.