EOS敏捷开发平台.pptx
- 文档编号:1370447
- 上传时间:2022-10-21
- 格式:PPTX
- 页数:64
- 大小:3.22MB
EOS敏捷开发平台.pptx
《EOS敏捷开发平台.pptx》由会员分享,可在线阅读,更多相关《EOS敏捷开发平台.pptx(64页珍藏版)》请在冰豆网上搜索。
EOS敏捷开发平台,产品简介,1,1,产品简介,EOS是SOA(面向服务架构的组件模型)应用平台,提供了基于Web的应用的开发、调试、部署、管理和维护的一体化开发、运行、管理监控环境。
在EOS中开发人员可以通过拖、拉、拽方式将与业务无关的通用构件进行图形化的组装,实现快速构建基于Web的企业级应用。
基于EOS平台开发出的应用是符合SCA/SDO标准的。
开发的应用具有在线开发表单、视图、流程的能力,为方便用户的个性化功能开发,并提供了强大的可扩展能力,能使用扩展机制,扩展出不同的表单类别、表单控件、视图控件等,实现不同的业务场景,给予开发人员足够的灵活性。
1,产品简介,EOS平台体系框架,1,产品简介,EOS平台组成,产品特点,2,功能与原理,2,功能与原理,本部分包括的内容应用层次架构服务构件架构服务数据对象数据处理过程,2.1,基本概念,逻辑流逻辑流用于完成后端业务功能,它是由开始节点、结束节点、运算逻辑节点、事务处理节点和连线等组成的图形。
逻辑流通过调用运算逻辑,将处理后的数据返回给页面流。
逻辑流用图形化的方式来描述业务处理逻辑,即用“画图”的方式来“写代码”。
逻辑流可以使用图元控制事务、循环、调用运算逻辑、调用服务、调用子逻辑流和处理异常等操作将小粒度的运算逻辑组装成业务逻辑。
页面流页面流是用于描述用户界面元素流转关系的图形化流程,它是由开始节点、结束节点、逻辑流节点、服务节点(可选节点)、返回页面节点和连线等组成的。
数据模型数据建模工具,支持数据实体和数据库表的映射,支持从数据库表生成持久化数据实体,从持久化数据实体生成数据模型。
运算逻辑运算逻辑又称BL方法,基于Java代码实现,用于完成特定的计算处理任务。
运算逻辑可以为静态Java方法也可以为非静态的Java方法。
SpringBeanEOS提供了Spring框架的开发期支持和运行期支持,开发期通过工具可以直接创建SpringBean,并自动生成Spring配置文件,运行期Server内置Spring容器,可以实现SpringBean的IOC(依赖注入)功能。
构件包构件包是EOS系统发布和复用的基本单位,它由逻辑流、页面流、服务构件、Java代码(包括运算逻辑和SpringBean)、页面资源等组成。
一个构件包通常能够完成一个相对独立、完整的业务功能。
业务流程业务流程是用于完成包含人工和自动的业务活动流程的构件,它是开发的流程管理的图形化描述。
2.1,基本概念,2007年国内外著名企业联合发布了SCA1.0规范和SDO2.1规范。
SCA是一种全新的、跟语言无关的编程模型,它提供了一种统一的调用方式,从而使得客户可以把不同的软件模块通过服务构件的标准化而统一地封装起来并被调用访问。
这种面向服务构件的编程模型可以大大简化客户的编程,提高应用的灵活性。
EOS在技术架构上支持国际标准SCA和SDO规范,应用架构分为五个层次,包括资源层、构件层、服务层、业务流程层和协同层。
资源层资源层的核心功能是访问数据资源,为了在各个层次采用统一的方式访问这些资源,EOS采用数据定义的方式描述了系统中的数据结构,这些数据结构用于接口的定义、数据的持久化、数据的显示格式以及数据的转换格式等等。
2.2,应用层次架构,一组数据定义组成了一个数据集,数据定义由数据实体和显示模型组成。
其中数据实体分为以下几种:
持久化实体持久化实体是可以保存到持久化介质中的数据实体,它除了用一个xmlschema描述数据结构的名称、类型等内容外,还包括一个mapping文件,描述数据结构和持久化实体之间的对应关系。
非持久化实体非持久化实体类似DTO对象,是不需要持久化的。
SQL定义查询实体查询实体也是一种持久化实体,类似数据库视图,用于查询。
显示模型定义了数据实体的显示方式,包括编辑方式、效验规则、显示名称、显示样式等内容。
每个数据实体可以有多个显示模型,每个页面控件可以使用显示模型控制显示的样式。
2.2,应用层次架构,如图所示是数据定义的核心概念模型:
构件层构件层的构件用于实现领域相关的业务逻辑,构件层提供了三种类型的构件实现方式:
逻辑构件、Java构件、Spring构件。
通过三种构件组装、调用运算逻辑,或者相互调用来实现业务操作。
下图是EOS构件层对象的概念模型:
逻辑构件是一种基于图形化编程的构件实现模式。
逻辑构件采用图形化的方式将运算逻辑、逻辑流和服务组装成更大粒度的构件。
一个逻辑构件定义了一套业务操作的接口,每个业务操作由一个逻辑流来实现。
逻辑流是采用图形化的方式来实现业务逻辑,可以大大降低开发的学习成本,提升组织级别的构件复用度、增强了应用的可维护性。
Java构件需要符合SCA_JavaAnnotationsAndAPIs_V100的规范,提供了编写SCAJava构件实现工具级别的支持。
开发人员可以快速方便的开发基于SCA对Java构件实现。
Spring构件,使用SpringBean作为构件的实现,内置了对Spring编程的支持,使得开发人员能够很方便的用Spring来开发构件。
2.2,应用层次架构,服务层服务层用来将构件层编写的构件装配成服务的方式,暴露给其他模块或者其他系统。
服务层的服务含义不仅仅是指WebService,在SOA体系中服务是构件暴露出来的业务操作,在技术上可以体现为WebService,也可以体现为EJB、JMS等多种调用方式。
将Java构件、Spring构件或者逻辑构件实现装配为服务构件,也可以将这些构件装配成更大粒度的组合构件。
图是服务层对象的概念模型,服务层的核心思想是将构件实现装配为对外的服务,将小构件装配为大构件,将大构件装配为更大粒度的具有业务语义的构件。
服务层采用OSOAI定制的标准,服务构件架构(SCA1.0)来实现。
2.2,应用层次架构,流程层实现人与人之间的工作协调,人工任务与自动任务间的协调。
完全支持SCA服务构件的调用,是一个面向服务的流程管理产品。
提供基于事件的流程调度模型,支持复杂流程,不仅支持顺序、分支、并发、循环、嵌套子流程、多路选择、多路归并等各种基本流程模式,还支持条件路由、自由流、回退、并行会签、串行会签、指派、多实例子流程等多种特殊流程模式,100%满足中国特色业务。
协同层基于EOS开发的应用支持HTTP接入、EJB接入、Web-Service接入、Ajax等多种方式接入EOS系统。
EOS提供了客户端接入接口,允许GUI程序,或者第三方应用通过客户端接口访问EOS应用提供的服务。
EOS客户端接入支持EJB和WebService两种调用模式。
EOS在接入层最核心的功能是提供了页面流功能,EOS页面流引擎负责页面的跳转、页面间的状态流转、调用服务层提供的服务,或者直接调用构件层构件的接口。
2.2,应用层次架构,服务构件架构SCA(ServiceComponentArchitecture)是业界主要的软件厂商,包括IBM、BEA、Oracle、SAP等厂商共同推动制定的。
通过SCA,可以大大简化用户构造面向服务架构SOAs(Service-OrientedArchitectures)应用的过程。
SCA为构建于SOA的应用和解决方案提供了一套编程模型。
它的基本理念是:
业务功能都是用服务来描述的,通过将这些服务进行组装就可以提供新的业务;在组装的过程中,可能需要新开发一些服务,也可能从企业已有的业务功能重抽取出服务,而进行重用。
SCA提供了开发新服务的模型,也提供了重用已有应用业务功能的模型。
SCA给开发人员提供了一个统一的编程模型,在一个组织内,所有的开发人员可以一种统一的模式来实现面向服务架构的应用。
随着SOA体系变得越来越复杂,您需要灵活、简单的SCA技术,使用SCA技术可以帮助您完成如下目标:
节省开发成本-简单的API,平滑的学习曲线;提供重用机制-使用SCA装配模型,非常容易实现构件和服务的重用。
2.3,服务构件架构,本部分包括的内容服务构件定义模型服务构件装配模型服务构件定义模型服务构件定义模型,定义了SCA组装的基本单元构件,一个构件由服务、属性、引用和实现组成,如下图所示:
2.3,服务构件架构,2.3,服务构件架构,下表定义了服务构件定义模型中的基本术语:
服务构件装配模型SCA装配模型定义了如何将一个构件包装成服务,如何将小粒度的构件组装成大粒度的构件,如何将一组小粒度的构件协同起来执行一个任务。
通过SCA装配模型,用户可以提升构件的可重用性,从而在组织级提升开发效率,降低开发成本。
使用SCA装配模型,我们可以方便的将构件的服务,暴露为不同的调用协议,比如将服务暴露为WebService、JMS、RMI、EJB等,服务构件的应用也可以使用不同的协议,比如WebService、JMS、RMI、EJB等调用其他构件提供的服务。
2.3,服务构件架构,虽然Java平台和J2EE提供了大量的数据编程模型和API,但是这些技术都是分散的,而且通常不能服从于工具和框架。
此外,其中的一些技术可能难以使用,而且可能功能不够丰富,无法支持常见的应用需求。
服务数据对象SDO(ServiceDataObject)旨在创建一个统一的数据访问层,以一种可以服从工具和框架的易用方式为不同的数据源提供一种数据访问解决方案。
EOS采用SDO作为数据载体,SDO对象比XML更容易编程,占用内存更小,访问数据的效率更高。
2.4,服务数据对象,数据处理过程主要涉及到接入引擎、页面流引擎、逻辑流引擎和SCA容器。
EOS数据核心处理过程如下图所示:
2.5,数据处理过程,本部分包括的内容接入引擎数据上下文数据流转过程页面流数据处理逻辑流数据处理工作流数据处理,2.5,数据处理过程,接入引擎EOS提供了多种接入方式,用户可以用Http、WebService、EJB等方式访问基于EOS开发的服务或者逻辑。
EOS的核心模式还是采用浏览器+服务器模式。
随着Ajax以及RIA技术的发展,浏览器和服务器交互的方式也发生了很大变化。
在传统的浏览器,服务器模式下,浏览器采用Http的GET/POST方式向服务器提交键/值对,而在Ajax模式下,浏览器会向服务器提交XML数据或者JSON(JavaScriptObjectNotation)等类型的数据。
接入引擎主要完成三部分功能:
提供拦截过滤器的功能。
此功能类似于J2EE的ServeltFilter的功能,使用此功能,开发人员可以不修改J2EE的配置文件,注册请求拦截器;将从浏览器传入的各种类型的数据,比如键值对、XML、JSON对象,转换成SDO或者JavaBean对象;将从浏览器传来的请求分发给不同的处理引擎,比如页面流引擎。
2.5,数据处理过程,数据上下文页面流、逻辑流和工作流在运行期都是以数据上下文为中心。
数据上下文是一个有固定分区的数据容器,不同的模块可以从数据容器的不同区域中获取数据。
数据上下文中数据区的生命周期控制,由EOSServer统一管理。
数据上下文分为多种数据区,其中包括:
请求上下文数据区页面流上下文数据区会话上下文数据区逻辑流上下文数据区业务流程上下文数据区,2.5,数据处理过程,每一种数据区的生命周期是不同的,详细描述,参见下面的表格。
2.5,数据处理过程,数据流转过程如图所示,EOS的核心数据流程为:
客户端浏览器发起Http请求,通过Key/Value对的形式将数据传输到服务器端;页面流引擎接到Http引擎后将Key/Value对象转换为SDO对象,传递给页面流实例,然后再传递给逻辑流实例。
EOS数据传输过程,缺省的对象类型是SDO对象,但是用户也可以采用自定义类型,比如POJO、W3CDOM等。
2.5,数据处理过程,页面流数据处理页面流使用到的数据上下文分为三个数据区,包括会话上下文数据区、页面流上下文数据区、请求上下文数据区。
2.5,数据处理过程,页面流数据处理会话上下文数据区存储的数据是当前用户所在的Http会话数据的一个映射。
开发人员开发页面流的时候可以使用s:
XPATH_EXPRESSION来访问会话数据区中的数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EOS 敏捷 开发 平台