ESB在实际项目中的应用.docx

上传人:b****6 文档编号:6029412 上传时间:2023-01-03 格式:DOCX 页数:17 大小:1.41MB
下载 相关 举报
ESB在实际项目中的应用.docx_第1页
第1页 / 共17页
ESB在实际项目中的应用.docx_第2页
第2页 / 共17页
ESB在实际项目中的应用.docx_第3页
第3页 / 共17页
ESB在实际项目中的应用.docx_第4页
第4页 / 共17页
ESB在实际项目中的应用.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

ESB在实际项目中的应用.docx

《ESB在实际项目中的应用.docx》由会员分享,可在线阅读,更多相关《ESB在实际项目中的应用.docx(17页珍藏版)》请在冰豆网上搜索。

ESB在实际项目中的应用.docx

ESB在实际项目中的应用

ESB在实际项目中的应用

WebSphereMessageBroker

讲座提纲:

1、WebSphereMessageBrokerIntroduction

a)ESBOverview

b)MessageBrokerOverview

c)MessageBrokerPerformaneeReport2、ESBProjectSharing

讲座内容:

1、MessageBroker是建立在MQ基础之上的。

【说明消息中间件对于MB

是何等的重要,可靠的传输是前提、是基础。

2、BusinessIntegrationRefereneeArchitecture

上面是IBM的业务集成参考架构,而下面的图则用IBM的产品充满了整个架构

 

3、ESB所处的位置,作为连接层,组织服务请求方和服务提供方之间的信息

Portal;Service

 

4、ESB解决连接性问题

a)

ESB可以从应用中解耦接口

Decoupleinterfacesfromapplication.注意:

当前的项目中,总是在对付接口】

b)Enableallapplicationstocommunicatewitheachotherregardless

of

i.Programminglanguages

ii.SystemPlatforms

iii.Programmingmodels

iv.Protocols

v.Dataformats

可以在以上5层无关性的前提下,应用程序互相通讯。

5、WhatisEnterpriseServiceBus(ESB)?

c)Aflexibleconnectivityinfrastructureforintegratingapplications

andservices.【一个柔性联通基础架构,用于集成应用程序和服务。

d)Usedtoreducethenumber,size,andcomplexityofinterfaces.【用

于减少接口的数量、大小、复杂性】

6、ESB的功能

e)Matches&routes(messagebetweenservices)【原来应用系统是直连的,相互之间是知道对方存在的,是依赖于接口的】

f)Converts(transportprotocolsbetweenrequestorandservice)【协

议转换】

g)

分发事件】

Transforms(messageformatbetweenrequestorandservice)【消息格式转换】

h)Distributes(businesseventsfrom/todisparatesources)

7、ESB提供的通讯服务

i)传输(包括JMS消息和异步协议)

j)事件

k)中转

ESBCommunicationsServicesServicesInherenttoESB

TransportServices

EventServices

MediationServices

*■35Ufdelrjcry

•Evcntdcteciian

*Rautmg

jSecuredBliv^ry

”Evantthg^ofing

*T怕FWport如wrtehiM

*EventdistntmtKMi

7Progfqrnmin^modol

“Manugcafri*dehvofy

*ComplexEvent

swilcht^

/Miveryntp刖

Procewina(CEP)

*TrjmfonnatarFai

<'MociifiJbi?

qu^it止of

contentslerants甘on

transport.

wmrrturiications

Supportingyesterdays,today's...andtomorrow'sstandards.

8、什么是Brokering?

(注意:

数据的格式不一样)

Broker愿意是经纪人的意思,在这里可以理解为代理

使用MessageBroker之后,还可以很方便连接新的应用

Tiade

K,口丹

Appftcation口航匕今*㈣

NewJersey

*1

«$QAPa»

TraderMamHSLockfQty#

TraderHerreStock.'Qly

斗Ti"•冲

记口詡■HH

■软沪■■iSKrt**

TradeiNilritj#Stot:

IdKlty#

DMoiPnce伍)_

Appfication

London

•'PlTGWB爼叫內阿・

■iTrndiii>

'img*軒.-

Application

Liverpool

9、MessageBroker产品家族

IBM划分基础产品和高端产品的方式可以学习

 

phereBlM

Rr

时ITies

•fjfistfrdC]

•G^ntralman^Qoin^en【inS

COfTffTlOflCOuCIMSCdistftbut^dcploynBtothel^racstenterpfis^

POlMt^lO-^ClAlStOfl

Newtfi电ruw1吕*?

ngtn^

*lndud«4aRW3iMamgeBrokatfunctionAktyptu鷲“.

Rul**FormattingEngtn*from忡*wEri>otN*Cwov1cf

Tf^psform^t^on.loutirtgjnddat«iint^ratic*n

'includesalWPIEvent19rokerfunctionality+

*ConumQndtabte'driv^nroutingcDpnbiltti«

*^owerfurtngrn#for

tnnsfofrrMtiafiwm|tfNMwukrt*0rBtk>n

*XSLTwigin*forXML1rMY*foiTTutlon

*M«ug«flhc-rtngandm*«3g«vvafthounng

*W«bS*rvi“£{HTTP/SOAP)pfotocolsupport

diruj

Windows2000/XP

*MX

•Sotarti

•HfJUK

-LinuxUn愉I和HizJ3*rJ«)

*rX>S

VVfPtniitentandnon-pwsisruntJMS.MQI.andAMAPlfAsiutedme»agi(*g

KAcJi*nl

Clustering

HiqIipotfoimfn.QC'muM|-pic(<>c<>1$ventswitch

*SupportsW*bSpHef«MQpomt-tc-porntfundk>n«lrty*.

*High-p^rrocmancatopicAndeorttent-bas«dpubir^h/tulHcnbe

*MuNi-protocoli:

Enterpckt,Mobil*・

Taiemetry,andMufticast

protocol

*Ext«nnbl#p4UQ-inir^hittctur*

 

10、MessageBroker核心概念

I)消息处理(Messageprocessing)

i.处理消息中的独立项

11.物理和逻辑消息模型

m)转换和路由(TransformationandRouting)

i.消息操纵(MessageManipulation)【我理解为各种处理,类似于handle】

ii.基于内容的路由(Contentbasedrouting)

n)简单的,清晰的编程模式

i.可视化编程模式:

消息流

11、MessageBroker概况

MQQu«u*Manager

UMugt和oh

WebSpbeeBuftinettlAte^rslion甘en旳eBroker

RauteT^ibfl

 

□Receiveandroutingmessages

口Transformarne$$agefromonesyntaxtoanother(ortwoothersar.„)

□Publishamessagetosubscribers

QAccessanexternalDBtoaugmentamessageorstorett

口Respondtoeventsanderrors

从这个处理流程中,可以看出MB的基本功能:

1)收到并路由消息

2)转换消息到另一格式,或者到多个其他格式

3)给订阅者发布一个消息

4)访问外部数据库处理增量消息或存储

5)应答事件和错误

12、MB的组件——部署时

Klessa^e

BrokerComponents

 

洌电BraktfiIboM

 

Broker有Domain的概念,另外Messagesets和Messageflow都运行在

Broker之内,多个Broker部署在同一个BrokerDomain内,在同一个

Domain内通过Configuration来进行配置。

13、MB的组件——运行时

1)Broker(消息代理):

是MB的消息处理引擎,它提供MB的所有运行时服务。

2)ConfigurationManager(配置管理器):

CM是工作台,配置存储库和

Broker之间的一个接口,它维护BrokerDomain的配置信息,向Broker提

供初始化配置信息以及之后的变化信息。

配置管理器是MB用于管理那些组成

BrokerDomain的全部部件和资源的核心运行时部件。

3)BrokerDomain(消息代理域):

共享相同配置的若干Broker组成一个消息代理域,每个消息代理域由一个唯一的配置管理器来控制,在一个消息代理域中,可以创建、启动一个或多个Broker,和一个可选的UserNameServer。

4)ExecutionGroup(执行组):

执行组是若干消息流的组合,是消息流运行引擎。

每个执行组是一个独立的进程,这样,在同一个执行组中的消息流可以做到在运行时相互独立。

在一个执行组内部,消息流在不同的线程池内运行,为了提高性能,我们可以通过设置每个消息流的运行实例的个数来指定每个消息流的线程池的大小。

5)UserNameServer(用户名称服务器):

任何关键系统的一个重要的组成部分就是通过提供一个有效的安全机制来确保资产安全的能力。

用户名称服务器是可选的运行时组件,它提供Publish/Subscribe操作相关的用户和组的安全控制。

6)MessageFlow(消息流):

在MB中对消息的运算处理、格式转换和路由等功能是通过消息流实现的,每个消息从输入MB到从MB中输出,都将被一个消息流处理,然后发往目的应用系统。

消息流由各种消息处理节点(MessageProcessingNode)组成,消息处理节点可对消息进行各种处理操作,节点与节点相连,便组成了一个消息流。

7)MessageProcessingNode(消息处理节点):

在MB中,对消息的所有计算和处理是通过消息节点实现的,消息节点实际上是被Broker运行环境调用的动态链接库(DLL),通过ESQL语句对消息进行操作,通过对消息节点属性的客户华处理,将使节点能够对流经自己的消息执行特定的功能。

8)ESQL:

在MB中,消息流开发使用的使ESQL语言。

ESQL是对SQLV3的扩展,除了用于数据库的操作之外,它还可以操作消息数据,包括GenericXML和MRM格式的消息。

14、MessageFlows【简直就是针对消息的工作流】

15、MessageProcessingNodes(6.0在此基础上又有增加)

)ces

R^Mirne^nput

|」Real-timeOptimiwdFiow

]/」MQOptimizedFw

、A(K)r«^ateRequest

E电Ag$reg«t«R®ply

>OatilnKrt

41D«UD«l«teIDataUpdate^rehcuM

MQOutput

-*|RauteToLabel

^MQRtply

Publication

軽]MQwOutput

it.]Throw

CICSPragrifTiCiil

&CADAOutpul

^HTTPReply

fcjTryCatch

*FlowOrder

*jFilter

IJJtlJtl.剧

VSAMFtteAcee&s

Custom...C++.J&va

 

 

从我的观点来分析,最重要的节点:

a)MQInput&MQOutput

b)HttpInput可以做WS服务,HttpRequest可以去访问WS

c)Publication用于发布

d)ESQL语句节点,可以用于手工写ESQL,属于万能的节点。

e)Mapping,消息到消息和消息到DB的映射

f)Filter,实现if-else。

返回4种状态:

failer,true,false,unknow。

g)RouteToLaber配合Label,相当与case语句。

h)TryCatch和Throw

i)Trace,用于打印调试信息。

MB也提供命令行调试方式。

j)AggregateRequest、Reply、Control,聚合

新版本中增加了

a)Timer节点

b)JMS节点

c)

16、MBToolkit

 

17、ESQLeditor

18、MessageSetDevelopment

19、Mappingeditor

Mappingeditor

 

20、Deployment

MB需要打包成bar包,这具有更强的灵活性,更高的性能,当然要稍微麻烦一

些。

自己开发的产品,打包、部署一定要简单,最好能支持热部署。

Messageflowapplicationdeployment

・Thefollowingfigureshowstheflowofeventsduringadeployment

 

沁f昌

►s

corapifld

do*Iorriti

depwtdson

cfecboHBryI(dtchonifyl吓yI_I*SJ

dffpioy

OOfifigyrjbon

 

21、mqsideploy命令行部署工具,较大型的项目,需要做开发环境、测试环

境、联调环境、生产环境等。

生成脚本可以多次执行。

这就是大型软件和一般软

件的区别之一。

・Brokercommands

』mqsicreatebrokercommand—Createanewbrokermqsichangebrokercommand•Changeabrokersproperties

*■mqsideletebrokercommand-Deleteabrokermqsireloadcommand-Stopandrestartbrokerexecutiongroupsmqsi_setupdatabasecommand-SetupDBonUNIXmqstcbrreportcommand一Identifyappsusrngcontentbasedfilters

■ConfigurationManagercommands

rnqsjcreateconfigmgrcommand™Createanewconfigmanager

、mqs^hangecorrfigrngrcommand亠Changeaconfigmanagermqsideleteconfigmgrcommand-Deleteaconfigmanager

■UserNameServercommandsmqsicreateusernameservercommand-CreateanewUNSmqsichangeusernamEsewgrcommand-ChangeUNSpropertiesmqsideleteusernameservercommand-DeleteaUNS

Startandstopcommands

*mqsistopcommand-StopWBIMBprocesses

•Listandtracecommands

*mqsibstcommand-ListWBIMBconfiguredprocesses

vmqsichang时racecommand-Start/Stoptrace

“mqsiformatlogcommand-Formattrace

#mqsireadlogcommand*Extracttrace

”mqsireporttracecommand-Displaycurrenttraceoptionsineffect

・MQSeriesPublish^Subscribeinteroperabilitycommands(mqsiclearmqpubsubcommand一RemoveP/Sbrokerrelations

7mqsijoinmqpubsubcommand-AddabrokertoaP/Snetwork丿mqsilistmqpubsubcommand-DisplayP/Sneighbours

・Migrationcommands

、mqsimigratemsgflowscommand一Migratemsgflowsfrom21』mqsimigratemsgsetscommand*Migratemsgsetsfrom2.1mqsimigratetabfescommand-Migratebrokerconfigrrigrtables

22、MB性能报告

•Theservermachinehardwareconsistedof

卜An(BMM80Model7026with5*500MHZRS64-IIIProcessors

*Throe80GBSCSIharddriven.

t4GBRAM.

卜1GbEthernetCard,

卜12*9.1GBSSAdiskswithFastWritenonvolaUecacheadapter,

・Theservermachinesoftwareconsistedof:

*A!

X5.1L

*WebSphereMQV53

*WebSphereBustnossIntegrationMessageBrokerforAIXVSCSD2

*

DB2forAIXV6J.

MaximumMessageBrokerThroughput-MessageRouting

•Throughtheuseofafilternoderti$possibletoimiplementsimplemessagerouting

•InordertoillustratethistypeofprocessingamessageflowconsistingofanMQInputnode,aFitternodeandanMQOulputnodewasdefined

•Sufficientcopiesofthemessageflowwereruninordertofullyutilizetheservermachine

&Withthismessageflowitwaspossibletoprocessapproximately41601KBnonpersistentmsgs/second

4160个1KB的包/秒,建议交易用的包在1—2K。

MQ消息持久,是指写文件,保证服务宕机的情况下消息的完整性。

而非持久性能更高。

比如:

银行ATM最大等待时间60妙,超时后消息本身就没有意义,可以选择非持久。

MQInput/MQOutputMessageFlow1

・AmessageflowconsistingofasingleMQInputandMQOutputnoderepresentsthestmplestformofmessageinputandoutput

・Asinglemessageflowwasdehned,consistingofan袖QlnputnodeandMQOutputnode.

・ThefigurebelowshowstheresultsthatwereobtainedwhenrunningthemessageflowwithvaryingmessagesizesandpersistenceTherewasasmgteinstanceandsingleexecutiongrouprunningthemessageflow

Persist

MagSize

Msgs/sec

%CPUBusy

CPUms/msg

no

1024

260100

34.00

105

no

4096

2127.00

3867

1.45

I

24、ParallelProcessingOption

MB可以通过多instanee

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1