@andy2015
2018-03-07T09:01:54.000000Z
字数 1557
阅读 68
LSB解决方案
技术方案
- LSB相对于OSB的优势
OSB采用重量级的统一消息格式,对大数据包进行XML操作比较耗CPU,将大的Object转换为XML是个繁重的操作(OSB消息统一转换为SOAP Message机制问题)
LSB基于开源组件Mule进行定制化开发,其显著优势如下:
- 社区活跃度:Mule是开源ESB中,活跃程度最高,用户量大,不断推出新版本。
- 易用性:EAI基于workflow配置并且支持热部署,支持图元拖拽,简化开发。
- 扩展性:增加一个新协议非常简单,只需实现5个接口类即可。
org.mule.api.transport.Connector
org.mule.api.transport.MessageReceiver
org.mule.api.transport.MessageDispatcher
org.mule.api.transport.MessageDispatcherFactory
org.mule.api.transport.MuleMessageFactory
- 异常处理框架
异常策略设置级别:model和service
异常处理方式:
- 将异常路由到指定的目的地
- 根据异常类型过滤异常,并路由到指定目的地
- 设置重试次数
- 当采用了事务时,可以在异常处理策略中设置当发生异常时是继续提交还是回滚事务。
- LSB支持的协议以及同步方式
- 协议:HTTP/TCP/UDP/WS/FTP/SFTP/File/SMTP/POP3/SSL/DDI(rdbs/nosql)/JMS/RMI/SAP(BAPI Calls)
- 方式:同步/异步/发布订阅
- LSB支持的组件
- Connectors:定义集成源/目标 HTTP/TCP/UDP/SSL/WebService/FTP/SFTP/File/Database/Mongodb/JMS/RMI/SMTP/POP3/Jetty
- Scopes: 定义数据处理方式
Async/Batch/Cache/For Each/Message Enricher/Poll/Processor Chain/Transactional/Until Successful
- Process: 定义数据处理程序 eg. Logger/REST/CXF/Expression/Java/Ruby/Transform Message/Validation/CORS Validate
- Filter: 定义数据过滤器
And/Or/Not/Payload/Regex/Schema Validation/Message/Expresion/Exception/Custom
- Transformers: 定义消息转换器
Byte Array to MIME/Object/Serializable/String
JSON to XML/Object
Gzip Compress/Uncompress
File to String/Byte Array
Email to String
JAXB Object to XML
JMSMessage to Object
XML to DOM/JAXB Object/Json/SAP IDoc/SAP Function(BAPI)
Object to Byte Array/JMSMessage/JSON/MIME/Message/String/XML
- Flow Control: 定义流程控制
Choice
Aggregator/Splitter
First Successful
SOAP Router
Scatter-Gathe
- Error Handling: 定义错误处理策略
Catch/Choice/Custom Exception Strategy
Exception Mapping
Mapping/Reference/Rollback Exception Strategy
- LSB支持集群部署并提供集成API管理。