1、BEA Confidential.|1BEA SOA BEA SOA 方法方法论论 与相关产品与相关产品简介简介劳虎劳虎 Tiger Hsiao Tiger Hsiao首席首席 SOA SOA 顾问顾问BEA BEA 系统大中华区系统大中华区两个 IT 从业人员的对话(发生在美国的真实故事):“你们公司 SOA 实施得怎么样了?”“我们的架构师 认为它是面向服务;我们的开发人员 则很坚定地认为它是面向对象;而业务分析师 则希望它能更加的面向业务。”“就我个人感觉,我只能说,自从我们开始采用 Web services 后,的确和过去有点不同。”什么是 SOA?什么是 SOA?BEA 标准官方定义
2、面向服务架构SOA 是一种架构面的方法论,用来产生松耦合、互通的业务服务,这些服务可轻易地在企业内和跨企业间共享并重复利用SOA 的多个维度基本思维面向服务的思考SOA 趋势的历史背景IT-业务磨合 业务流程 vs.可重复使用的核心业务模块传统设计思维 vs.面向服务的设计思维:乐高积木规划维度SOA 切入点项目推展策略:自上而下 vs.自下而上;战略性 vs.战术性蓝图路线图规划:Enterprise Architecture成熟度模型技术架构维度 服务基础设施(Service Infrastructure/Fabric)企业服务总线,数据服务,BPM,门户,Registry,Reposit
3、ory,服务管理,安全业界规范 WS-I,BPEL,SCA,SDO,服务生命周期维度服务分析、设计和建模服务开发,测试,优化治理、运营、管理维度服务工程BEA Confidential.|5基础思维维度基础思维维度项目需求互不相连的应用竖井倚赖传统 EAI 技术做点对点连接业务部门IT传统项目交付方式应用竖井传统的需求管理,面向应用整合是后来才考虑的造成了这样的现状上述历史问题的根源 传统面向应用系统的解决方式业务模型技术模型(往往以需求的形式)BEA Confidential.|9新思维,新对策新思维,新对策上升到业务的高度来解决上升到业务的高度来解决问题问题面向服务下的新设计思维对话层,磨
4、合层业务模型技术模型服务模型FinanceCustomer serviceFulfillment业务的世界(业务流程)实践业务-IT 紧密配合可视为消费者和供应者关系,二者间遵循服务契约Verify customer standingGet customer informationReject orderAssign priorityGet account informationFulfill orderLargeSmallBadGoodIT 的世界(业务服务)业务服务业务流程Account serviceCustomer data serviceFulfil order serviceOth
5、er serviceOther service IT 系统以业务服务的方式暴露给业务流程使用,提供紧密配合和弹性 服务编排(Service Orchestration):将每个服务映射到业务活动中的步骤员工消费者HR供应者基于合同的设计 和 服务粒度以“请假”为例服务调用框架Employee inquiryCheck ScheduleRoute ApprovalCheck HolidaysTransform Data FormatRequest ApprovalIT 的世界各种类型和层次的服务请假流程服务合同服务合同SOA 基于服务合同的设计理念业务服务必须基于双方协议的合同服务消费者和供应者
6、关系无需关注幕后满足合同的方式(落地的技术)服务供应者可视需求更换合同类型功能性合同 Functional Contract基于合同的设计 Design by Contract 前提,后续条件 Pre-/Post-Conditions接口 Interface操作面合同 Operational Contract服务水平协议 QoS,SLA商业条款 Business Terms企业业务需求存储库(Enterprise Repository)SOA 应用基于共享服务通过服务基础设施进行组装和交互业务服务交付过程起于SOA 需求管理项目需求迭代精炼发布功能模型与企业需求面向服务的需求管理先天具备整合能
7、力,适应力强,灵活服务合同AsynchronousSOAPDesign by Contract合同-接口-实施之间的关系IMPLEMENTATIONINTERFACECONTRACTC+,Java,COBOL,SAP,PeopleSoft,J2EE,.NETAsynchronousSOAPWS-ReliableMessagingEXTERNAL CUSTOMERSLASecurityINTERNAL USERPurposePoliciesOperations/ExceptionsSemanticsProtocol,QOSInvocation StylePre/Post ConditionsWS
8、-PolicySynchronousSOAPINTERNAL USERInvocation StyleWS-PolicyWS-SecurityEXTERNAL USERSecurity+BEA Confidential.|16参考架构和基础设施维度参考架构和基础设施维度服务参考架构 Reference Architecture“Role-based”复合式应用连接至符合公开标准的业务服务,利用充分集成的基础平台来开发、管理、支持利用从各个定制、套装,和遗留应用系统中所取得的内容表现服务共享的业务服务信息和访问服务服务管理服务总线公用服务服务基础架构层非功能性需求销售人员B2E工程人员B2C服务
9、人员合作伙伴客户复合式应用标准开发工具配置管理系统管理网络管理供应业务活动监控目录合作伙伴企业信息系统数据库中间件定制应用第三方产品(ERP、CRM等)数据库中间件(TUXEDO,MQ 等.)Federated PortalFocus on:Look and Feel Usability Entitlements User AuthenticationBusiness Process ServicesData ServicesCustomerOrderService ProvidersBusiness ServicesBusiness LogicBusiness LogicDataSystem
10、Access ServicesShared Services Infrastructure Customer Service Customer Self-Service Employee Job-centric Employee Self-Service Sales Workbench Executive DashboardPresentation ServicesComposite Applications 复合式应用层次化的服务Presentation ServicesBusiness ServicesData ServicesService BusShared Services&Infr
11、astructureData SynchronizationData AggregationEnrichmentCustom Business Services Reusable PortletsMulti-Channel DeliveryBusiness ProcessesData AccessPackaged ApplicationsLegacy ApplicationsRationalizationNon Service-Enabled AssetsDelivery Channel Architecture(Portals,Fat Clients,IVR,PDA,etc.)Employe
12、esB2EB2BB2CServicePartnersCustomersIVRClient AppsComposite ApplicationsPortalsBPM ProcessService-Enabled ApplicationsDatabases&File SystemsSystem-centric WorkflowHuman-centric WorkflowJDBCfile:/Access ServicesMessagingAdaptersCustom APIsJDBCfile:/SOA Logical Reference Architecture MediationService R
13、egistryService RepositorySecurity ServicesCommon ServicesSOA Reference Architecture最佳实践参考架构与 AquaLogic 产品的映射服务中介/路由/监控AquaLogic Service Bus数据服务/异构数据集成AquaLogic Data Services Platform门户层WebLogic Portal/AquaLogic User Interaction流程层AquaLogic BPM安全控制服务AquaLogic Enterprise Security服务注册/治理,管控AquaLogic Re
14、gistry&Repository(ALRR)业务流程管理(BPM/Workflow)企业服务总线 ESB应用访问服务数据服务遗留系统一系统三系统 N门户移动服务注册存储库端对端的服务监控,管理AquaLogic SOA Management应用集成/适配器WebLogic Integration BEA AdaptersDB数据仓库系统二桥接异构消息,重用现有服务AquaLogic Service Bus(ALSB)解决点对点服务调用的挑战异构消息交流Web Services非基于 Web Services 的消息传递混搭的调用模型B2B遗留通信协定和连接内置支持 TCP/IP socket
15、 连接透过 adapter 可连接套装应用可与.NET,Apache,WebSphere MQ 互通加速服务的重用在一个快速改变的基础架构环境中,管理和 ESB 相关的复杂行为和属性getCustAddressgetCustCreditgetCustProfilegetCustAddressgetCustCreditgetCustProfileAquaLogic Service BusERP.NETWebLogicFile SOAP(Async)LegacyJMSSOAP(Sync)MQAquaLogic Service Bus:组合,而非编码public String getEmployee
16、Name(long employeeID)throws javax.ejb.CreateException,java.rmi.RemoteExceptionConnection conn=null;PreparedStatement ps=null;try conn=this.getConnection();ps=conn.prepareStatement(select name from employees_files where idnumber=?);ps.setLong(1,employeeID);ResultSet rs=ps.executeQuery();if(rs.next()r
17、eturn rs.getString(1);return Unknown;catch(SQLException sqe)return sqe.getMessage();finally if(ps!=null)try ps.close();catch(SQLException se)throw new RemoteException(SQL Error.,se);vs应用组装针对 应用集成人员、而非开发人员所设计面向元数据的配置与组装基于现有的服务,用组装的方式组出新的应用一般企业如何提取数据?效率不高的做法,典型的问题数据存放在不同的数据库和应用程序内缺乏汇总,实时的数据呈现 数据消费者和数据
18、源间使用点对点的连接高度依赖数据源内的数据模型提高应用的复杂度 维护和发展需要更高的成本和时间PortalsWeb ApplicationsBI ApplicationsESB,EAI,BPMDWMainframeInventoryWeb ServiceHRSalesDWMainframeInventoryWeb ServiceHRSales需要的是?去除数据和不同消费者间的耦合基于元数据,可快速配置和修改,弥补传统 BI 的缺憾数据服务可以用来代表业务实体(business entities),例如:客户,订单,发票,账单隔离下层的数据源所造成的影响PortalsWeb Applicatio
19、nsBI ApplicationsESB,EAI,BPMData ServicesData ServicesData ServicesData ServicesData ServicesData ServicesData Services数据服务层AquaLogic DSP 数据服务平台虚拟化的数据层,逻辑架构Service ClientsData Services LayerPhysical ModelAddressesCustomer ProfilePending PaymentsCredited PaymentsOrdersHistory元数据RepositoryEnterprise D
20、ataJDBCData Service InternalCustomerOrderPaymentData Service APIsWeb SrvcsAdaptersCustomJ2EE,Web Service,XQuery,JMSCustomer PortalBPMMgmt DashboardESB美国国防部 SOA 先导项目Net-Centric Enterprise Services(NCES)BEA WebLogic 平台提供了一个服务基础设施,让战士、后勤补给、战斗支持,及外部支持性的利益社区(COIs)间能共享信息SOA 标准参照架构建立于 BEA 平台,搭配 Systinet(HP
21、)来负责 SOA 治理和生命周期管理,加上 Amberpoint 作 SOA 管理让美军各系统,和演化中的各利益社区(Communities of Interest),在全球信息网格(Global Information Grid)上,都能弹性、横向地共享数据与服务机 会运行在 BEA 上的解决方案成效与预期成果可透过以网络为中心的 SOA 环境,使系统和服务间可无缝地连接增加单位内、跨域、和权宜社区间的数据共享提升任务执行的效率,与改善战区战术决策的能力+国内某大银行实际案例:数据服务用来弥补数据仓库缺凡弹性的问题Pull vs.PushDS1DS2DS3DWData FileSupplem
22、ental DataLDMETLOLAPresultOLAPLDAPCognos/MISData AnalystADMTraditional ODS/EDWData ArchitectData/System administratorPhysicalP indexesLogicalV indexesServicesReport ViewData StreamData Service LayerData Service ConsumerAquaLogic Data Services Platform数据集成与信息安全:建立通用数据模型关系式数据库Oracle,DB2,SQL Server 等Fi
23、les其他数据源XML 文档CSV 文档LDAP功能性数据源Web Services.Net 与其他的超过 150 种适配器SAP,PSFT,Siebel,大机定制的 Java functions?()Web ServicesOracleAdapterDB2关键在于混用!面向数据的安全控制根据某个列的数值和用户场景来决定调用普通业务人员的视图业务领导的视图数据服务设计分层的处理方式重编码 vs.重用消除效能和重用间的取舍客户遇到的问题许多服务中都有类似的数据/逻辑层次的做法比较容易创建,但多层次有效能上的开销客户重复编写类似的逻辑ALDSP 解决方案将中间层编码压扁,提升效能业务好处更容易创建
24、和重用 更容易维护 将改变分离效能更高不逐层访问 端对端优化Customer Use Cases 实际客户用例数据虚拟化 SOA 创新计划/策略在SOA中数据往往率先被服务化数据中介和重用在SOA中需要强制数据安全将数据和人员,流程和应用相连与 企业服务总线(ESB)以及其他的 SOA 产品高度协作项目实例:基础架构 现代化/合理化数据聚合 Portal 和 Web 应用为客户,合作伙伴和员工提供单一的视图在实时的环境下从众多的资源中聚合数据确保最佳的服务质量和体验项目实例:改善/现代化 客户服务数据报告 商业智能需要实时的事务性/生产性数据来完善 BI 工具需要同时对关系型的和非关系型的数据
25、源提供支持(结构性和非结构性数据)项目实例:报表,向 Excel 用户提供实时数据AquaLogic BPM业务流程管理的生命周期中 各个阶段业务流程管理工具OptimizeOptimize流程设计工具ModelModelSimulateSimulate流程设计工具流程开发工具DeployDeploy流程运行引擎ExecuteExecute业务流程监控台BAMBAM全生命周期的100%流程可视化在业务人员和IT人员之间建立关于流程定义的一致语言和表示方法业务人员可以参与业务流程建模和优化、以及依据实际运行数据进行流程持续优化流程部署之前可以仿真执行效果具备组织结构的定义和维护方式;允许工作自动
26、分配到具体人员流程执行全程“留痕”,以便符合审计要求提供流程数据的实时监控台提供分析数据帮助持续的流程优化业务流程管理对信息化工具的要求持续流程优化AquaLogic BPM业务流程管理的生命周期中 各个阶段业务流程管理工具OptimizeOptimize流程设计工具ModelModelSimulateSimulate流程设计工具流程开发工具DeployDeploy流程运行引擎ExecuteExecute业务流程监控台BAMBAM全生命周期的100%流程可视化在业务人员和IT人员之间建立关于流程定义的一致语言和表示方法业务人员可以参与业务流程建模和优化、以及依据实际运行数据进行流程持续优化流程
27、部署之前可以仿真执行效果具备组织结构的定义和维护方式;允许工作自动分配到具体人员流程执行全程“留痕”,以便符合审计要求提供流程数据的实时监控台提供分析数据帮助持续的流程优化业务流程管理对信息化工具的要求持续流程优化AquaLogic BPM Process Designer:流程模拟配置模拟场景(流量)动态的实时调整资源分配,让业务分析师能够迅速调整业务流程的设计丰富报表选项让成本、时间以及单位一目了然能够将报表汇出成其他格式,让业务分析师能够审核并且改善流程设计AquaLogic BPM Process Designer:流程开发可重用的组件库自动产生的网页表单迅速集成异构技术平台的组件.订
28、单管理流程Enterprise Infrastructure Services(Portal,SOA,IDRS,LDAP,EAI,E-mail,IT Operations)Customer Relationship ManagementSales and MarketingProduction PlanningManufacturingInventory&LogisticsFinance&HRSFAProdictLMSInv MGMTB2BproductERP.SCMproductinfo.MESDBERPCRMBPM 能够提供一个设计、模拟、执行、管理、监控以及优化业务流程的环境什么是BPM
29、?BPM是一种能让跨越组织、系统、和应用的企业流程,达到自动化、可管理性及优化的工具,以发挥具体具体具体具体的商业价值Customer Relationship ManagementSales and MarketingProduction PlanningManufacturingInventory&LogisticsFinance&HRSFAProductLMSInv MGMTB2BEnterprise Infrastructure Services(Portal,SOA,IDRS,LDAP,EAI,E-mail,IT Operations)productERPSCMproductMESD
30、BERPCRM组织单位真实世界中的业务流程往往跨越组织、系统以及应用产品配置流程产品配置流程订单管理流程订单管理流程维护维护及售后服务流程及售后服务流程流程Process Modeling,Simulation and DocumentationProcess Management and Real-Time BAMHistorical&Trend Analysis ToolsBusinessBusinessOwnersOwnersHiPer WorkspaceProcessProcessParticipantsParticipantsProcess Server and Monitoring
31、 RepositoryAquaLogic BPMAquaLogic BPMEnterprise ServerEnterprise ServerAquaLogic BPM Suite 开发生命周期BusinessBusinessSystemsSystemsCRMDBERPBusinessBusinessAnalystsAnalystsUse Cases1.0 Get the stuff2.0 Build the picture3.0 BAM ConsolesRequirements1.1 Process Diagram2.1 Launch screen3.1 Monitoring screenP
32、rocessProcessAnalystAnalyst Process Developmentand Systems IntegrationPartnersERPDBERPDB门户在整个 SOA 架构中的意义CustomersCRMCRM部门 A部门 B部门 C联邦式的门户将 portal 资源当作网络上的服务来共享SOA 与联邦式(Federated)Portal同时拥抱 SOA 及 Portal 联邦ConsumerProducersWSRP+WSRP+WSRP+Enterprise ServiceBusServiceRegistryWLPWLPWLS.NETWebSphereCache
33、SPI服务基础设施服务生命周期:WebLogic 和 AquaLogic 针对 SOA 不同阶段Tuxedo/WebLogic:创建服务Service Infrastructure 服务基础设施组装挖掘开通安全管理运营服务生命周期Application Infrastructure 应用基础设施搭建/重构设计/识别暴露AquaLogic:组装/管理服务搭建服务架构服务治理框架BEA Confidential.|43服务生命周期维度服务生命周期维度在服务生命周期里的进程,活动与角色对应高层次的业务模型和流程部署业务解决方案依据业务需求和规则,配置检测选定业务服务所有者,排定业务服务的优先次序收集
34、业务服务需求,Policy,Contract排定优先顺序,加入解决方案资产组合中检阅需求,设计部件,模拟 UI寻求重用,检阅替代方案,评估努力规划项目,提议解决方案对业务解决方案进行开发,QA,进行 UAT设计解决方案,找出重用机会调派资源给解决方案开发团队对应用提供支持,检测和管理找出基础设施需求,建立系统环境调派资源给服务操作团队Line of Business(LOB)业务单位IT Operations 操作管理人员Solution Development 开发人员Architecture 检阅迭代的服务生命周期Build and ComposeDeploy and SecurePubl
35、ish and ProvisionEvaluate and EvolveService Definition and DesignManagementAnalysisDeliveryService LifecycleRequirements Identify,Discover&PlanOperate and Manage迭代的服务生命周期Build and ComposeDeploy and SecurePublish and ProvisionService LifecycleEvaluate and EvolveService Definition and DesignProposedJu
36、stifiedIn ProgressAssignedDefinedDesignedImplementedOperationalRetiredStartRequirements Identify&Discover PlanOperate and ManageManagementAnalysisDelivery设计期和运行期治理:ALER,ALSR 和 ALSM 各自的角色架构小组设计期运行期开发人员服务水平及服务安全控制中心服务监控AquaLogicServiceRegistry服务存储库服务组装和整合中心服务网络运营中心服务注册库ServiceAquaLogic Service BusEnterprise Service BusServiceServiceService安全BPMBEA Confidential.|48