websphere

来源:互联网 发布:电视机安卓软件 编辑:程序博客网 时间:2024/05/02 02:35
 

 

最近几年,随着IBM不断的倡导SOAWebsphere在努力的实践着这些理论,通过实现SOA倡导的灵活架构理念壮大自己的Websphere家族,据说,现在的websphere产品已经达到64种了,这还是不完全统计!所以说,要想介绍Websphere的全部产品是不可能的,只能说围绕SOA概念,介绍实现这个概念的相关产品,像WASwebsphere application server),这是IBM比较元老级的,还有其它的通信的、集成的、流程管理的工具,有的是IBM早就有的,但不归在Websphere家族,有的是收购别家的,现在它们也成为了IBM的一分子,要写这个topic好像是个非常庞大的工程。。。@_@。。。

在介绍webspere产品前,不能不说的是SOA,先不说它是如此热门的理论,单从Websphere产品的理论体系是围绕SOA的,介绍SOA就是必须的,皮之不存,毛将附焉?

 

SOA

Service Oriented Architecture,从字面的意思来看就是面向服务的架构,它只是提出了一种架构样式,可以使客户的业务集成为链接的服务。这个服务的概念,从业务的角度,那就是某个功能,从软件的角度,就是某个写好的程序包。这些年,企业的IT程度提高了,IT功能逐渐健全,可能一个企业有财务系统,有人力资源系统,有业务系统,但这些功能可能是由不同的软件开发商提供,各个系统不能互通已经成为棘手的问题,同样的,一个企业,新上一套系统的时候,它要考虑我的企业以后还要上什么系统,它们之间是否兼容等问题,而SOA就是提出了一套解决这个问题的理论。从上面描述的可以看出来,要实现SOA就要解决如下几个问题:

1.       流程服务,如何进行业务级建模和模拟,如何优化和监控业务流程。这是SOA倡导的理念,业务级的建模,不用解释了。。

2.       连通性,能够连接所有的资产(也就是程序包,或者服务),通用转换,事务处理,可伸缩性和性能,24*7运营,复杂事件处理,这些话听着像是宣讲,其实想想不难理解的,各个服务不能高效的通信,还谈什么连接?还怎么能集成呢?没有扩展性,就没有灵活架构一说咯。。

3.       业务应用程序服务,这就是前面提到的服务了,服务就是构成系统的核心业务了,这种应用程序服务就是来容纳这些服务,它要有可伸缩性和性能,可用性,安全性,事务协调,企业视图,可管理性

 

有了理论的指导,我们来看Websphere如何解决SOA的这几个问题的,自然是通过自己的产品。

 

Websphere流程服务

BPM,是一种结合软件功能与业务专业知识的规则,用于加速流程改进。SOA 支持的 BPM 是一种通过灵活的 IT 体系结构增强的规则, 旨在简化服务的创建和分解,从而加速业务创新。IBM对其和IBM产品家族进行了有效的连通,我们在做建模以后,结果可以到开发阶段使用,同样可以在发布阶段使用。这样就大大提高了开发效率。

IBM有一系列的产品来做流程服务:

WebSphere Business Modeler

建模和模拟流程,有数百种模版业务人员建流程,有分析和模拟能力,能在部署前完全理解可能造成的影响。是不是很奇妙?呵呵。它实际上是为了更清晰地体现流程,来模拟这些业务流程,并在模拟的时候设定一些参数和度量值,所以,部署完成后,系统就可以进行模拟了,还有验证的功能,是可选的,使用publishing server,其实我还不知道咋用。。,据我看,这个东西也是Eclipse的一个插件,做出来的东西可以直接提交到cvs库中,由它cvs控制版本。但是不是呢?有待考证。。。

WebSphere Integration DeveloperWID):

集成开发,这个是个插件包,集成到Eclipse中,它包含了构建一个集成应用程序需要的所有工具。在Modeler 中得到的模型,在WID中经过服务器代码构建,可以运行这些组建的模型。这个应该就类似于那个rose模型可以生成部分源码一样的吧,这个工具只不过是把模型构建了一下,根据BPEL服务模式,把画得那些流程进行了代码构建,实现了这些组建模型。同样的,这些生成的组建模型也可以放到Eclipse中作为代码使用。我的理解是这样滴。。。呵呵。。。

WebSphere Process ServerWPS哈,和中国传统的文字处理软件重名。。):这个就是流程服务器了,按照Modeler的结果编写的代码部署到WPS上,这个是在WAS之上的,也就说已经包含了WAS的功能。这实际上就是中间件了,不过,这个中间件和传统的中间件相比,多了流程的配置功能,所以,自然和WAS有所不同,据我所知,现在通过这种过程开发出来的程序好像只能部署到WPS上,而不能放到Weblogic或者JBoss,Tomcat上。

WebSphere Business Services Fabric这是个行业内容包,包含了各种专业服务的模版,这是在WPS之上的。为什么需要专业服务模板呢?一个软件,如何应用应该不难,难的是把企业的业务用软件表现出来,并优化,而IBM的这个产品就是提供了这样的一些最佳实践,毕竟同一行业的业务还是类似的,也可以有很多的成功经验借鉴。这个产品蛮贵的哦。。

WebSphere Business Monitor这个不要多说了,就是起监控作用的。通过monitor,我们可以看到记分卡(业务单元的关键业务指标),协作 (团队协作,以解决问题),业务警报 (对于需要响应的情况发出通知),报告和分析(通过结合实时性能和历史信息,预测未来趋势),外部信息(影响性能的信息),应该拿到软件一看就会用的,呵呵。。。

 

Hhhh.流程系列的产品就介绍完毕了,感觉它的产品很条理的,应该很好理解吧。。。。

 

连通性

前面说过了SOA的理念,要所有的服务都是链式,那就要可以相互无障碍通信,不论是老系统还是和新系统,这就对消息的格式,协议等等有要求了,而连通性产品就非常重要了。

连通性产品其实早就有,而且,技术也很成熟的,在有SOA之前就得到了广泛应用。不罗嗦,上产品:

WebSphere(提取公因式了,呵呵都是WebSphere的)

§ MQ先说MQ好了,这个产品可是有很多年历史了,92年就出世了,只是不叫这个名字,叫MQ service,02年更名为Websphere MQ,它功能很强大的,支持所有的IT系统,所有的平台,所有的API,呵呵,超人啊!

§ Message Broker首先它不能单独使用,要基于MQMQ 来连接所有的service,而Broker来转换这些service的消息,MB提供的数据转换格式比较多,远远强大于即将要介绍的ESB,而且,新的MB6.1新增加了FTP的支持,遥感通讯的支持。所以说,它能够连接和集成跨所有数据类型和协议的所有应用程序。特别适合于需要连接 Web 服务和非服务资产的客户

§ ESB面向标准和 Web 服务集成的 ESB,要实现SOA要用它的,它可以暴露出来一个SOAcomponent

§ Adapters把所有的固有的应用程序连接到ESB上,这样就可实现固有系统之间的连接,一般在有遗留的时候使用它,它可以提取现有系统的service

§ DataPower SOA Appliances这是个硬件产品,通过串口访问,在网络安全上有很大的优势,处理的速度也很快,而且,这个产品的XML处理功能很强大,加密、解密、xml解析都比JDK xml解析要快。

§ Service Registry & Repository:这个就是个管理软件了,那么多的组件,总是需要管理的嘛,所有的服务都要在它里面注册一下,在运行的时候支持服务之间的动态有效的交互。当然还有别的作用,帮助实施策略,支持影响分析,允许按生命周期阶段分类,提供基于角色的访问(这个应该是登录用户不同来限制的吧,还会像DB2或者Oracle那样有具体的角色或者权限吗?),通知用户变更(怎么通知?是个问题啊。。),与服务管理资料库的联合(难道是ClearCase)。。。后面说的这些作用,我还不了解它是怎么出来的,呵呵。。

 

业务应用程序服务

这一系列的产品是为大家所熟知的,因为在这种企业应用程序里,中间件应用是非常广泛的,这就是常说的中间件,因为它的平台无关性,事务处理等等,大大提高了程序的可移植性,并使开发人员专注于系统业务。

 

WebSphere Application Server

就是常用的中间件了,用来部署可重用的应用服务,保证在安全、可伸缩、高度可用的环境中运行服务。

它的产品版本比较多的,从下到上,功能不断增强,且可以平滑升级。

图片 4

WAS Community Edition这是免费使用版本,可以免费下载和部署,它的内存占用很小,非常适合开发人员开发使用。而且,在这个版本上开发的产品可以平滑升级到其他的was系列产品,而且,它还有很多的feature pack,满足新技术的需要,比如for web 2.0

 

WAS Express WAS典型的应用服务器作为单个进程运行,源于应用程序的致命异常可以终止整个服务器进程,为了扩展,我们让多个服务器运行在多个计算机上,开始多个服务器进程。如图所示

图片 5

WAS NDWAS for z/OS可以实现集群,集群主要有两方面的作用,一种是分担负载,一种是故障转移,保证系统稳定性

WebSphere Extended DeploymentXD,这是对它的简称,在集群里呢,分担负载用的服务器的利用不是很充分的,有的有太多的空闲资源,而有的则资源不足,使用了XD以后呢,它把所有的服务都放到一个资源池里,就好像是虚拟的服务,它来根据服务器空闲程度分配任务,这样就大大提高了服务器的利用率了。

 

到这里,围绕SOA,websphere家族系列已经介绍完毕了,从流程规划,到实现,到运行,到提高都有一系列的产品,当然,这只是属于纸上谈兵了,要是能有一系列的产品,实践一下,想必会更有收获,如果有这样的机会,我还会再写这样的小册子的,帮助学习积累。其实这些东西没有多么复杂,先是了解原理,然后各个攻破,现在还处在了解原理阶段。