SOA应用平台EOS.docx

上传人:b****8 文档编号:9955983 上传时间:2023-02-07 格式:DOCX 页数:37 大小:420.75KB
下载 相关 举报
SOA应用平台EOS.docx_第1页
第1页 / 共37页
SOA应用平台EOS.docx_第2页
第2页 / 共37页
SOA应用平台EOS.docx_第3页
第3页 / 共37页
SOA应用平台EOS.docx_第4页
第4页 / 共37页
SOA应用平台EOS.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

SOA应用平台EOS.docx

《SOA应用平台EOS.docx》由会员分享,可在线阅读,更多相关《SOA应用平台EOS.docx(37页珍藏版)》请在冰豆网上搜索。

SOA应用平台EOS.docx

SOA应用平台EOS

SOA应用平台EOS

企业应用之痛

 

互联网时代,企业应用软件对于企业的重要性越来越高,越来越成为支撑企业业务发展的重要因素,但是日益复杂的应用系统、不断变换的商业环境带来的无尽的业务需求,却使得快速实现满足业务要求的应用系统遭遇到严重挑战,表现为:

各个项目形成孤岛,缺乏统一的企业级应用平台

项目周期超过预期

无法快速响应业务需求变化

软件质量低下,Bug

软件复用度低,重复开发造成浪费

总体拥有成本高

软件人才流动造成严重影响

企业长期IT建设规划缺少稳定高性能的软件基础架构支持

无论是采用定制应用的开发方式,还是基于套装软件进行二次开发,似乎都陷入问题的泥潭无法自拔,在“软件危机”的无奈中挣扎。

从本质上,这根源于落后的编码式的软件开发方式,面对大型应用系统的复杂性,使用原子级的代码进行堆砌,必然造成应用系统的低效率和低质量,以及整个软件系统结构的僵化,无法快速满足变化的软件需求。

平台解决之道

 

 

对于一个企业应用而言,

1.从业务表现的角度是由不同的功能(或功能模块,如客户管理、产品管理、订单管理等等)组合而成的

2.从系统结构的角度则每个功能又分为页面(用户界面)、流程(界面流转控制)、业务处理、数据等不同的层次

3.从技术实现的角度这些层次最终能够运转起来满足功能的要求又依赖于代码、数据和运行环境等软件基本要素。

以下是一个企业应用典型的构成要素图:

实际上,一个企业应用系统的应用架构就是通过功能、层次、软件要素这三个相互影响的维度有机结合形成的。

没有人怀疑架构对于企业应用的重要意义,某种意义上,架构可以说是系统的灵魂。

良好的应用架构取决于对这三个维度的有效合理的切分和组合。

传统的J2EE应用项目,由于已经提供了JAVA程序语言和对象级接口的数据传递方式和基于JVM的java运行环境这些软件要素,应用架构需要考虑的是从软件层次上主要遵循MVC的设计模式,在功能实现上通过合理的对象设计以及模式应用来进行保证。

这就意味着,对一个J2EE企业应用项目组而言,既需要非常熟悉相关的业务领域知识,同时对技术环境的熟悉程度和把握能力都要求较高,这样对项目的实施造成了很大的压力。

所以,在Java的开源世界里,有很多技术组织在研究架构技术,我们常见的像Struts、Spring、Hibernate都是属于这种范畴,这些开源架构因良好解决了我们应用架构设计的很多问题而备受推崇,然而,我们也清醒认识到,这些架构要么只解决了部分层次的问题(如Strtus、Hibernate等)、要么就是提供了完整架构(如Spring),但没有与之配套的完整的工具的支持,使得在项目中,整合这些架构成为项目的应用架构并为之建立与之匹配的一套开发支持环境成为了新的问题,对于项目完成后的应用可维护性更是无暇顾及。

面向构件的架构提供一套体系完整的应用架构:

1.从应用功能维度上,是通过构件包来承载业务功能的,一个应用可以由多个构件包构成,每个构件包实现了一组具有相关性的业务功能,实际上可以将构件包理解为业务功能分解后的功能模块。

2.从软件层次维度上,每个构件包又按照MVC的思想抽象形成了不同层次的构件元素,由上而下包括页面构件层、展现构件层、业务构件层、运算构件层、数据构件层,每个层次具有鲜明的特征,完成相应的使命,同时引入了具有很强扩展能力的XML总线技术,实现各个层次之间的数据传递,并提升各个层次数据的扩展能力。

构件层次结构图如下:

针对以上构件层次结构图中的各个要素的作用和特征详细描述如下:

数据构件层采用X-RMapping技术,主要实现与企业系统数据库的数据实体映射,达到数据持久层管理的目的,降低应用与数据库结构和数据库类型的耦合度,提升企业应用在数据层次的扩展能力。

另外,数据层还提供了数据字典的管理能力,它使得应用层的业务配置具有强大的灵活性,基本数据属性的变化都可以通过参数配置完成。

运算构件层实际上是对计算机处理操作的构件化封装,因为应用的业务功能最终都是通过计算机的计算能力完成的,计算处理一定是与代码相关的,而且依赖于具体的计算机语言,正因为这个层次具有与业务无关性,是可以预先实现的,面向构件技术体系可以提供预制的构件库,使得在开发一个企业应用时,基本上业务处理所需要的计算功能都已经提供了。

当然,构件可以进行扩展,在即使应用中不够的情况下,也可以使用JAVA开发出新的运算构件。

总体而言,在开发一个企业应用过程中,在这个层次上花费的工作量将变得少而且简单。

业务构件层主要实现应用逻辑的处理过程,其实现方式是通过构件组装环境将许多运算构件通过可视化方式组合成复杂的业务处理过程(应用逻辑),提高开发、测试、维护效率。

传统方式下采用代码实现业务逻辑的过程变成了画业务流程图的过程。

也使得了应用的逻辑与具体的代码实现进行了有效的分离。

展现构件层是连接用户界面与业务处理的中间层次,例如页面的某个处理请求(按钮或者连接)将会激活相应的展现构件,展现构件将用户提交的数据传递给相应的业务构件进行调用,根据调用的返回,再定位到另一个用户界面,并把业务处理的返回数据传递到相应页面上。

页面构件层主要提供对应用系统用户界面的支持。

XML数据总线是面向构件技术体系一个很重要的技术特性,通过XML的DOM方式,封装了应用的三大数据区:

Session数据区(SessionContext)、Request数据区(RequestContext)、业务处理数据区(BizContext),构成整个应用的数据总线区。

这样,在面向构件应用中,各种数据都被规范成了XML的格式,而数据的传递则采用Xpath的寻址方式。

而这种数据传递方式使得应用开发中对接口的处理与原来基于对象接口的方式有了较大差异。

构件的接口相当于确定了接口数据在总线中的固定位置,运行时根据不同的实例,对应位置上的内容可能不一样,而传统的接口只确定接口的对象类型和对象的变量名,在调用具体接口时完成对象的实例化。

通过上面的描述,我们可以看到这个架构的2个重要特点:

1)应用逻辑与代码是相对分离的。

应用系统中的应用逻辑是体现企业业务特点和经营管理理念的,是企业业务知识和管理流程的载体,而企业的业务内容和管理模式是动态成长的,这就需要对应用系统进行维护以适应这种变化。

当应用逻辑独立于具体的代码实现后,通过图形化的方式表达的应用逻辑就变得易于进行调整以适应新的变化。

2)应用逻辑与数据是相对分离的。

传统的方式下,代码、业务逻辑、数据是三位一体的,当数据通过XML总线方式独立于应用逻辑后,将使得应用系统在数据的扩展能力上有了较大的提升。

仅仅有这样一个应用架构是不够的,需要有与之配套的工具或环境的支持,这种支持,就是由EOS产品的各个部分来提供的,例如,通过EOSStudio,能够实现基于构件包的各种层次构件的可视化开发;通过EOSServer,实现对可视化构件的解释,使之成为J2EE环境的标准分布式应用,另外,实现对运行时数据总线的管理;通过EOSManager,实现对应用的部署和管理、监控。

当这种面向构件的架构与一体化的配合环境结合起来后,EOS的优势就显现出来:

分层的构件体系和XML总线使得应用系统架构具有了良好的开放性和扩展能力

一体化可视化的开发运行环境屏蔽了复杂的技术细节

提高了开发效率

方便于系统的后期维护

产品实现

 

普元EOS(以下简称EOS)是基于J2EE平台、采用面向构件技术实现企业级应用开发、运行、管理、监控、维护的中间件平台。

它将J2EE体系规范、构件技术、XML技术和可视化开发技术完美结合起来,为基于J2EE平台之上的应用提供了面向构件的应用架构,通过图形化的构件单元作为应用系统的基本组成元素,为企业级应用系统的开发带来了卓越的价值:

统一的企业级应用平台

快速响应新的业务需求

系统高度的稳定性

方便的系统维护和监控

保护已有的软件投资

降低开发人员的技能要求

降低人员流动风险

EOS是面向构件技术体系基于J2EE平台的完整实现,EOS可以看做是一个构件化的虚拟层,是对J2EE的每个层次做了一个构件化的解析,从而使得J2EE应用的开发具有面向构件的特性:

EOS产品家族(EOSPlatform)

EOS产品家族包括EOSServer(构件运行环境)、EOSStudio(集成开发环境)、EOSComponentsLibrary(构件库)、EOSManager(管理控制台)、EOSWorkflow(工作流)、EOSRichWeb(页面开发工具)、EOSReport(报表),这些面向构件的产品能够无缝整合在一起,为客户提供一个完整的价值体系。

图EOS—面向构件中间件的产品构成图

EOS构件运行环境(EOSServer)

EOSServer是运行在J2EEServer之上的一个应用而不是单独的服务实例,通过EOSServer提供的引擎服务,对EOS开发的应用中的各种构件进行解析,使EOS开发的构件成为J2EE中的标准应用。

另外,EOSServer提供了对应用运行时数据总线的管理。

构件运行环境(EOSServer)

 

EOSServer提供了各种构件的运行环境。

在Server中构件按预定规则运行,它们操纵XML数据总线中的数据,完成一定的业务功能;同时Server提供了对EOS架构底层操作API接口,便于用户在扩展运算构件时调用,或者在开发“钩子”服务(在EOS中称为Handle)和页面标签(Tag)时调用。

EOSServer包括服务层和引擎层,其核心功能如图所示。

图EOSServer总体结构图

服务层:

服务层是EOS系统架构提供的底层框架服务,包括XML处理接口,异常处理机制,日志服务接口,Cache机制,定时服务等应用框架的一些底层功能。

同时,服务层是运行于J2EEServer之上的,实现了对J2EE一些服务的接口封装,例如事务处理、消息服务、EJB服务和WEBService服务等。

引擎服务层:

引擎服务层是EOSServer的核心层次,是基于底层服务层之上的,提供了各种构件运行的环境,包括数据引擎、展现引擎、业务引擎、流程引擎。

1)展现逻辑引擎将解析执行展现逻辑,在展现逻辑中调用业务逻辑完成一定的业务功能,以及控制页面流转,在调用业务逻辑结束后,展现逻辑引擎会把数据传送到展现页面上,在页面中可以使用丰富的标签库展现数据。

2)业务引擎主要实现对业务逻辑的解析,并对业务逻辑中的运算逻辑进行调用。

业务引擎保证业务逻辑具有分布式处理应用的特性,使得任何一个业务逻辑,都允许外部系统可以通过EJB远程接口调用、或者基于SOAP协议实现WEBService调用。

3)数据引擎主要负责数据库处理,在EOS提供的X-R映射的基础上,通过对应用服务器数据源和事务管理的封装,完成应用的数据库处理。

4)流程引擎是EOS工作流引擎,符合WFMC标准,并加入了很多符合中国管理特色的特殊需求,简单易用,易于扩展。

 

EOS管理控制台(EOSManager)

EOSManager是应用运行时的管理监控环境,在EOSServer启动后通过WEB页面访问。

EOSManager包括了应用部署、应用配置、应用监控统计、在线更新、安全审计、日志查看、工作流管理监控等各种服务

管理控制台(EOSManager)

 

对于在企业经营管理中扮演着越来越重要作用的企业应用系统而言,对于应用运行状况的管理和监控也变得越来越重要。

EOS的管理控制台提供的监控和统计功能能够帮助用户方便快捷定位应用的性能瓶颈,以及系统功能运行的频次,为应用系统的运行维护提供强有力的支持。

EOSManager提供的主要功能如下:

应用配置--用于配置EOS应用运行时所需的参数:

数据库配置、应用路径配置、触发器配置、定时器配置、构件包配置、日志配置等。

应用管理--用于对EOS应用进行有效方便的管理:

发布构件包,查看展现逻辑、业务逻辑构件的加载情况及重新加载逻辑构件,更新正在使用的EOS许可证以及用EOS附带的SQL脚本初始化指定的数据库。

监控信息--用于实时监控普元EOS应用的运行状况:

可以查看正在运行的展现逻辑、业务逻辑构件以及当前EOS应用操作数据库的情况,也可以查看正在访问EOS应用的用户列表。

统计信息--查看EOS应用从启动到目前为止的运行状况的统计信息。

可以查看的统计信息包括:

展现逻辑、业务逻辑构件以及操作数据库的情况最长时间和最高频次

安全控制--配置普元EOS应用的安全控制参数。

日志察看--EOSManager提供的功能强大的日志查看工具即在于此。

可帮助用户查看普元EOS应用运行的系统日志以及用户使用EOS情况的审计信息。

错误/异常编码库--提供异常代码维护功能。

可以查看并维护异常代码和相应的解决方案。

工作流监控与管理--实时监控EOS工作流应用的运行状况,可修改业务流程模板,管理监控工作流实例,查询工作流的各种运行信息以及工作流的操作日志。

EOS应用管理控制台在EOSServer启动后通过WEB方式进行访问,下图是EOSManager登录后的用户界面。

图EOSManage简介图

..

EOS构件集成开发环境(EOSStudio)

EOSStudio提供了EOS应用完整一体化的集成开发环境,包括对页面构件、展现构件,业务构件,运算构件,数据构件,流程构件6种构件可视化的开发、调试、组装、发布和管理等。

另外,EOSStudio还提供了强大的向导功能,大大提高应用的开发效率,并且支持团队开发,以满足企业级应用软件开发需求。

通过EOSStudio,可以快速开发、维护和管理一个J2EE企业应用,并实现企业构件库的不断积累。

集成开发环境(EOSStudio)

 

EOSStudio是集面向构件应用的开发、组装、维护、部署、管理、发布于一体的集成开发环境,提供对应用整个生命周期的维护,在EOSStudio中,以项目的形式组织了EOS应用开发的资源,提供相应的向导、视图和编辑器等工具供开发人员在开发过程中可视化地开发、调试各种构件,并提供了强大的调试及团队开发功能。

对于一个J2EE应用项目而言,所有的开发内容都可以方便快捷的通过EOSStudio完成,而不需要使用其他开发工具。

EOSStudio基于成熟稳定的开源软件Ecilpse3.0开发而成,内置了EOSServer和JBoss。

EOSStudio的功能按照场景分类,主要包括4个场景:

开发向导场景、开发场景、调试场景、项目管理场景,另外还有2个辅助场景:

配置场景和通用场景,如下图所示:

图EOSStudio总体结构图

开发向导场景

包括一些新建项目工程、构件包、构件等各种向导功能,易用性好,可以帮你完成开发前期的大部分工作量。

使用EOS提供的功能向导,能够快速开发出功能强大又灵活易于修改的功能来。

开发场景

提供了基于项目的各种构件可视化开发组装场景,开发人员可以在构件包中建立数据构件、运算构件、业务构件、展现构件、页面构件、流程构件六种构件,可以在各构件下开发或组装相应的构件逻辑。

在图形化逻辑开发时,提供了非常贴心的缩略图预览窗口,就如同游戏中的地图一样,方便拖拉定位逻辑图中的关注点。

调试场景

EOSStudio提供了强大的调试工具,开发人员在编辑各构件时(除数据构件、业务流程),可以直接对构件逻辑进行调试,分单个构件逻辑调试功能和全程调试2种调试模式。

对于单个构件逻辑的调试,可以定义多个测试数据。

开发人员可以在相应构件逻辑图元上设置断点,执行Stepinto、Stepever和Resume操作,并可以查看每步调试时数据区中的数据,并提供了多种查看方式。

所有开发资源具有调试期间热部署的能力,即调试服务器启动后,任何修改(包括运算逻辑、页面构件、展现逻辑、业务逻辑)都可以在服务器端得到更新。

项目管理场景

EOSStudio集成了CVS,提供对项目文件和源码的版本管理,开发经理在CVS透视图中将新建的项目提交到CVS服务器上,开发人员即可以将CVSServer上的项目检入到自己的EOSStudio集成开发环境中,进行开发。

此场景还包括构件库管理工具,构件库管理工具提供给用户的构件库管理员使用,以构件包文件为单位管理企业的各种构件包,提供了对构件包的分类,出入库,检索和版本控制等管理功能。

构件包文件分两类,一类是只包含执行码和包信息的构件包文件,一类是在前述内容之外还包含了各构件的源代码的构件包文件。

在EOS5.1中,提供了强大的项目文档生成功能,可以选择生成HTML、PDF、RTF三种格式的文档,文档内容能够非常清晰了反映项目(或构件包)的构件内容及接口信息,以及各个构件逻辑的复用与被复用的状况。

通过EOS5.1生成的项目文档,可以完全取代项目的详细设计文档,解决了传统方式下文档与代码很难保持同步的问题。

项目管理场景对团队开发方式提供了大力的支持,如版本控制、源码编译、集成测试、打包发布,源码导出导入等为大型企业软件开发提供了良好的管理场景。

配置场景

在Studio首选项中,开发人员可以集中配置开发期所使用的服务器和数据库资源。

同时,提供了对开发中各种模板的定制功能,通过这个功能,项目组在设计阶段可以定制出符合项目要求的开发向导,大大提高开发阶段的开发效率和质量。

通用场景

在EOSStudio中,提供了一些通用的功能特性,为开发管理提供方便,例如资源搜索、重构和编译功能。

另外,由于EOSStudio集成于强大的JAVA开发工具Eclipse之中,可以非常方便使用到Eclipse提供的功能,例如代码提示、透视图切换、JAVA开发等。

EOS工作流(EOSWorkflow)

EOS工作流是基于EOS平台之上完整的工作流管理系统,属于EOS产品上的一个业务工具选件。

EOSWorkflow包括业务流程定义工具、工作流引擎、工作流构件库、工作流管理监控、工作流客户端等内容。

引擎的设计遵循WfMC提出的工作流参考模型标准的同时,也加入了中国管理特色的需求,是适合国内电信、电子政务等行业功能强大性能高效的工作流产品。

EOS工作流(EOSWorkflow)

 

EOS工作流(Workflow)是与EOS平台无缝集成的业界第一家完全构件化的工作流管理系统(WorkflowManagementSystem),能够支撑在大并发用户量、大数据量的企业级应用环境下高效、稳定运行。

EOS工作流符合工作流管理联盟(WfMC)规范,同时,根据中国软件业的具体行情,还整合了国内众多的电信、政府、金融等行业特殊需求在遵循规范的基础之上而进行了扩展。

EOS工作流(Workflow)是具有中国特色的工作流。

它溶入了国内电子政务与电信等行业的特征要求。

在流程定义中支持包括串行,并行、同步、独占式选择、同步归并、子流程嵌套、自由流、活动回退业务补偿等都多种流程模式;对于流程动态调整,又根据具体的行业需求实现了“特事特办型”、“一刀切型”,“分水岭型”等流程调整方式,从而实现灵活的业务调整。

EOSWorkflow由工作流开发环境(WorkflowIDE)(与Studio集成)、工作流引擎(WorkflowEngine)、客户端、监控与管理工具以及工作流构件库(WorkflowComponentLibrary)五个部分组成。

通过开发环境快速构建业务流程以及业务处理表单;依托引擎实现流程流转;采用基于Web的缺省客户端和管理监控工具完成对流程的调整、监控与审计。

应用丰富的构件库快速定制用户自己的应用,随需应变。

【工作流开发环境(WorkflowIDE)】

与EOSStudio无缝集成,提供基于流程的应用开发、调试环境;包括可视化的业务流程定义、基于向导和工作流页面控件的可视化表单开发与调试、以及业务流程部署功能。

一个工作流(Workflow)应用的开发过程就是业务流程开发加上基本的EOS应用开发过程,EOS工作流开发环境提供了一体化的工作流应用开发环境,包括业务逻辑、展现逻辑、数据逻辑、页面、业务流程的拖拉式开发与调试。

●可视化业务流程建模

EOS可视化业务流程建模提供基于拖拉式的业务流程定义工具,具有如下特色:

·灵活的活动参与者设置

    支持组织机构、角色、人员、工作组作为参与者

    支持流程启动者、活动执行者作为参与者

    支持运行时动态指定参与者

·任务分配策略的灵活性

    按实际参与者或操作员的的个数分配

    主动领取、派工、代理、流程启动者、某活动的执行者、运行时按规则动态指定

·自由流支持

    支持在整个流程范围内的自由流

    支持在指定的活动范围内的自由流

·多种事件支持

    支持同步和异步两种方式触发事件

    流程事件:

启动、创建、超时、结束、超时提醒时触发自定义业务逻辑构件

    活动事件:

启动、创建、超时、结束、超时提醒时触发自定义业务逻辑构件

·严密的安全机制

    支持基于组织机构和角色的流程启动权限控制

    针对工作项的严格权限控制,避免由于应用开发的疏忽造成可以通过输入ID提交别人任务的情况

·支持多种活动启动与结束方式

    支持人工或者按用户自定义规则启动活动

    支持人工或按指定数量或工作完成的百分比方式结束活动

·支持活动回退以及业务补偿

    支持回退到任意已执行的活动

    支持多种业务补偿方式:

所有活动自动补偿或按指定活动补偿

·活动处理时限支持

    支持直接指定相对时间

    支持运行时动态指定时限

    支持超时前以及超时后的邮件自动提醒

    支持自定义的超时提醒方式

·与EOS构件紧密结合

    可以将EOS业务逻辑构件、JSP页面拖拉至业务流程,分别自动生成自动和人工活动。

·无需编写任何代码即可快仿真速调试业务流程

·支持动态路由

    支持路由的优先级

    支持简单表达式路由

    支持按任意复杂表达式路由

·支持子流程

·支持业务流程的版本控制

·支持EOS应用紧密结合的业务流程自动部署

●可视化的组织机构与角色建模

组织机构与角色是业务流程开发的基石,通过EOSStudio的可视化组织机构与角色建模工具,开发人员只需要通过拖拉的方式即可进行应用的组织机构、角色图形化建模,从而大大简化并加快了建模过程。

·图形化组织机构建模

    支持矩阵式组织机构

    支持机构中设置岗位/职位

    支持工作组:

工作组可以是角色、部门和人员的任意组合

    支持员工的上下级关系管理

·图形化角色建模

    支持角色继承

·支持集成用户遗留组织与角色模型

·支持用户对组织机构与角色的扩展

●可视化构件开发

工作流开发环境(WorkflowIDE)是与EOSStudio无缝集成,因此工作流应用秉承了EOSStudio的所有构件化开发特色,比如拖拉式的业务逻辑构件、展现逻辑构件、原子构件、数据逻辑构件的开发与调试(详情参见本章“第二节面向构件的开发环境”)。

●可视化工作流(Workflow)表单建模

EOS工作流(Workflow)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1