ibm mq 编程_IBM SOA编程模型简介

ibm mq 编程

SOA编程模型系列

对于任何一个程序员,尤其是非程序员,要有效地掌握和应用令人震惊的软件技术,实践,工具和平台,变得越来越困难。 但是,如果要成功进行业务流程转型,则大量的非程序员需要使用现有的IT资产来履行其职责,并且不能期望学习基础技术的复杂细节。 本系列文章描述了一种新的面向服务的体系结构(SOA)编程模型,该模型实现了关注点的分离,以便企业中具有不同技能水平和角色的人员(不一定是IT专业人员)可以在整个过程的每个阶段创建和使用IT资产。软件开发生命周期。 结果可以极大地提高按需企业的业务敏捷性。

IBM产品越来越多地实现SOA和编程模型。 程序员构建服务,使用服务以及开发汇总服务的解决方案。 我们在这里宽松地使用术语“程序员”,因为SOA编程模型的一个关键方面是将“编程”扩展到更广泛的非传统开发人员角色和技能,例如业务分析人员和脚本语言用户。

关于Web服务的大多数文献主要集中在服务接口及其使用上。 为了补充接口标准和最佳实践,IBM引入了一种编程模型,用于实施服务并将其组装到解决方案中。 该模型将IBM软件平台的影响范围扩展到更广泛的用户社区(包括非传统程序员),该模型提供了与用户角色,目标,技能和概念框架相匹配的新组件类型 。 这些组件类型使开发工具更加直观。 另一个主要主题是通过逐步公开编程模型的特征和功能来实现可消费性 。

这是有关IBM SOA编程模型的系列文章的第一篇,专门针对软件开发专业人员。 在本系列中,我们提出了解决这些目标的几个新的编程模型元素。 我们向您展示如何利用它们来使您选择,开发,部署,推荐或管理的软件更易于开发,重用和使用。 被构造为服务的软件对随需应变企业特别有价值,因为它可以由技术水平较低的开发人员“连接”到解决方案中,或编排到业务流程编排流程中,以满足快速变化的业务需求。 无论您是大型企业还是小型企业的开发人员,独立软件供应商(ISV),应用程序提供商或中间件供应商,都可以从以这种方式构造软件中受益。 因此,让我们立即开始应用SOA原则。

SOA编程模型的重点

让我们首先强调一下SOA编程模型的一些主要功能。

服务数据对象 (SDO)是IBM SOA中的基本概念。 SDO使开发人员更加高效,并使您摆脱了如何访问特定后端数据源,应用程序或服务的技术细节。 它们提供了简化的抽象,使程序员可以主要专注于业务逻辑。 SDO还为与服务交互的消息提供统一的表示形式,取代了令人困惑的数据表示技术迷宫,并使用单个统一模型进行访问。

SOA编程模型还需要用于创建和访问业务逻辑的统一范例。 为了易于使用,服务应该隐藏实现技术之间的差异,并且比现有的编程结构(例如Enterprise Java™Beans(EJB))具有更高的抽象级别。 考虑到可以通过将组件组装成模块来实现服务,这些模块又可以组合成解决方案。 组件公开了可以使用可寻址接口调用的服务。 您可以使用Web服务描述语言(WSDL),Java或其他语言来描述接口。 此实现样式可能具有未解决的对所需服务的引用,这些服务将在执行之前通过将组件连接在一起而得到满足。

该编程模型还引入了定义明确的组件类型,这些组件类型对开发人员产生并部署到解决方案中的常见工件建模。 示例包括“普通的旧Java对象”,业务流程执行语言(BPEL)流程,结构化查询语言(SQL)服务,自适应业务对象,通过Java连接器体系结构(J2C)资源适配器访问的CICS®程序,使用SAP业务应用程序编程的应用程序接口,Java 2企业版(J2EE)无状态会话Bean和MQSeries®应用程序。

企业服务总线作为一种多协议结构发挥了关键作用,该结构将服务组件织入无缝的交互中,但是却引起了企业的关注,例如审核,日志记录,路由,接口不匹配的适应,等效组件的增量替换,安全性,等等-通过在消息路径中插入称为中介的特殊组件来中介服务之间的交互,而无需更改现有端点,从而可以在整个骨干级解决该问题。

新的流程语言减少了IT概念与业务构件之间的差距。 关键是BPEL 。 尽管可以使用业务分析师可以使用的图形工具来定义流程,但它也是可执行程序。 流程在按需业务转换中起着重要作用,例如,在描述扩展价值链的可执行的长期运行流程时。 扩展价值链是指可以跨越多个供应商和IT领域的业务安排,例如零售商及其众多单独的供应商,保险公司及其众多第三方调节器,IT外包情况等等。

业务状态机是业务分析师可以使用图形工具创建,但仍在流程编排引擎中执行的另一个编程隐喻。 状态机可以表示业务工件(例如采购订单,保险索赔等),以响应特定生命周期“事件”而在几个定义明确的状态之间进行转换。

可以将要重用的组件打包为模板,并带有可变点,以便在将其放入解决方案时进行定制。 通过添加规则语言和相关工具,这种改编成为我们编程模型的一流部分,从而为新型用户提供定制功能。

创新的另一个领域是新的解决方案模型 ,可让部署者,管理员和其他业务用户将组件组装成解决方案。 在开发时,您可以将服务实现与托管它的拓扑(系统架构师建模的部署拓扑)相关联。 该模型所捕获的系统要求和环境假设可在实施初期得到验证,从而减少了应用程序生命周期成本,同时大大提高了可靠性和责任感。 此模型的功能是后期绑定,转换数据的中介以及用于现有应用程序的适配器,这些应用程序允许通过企业服务总线进行面向服务的交互。

总之,SOA编程模型将开发和部署活动分为不同的阶段,这些阶段可以在不同的时间发生,并且可以由不同的人使用不同的技能来完成。 这就产生了真正的关注点分离,从而使软件组件的用途得以改变。 它还根据单个用户的业务角色,技能和任务来定制软件体验。 最后,它支持软件生命周期,以适应按需企业的需求,因为他们通过重新设计IT流程以提高业务敏捷性来寻求增加的盈利能力。

编程模型概念

通常, 编程模型对于IBM SOA和IBM产品至关重要。 它定义了开发人员构建和使用的概念和抽象。 运行时产品(例如WebSphere®Application Server,DB2®和CICS)运行或托管编程模型工件。 开发工具支持编程模型工件的建模和实现,它们到应用程序(解决方案)中的组装以及它们在运行时中的部署。 最后,系统管理产品,代理和工具支持对运行时及其托管的编程模型工件的管理。

什么是编程模型? 尽管没有公认的定义,但我们喜欢将其定义为:

  • 程序员构建的一组零件类型 。 部件类型包含各种编程模型工件:超文本标记语言(HTML)文件,数据库存储过程,Java类,可扩展标记语言(XML)模式定义,定义MQSeries消息的C结构等。
  • 一组角色 ,将具有相似技能和知识的开发和管理社区成员进行分组。 以这种方式对开发人员进行分类有助于生成适合角色的工具,这些工具可使非程序员实现服务并从服务组合解决方案。 定义业务流程的业务分析师和定义客户分类并计算产品折扣的策略的市场营销专家说明了您希望吸引的新型开发人员。 每个角色包含:
    • 角色拥有的技能 。 例如,用户界面开发人员开发的界面会呈现应用程序或解决方案的功能构件。 假定此角色是为了了解正在开发的应用程序及其业务目标,充分了解该应用程序的用户及其任务,是几种用户界面设计方法的专家,并且能够通过选择来创建易于使用的用户界面适合每种任务的种类。
    • 角色交互(使用或产生)的零件类型和应用程序接口 。 例如,动态页面的设计者( 一个角色 )产生JavaServer Pages(JSP),并消费EJB( 零件类型 ),后者包装了现有的信息和应用程序源。
    • 角色使用的工具 。 Web开发人员适合自己使用角色的工具的一个示例是“所见即所得”页面设计工具,该工具用于构建动态页面,使用与HTML和JSP标记库相关联的控件以及将控件连接到EJB。

使Web服务易于实现和使用的关键是逐步扩展一个人现有的技能和知识,从而使SOA成为可消费的。 CICS COBOL事务程序形式的服务与用BPEL编写的服务几乎没有相似之处。 从数据库存储过程中调用服务不同于从JSP中调用服务。 技能和期望是不同的。 您可以通过提供各种工具来使零件类型适应各种技能以及开发过程的各个阶段,从而实现易损性。

本系列中的其他文章将更详细地探讨组成SOA编程模型的某些零件类型。

产品架构

图1.产品架构
产品架构

支持IBM对SOA的看法的产品分为两大类:服务端点和将它们互连的消息传输结构。 这是一般的结构-由许多产品,其中没有单独是IBM SOA鞋底递送载体填充-中示出图1中

ESB的核心是提供服务之间的连接性。 ESB是多协议的,支持点对点和发布-订阅样式的通信以及处理飞行中消息的中介服务。 IBM WebSphere MQ,IBM WebSphere MQ Integrator Broker和WebSphere对Web服务和Java消息服务(JMS)的支持都属于第一类。

服务驻留在称为容器的抽象托管环境中,并提供特定的编程隐喻。 容器加载服务的实现代码,提供与ESB的连接,并管理服务实例。 不同类型的服务驻留在不同的容器中。 (在设计递归的一个显着示例中,ESB本身被视为中介服务的容器。) 表1列出了一些主要的IBM SOA托管环境和托管的组件类型。

表1.承载各种组件和服务类型的容器
服务/组件类型 容器
用COBOL,PL / 1和其他语言编写的交易程序 CICS或IMS(信息管理系统-企业交易处理系统)。 程序员可以使用SOAP / HTTP,WebSphere MQ和J2EE J2C连接来访问服务。
业务流程编排 WebSphere Business Integration Server基础。 该容器支持实现Web服务接口并调用其他Web服务上的长期工作流程。 它还支持长期运行的业务活动事务。
应用程序适配器-为现有应用程序和系统提供SOA / Web服务外观 WebSphere Business Integration Server Foundation提供的应用程序适配器容器。 适配器在SOA协议和格式以及现有应用程序和系统的协议和格式之间转换。 例如,用于SAP的适配器将SOA编码的超文本XML传输协议转换为SAP现有的业务应用程序编程接口格式和远程功能调用(RFC)。
通过预定义SQL查询,XML查询或作为数据库存储过程实现的服务 DB2与WebSphere Application Server结合使用。 查询的参数来自SOA操作的输入消息,结果提供输出消息。
使用Java类和EJB实现的服务 WebSphere Application Server。

摘要

我们有关IBM SOA编程模型的系列的第一部分概述了IBM工具和产品如何与该模型匹配以及开发人员如何在其应用程序开发中有效地使用它。

本系列的未来主题将包括:

  • 使用SDO简化数据访问
  • 服务的定义以及不断发展的组件模型的介绍
  • 组件类型以简化开发
  • 基本组件类型
  • 服务组合和定制
  • 流程组件:BPEL和业务状态机
  • 定制服务:设计模式,模板和可变点
  • 面向服务的用户界面
  • SOA管理方法
  • SOA软件生命周期的开发工具
  • SOA中的安全性

翻译自: https://www.ibm.com/developerworks/xml/library/ws-soa-progmodel/index.html

ibm mq 编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值