SoTower DE v3快速入门.docx_第1页
SoTower DE v3快速入门.docx_第2页
SoTower DE v3快速入门.docx_第3页
SoTower DE v3快速入门.docx_第4页
SoTower DE v3快速入门.docx_第5页
免费预览已结束,剩余74页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SoTower DE v3快速入门北京中电普华信息技术有限公司创新研究中心文档内容变更记录序号版本号修改单号修改章节内容修改人/日期核对人/日期12345678910 SoTower DE v3快速入门 目录文档说明1专业词汇1项目结构图2开发流程图2示例说明21.准备数据库22.安装SoTower Studio63.配置Studio104.新建SoTower项目135.配置SoTower项目246.初始化SoTower项目数据库297.新建模块项目318.配置模块项目339.模块项目创建持久模型3410.模块项目代码生成4211.部署模块项目6112.部署SoTower项目6113.启动SoTower项目6314.访问应用6315.添加资源6416.添加菜单71I SoTower DE v3快速入门 文档说明本文档主要是通过Step By Step的方式让您通过最简单、快速的方式感受SoTower DE v3的应用开发,如果您想深入了解SoTower DE v3的更多功能及用法,请参考相关技术支持文档;如果您在开发中遇到了因模块化带来的问题或困难,请参考DM常见问题及案例;如果您想了解SoTower DE的相关类或方法,请参考API文档。因为版本的不同,文本的截图可能与实际情况不完全一致,请以实际情况为主。专业词汇l SoTower DE:SoTower开发平台(SoTower Development Environment)。l DM:Dynamic Module,指SoTower 开发平台的动态模块框架。l 模块化:SoTower DE v3最大的特色是采用了模块化技术,将传统的Web应用拆分为SoTower开发平台服务端、SoTower项目、模块项目3部分,把功能包装或改造成模块的过程。l SoTower开发平台服务端:提供SoTower开发平台的模块,整个项目组共用一个,由项目管理人员统一维护,开发人员只需要知道SoTower开发平台服务端的地址。(简称“服务端”)l SoTower项目:依赖于SoTower开发平台服务端的标准的空的Web应用。l 模块:具有OSGi规范(Open Service Gateway Initiative ,开放服务网关规范)特定描述的Java程序包,是OSGi规范定义的模块化实体单元。SoTower 开发平台的动态模块框架对标准的OSGi模块进行扩展形成了动态模块,以上两者统称为模块。l 扩展模块:依附于模块,无法独立运行,可以看成是模块的一部分,能向模块中添加代码和资源。项目结构图SoTower开发平台服务端SoTower项目模块项目1模块项目2模块项目3加载V3.X.XSoTIBSSWSF系统监控模块项目X模块项目Y模块项目Z开发流程图示例说明本文档将通过Step By Step的方式引导您实现一个单表的查询、增加、修改、删除、查看功能,并把这个功能的相关菜单添加到应用的系统菜单中。1. 准备数据库1.1 启动数据库,前提是您已经正确安装了数据库,如果没有安装请参考数据库的相关资料安装并启动数据库,本文档是以Oracle数据库为示例的1.2 打开浏览器,输入控制台的地址,在打开的Oracle Enterprise Manager页面中输入系统管理员的用户名、密码,连接身份选择“SYSDBA”1.3 点击“登录”按钮,进入登录界面后,选择“管理”。请注意,如果您是在Win7操作系统上安装的Oracle数据库,并且是第一次访问Oracle Enterprise Manager,登录后可能会出现异常java.lang.Exception: Exception in sending Request : null,类似的问题还有 I/O异常Unknown host specified; Agent process exited abnormally during initialization in system event log;出现这个问题有可能是由数据库控制服务自动配置时区错误引起的,具体操作如下:1)停止OracleDBConsole_sid服务;2)打开 $ORACLE_HOMEdb_1$HOSTNAMEperties 文件,其中agentTZRegion属性的缺省值是GMT,将其修改为所在位置的时区,例如: agentTZRegion=Asia/Shanghai;3)重启OracleDBConsole_sid服务。1.4 在“管理”界面中选择“方案用户和权限用户”1.5 在用户列表中选中用户名“SYS”,选择操作类型为“类似操作”,点击“开始”1.6 在创建用户页面中输入用户名称、口令,其他选项保持默认值1.7 点击“确定”按钮开始创建用户,用户创建成功后显示提示信息1.8 在用户列表中可以看到刚才创建的用户,至此用户创建成功2. 安装SoTower Studio2.1 项目组按照公司CMMI流程,通过创新研究中心的服务团队获得SoTower Studio安装文件,安装文件上面的数字表示Studio的版本号2.2 双击Studio安装文件,弹出Studio安装向导2.3 点击“下一步”,配置Studio的安装路径。点击“浏览”按钮选中Studio在本地的安装路径2.4 点击“下一步”,选择是否创建开始菜单,建议保持默认选项2.5 点击“下一步”,选择是否创建桌面快捷方式,建议勾选“创建桌面快捷方式”2.6 点击“下一步”,显示安装信息摘要,点击“安装”按钮开始安装Studio2.7 Studio的安装需要花费一段时间,请耐心等待2.8 Studio安装完成后会给出提示,用户可以选择是否立即“运行SoTower Studio”,点击“完成”按钮,关闭安装向导2.9 如果在上一步没有勾选“运行SoTower Studio”,用户可以双击桌面上的Studio快捷方式来启动2.10 如果没有创建桌面快捷方式,用户可以打开STUDIO_HOMEeclipse目录,通过双击“SoTower Studio”图标来打开Studio3. 配置Studio3.1 第一次打开Studio时会弹出一个对话框,选择工作空间,可以点击“Browse”选择一个目录作为对话框,默认的工作空间是STUDIO_HOMEeclipseworkspace目录,选择好工作空间目录后,可以勾选“Use this as the default and do not ask again”,这样下次再打开Studio时,就不会再弹出这个对话框,点击“OK”按钮,开始启动Studio3.2 第一次启动Studio后,会显示 “Welcome”视图【注释:在Studio中每一个可视的界面叫做视图(View)】3.3 显示欢迎页面后,请稍等片刻,因为Studio会自动在“Servers”视图中创建一个Tomcat6.0的实例,后续可以通过Studio直接把SoTower项目部署在这个Tomcat实例上运行3.4 关闭“Welcome”视图,并最小化“Servers”视图,Servers视图最小化后在Studio的右下角,同时在“Package”视图中会自动创建一个Servers项目,请不要删除Servers项目4. 新建SoTower项目4.1 点击工具栏上的New按钮,选择“SoTower项目”,也可以选择菜单栏中的“FileNewSoTower项目”4.2 在打开的“新建SoTower项目”向导中输入项目名称,其他选项保持默认值4.3 点击“Next”按钮进入下一个向导页面,配置项目的Web应用,保持默认值即可,其中“Context Root”中的值是应用的上下文路径4.4 点击“Next”按钮进入下一个向导页面,配置项目的数据库连接4.5 点击“增加连接”按钮,打开新建数据库连接对话框,选择对应的数据库类型,目前只支持Oracle数据库,请选择“Oracle”4.6 点击“Next”按钮,点击箭头指向的小圆圈符号。配置oracle数据库的驱动。4.7 选中“Oracle Thin Driver oracle 10”,点击“OK”按钮。4.8 在对话框中输入数据库ID、主机名、端口号、用户名、密码,并勾选“Save password”这样下次连接数据库时可以不用再次输入密码4.9 点击“Test Connection”对数据库连接进行测试,如果测试成功,会弹出提示对话框,点击“OK”按钮关闭对话框4.10 点击“Next”,显示数据库连接摘要4.11 点击“Finish”完成数据库连接配置,返回SoTower项目新建向导,如果连接成功会在Scheme中显示数据库的ID4.12 点击“Finish”按钮完成新建向导的配置,开始创建SoTower项目4.13 项目创建完成后回到“SoTower开发透视图”,在“Package”视图中新增了一个刚才创建的SoTower项目,同时在“Data Source Explorer”视图中多出了一个数据库连接5. 配置SoTower项目5.1 config.ini文件1. 打开Studio的“WindowsPerference”,选择“Plug-in DevelopmentTarget Platform”,如下图所示:2. 在Location中输入远程SoTower开发平台服务端的地址http:/ip:port/webapp /environment /VersionX.X.X,其中VersionX.X.X是指当前项目将要采用的SoTower开发平台的版本号,开发人员请找项目负责人来获得SoTower开发平台服务端的地址。3. 点击“Reload”从SoTower开发平台服务端地址中把SoTower开发平台的模块加载到Studio开发环境中,供开发阶段编译代码使用,这个过程会持续一段时间,请耐心等待。如下图所示:4. 加载完成之后,会在“Plugin-ins”部分显示所有SoTower开发平台的模块,点击“Apply”按钮保存设置。5. 点击“保存SoTower项目服务端地址”,系统弹出保存SoTower项目服务端地址对话框,如下图所示:6. 选中需要进行服务端地址配置的SoTower项目,点击“OK”按钮。7. 此时,SoTower项目中的config.ini文件的dm.server.path的值将被重新配置,其他值保持默认即可,如下图所示:5.2 web.xml文件双击打开web.xml文件,在web.xml编辑器中,找到“Version”这个参数,参数值就是项目运行时依赖的SoTower开发平台服务端的版本号,所有参数保持默认即可5.3 dataSource.xml文件选择SoTower项目,右键选择“Properties”,打开属性对话框,选择“SoTower项目数据库连接”,显示的是SoTower项目新建向导中配置的数据库连接信息,可以进行修改数据库连接信息保存在datasource.xml文件中6. 初始化SoTower项目数据库6.1 在SoTower项目数据库连接属性对话框中点击“初始化数据库”按钮对SoTower项目的数据库进行初始化6.2 数据库的初始化会花费一段时间,请耐心等待,在Studio的右下角会显示初始化的进度6.3 初始化成功后会显示提示对话框,点击“OK”按钮关闭对话框7. 新建模块项目7.1 点击工具栏上的New按钮,选择“模块项目”,也可以选择菜单栏中的“FileNew模块项目”7.2 在打开的模块项目新建向导中,输入模块项目的名称,其他选项保持默认值7.3 点击“Next”进入下一个向导页面,所有选项保持默认值即可7.4 点击“Finish”按钮开始创建模块项目8. 配置模块项目8.1 模块项目创建完成后,会自动打开模块配置文件编辑器,编辑器中包括Overview、Dependencies、Runtime、Build、MANIFEST.MF、perties等6个选项卡,对应的是META-INFMANEFEST.MF文件,保持默认值即可。【注:关于模块配置文件编辑器的更多功能和用法,请参考SoTower技术支持文档的“DM开发指南篇”】8.2 双击打开模块项目中的deploy.xml文件,配置的是模块部署相关的信息,保持默认值即可。其中有个“bundle-context-path”属性,表示模块的上下文路径。每个模块的上下文路径必须是唯一的,不同模块的上下文路径不能相同。【注:关于deploy.xml文件中属性的详细解释,请参考SoTower技术支持文档的“DM技术手册篇”中的“deploy.xml文件说明”】9. 模块项目创建持久模型9.1 在模块项目下创建一个pm文件夹,并在文件夹中 创建一个plan.pm文件【注:文件的后缀一定要是“pm”】9.2 点击“Finish”按钮,完成文件的创建,并会自动打开pm文件的编辑器9.3 编辑器分为两个部分,左侧的窗口为设计窗口;点击编辑器右上角的小三角,会打开控件面板,面板中的元素包括表、字段和关系连线9.4 用鼠标左键点击右侧控件中的“表”,把鼠标移动到左侧设计窗口,再点击鼠标左键,会在设计窗口创建一个表;也可以点击鼠标左键选中控件中的“表”,然后拖放到左侧设计窗口,这样也可以创建一个表。9.5 用鼠标左键双击新创建的表,弹出表属对话框各属性说明如下表所示:属性说明数据库表名和后台数据库规范统一,建议采用大写字母类名将要生成的Java类名,和Java的命名规范一致中文描述表的中文名称Hibernate中的单主键生成策略l assigned:主键由外部程序负责生成,在 save() 之前指定一个。l sequence:采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence。l uuid.hex:由 Hibernate 基于128 位 UUID 算法 生成16 进制数值(编码后以长度32 的字符串表示)作为主键。l identity:采用数据库提供的主键生成机制。Hibernate中联合主键生成策略l composite-no-class:不需要为联合主键创建类l composite-has-class:为联合主键创建一个类联合主键属性名称当联合主键生成策略选择的是“composite-has-class”时,联合主键对应的属性名联合主键对应的类名当联合主键生成策略选择的是“composite-has-class”时,为联合主键创建的类的类名9.6 配置完表属性后,开始创建字段。在右侧面板中用鼠标左键选中控件“字段”,把鼠标移动到表“ST_PLAN”区间内,再点击一次鼠标左键;也可以点击鼠标左键选中控件中的“字段”,然后拖放到左侧表“ST_ PLAN”区间内,这样也可以创建一个字段。9.7 双击刚才添加到表中的字段,在弹出的字段属性对话框中输入各项值。各属性说明如下表所示:属性说明字段名称和后台数据库规范统一,建议采用大写字母属性名称字段对应的Java属性名称中文描述是否主键字段是否表的主键不能为空字段的值是否可以为空字段类型字段的Hibernate类型注:对字段类型的使用有严格的限制,因为涉及到展现、持久和数据库这3层,如果这3层不能很好的对应起来就可能出现错误。我们对常见的几种类型做以下说明:1、BLOB字段类型:生成代码过程中,查询条件页面和条件显示页面默认不显示blob字段。此外在生成的jsp文件中blob字段用来存储文件类型数据,而用代码机生成的jsp文件中blob字段对应的标签为html:text,需要用户结合上传下载file标签说明文档手动进行修改。2、TIME字段类型:也有严格的限制。常有两种解决方案可供选择:第1种可行的方案是:当JSP中是date:time时,POJO和hbm必须是String,而不能是Time类型,对应的SQL是varchar2类型;(推荐使用此种方式)第2种可行的方案是:如果POJO和hbm采用了Time类型,对应的SQL是date类型,那么JSP就不能是date:time,因为展现构件date:time只支持HH:MM这种格式,而不支持HH:MM:SS这种格式。我们推荐用户使用第一种方式。字段长度有些类型的字段需要设置长度默认值字段的默认值9.8 按照上面的方法依次在表ST_PLAN中加入以下的字段:字段名称属性名称中文描述是否主键不能为空字段类型字段长度默认值PLAN_IDplanId计划流水是是STRING32PLAN_NAMEplanName计划名称是是STRING300PLAN_TYPEplanType类型否否STRING32PLAN_STATEplanState状态否否STRING32CREATE_DATEcreateDate创建日期否否DATEPLAN_PERIODplanPeriod计划期间否否STRING6ORGAN_IDorganId所属单位否否STRING32CREATOR_IDcreatorId创建人否是STRING32PLAN_MEMOcreateDate备注否否STRING200各个字段添加后效果如下图所示:9.9 创建完成后在控件面板处点击“选择”,双击数据库表ST_PLAN,查看它的“字段信息”,我们添加的所有字段信息都会在上面显示。9.10 点击工具栏处的“保存”,如果没有弹出任何错误提示对话框则表保存成功,此时可以关闭编辑器,然后再双击.pm文件,会再次打开编辑器。10. 模块项目代码生成10.1 下面我们将利用前面创建的持久模型ST_PLAN来生成代码,在生成之前需要先准备数据字典,因为我们的示例中ST_PLAN有2个字段PLAN_TYPE和PLAN_STATE的取值来自于数据字典。10.2 找到模块项目中的perties文件,双击打开文件10.3 文件中显示的是乱码,先关闭perties文件,再右键选择“Properties”,在打开的属性对话框中,文件的默认编码是“IOS-8895-1”,点击“Other”,在下拉列表中选择“GBK”,然后点击“Apply”按钮保存设置,点击“OK”按钮关闭对话框10.4 再次双击打开perties文件,增加“STPLAN.PLANTYPE=0:开发,1:测试,2:服务,3:公共活动”作为ST_PLAN中PLAN_TYPE字段的数据字典,增加“STPLAN.PLANSTATE=0:新建,1:进行中,2:完成,3:暂停”作为ST_PLAN中PLAN_STATE字段的数据字典。其中键与值之间用英文输入法的冒号分隔,多个键值对之间用英文输入法的逗号分隔。10.5 保存并关闭perties文件10.6 选择前面创建的模块项目“module1”,点击右键,在弹出的右键菜单中,选择“New代码生成”10.7 弹出代码生成向导,其中“项目名称”为只读的输入框,只能通过选择按钮为该输入框赋值,并且只能选择模块项目,在左侧的场景列表中选择“单表场景”,利用前面创建的持久模块ST_PLAN,生成单表的增、删、改、查页面;输入场景名称“plan”和包路径“org.sotower.demo”10.8 点击“Next”进入下一步,选择代码生成的持久模型,选择module1pmplan.pmST_PLAN,双击ST_PLAN或者点击中间的“”箭头,“ClassName”中会自动显示StPlan,“生成代码对象”中会自动显示“ST_PLAN”10.9 点击“Next”进入下一步,配置查询页面,在“查询条件页面”部分配置需要作为查询条件的字段,在“查询显示页面”部分配置查询结果显示的内容10.10 选择“查询条件页面”部分下方的“全部取消”按钮,然后勾选“计划名称”“类型”“创建时间”,将这3个字段作为查询条件10.11 选择“计划名称”,点击下方的“编辑”按钮,弹出“维护字段属性”对话框,用来配置该字段在查询页面查询区的显示形式,显示类型采用默认的“文本框”,点击“OK”按钮关闭对话框10.12 选择“类型”,点击下方的“编辑”按钮,在弹出“维护字段属性”对话框中将显示类型采用默认的“下拉框”, 此时右侧的“数据字典”部分由只读变成可修改状态10.13 勾选“数据字典来源于文件”,在“Key”的下拉列表中选择“STPLAN.PLANTYPE”,点击“OK”按钮关闭对话框10.14 选择“创建时间”,点击下方的“编辑”按钮,在弹出“维护字段属性”对话框中将显示类型采用默认的“日期类型”,点击“OK”按钮关闭对话框10.15 在“查询显示页面”部分,去掉对“计划流水”、“计划期间”、“备注”的选择10.16 通过下方的“编辑”按钮,配置字段在查询结果显示区的显示类型字段显示类型是否在JSP中显示是否只读页面显示长度计划名称文本框是类型下拉框,选择“数据字典来源于文件”,对应的Key选择STPLAN.PLANTYPE是状态下拉框,选择“数据字典来源于文件”,对应的Key选择STPLAN.PLANSTATEE是创建时间日期类型是所属单位文本框是创建人文本框是10.17 配置完“查询显示页面”后,点击“Next”进入下一步,配置“增加/修改页面”和“明细页面”10.18 去掉“增加/修改页面”中的“计划流水” 其他字段在增加/修改页面中的显示类型配置如下:字段显示类型是否在JSP中显示是否只读页面显示长度计划名称文本框是否300类型下拉框,选择“数据字典来源于文件”,对应的Key选择STPLAN.PLANTYPE是否状态下拉框,选择“数据字典来源于文件”,对应的Key选择STPLAN.PLANSTATEE是否创建时间日期类型是否计划期间文本框是否6所属单位文本框是否32创建人文本框是否32备注文本框是否20010.19 去掉“明细页面”中的“计划流水”其他字段在明细页面中的显示类型配置如下:字段显示类型是否在JSP中显示是否只读页面显示长度计划名称文本框是类型下拉框,选择“数据字典来源于文件”,对应的Key选择STPLAN.PLANTYPE是状态下拉框,选择“数据字典来源于文件”,对应的Key选择STPLAN.PLANSTATEE是创建时间日期类型是计划期间文本框是所属单位文本框是创建人文本框是备注文本框是10.20 点击“Next”进入下一步,显示所有自动生成的文件路径10.21 点击“Finish”进行代码的自动生成10.22 代码生成后会自动在模块项目中增加以下文件10.23 打开sqlplan-table.sql文件,显示的是ST_PLAN的建表语句10.24 打开“Data Source Explorer”视图,选择“New Oracle Database Connection”,右键选择“Connect”10.25 连接成功后,可以查看数据库的相关信息10.26 回到plan-table.sql文件编辑器,“Type”值选择“Oracle_10.x”,“Name”值选择“New Oracle Database Connection”,“Database”值选择“sotower”,具体值跟实际运行环境有关,请注意修改10.27 选择所有SQL语句,在编辑器中右键选择“Execute Selected Text”,将在数据库中创建ST_PLAN表10.28 执行成功之后,将打开“SQL Results”视图,显示执行结果10.29 创建成功后,打开“Data Source Explorer”视图中“sotowerSCHEMASSOTOWERTables”,可以查看刚才场景的表ST_PLAN11. 部署模块项目11.1 打开SoTower项目中的WebContentWEB-INFsotower configurationpolicy.xml文件,增加以下内容,其中path属性的值是模块项目所在的上级目录, module节点中的值是模块项目的目录名称 module1 12. 部署SoTower项目12.1 打开“Servers”视图,右键选择“Add and Remove Projects”12.2 在弹出的“Add and Remove Projects”对话框中,双击“Available porjects”中的SoTower项目,项目出现在“Configured projects”中,点击“Fihish”按钮完成配置12.3 双击“Servers”视图中的“Apache Tomcat v6.0”12.4 在打开的“Apache Tomcat v6.0”编辑器中,找到Timeouts,对Tomcat服务器的启动和停止时间限制进行设置,否则如果在设定的时间内服务器的没有启动或停止成功就会报错13. 启动SoTower项目13.1 打开“Servers”视图,点击右上角的Start按钮启动SoTower项目13.2 应用启动成功后,控制台显示“Server startup in XXX ms”。应用的日志是在SoTower项目的WebContentWEB-INFperties文件中配置的,默认的日志存放路径是“D:logst”14. 访问应用14.1 打开IE,在地址栏输入“http:/localhost:9000/sotower”,将会打开SoTower的登录页面14.2 输入用户名、密码、验证码登录系统15. 添加资源15.1 打开“系统管理权限管理资源管理功能资源管理”,右键选择“增加模块”15.2 在右侧的页面中输入“模块代码”和“模块名称”,点击“保存”按钮属性值模块代码STPLAN01模块名称计划管理15.3 选择“计划管理”,右键选择“增加模块”15.4 新增“计划”模块,在右侧的页面中输入“模块代码”和“模块名称”,点击“保存”按钮属性值模块代码STPLAN0101模块名称计划15.5 选择“计划”模块,右键选择“增加功能”15.6 在“功能新增”页面中输入“功能系统代码”和“功能编号”和“功能名称”,点击“保存”按钮属性值功能系统编码STPLAN010101功能编号STPLAN010101功能名称计划管理数据权限类型无15.7 打开模块项目的configplan_webc.xml文件,找到“”下“webc:forwardSpec”节点的“target”属性15.8 选择“计划管理”功能,右键选择“增加资源”,输入“操作内码”、“操作名称”、“业务含义”、“操作类型”、“URL”,其中URL的取值为上一步“webc:forwardSpec”节点“target”属性的值“module1/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论