应用程序模型(Avalanche-Java应用程序框架)
“ Avalanche-Java应用程序框架”-模糊差异技术的实现
在调用本地和远程代码之间。 容错性,可扩展性,
可修改性,持续可用性与不错的奖励捆绑在一起。本文考虑的应用程序模型是基于我们在信息系统(IP)的各种集成交互的实现和操作中的经验而诞生的,其主要目的是减少在实施这些集成解决方案时使用各种资源(财务,劳动力,时间等)。
大多数企业使用许多不同的系统来自动化单个过程或单个结构单元或部门的工作。 因此,有必要组织这些系统之间或与相关组织的信息系统进行信息交换,以降低运营成本,消除重复数据的引入和各种系统(例如NSI)中数据不一致的情况,减少人为因素的影响并减少花费在信息交换上的时间。
集成的需求不仅出现在自己开发或定制开发的特殊软件中,而且出现在“盒装”解决方案中。 销售成本可能超过预期的运营成本降低。
解决IT系统集成的现有方法:
- 文件共享
- 消息传递(一种文件共享)
- 在数据模型级别进行集成,例如,创建特殊的数据库对象或存储过程
- 使用RCP(远程调用过程)技术,例如CORBA,RMI,SOAP,DCOM等。
所有这些实现集成解决方案的方法都具有相同的缺点:实现和修改的复杂性,可重复性低,需要解决容错问题,在安装更改期间无法在多版本模式下工作,操作的复杂性以及保持操作文档的最新性。
在寻找现有解决方案的替代方案的结果中,提出了将MVC模型(模型-视图-控制器)转换为MVFA模型(模型-视图-功能-应用程序)的想法,将控制器分为两个程序层“功能”和“应用程序”,可以在两者之间放置数据传输网络(SPD) )

在所有现代IT系统中,控制器内功能的划分都有不同程度的体现,尤其是在使用面向对象的编程语言进行开发时。 这些功能在单独的软件层中的分离解决了其他IT系统对其重用的问题。
将“应用程序”对象分离到单独的程序层中,不仅可以将对其调用的功能标准化,还可以对其他系统的功能进行标准化,从而消除了“拥有”和“外来”功能的所有差异。
为了实现MVFA模型,提出了以下软件模型:
- 功能(Function),任何具有实现任何功能的方法的对象;
- 适配器,一个没有实现的声明对象。 该对象提供“应用程序”对象与本地或远程功能的连接。 要访问远程功能,请使用“接口”对象。
- 连接器(Connector),用于使用对象“ publication”访问远程对象的本地功能;
- 发布(Publish),在连接器中发布本地功能;
- 接口(接口),提供对用于远程功能的适配器的访问;
- 应用程序(Application),在表示和功能之间进行数据转换,也可以作为“应用程序”的其他对象的“功能”。

一对“接口”-“连接器”通过不同系统或同一系统的不同节点之间的协议形成数据通道。 已实现的通道必须具有传递所需数据量的能力。
有一些专门的“接口”实现,它们没有成对的“连接器”元素,例如,一个高可用性接口,允许您创建容错信息系统。 高可用性接口的主要目的是在计划或计划关闭系统节点之一时将负载重定向到重复的节点。
所考虑的MVFA模型在Java软件产品的Avalanche-应用程序框架中实现,该框架属于中间件类别,旨在创建软件集群或容错高可用性信息系统。
当然,像任何技术一样,Avalanche-Java应用程序框架也有一些限制:
- 适配器中声明的任何对象(类型)(输入和返回参数)都可以通过网络传输,因此这些对象必须实现java.lang.Serializable接口。 直接调用本地对象,而无需使用对流的读写操作。
- 并非所有对象都可以通过网络传输。 例如,对象的状态或性能取决于创建对象的系统节点的配置。 这样的对象包括实现javax.sql.DataSource规范的对象。
- 重复的系统节点必须位于不同的硬件上。
- 不应同时关闭(维修)重复的系统节点。
在文章“第
一个应用程序(Avalanche-Java应用程序框架)”中描述了一个简单应用程序的示例。