ibm soa编程模型
Post on 02-Jul-2015
1.688 Views
Preview:
TRANSCRIPT
© IBM Copyright 10/01/07 © 2007 IBM Corporation
SOA 编程模型 : SCA/SDO
黄若波 (huangrb@cn.ibm.com)SOA 设计中心 , IBM 中国软件开发中心
© 2007 IBM Corporation2 © IBM Copyright 10/01/07
提纲
为什么要 SOA
SOA 的编程模型
SCA/SDO 介绍
为什么使用 SCA/SDO
© 2007 IBM Corporation3 © IBM Copyright 10/01/07
商务模型的灵活性需要 IT 体系架构的支持和协作
© 2007 IBM Corporation4 © IBM Copyright 10/01/07
面向服务的建模与分析
© 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
© 2007 IBM Corporation6 © IBM Copyright 10/01/07
SOA 编程模型
© 2007 IBM Corporation7 © IBM Copyright 10/01/07
SDO:
disconnected data architect
目的 : 简化对于数据的编程 ,使得程序员可以关注于业务逻辑而不是后台实现技术 :
统一访问不同数据源的数据编程模型
对于常用的应用程序设计模式进行支持
使得应用程序 , 工具以及框架结构可以更加容易地查询 , 浏览 , 绑定 ,更新 , 检查数据 .
© 2007 IBM Corporation8 © IBM Copyright 10/01/07
SCA: 模块 , 组件 , 接口 , 引用 , 连线
© 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”);
© 2007 IBM Corporation10 © IBM Copyright 10/01/07
为什么使用 SCA/SDO
更高的灵活性
– 不改变应用程序情况下 , 使用不同的技术来作为组件的实现 , 或者改变通信协议等等 .
– 模块可以容易地被重用
– 可以很容易地组装应用程序
– 易于修改和变动
© 2007 IBM Corporation11 © IBM Copyright 10/01/07
为什么使用 SCA/SDO
提高生产率
– 不同角色的人有不同的关注点
– 减低项目开发的技术要求
– 降低整个项目开发的集成风险
– 提供一种敏捷开发的方法
流程集成集成开发人员
J2EE,.Net… 的服务实现服务开发人员
系统架构分析 , 设计软件架构师
业务逻辑 , 业务流程 , 业务分析 , 业务模拟业务分析人员
BPEL, 业务流程 , 组装集成开发人员
Java, .Net….服务开发人员
UML, BPEL,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
top related