《Primeton EOS6程序员教程.doc》由会员分享,可在线阅读,更多相关《Primeton EOS6程序员教程.doc(308页珍藏版)》请在三一办公上搜索。
1、PRIMETON TECHNOLOGIES, LTD.上海普元信息技术有限责任公司Primeton EOS6程序员教程No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording, otherwise, without the written permission of the copyright owner.COPYRIGH
2、T 2008 by Primeton Technologies, Ltd. ALL RIGHTS RESERVED.什么是SOA?什么是面向构件的SOA中间件?如何开发SOA应用?如果您有这样的疑问,本教程会帮您获得这些问题的答案,理解SOA的核心思想,更容易、更简便地构造SOA的应用,顺应SOA浪潮带来的巨大变化!前 言编写背景目前,面向服务架构SOA成为软件发展中的热门话题。Primeton EOSTM(以下简称EOS)作为全球领先的SOA应用平台,采用了先进的SOA架构和SCA1.0、SDO2.1标准规范。比起单独学习SOA的枯燥难懂的理论,学会EOS的开发和了解其实现原理是帮助您理解S
3、OA核心思想的最好切入点。本教程即从理论上介绍了EOS的SOA架构和数据处理原理,又借助逐渐深入的案例开发讲解EOS的关键知识点。对初学者是一本很好的入门参考教程;对了解SOA的朋友来说,也是一本整理思路、将理论应用于实践的学习资料。教程内容本教程涵盖了如何用EOS设计、开发、调试和部署程序,到配置和管理应用,通俗易懂,图文并茂,所涉及到的知识点都通过示例讲解,相关代码可以从附带的源代码中获取。主要内容及学习思路如下:学习中的疑问本教程的答案EOS是如何应用SOA技术,实现面向构件编程的?EOS6的SOA架构(第1章)EOS6组成(第1章)EOS6数据处理原理(第1章)怎样理解EOS的实现原理
4、?Hello World案例开发(第2章)如何开发部署EOS程序?EOS快速开发能有多快?走进EOS开发(第3章)深入EOS开发(第4章)EOS有什么特别的开发和配置吗?数据库配置(第5章) 命名SQL(第5章)Handler配置(第5章) 日志查看(第5章)多应用部署(第5章)用EOS如何开发和调用Web Service?Web Service开发与调用(第6章)用EOS如何开发SOA应用?构建SOBA应用(第7章)如何使用配套源代码呢?源代码运行(附录B)教程图例图例说明疑问提示和小技巧注意事项关键知识点目 录前 言3第1章EOS6产品介绍81.1EOS6概述81.1.1软件业现状与发展趋
5、势81.1.2SOA核心技术介绍81.1.3EOS6的SOA架构101.1.4EOS6的特点121.2EOS6组成121.2.1EOS Server131.2.2EOS Studio131.2.3EOS Governor151.2.4EOS Component Library151.2.5EOS RichWeb151.2.6EOS Report151.2.7BPS for EOS151.3EOS6数据处理原理151.3.1数据上下文161.3.2数据流转过程171.3.3数据处理过程181.4EOS6安装201.4.1EOS6安装简介201.4.2安装配置要求201.4.3安装211.4.4目
6、录结构31第2章EOS6体验开发322.1关键知识点322.2Hello World案例开发322.2.1案例描述322.2.2案例开发322.2.3测试运行512.2.4案例分析532.3小结552.4练习56第3章走进EOS6开发573.1关键知识点573.2EOS6开发过程介绍573.3单表查询开发593.3.1案例描述593.3.2案例开发593.3.3测试运行793.3.4案例分析793.4单表删除开发833.4.1案例描述833.4.2案例开发833.4.3部署运行893.4.4案例分析943.5单表维护功能向导983.6小结1063.7练习107第4章深入EOS6开发1084.1
7、关键知识点1084.2复杂查询开发1084.2.1案例描述1084.2.2案例开发1094.2.3部署运行1384.2.4案例分析1404.3复杂新增开发1434.3.1案例描述1434.3.2案例开发1444.3.3部署运行1524.3.4案例分析1564.4主从表维护向导1614.5小结1684.6练习169第5章常用EOS6应用指南1705.1数据库配置1705.2命名SQL1745.3Handler配置1805.4日志查看1845.5多应用部署186第6章Web Service开发与调用1896.1关键知识点1896.2场景描述1896.3用户管理服务1916.3.1案例描述1916.
8、3.2案例开发1916.3.3部署运行2286.3.4案例分析2336.4账号管理服务2346.4.1案例描述2346.4.2案例开发2346.4.3部署运行2486.4.4案例分析2506.5小结2526.6练习254第7章构建SOBA应用2557.1关键知识点2557.1.1SOBA介绍2557.1.2开发过程介绍2557.1.3服务设计介绍2567.2应用设计2567.2.1功能分解矩阵2567.2.2服务设计2667.3应用开发2677.3.1规划2677.3.2编码2807.3.3部署2887.4服务实现2907.5小结2997.6练习299第8章附录A 常用术语解释300第9章附录
9、B 源代码运行301第10章附录C 普元支持304第1章 EOS6产品介绍1.1 EOS6概述1.1.1 软件业现状与发展趋势随着中国经济的不断增长,企业级应用的需求不断变迁和提升,客户对软件功能和性能的要求也越来越高。这就导致了应用软件的需求不停地变化,开发周期长、开发费用高,实施费用超支和工期延长,再加上普遍的较低水平的管理能力,“建成即成闲置”已经司空见惯。而传统的编码式开发方式无法实现快速开发,一次开发持续运行的方式无法适应客户需求的变化。那么如何走出这重重危机呢?首先必须解决僵化的软件结构问题。只有真正实现了“敏捷定制”,才能达到“随需应变”。被越来越多的国内业界专家所推崇的面向构件
10、的软件技术,就是帮助软件业摆脱噩梦的有力武器。引用软件专家Brad Cox(Objective-C之父)的话说,面向构件的技术是软件行业的银弹!在面向构件的软件中,一个应用系统不是由上百万行的代码组成的,而是由几千个构件经过可视化组装而成的。系统的复杂度有了数量级的下降,而图形化的组装使软件跟应用设计合二为一。这种松散耦合的构件组装方式,降低了系统不同部件之间的关联度,重复使用经过考验的构件,可视化的知识表达,使得企业应用更为成熟更为稳定。“变化”不会给面向构件的软件带来挑战和危机,恰恰相反,“变化”能够充分展示面向构件软件的优势。通过“变化”,客户可以充分展示面向构件的IT系统的核心竞争能力
11、。面向构件的趋势正为软件行业的预言家所看好。可以深信,软件在面向构件的思想指导下会不断发展、日臻成熟。代码式的软件最终会成为历史,面向构件的软件将具有足够的能力、足够的灵活性来管理变化、满足市场和客户的要求。软件将以更优美的形式被表达、更优美的方式在生产,并在使用过程中获得更加完美的体验。1.1.2 SOA核心技术介绍顺应业务模式的变迁和技术趋势的发展,需要我们建立构件化和流程化的业务模型,采用服务化和标准化的技术架构,也就是实施SOA,Service Oriented Architecture,面向服务的架构,或者说,以服务为基础搭建的企业IT架构。SOA是一个完整的软件系统建构体系,包括运
12、行环境、编程模型、架构风格和相关的方法论等。其核心是服务,并涵盖服务的整个生命周期,建模-开发-装配-运行-管理。SOA的核心理念是业务驱动,采用松耦合、灵活的体系架构来满足随需应变的业务需求。SOA架构是一个分层的结构,从底层的功能性服务,到原子服务和服务构件,到顶层的业务流程服务,目的是最大限度地封装不同的服务,从而达到复用的目的。无论哪一个层次,其核心都是服务简单的和复杂的。业务模式和流程也可以通过服务的重新组合变得更加灵活。如图1-1所示,要搭建这个灵活多变的架构,需要利用三个关键的技术。图1-1 SOA核心技术图1. 服务搭建大厦的砖石,建造航空母舰的“乐高积木”,需要谨慎得选择。服
13、务需要是标准化的,是可以自描述的,是可以组装的,并能够隔离业务功能和具体实现。当前,在业界逐渐得到广泛认可的一个如无封装技术是服务构件架构SCA(Service Component Architecture)。SCA是一个跟实现语言无关的服务构件编程模型,可以很好地处理服务网络的建构,因此提供了基于SOA简化开发解决方案。SCA规范的开发和发布由OSOA(Open Service Oriented Architecture,http:/www.osoa.org)组织负责。2. 数据/消息模型大厦电路中的电流和水管中流动的水流,有了这些资源,一个现代化的大厦才能够真正“活”起来。数据就是客户的“
14、钱”,是服务的目的准确、迅捷地传送数据。因此,一个好的数据模型可以事半功倍。 服务数据模型SDO(Service Data Object)以对象为中心,层次树型数据模型,是一种最贴近业务表现的方式。SDO的数据表现形式基于数据对象(Data Object)和数据图(Data Graph)的概念,其封装形式和Java类和XML有水到渠成的映射关系。使用SDO可以统一数据访问和处理模式,即使数据来源于以后数据源关系数据库、XML数据、Web服务或者是企业信息系统。SDO是SCA的姊妹标准,同样由OSOA组织负责。3. 服务编排和流程大厦的设计图纸,用来将已有的服务组装起来定义真正的业务流程。敏捷是
15、对服务编排的一个重要要求。服务编排同时要提供相应的事务管理、流程状态管理、出错处理等支持功能。BPEL(Business Process Execution Language)是服务编排的核心技术,也是具体业务流程的表现。它所定义的流程实质上是对一系列单个无状态服务的调用与编排,使得这些服务调用按照既定的规则进行。BPEL流程本身也是由WSDL所描述的接口声明为Web服务,是一种基于XML的标准,只描述业务流程本身,而不关注业务流程的图形化表示,也不涉及业务流程的设计方法学。在SOA架构下,SCA关注服务,不同的服务用一致的方法来使用,并可以用一直的方式来构建;BPEL关注流程,把各个服务按需
16、要串起来;SDO关注数据,数据整合在SDO之下,这样SDO数据就可以像血液一样,在BPEL流程里无阻碍地流动。1.1.3 EOS6的SOA架构Primeton EOSTM(以下简称EOS)是基于J2EE平台、采用面向构件技术实现企业级应用开发、运行、管理、监控、维护的中间件平台。EOS6是普元公司推出的基于SOA架构,支持SCA1.0、SDO2.1规范的新一代EOS产品。基于EOS6开发的应用具备符合国际标准,易于扩展,易于集成的特性。SCA1.0规范:描述了利用面向服务架构(SOA)来构建应用程序和系统的模型;SCA装配模型定义了构成一个SCA系统的各种构件和他们之间的关系,包括:组合构件(
17、Composite)、构件(Component)、服务(Service)、引用(Reference)、实现(Implementation)等。利用SCA装配模型可以方便的做到服务、引用和实现之间的解耦。 SDO2.1规范:统一了不同数据源类型的数据编程模式,关键的概念包括 Data Object(数据对象),data graph(数据图)。Data Object接口提供了动态的数据API,data graph是一个相关数据对象(DataObject)的集合。data graph能够跟踪图中DataObject的变化。这些变化包括新增DataObject,删除DataObject以及修改Data
18、Object中的属性。EOS6的SOA架构划分为资源层、构件层、服务层、流程层和协同层五个层次。其架构图如图1-2所示。图1-2 EOS6的SOA架构图1. 资源层资源层的核心功能是访问数据资源,为了在各个层次采用统一的方式访问这些资源,EOS采用数据定义的方式描述了系统中的数据结构,这些数据结构用于接口的定义、数据的持久化、数据的显示格式以及数据的转换格式等等。一组数据定义组成了一个数据集,数据定义由数据实体和显示模型组成。其中数据实体分为持久化实体、非持久化实体和查询实体,显示模型定义了数据实体的显示方式,包括编辑方式、效验规则、显示名称、显示样式等内容。每个数据实体可以有多个显示模型,每
19、个页面控件可以使用显示模型控制显示的样式。2. 构件层 构件层的构件用于实现领域相关的业务逻辑,构件层提供了三种类型的构件实现方式:Java构件、逻辑构件和工作流。通过对这三种构件进行组装、调用运算逻辑,或者相互调用来实现业务操作。EOS6提供了编写SCA Java构件实现工具级别的支持。逻辑构件采用图形化的方式将运算逻辑、逻辑流和服务组装成更大粒度的构件。一个逻辑构件定义了一套业务操作的接口,每个业务操作由一个逻辑流来实现。工作流也是一种构件,可以把一个工作流程暴露成一个服务,由其他模块或者其他系统来调用。这样其他模块看到的只是一个业务操作接口,而不必关心这个业务对应的是一个业务流程,还是一
20、个逻辑流或者一个Java构件。3. 服务层 服务层采用SCA1.0标准来实现,是用来将构件层编写的构件,装配成服务的方式暴露给其他模块或者其他系统。服务层的服务含义不仅仅是指Web Service,在SOA体系中服务是构件暴露出来的业务操作,在技术上可以体现为Web Service,也可以体现为Java Interface、EJB、JMS等多种调用方式。在EOS中我们可以将Java构件,或者逻辑构件实现装配为服务构件,也可以将这些构件装配成更大粒度的组合构件。4. 流程层EOS6在流程层提供了BPS,帮助客户实现人与人之间的工作协调,人工任务与自动任务间的协调。BPS,完全支持SCA服务构件的
21、调用,是一个面向服务的流程管理产品。5. 协同层协同层也叫接入层,基于EOS开发的应用支持HTTP,EJB,Web Service,Ajax等多种接入方式。同时提供了客户端接入接口,允许GUI程序,或者第三方应用通过客户端接口访问EOS应用提供的服务。EOS客户端接入支持EJB和Web Service两种调用模式。EOS在接入层最核心的功能是提供了页面流功能,EOS页面流引擎负责页面的跳转,页面间的数据流转,调用服务层提供的服务,或者直接调用构件层构件的接口。1.1.4 EOS6的特点使用EOS搭建企业应用,用户的需求改变可以直接通过构件装配式的图形化设计思路得以体现,软件架构师和程序员跳出传
22、统开发模式的局限,只需和图形化的构件打交道,在彻底进化软件表达的同时,也使其改动与维护易如反掌。EOS6所具有的特点具体表现在如下几个方面: 统一的企业级应用平台基于EOS统一的企业级应用平台,能够有效约束不同的开发商遵循统一的、标准化的应用架构进行开发,不同时期、不同厂商开发的应用系统彼此之间能够很好整合。 快速响应新的需求提供层次分明的MVC(Model-View-Control)多层结构,支持最新的SOA技术标准,具有高度的扩展性。另外,通过对构件的重新组合生成一些新的构件,灵活地对局部功能加以修改或添加,从而随时针对变化进行调整。 系统高度的稳定性提供了成千上百的成熟构件,应用框架也已
23、经在众多用户的应用系统中得到了证明,免去了项目大规模架构开发带来的技术风险。 方便的系统维护和监控提供强大的应用监控工具,时刻掌握应用系统运行情况,并且可以迅速定位故障和提供优化的方向。不仅极大地保护运营商的软件投资,更使得运营商对IT的管控能力得到实质的改善和提高。 保护已有的软件投资基于EOS平台的应用系统,由若干个稳定的构件以易懂的图形化的方法组装构成,这些成果通过构件形式可很好地被分享,经过不断的积累可以形成本企业的构件库,在今后的IT系统建设中能够很好地重用,从而减少重复投资。另一方面,EOS还支持不同的J2EE应用服务器、数据库和设备,最大程度地保障了原来对系统的投入。 屏蔽技术细
24、节专注业务需求EOS能够有效地屏蔽底层J2EE的复杂技术,把技术细节全部封装到了构件内部,通过拖、拉、拽及连线的图形化组装方式来构造应用系统。依靠丰富的构件库,可以极少甚至不用开发Java编程,从而使得开发人员能够从技术细节中解脱出来,更加专注在如何更好地实现业务需求上。 降低人员流动风险EOS提供的图形化的表达方式,能够把已经完成的工作部分清晰的呈现出来,里面包含的业务知识一目了然,能够极大的压缩人员流动时接手工作的进程,减少项目损失。1.2 EOS6组成EOS 6产品主要包括EOS Server、EOS Studio、EOS Governor、EOS Component Library、E
25、OS RichWeb、EOS Report和BPS for EOS这七大部分。如图1-3所示。图1-3 EOS6的产品组成1.2.1 EOS ServerEOS Server(EOS运行环境)是支撑SOA应用和服务的运行环境,EOS Server 由SCA(Service Component Architecture)容器、构件运行环境、页面流引擎、逻辑流引擎、系统服务、基础服务等核心模块组成。EOS Server是一个面向SOA的基础设施,实现了SOA的核心编程模型SCA 1.0、SDO 2.1的标准规范。EOS Server保障了SOA应用或服务稳定、安全、可靠、高效、可扩展地运行。EOS
26、 Server运行在标准的J2EE应用服务器之上,支持主流的应用服务器(如:WebSphere、WebLogic、JBoss、Tomcat等)和主流的数据库(Oracle、DB2、MS SQL Server、Informix、Sybase等)。1.2.2 EOS StudioEOS Studio(EOS集成开发环境)是集面向构件应用的设计、开发、组装、调试、维护、部署、管理和发布于一体的集成开发环境,提供对SOA应用和服务全生命周期的开发、维护和管理。在EOS Studio中,以项目的形式组织了EOS应用开发的资源,提供相应的向导、视图和编辑器等工具供开发人员在开发过程中可视化地开发各种构件,
27、并提供了强大的调试及团队开发功能。对于一个应用项目而言,所有的开发内容都可以方便快捷的通过EOS Studio完成,而不需要使用其他开发工具。在EOS Studio中默认的有两种常用透视图:EOS Studio开发透视图和EOS Studio调试透视图,每个透视图又包含很多共用的视图和编辑器。1. EOS Studio开发透视图启动了EOS Studio之后,就会看到一个透视图窗口,即为EOS Studio缺省的开发透视图。透视图包含一些视图和编辑器。可同时打开多个视图窗口。如图1-4所示。图1-4 EOS Studio6的开发透视图2. EOS Studio调试透视图当在程序中设置了断点,运
28、行程序时,EOS Studio就会切换到调试透视图,如图1-5所示。图1-5 EOS Studio6的调试透视图1.2.3 EOS GovernorEOS Governor(EOS治理工具)主要功能是以图形化的方式实现对EOS系统运行时刻进行监控,以利于系统开发人员及运行管理人员进行系统调试与系统诊断。通过实时在线监控和管理工具,可以实现对应用系统各个层次进行监控和管理。用户只需通过Web界面即可实时监控应用系统的各项运行参数,快速诊断和修正系统运行时的错误及异常,用更少的维护成本确保系统正常发挥作用。1.2.4 EOS Component LibraryEOS Component Libra
29、ry(EOS构件库)是为了支撑快速开发、部署应用系统而提供的,具有高度复用能力的一组预制构件的集合。利用EOS构件库中的构件可以快速搭建应用系统,提高软件可复用度和开发效率;同时通过对构件的管理可以建立一套针对构件的生产、改进、管理、沉淀和发展的完整软件管理机制,使得软件企业组织级的软件知识沉淀可以通过构件库的形式得以实现和发展。1.2.5 EOS RichWebEOS RichWeb(EOS富页面)提供了丰富的页面模板、页面控件以及页面向导,将开发人员从繁琐、复杂、费时的页面开发中解脱出来。通过页面模板自定义,系统分析设计人员可以针对不同项目需要定制统一的页面风格。在设计视图中,开发人员可通
30、过拖拉页面控件的方式轻松实现页面开发,同时EOS Studio还保留了传统的JSP代码编辑开发方式。1.2.6 EOS ReportEOS Report(EOS报表)定位于高效率的中式报表工具。能够实现报表的高效设计、维护和运行,解决国内企业级报表应用的相关需求。EOS报表产品由三部分组成:报表设计器、报表服务器、报表客户端。用户在报表设计器(内嵌在EOS Studio中)来设计报表和开发报表应用。应用被打包、部署到报表服务器上运行。报表服务器为报表提供了运行环境,同时提供报表的开发接口、以及监控管理。报表客户端是内嵌在浏览器中运行的Applet,提供在浏览器客户端的报表精确打印功能。1.2.
31、7 BPS for EOSBPS for EOS是EOS产品的选件组成部分,负责对业务流程整个生命周期的管理,包括业务流程的定义、调试、部署、运行、监控、管理。Primeton BPSTM遵循WfMC参考模型而又具备中国特色特性的流程管理产品。1.3 EOS6数据处理原理EOS6采用的编程模型是:流程+数据+人机交互。其中流程包括:工作流、页面流和逻辑流;数据包括持久化实体和非持久化实体,并采用SDO标准来描述这些数据的格式;人机交互采用富客户端控件来实现。那么数据是如何存储,如何被获取,它们又是如何在流程和客户端之间传递的呢?1.3.1 数据上下文EOS6中所有的数据都是通过数据上下文来存储
32、的。数据上下文是一个有固定分区的数据容器,它采用统一的Xpath语法对对象树进行取值和设值操作。在使用数据上下文时,只需要使用Xpath定位数据即可,不需要知道内部的具体数据类型。数据上下文分为多种数据区,其中包括请求上下文数据区、会话上下文数据区、页面流上下文数据区、逻辑流上下文数据区、MUO上下文数据区、流程上下文数据区。如图1-6所示。图1-6 EOS数据上下文 页面流:用于描述用户界面元素流转关系的图形化流程,管理页面和页面间的跳转关系,以及页面和页面间共享的数据。逻辑流:用于完成后端业务功能,采用图形化的方式将小粒度的运算构件组装成一段业务逻辑。工作流:用于完成包含人工和自动的业务活
33、动流程的构件,通过BPS for EOS开发环境来开发的流程管理的图形化描述。每一种数据区的生命周期是不同的,由EOS Server统一管理。详细描述参见表1-1所示。表1-1 数据区的生命周期数据区名称使用模块描述请求上下文页面流请求上下文数据区中放置的是一个完整的Http Request/Response过程中页面流产生的数据。当一个页面流实例接受到一个HTTP请求后,引擎创建一个请求上下文数据区,当引擎响应这个HTTP Request后,引擎销毁这个请求上下文数据区。页面流上下文页面流上下文数据区和一个页面流实例的生命周期是一致的。会话上下文会话上下文的生命周期与HTTP Session
34、的生命周期是一致的,会话上下文数据区的数据来自与HTTP Session中的数据。逻辑流上下文逻辑流逻辑流上下文数据区的生命周期与逻辑流的生命周期是一致的。当一个逻辑流实例结束时,引擎会销毁这个逻辑流对应的逻辑流上下文数据区。MUO上下文MUO上下文是受管用户对象上下文,是为了在逻辑流、运算逻辑中防止用户随意使用Http会话中的数据,而构造的一个受管数据上下文区。用户需要在EOS Governor中配置MUO中需要存放的数据对象,这些对象才能在逻辑流和运算逻辑中使用。流程上下文工作流流程上下文数据区的生命周期与工作流的整个流程生命周期是一致的。流程上下文数据区保存的是工作流的流程相关数据,这个
35、数据区是可序列化的,工作流流程引擎在某些场景会将这个数据区存储到数据库中。数据上下文的其它数据区都是保存到内存中的。1.3.2 数据流转过程图1-7 数据流转过程如图1-7所示,EOS的核心数据流程是:1. 客户端浏览器发起HTTP请求,通过Key/Value对的形式将数据传输到服务器端;2. 页面流引擎接到HTTP请求后将Key/Value对象转换为SDO对象,传递给页面流实例;3. 页面流调用逻辑流时,将SDO对象传递给逻辑流引擎;4. 逻辑流引擎又会将SDO对象传递给逻辑流实例;5. 逻辑流调用运算构件时,传入SDO对象。运算构件访问数据服务完成业务操作后产生SDO类型的返回结果;6.
36、逻辑流引擎将返回结果传递给页面流引擎;7. 页面流引擎又将返回结果转发给JSP页面;8. JSP页面响应这个HTTP请求,返回到客户端浏览器,显示返回结果。完成一次数据流转。EOS数据传输过程,缺省的对象类型是SDO对象,但是用户也可以采用自定义类型,比如POJO、W3C DOM等等。1.3.3 数据处理过程在介绍了数据上下文的分类和数据流转的原理后,再分析一下页面流、逻辑流和工作流各自的数据处理过程。1. 页面流数据处理页面流使用到的数据上下文分为三个数据区,包括会话上下文数据区,请求上下文数据区,页面流上下文数据区。如图1-8所示。图1-8 页面流数据处理(1) 会话上下文数据区会话上下文
37、数据区存储的数据是当前用户所在的HTTP会话数据的一个映射。开发页面流的时候可以使用s:XPATH_EXPRESSION来访问会话数据区中的数据,访问会话数据区中表达式的前缀为s:。(2) 请求上下文数据区请求上下文数据区中放置的是一个完整的Http Request/Response过程中产生的数据,当EOS的页面引擎接受到一个HTTP Request的请求后,它会将这个请求的Key/Value参数按照规则,转换成一个或者多个Java对象放入到请求上下文数据区中;也可以使用复制图元访问或创建请求上下文数据区中的数据;调用业务逻辑或者服务的返回值也可以设置到请求上下文的数据区中。访问请求上下文数
38、据区中的数据可以采用r:XPATH_EXPRESSION或者不带前缀,直接使用XPATH_EXPRESSION访问请求上下文数据区中的数据。(3) 页面流上下文数据区页面流上下文数据区存储的是在页面流里定义的变量或者对象,访问页面流上下文的表达式为f:XPATH_EXPRESSION。页面流上下文数据区的数据生命周期相当于页面流流程级别的变量,在一个页面流实例中的不同的页面,业务逻辑,赋值操作都可以使用页面流上下文中的数据。2. 逻辑流数据处理逻辑流使用到的数据上下文为两个数据区,包括MUO上下文数据区和逻辑流上下文数据区。(1) MUO上下文数据区MUO上下文数据区中存放的是受管用户数据对象
39、,访问的方式采用m:XPATH_EXPRESSION样式的表达式来访问和更新数据。在逻辑流中涉及用户数据(HttpSession)传递的过程时,因只允许对用户的部分数据有存取权限,这时就需要根据session中的部分数据构造一个受控的用户数据对象,用户只能对该受管用户数据对象做操作。(2) 逻辑流上下文数据区逻辑流上下文数据区和页面流的请求上下文数据区比较类似,如果把一个逻辑流比作是一个Java方法,那么逻辑流上下文数据区中的数据包含的是这个Java方法传入的参数,以及这个方法中定义的成员变量。访问逻辑流请求上下文的数据直接采用XPATH_EXPRESSION访问,不需要加任何前缀。3. 工作
40、流数据处理工作流使用到的数据只包含流程上下文。(1) 流程上下文数据区流程上下文数据区保存的是工作流的流程相关数据,这个数据区是可序列化的,工作流流程引擎在某些场景会将这个数据区存储到数据库中。数据上下文的其他数据区都是保存到内存中的。访问数据上下的缩写:s: session f:flow r:request m:muo 1.4 EOS6安装1.4.1 EOS6安装简介Primeton EOS 6产品包括开发版(Development Edition)、专业版(Professional Edition)两种版本。每种版本都支持两种安装方式:界面交互安装方式和哑安装方式。本节简单介绍Primet
41、on EOS6开发版的安装内容和注意事项。EOS开发版面向EOS应用开发人员,提供集成开发、运行、管理一体化的应用开发环境,安装内容包括: EOS Server(EOS运行环境) EOS Studio(EOS开发环境) EOS Governor(EOS治理工具) BPS组件 EOS Report(EOS报表) EOS Sample(样例程序) 缺省提供符合标准的Tomcat-5.5.20应用服务器用户安装开发版时,安装程序会缺省安装Tomcat-5.5.20,且支持用户在EOS Studio中配置其他应用服务器,包括jboss4.0.5GA、WebLogic9.2和Websphere6.1.0
42、.9。 1.4.2 安装配置要求本节介绍安装Primeton EOS6产品的硬件和软件配置要求。1. 硬件配置安装Primeton EOS 6产品的硬件配置要求,如表1-2所示。表1-2 硬件配置要求硬件最低要求CPUPIII800以上。内存512MB以上。硬盘空间开发版:不需要临时目录空间。安装目录空间:1G以上。专业版:临时目录空间:200MB以上。安装目录空间:600MB以上。用户选择安装目录时,若安装目录下的空间不足,安装程序会弹出提示框。推荐配置1G以上内存。2. 软件配置Primeton EOS 6开发版对操作系统、数据库和J2EE服务器的配置要求,如表1-3所示。表1-3 开发版
43、配置要求配置项目要求操作系统Windows 2003/XP、Red Hat Enterprise Linux 2或以上、HP UNIX 11.23、Solaris、AIX 5.3。文件系统推荐使用NTFS,FAT32相对之下较慢。数据库Oracle9i、Oracle 10g、DB2 UDB_V8.2、SQL Server 2000、Sybase 12.5、Informix 9.4和MySql 5.0.22。数据库表空间必须大于20MB,另外需要准备一个数据库用户,用于初始化数据库操作,且该用户具有创建、修改、删除表的权限。如果用户选择安装BPS相关组件,且使用DB2数据库,则需要创建一个页大小
44、为32KB的用户表空间,名字为“EOSWFCTX”,以及创建一个页大小为32KB的系统临时表空间,临时表空间名字可自定义。1.4.3 安装本节介绍界面交互方式下如何安装Primeton EOS 6开发版。安装程序会根据操作系统的语言环境自动显示中文或英文。下面介绍安装Primeton EOS 6开发版前的准备工作、安装步骤,以及验证安装是否正确的方法。1. 安装准备安装Primeton EOS 6开发版前,需做以下准备工作:(1) 检查安装光盘检查光盘贴膜标注是否为“开发版”。(2) 检查安装环境a) 检查操作系统必须为Windows2003/XP、Red Hat Enterprise Lin
45、ux 2或以上、HP UNIX 11.23、Solaris、AIX 5.3。b) 检查数据库必须为Oracle9i、Oracle 10g、DB2 UDB_V8.2、SQL Server 2000、Sybase 12.5、Informix 9.4和MySql 5.0.22,保证要安装EOS的机器与数据库连接成功。2. 安装步骤以Windows XP(中文)+ Tomcat-5.5.20 + Oracle 9i环境为例,Primeton EOS 6开发版的安装步骤如下:(1) 启动安装程序将安装光盘插入CD-ROM中,在autorun界面中选择安装Primeton EOS 6开发版。若不是通过autorun形式启动安装程序,请直接执行安装程序文件install.cmd。(2) 阅读安装简介,如图1-10所示,单击【下一步】按钮。图1-10 安装简介(3) 阅读开发版的许可声明后,选择“本人接受许可协议条款”单选按钮,如图1-11所示,单击【下一步】按钮。图1-11 许可协议(4) 设置管理员口令。a) 输入管理员的密码和确认密码,如图1-12所示;安装程序默认sysadmin的密码为“000000”; 用户可以在此设置新密码,密码长度必须在620位之间,由半角英文字符、数字或下划线“_”组成。b) 根据实际情况输入用户名称和机构名称,可以不输入,如图1-12