当前位置: 首页 > news >正文

一种ESB的设计

系统架构

ESB包括: ESB总控服务、业务应用集群、业务消息WEB服务、业务消息日志服务、运维管理平台、业务设计器。如下图所示

ESB总控服务

ESB总控服务承载了各项业务的运维和管理。主要包括:

  • 业务流程的管理
  • ESB内部不同模块间的通讯
  • ESB系统设置和管理

业务应用集群

由一台或多台业务服务器组成。每台业务服务器根据配置运行业务进程。在业务服务器上运行“NodeRuner”程序。“NodeRuner”从“ESB总控服务”中获取当前服务器的“业务设置”,根据设置从“ESB总控服务”中下载同步“业务应用”的运行时文件(EXE、DLL等文件),同时,“NodeRuner”响应“ESB总控服务”发送的“启动”、 “停止”等命令进行业务调度。


“业务应用”是独立运行的,和“NodeRuner”之间没有直接的依赖关系。“NodeRuner”程序是否运行,不影响“业务应用”。 “业务应用”是采用独立进程的运行的,所以不同的“业务应用”之间不会相互影响。“业务应用”可以通过“业务设计器”生成,也可以使用其他的开发工具生成。兼容32位和64位编译。ESB是一个开放的架构,他可以管理由“ESB业务设计器”编译的业务应用,也可以管理其的第三方业务应用。

业务消息WEB服务

记录业务信息并提供查询服务。

运维管理平台

通过运维平台可以监控ESB运行状态。管理业务应用、查询业务信息等。“运维管理平台”可以部署在IIS中,也是使用ESB的WEB服务程序“WebRuner”进行发布。

业务设计器

“业务设计器”包括下面的功能:

  • 可视化的业务编辑器

定时器
WEB服务
空操作
逻辑处理
子流程
数据库操作
垃圾桶
子流程返回
拆分
连接
 

  • 支持主业务、子业务的设计方式

        “子业务”包含常用的一些功能,在系统安装时将会自带大量的子业务。子业务分为两类:

        1、某些功能的封装,例如监控文件目录、网络通讯等

        2、对于一些固定业务的封装

  • 语法检查

逻辑脚本采用C#语言,系统提供语法检查功能,对于语法错误,能够提示错误信息和错误行。

  • 流程编译

业务流程可以编译为可执行的进程。

  • 导入导出

业务流程可以导出为xml文件,并支持导入。

  • 版本管理等功能

系统在业务流程的修改和编译时,保存了副本,可以对业务的修改进行追踪

 环境要求

 

服务器

环境要求

硬件要求

承载

ESB总控服务器

Windows Server 2008 R2 或以上,Microsoft .NET Framework 4.0 或以上,Internet Information Services(IIS)6.0或以上

4核CPU或更高,4G内存或更高,50G可用存储空间或更高

ESB总控服务、运维管理平台及ESB WEB服务

ESB日志服务器

Windows Server 2008 R2 或以上,Internet Information Services(IIS)6.0或以上

4核CPU或更高,4G内存或更高,500G可用存储空间或更高

ESB日志服务

ESB业务应用集群节点服务器

Windows XP或以上,Microsoft .NET Framework 4.0 或以上

2核CPU或更高,2G内存或更高,20G可用存储空间或更高

由多台主机组成,可以根据实际情况增加多台主机

运行ESB业务应用

在服务器资源部不足时,以上服务器可以使用共用主机。

对于已经安装了Microsoft .NET Framework 4.5 或更高版本的环境,可以不安装Microsoft .NET Framework 4.0

Microsoft .NET Framework 4.0 见附录

Internet Information Services(IIS)安装见附录

安装和部署 

运行InstallESB.exe,选择“ESB总控服务及运维管理平台”

点击“开始安装”按钮

点击“下一步”按钮,并选择安装目录

http://www.lryc.cn/news/478763.html

相关文章:

  • 上位机常用通信方式
  • Vue3中使用LogicFlow实现简单流程图
  • 《重学Java设计模式》之 工厂方法模式
  • 【大数据学习 | kafka】kafka的数据存储结构
  • 知识竞赛答题系统,线上答题小程序链接怎么做?
  • 基于SSM的社区物业管理系统+LW参考示例
  • android——jetpack startup初始化框架
  • 英伟达HOVER——用于人形机器人的多功能全身控制器:整合不同的控制模式且实现彼此之间的无缝切换
  • GEE代码学习 day17
  • 论文阅读笔记-Covariate Shift: A Review and Analysis on Classifiers
  • 基于SSM+VUE守护萌宠宠物网站JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
  • 【在Linux世界中追寻伟大的One Piece】Socket编程TCP
  • 进入半导体行业需要具备哪些能力?
  • Nature重磅:AI化学家再升级!大幅提升实验效率,推动化学合成进入“智能化”新阶段
  • 源代码泄漏怎么办?SDC沙盒成为破局利器
  • 【论文复现】基于图卷积网络的轻量化推荐模型
  • 使用ssh-key免密登录服务器或免密连接git代码仓库网站
  • 自由学习记录(19)
  • Elasticsearch中时间字段格式用法详解
  • 蓝桥杯-网络安全比赛题目-遗漏的压缩包
  • ES海量数据插入如何优化性能?
  • 遥控救生圈,水上应急救援的新革命_鼎跃安全
  • 【flask开启进程,前端内容图片化并转pdf-会议签到补充】
  • Docker在CentOS上的安装与配置
  • 【笔记】开关电源变压器设计 - 工作磁通的选择原则
  • 【VScode】如何在VSCode中配置Python开发环境:从零开始的完整指南
  • Copy From 勇哥的机器视觉实验项目
  • 在IDEA中使用Git
  • 分布式锁(防止同时操作同一条数据)实现分析
  • 【已解决,含泪总结】Ubuntu18.04下非root用户Anaconda3卸载重装,conda install终于不再报错