Primeton EOS(Entriprise Operation System),以下简称EOS,是基于J2EE平台、采用面向构件技术实现企业级应用开发、运行、管理、监控、维护的中间件平台。EOS6是普元公司推出的基于SOA架构,支持SCA1.0、SDO2.1规范的新一代EOS产品。基于EOS6开发的应用具备符合国际标准,易于扩展,易于集成的特性。
EOS6的SOA架构划分为资源层、构件层、服务层、流程层和协同层五个层次。其架构图如图1-1所示。
1. 资源层的核心功能是访问数据资源,为了在各个层次采用统一的方式访问这些资源,EOS采用数据定义的方式描述了系统中的数据结构,这些数据结构用于接口的定义、数据的持久化、数据的显示格式以及数据的转换格式等等。
一组数据定义组成了一个数据集,数据定义由数据实体和显示模型组成。其中数据实体分为持久化实体、非持久化实体和查询实体,显示模型定义了数据实体的显示方式,包括编辑方式、效验规则、显示名称、显示样式等内容。每个数据实体可以有多个显示模型,每个页面控件可以使用显示模型控制显示的样式。
2. 构件层的构件用于实现领域相关的业务逻辑,构件层提供了三种类型的构件实现方式:
Java构件、逻辑构件和工作流。通过三种构件通过组装、调用运算逻辑,或者相互调用来实现业务操作。EOS6提供了编写SCA Java构件实现工具级别的支持。
逻辑构件采用图形化的方式将运算逻辑、逻辑流和服务组装成更大粒度的构件。一个逻辑构件定义了一套业务操作的接口,每个业务操作由一个逻辑流来实现。
工作流也是一种构件,可以把一个工作流程暴露成一个服务,由其他模块或者其他系统来调用。这样其他模块看到的只是一个业务操作接口,而不必关心这个业务对应的是一个业务流程,还是一个逻辑流或者一个Java构件。
3. 服务层采用
SCA1.0标准来实现,是用来将构件层编写的构件,装配成服务的方式暴露给其他模块或者其他系统。服务层的服务含义不仅仅是指Web Service,在SOA体系中服务是构件暴露出来的业务操作,在技术上可以体现为Web Service,也可以体现为Java Interface、EJB、JMS等多种调用方式。在EOS中我们可以将Java构件,或者逻辑构件实现装配为服务构件,也可以将这些构件装配成更大粒度的组合构件。
4. EOS6在流程层提供了EOS Workflow,帮助客户实现人与人之间的工作协调,人工任务与自动任务间的协调。EOS Workflow完全支持SCA服务构件的调用,是一个面向服务的工作流产品。
5. 协同层也叫接入层,基于EOS开发的应用支持HTTP,EJB,Web Service,Ajax等多种接入方式。同时提供了客户端接入接口,允许GUI程序,或者第三方应用通过客户端接口访问EOS应用提供的服务。EOS客户端接入支持EJB和Web Service两种调用模式。
EOS在接入层最核心的功能是提供了页面流功能,EOS页面流引擎负责页面的跳转,页面间的数据流转,调用服务层提供的服务,或者直接调用构件层构件的接口。