12
© IBM Copyright 10/01/07 © 2007 IBM Corporation SOA 编程模型 : SCA/SDO 黄若波 ([email protected]) SOA 设计中心 , IBM 中国软件开发中心

Ibm Soa编程模型

Embed Size (px)

Citation preview

Page 1: Ibm Soa编程模型

© IBM Copyright 10/01/07 © 2007 IBM Corporation

SOA 编程模型 : SCA/SDO

黄若波 ([email protected])SOA 设计中心 , IBM 中国软件开发中心

Page 2: Ibm Soa编程模型

© 2007 IBM Corporation2 © IBM Copyright 10/01/07

提纲

为什么要 SOA

SOA 的编程模型

SCA/SDO 介绍

为什么使用 SCA/SDO

Page 3: Ibm Soa编程模型

© 2007 IBM Corporation3 © IBM Copyright 10/01/07

商务模型的灵活性需要 IT 体系架构的支持和协作

Page 4: Ibm Soa编程模型

© 2007 IBM Corporation4 © IBM Copyright 10/01/07

面向服务的建模与分析

Page 5: Ibm Soa编程模型

© 2007 IBM Corporation5 © IBM Copyright 10/01/07

SOA 项目中的角色

Rational RequisiteProRational RequisitePro

Create, Simulate & Analyze As-Is

Business Model

WebSphere Business Modeler

Create FinancialReports & ROI

Estimates

Create Observation Model with KPIs & export to Monitor

Create, Simulate, Analyze and Optimize To-Be Business Model

BusinessAnalyst

Create, Simulate & Analyze As-Is

Business Model

WebSphere Business Modeler

Create FinancialReports & ROI

Estimates

Create Observation Model with KPIs & export to Monitor

Create, Simulate, Analyze and Optimize To-Be Business Model

BusinessAnalyst

Integration Developer

WebSphere Integration Developer Choreograph

services using BPEL, WSDL,

etc.

Configure Human Task Manager

(including Ad-Hoc) & Client

Assemble Solution(BPEL, Human Task Manager, Business

Rules, etc)

Integration Developer

WebSphere Integration Developer Choreograph

services using BPEL, WSDL,

etc.

Configure Human Task Manager

(including Ad-Hoc) & Client

Assemble Solution(BPEL, Human Task Manager, Business

Rules, etc)

WebSphere Integration Developer Choreograph

services using BPEL, WSDL,

etc.

Configure Human Task Manager

(including Ad-Hoc) & Client

Assemble Solution(BPEL, Human Task Manager, Business

Rules, etc)

Understand Risk, Project Costs,

and ROI

Identify and Manage

Projects and Resources

CIO

ProjectManager

Rational PortfolioManager

Understand Risk, Project Costs,

and ROI

Identify and Manage

Projects and Resources

CIO

ProjectManager

Rational PortfolioManager

DataArchitect

ModelRelationalDatabaseSchemas

Rational DataArchitect

RDB Mapping

Trace Requirements & Create System

Use Case Realizations

Model & Implement Services, & expose as

Web Services

Test Create & Manage

SystemRequirements

Architect

RationalSoftwareArchitect Java

Developer

Develop Portlets(App UI

and Monitor)

PortalDeveloper

Tester

Rational Functional & Performance Tester

DataArchitect

ModelRelationalDatabaseSchemas

Rational DataArchitect

RDB Mapping

DataArchitect

ModelRelationalDatabaseSchemas

Rational DataArchitect

RDB Mapping

Trace Requirements & Create System

Use Case Realizations

Model & Implement Services, & expose as

Web Services

Test Create & Manage

SystemRequirements

Architect

RationalSoftwareArchitect Java

Developer

Develop Portlets(App UI

and Monitor)

PortalDeveloper

Tester

Rational Functional & Performance Tester

Trace Requirements & Create System

Use Case Realizations

Model & Implement Services, & expose as

Web Services

Test Create & Manage

SystemRequirements

Architect

RationalSoftwareArchitect Java

Developer

Develop Portlets(App UI

and Monitor)

PortalDeveloper

Tester

Rational Functional & Performance Tester

IBM Rational Team Unifying PlatformIBM Rational Team Unifying Platform

BPELWSDLBPELWSDL

UMLUML

DBA

Deploy/Run

MonitorBusiness

OperationsAnalyst

RuntimeWebSphere Process ServerWebSphere Portal WebSphere Business Monitor

DBA

Deploy/Run

MonitorBusiness

OperationsAnalyst

RuntimeWebSphere Process ServerWebSphere Portal WebSphere Business Monitor

Deploy/Run

MonitorBusiness

OperationsAnalyst

RuntimeWebSphere Process ServerWebSphere Portal WebSphere Business Monitor

WSDLEAR

WSDLEAR

WSDLEAR

WSDLEAR

Observation ModelObservation Model

Run-time StatisticsRun-time Statistics

Page 6: Ibm Soa编程模型

© 2007 IBM Corporation6 © IBM Copyright 10/01/07

SOA 编程模型

Page 7: Ibm Soa编程模型

© 2007 IBM Corporation7 © IBM Copyright 10/01/07

SDO:

disconnected data architect

目的 : 简化对于数据的编程 ,使得程序员可以关注于业务逻辑而不是后台实现技术 :

统一访问不同数据源的数据编程模型

对于常用的应用程序设计模式进行支持

使得应用程序 , 工具以及框架结构可以更加容易地查询 , 浏览 , 绑定 ,更新 , 检查数据 .

Page 8: Ibm Soa编程模型

© 2007 IBM Corporation8 © IBM Copyright 10/01/07

SCA: 模块 , 组件 , 接口 , 引用 , 连线

Page 9: Ibm Soa编程模型

© 2007 IBM Corporation9 © IBM Copyright 10/01/07

为什么使用 SCA/SDO:

统一的接口来访问数据和服务 :

SDO 提供强类型方法来访问数据

SDO 提供使用 Type/Property 来访问数据

SCA 提供不同的实现的选择

SCA 提供统一的服务调用接口

// Get the list of departments

List departments = company.getList("departments");

// Get the department at index 0 on the list

DataObject department = (DataObject) departments.get(0);

List properties = dataObject.getInstanceProperties();

for (int p=0, size=properties.size(); p < size; p++){….

String propertyName = property.getName();

Type type = property.getType();

String typeName = type.getName();}

ServiceImpl service = (ServiceImpl)serviceManager.locateService(“myService”);

Service.method(“input”); // 或者

Service.invoke(“op”,”input”);

Page 10: Ibm Soa编程模型

© 2007 IBM Corporation10 © IBM Copyright 10/01/07

为什么使用 SCA/SDO

更高的灵活性

– 不改变应用程序情况下 , 使用不同的技术来作为组件的实现 , 或者改变通信协议等等 .

– 模块可以容易地被重用

– 可以很容易地组装应用程序

– 易于修改和变动

Page 11: Ibm Soa编程模型

© 2007 IBM Corporation11 © IBM Copyright 10/01/07

为什么使用 SCA/SDO

提高生产率

– 不同角色的人有不同的关注点

– 减低项目开发的技术要求

– 降低整个项目开发的集成风险

– 提供一种敏捷开发的方法

流程集成集成开发人员

J2EE,.Net… 的服务实现服务开发人员

系统架构分析 , 设计软件架构师

业务逻辑 , 业务流程 , 业务分析 , 业务模拟业务分析人员

BPEL, 业务流程 , 组装集成开发人员

Java, .Net….服务开发人员

UML, BPEL,SOA,软件架构师

业务领域语言 ,业务分析人员

Page 12: Ibm Soa编程模型

© 2007 IBM Corporation12 © IBM Copyright 10/01/07

Thank You

MerciGrazie

Gracias

ObrigadoDanke

Japanese

English

French

Russian

German

Italian

Spanish

Brazilian PortugueseArabic

Traditional Chinese

Simplified Chinese

Hindi

Tamil

Thai

Korean