利用现有企业系统创造价值—有关可扩展ESB的案例分析EricNewcomerIONATechnologies首席技术官概况欧洲、中东和非洲总部—爱尔兰都柏林美国总部—马萨诸塞州亚太区总部—日本东京我们的足迹遍布全球1991年创立1997年上市库存现金超过5千万无负债NASDAQ:IONA业务稳定发展,始终保持盈利性增长我们深悉企业计算系统中常见的多样性和异构性问题。我们把不同供应商开发的各种应用程序集成在一起,它们原本在不同的操作系统上运行,使用不同的协议和消息格式。尤其是在应用程序设计之初从未考虑过日后的集成时,我们越能发挥积极作用。我们的理念:MakingSoftwareWorkTogether™环球电信的80%世界电信运营商100强70%的金融服务系统集成商合作伙伴全为蓝筹企业我们的客户是全球知名的大公司EricNewcomer,IONATechnologies首席技术官•负责控制和传达IONA在采用标准、体系结构及设计方面的技术战略。•1999年11月加入IONA,此前他曾在Digital/Compaq工作16年,担任过多个不同的技术和管理职务。•率领IONA团队参与围绕Web服务展开的标准化活动:–W3C的XML协议工作组(XMLProtocolsWorkingGroup)的成立者之一–W3C的Web服务体系结构规范(WebServicesArchitecture)的编者–最近提交给OASIS且已发布的Web服务复合应用程序框架(WebServicesCompositeApplicationFramework,WS-CAF)规范集的合著者•畅销书《了解Web服务》(UnderstandingWebServices)的作者,此书于2002年5月由Addison-Wesley出版;该出版社还于2004年出版了他的另一本新书《Web服务集成》(WebServicesIntegration)。全球最强大的物流供应商之一全球各地遍布500万家企业客户230,000名员工一年与客户交流6千6百万次今天我们主要讨论…使用ESB式集成构建面向服务的集成平台时遇到的严峻挑战企业挑战/可扩展解决方案回顾德国邮政体系结构父公司“我们力图成为欧洲和全球邮件、包裹、快递及物流市场的领先公司。构建一个面向服务的平台,让我们在这个平台上方便地安装各种IT系统:新开发的、现有的,甚至那些因并购而得到的系统,这是一个极富吸引力的价值主张。”MichaelHerr高级IT总监SOA平台组主管德国邮政:SOA的早期采用者资料来源:德国邮政集团业务域模型和SOP(面向服务的平台)业务流程体系结构IT应用程序前景德国邮政从1999年开始采用SOA从2001年底开始开发集成基础结构并投入使用已在该基础结构上为大约20家服务参与者提供服务功能2004/2005年准备再吸纳大约15家服务参与者80多项服务投入使用,另有40项正在开发中业务问题我们力图成为欧洲和全球邮件、包裹、快递及物流市场的领先公司。MichaelHerr德国邮政•公司通过收购DHL、Airborne和PostBank不断增长•全球性的激进增长计划和战略•全球物流市场动态(FedEx/UPS)–推动跨部门协作需求–竞争压力增大技术问题•易用的WSDL接口可将各类系统连接到服务骨干系统–基于标准–必须能够兼容遗留系统•全面的用户和权限功能可完成身份验证、授权及管理任务•综合服务目录专供动态绑定使用•消息验证进行语法检查和类型验证•转换引擎用于结构化文档映射和内容映射•转换机制用于各种不同的交互样式我们的战略决策是采用最佳的技术部署方式,该决策因使用Artix而得到支持,Artix确保我们为业务的良好运营精挑细选的各类应用程序和系统协同工作。MichaelHerr德国邮政技术挑战增加对企业级质量服务、增值服务及其他企业需求的支持—既昂贵又耗时–安全性:基于标准(JAAS),基于截获者模型–传输和协议:内部或现有协议–类型支持:等同于业界标准的JAX-RPC类型支持–管理:与企业系统管理解决方案集成可扩展—问题类型问题类型ComplexityOfApplication企业问题具体的产品问题增加质量服务需求可扩展问题需求SOA应用程序平台套件现有企业系统平台.NET、J2EECORBA、CICS/IMS、Tuxedo、Tibco编程语言C#、JavaCOBOL、C++体系结构分布式单一式/集中式端口HTTPIIOP、MQ、TibRV、JMS、TUX、其他负荷XML(SOAP)二进制(固定、IIOP、TibMsg、FML)安全需求WS-Security、Kerberos、JAAS等自主开发、LDAP、RACF等系统管理WSDM和Web服务管理工具BMCPatrol、Tivoli、CAUnicenter会话管理无状态有状态事务管理发后不理(FireandForget)ACID事务弹性无负载平衡、故障恢复、灾难恢复各种需求推动实现可扩展性可扩展性差距企业服务总线企业服务总线是为降低集成成本而开发的新体系结构:–吸纳SOA的规则、利用Web服务的优势–彻底改变集成项目的技术和成本业界观点—ESB必须具有以下特点:–对所有相关XML和Web服务标准深入的内在支持–转换功能和路由支持–支持现有企业应用程序平台和基础结构–与企业应用程序集成(EAI)或自定义集成方法相比,成本大大降低。可扩展ESB–具有服务功能的关键企业系统–适合传输、协议、应用程序平台和增值服务的插件体系结构–公认有效的高性能轻型运行时环境–包括大型机在内的广泛平台支持ExtensibleESBExtensibleESBJavaServerCORBAServerC++ServerC++MainframeJavaServerJavaServerCORBAServerCORBAServerC++ServerC++C++ServerC++MainframeMainframe.NETClientJavaClientMobileDevice.NETClient.NETClientJavaClientJavaClientMobileDeviceMobileDevice体系结构回顾方法•德国邮政采用IONA的Artix作为其服务骨干系统(SBB)的集成平台•企业需求促进采用可扩展ESB技术–适合传输、协议、应用程序平台和增值服务的插件体系结构–用于常用消息传送中间件和应用程序平台的插件–旨在提高现有安全性、管理、高可用性和事务能力的可配置插件–包括大型机在内的广泛平台支持•用于分布式消息处理的微内核基础结构–可配置性极高–通过插件实现扩展端点体系结构MessageInterceptorsRequestInterceptorsHTTPTransportSOAPProtocolBindingStubLoginClientInterceptorInterceptorBindingManagerPortApplicationBusinessCodeIONASecurityFramework(ISF)NetworkPluginManagerWSDLLibraryManagerAuthenticationAdaptorAuthorizationAdaptorManagementPluginXSLTInterceptorConfigurationInterceptorContextsSecurityContextSOAPContextHTTPContextInterceptorInterceptorInterceptorMessageInterceptorsRequestInterceptorsHTTPTransportSOAPProtocolBindingStubLoginClientInterceptorInterceptorPortXSLTInterceptorContextsSecurityContextSOAPContextHTTPContextInterceptorInterceptorLocatorEndpointInterceptorLocatorEndpointInterceptor图例:Artix包含的截获程序和绑定通过Artix2.x部署的支持组件为Artix3编写的新组件SOP组编写的截获程序应用程序开发人员编写的业务代码TextText•插件用来部署截获程序•截获程序经过一定的部署形成截获程序链(或绑定列表)•截获程序链处理传输层到应用程序层的消息•截获程序可在不同的层上访问和处理消息–请求层截获程序具有消息的逻辑视图–消息层截获程序具有消息的物理视图插件和截获程序MessageInterceptorsRequestInterceptorsHTTPTransportSOAPProtocolBindingStubLoginClientInterceptorInterceptorBindingManagerPortApplicationBusinessCodeIONASecurityFramework(ISF)NetworkPluginManagerWSDLLibraryManagerAuthenticationAdaptorAuthorizationAdaptorManagementPluginXSLTInterceptorConfigurationInterceptorContextsSecurityContextSOAPContextHTTPContextInterceptorInterceptorInterceptorMessageInterceptorsRequestInterceptorsHTTPTransportSOAPProtocolBindingStubLoginClientInterceptorInterceptorPortXSLTInterceptorContextsSecurityContextSOAPContextHTTPContextInterceptorInterceptorLocatorEndpointInterceptorLocatorEndpointInterceptor•插件,包含要实现协议的请求层截获程序(绑定)–SOAP、XML、Fixed数据格式…•插件,包含要实现传输的消息层截获程序–HTTP、JMS…传输和绑定插件MessageInterceptorsRequestInterceptorsHTTPTransportSOAPProtocolBindingStubLoginClientInterceptorInterceptorBindingManagerPortApplicationBusinessCodeIONASecurityFramework(ISF)NetworkPluginManagerWSDLLibraryManagerAuthenticationAdaptorAuthorizationAdaptorManagementPluginXSLTInterceptorConfigurationInterceptorContextsSecurityContextSOAPContextHTTPContextInterceptorInterceptorInterceptorMessageInterceptorsRequestInterceptorsHTTPTransportSOAPProtocolBindingStubLoginClientInterceptorInterceptorPortXSLTInterceptorContextsSecurityContextSOAPContextHTTPContextInterceptorInterceptorLocatorEndpointInterceptorLocatorEndpointInterceptor插件,包含每一层上要实现其他若干增值服务的截获程序–身份验证–授权–单点登录–路由–会话管