使用EGL Rich UI访问数据库(1-4课)

第1课 规划您的应用

首先在编码前,先在纸上设计您的应用。

当您在规划一个应用时,您可以按照如下步骤进行:

  • 列出应用的目标,正如教程以前所作的;
  • 勾勒出界面的一个草稿;
  • 仔细考虑应用的事件流;
  • 确定应用的结构。

1.1 画出界面的草稿

按照界面草稿创建界面组件:

将UI勾勒出来;


该草稿包含两个部分,一个显示所有记录,另外一个显示选中记录的所有字段;

在左边是三个按钮(Add,Delete,Sample)和一个数据网格,在右端是两个按钮(Clear和Save),以及一个单记录布局;


1.2 考虑应用流

运行时,用户可以做如下事:

  • 点击Sample按钮后,从数据库表中删除所有的行,添加样例行记录,并显示在数据网格中;

  • 点击Add按钮后,添加一个最基本的行到数据库,并显示该数据;

  • 点击Delete按钮后,从数据库中删除目前DataGrid部件中显示的字段;

  • 点击Clear按钮后,从单记录布局中清除数据;

  • 点击DataGrid部件中的记录,会将选中记录信息复制到单记录布局中;

  • 改变所选记录中的信息,点击保存按钮后会更新所有相关的数据库行记录;

读者可能不同意这样的事件流。例如,为什么没有用户清除记录单布局后,从单记录布局中输入数据,再点击Add按钮来创建一个数据行记录?这种变化只是许多选项之一,而一个良好的学习策略是按照本教程的步骤,然后将课程所学应用到产品级的应用中。


1.3 确定应用结构

当您写一个复杂的富用户界面(RUI)应用程序时,您会在一些RUIHandler中写程序,每个都对应到一个网页或者网页的一部分。然而,在本教程中,您将只需要开发一个Handler。如前所述,一个Handler可以访问许多服务,其中一些可能就是利用EGL开发的,不管怎样,最好尽可能的使用已经存在的资源,您的RUI应用将会使用到如下产品需要的EGL项目:

com.ibm.egl.rui.dojo.widgets,它为本教程提供如下Widget类型

  • DojoButton

  • DojoCheckbox

  • DojoComboBox

  • DojoCurrencyTextBox

  • DojoDateTextBox

  • DojoTitlePane

所有这些Widget类型都基于Dojo,你还能使用到其他许多Widget。如果要了解该技术的细节,可以参考Dojo工具包(http://dojotoolkit.org/)。

com.ibm.egl.rui,它为本教程提供如下widget类型:

  • DataGrid

  • GridLayout

  • TextField

  • TextLabel

您将需要开发如下逻辑:

SQLService

专门与数据库表进行交互的服务

PaymentLib

为handlers提供代码的库

PaymentFileMaintenanceHandler

定义该Web应用的Handler。


1.4 课程学习点

在该课程中,您需要完成如下任务:

  • 勾勒出的应用程序接口

  • 考虑运行的事件流。

  • 确定应用程序结构

在下一课中,您将创建一个Derby数据库和表。


第2课:创建项目

一个EGL应用程序被组织在一个或多个项目,其中每个对应于工作空间中的一个物理文件夹。每个项目包含有一个EGL源文件夹,该文件夹包含一个或多个包(Package),其中又会包含EGL源文件。这个是你使用EGL工作的基本层次:一个项目,然后一个EGL源文件夹,最后是包含EGL源文件的包。

EGL源文件包含的EGL部分是你创建的类型定义。例如,服务的逻辑部分,记录(Record)部分,在记录的基础上服务便可以声明使用许多记录变量。包非常重要,它将不同部件分隔入不同的上下文环境或命名空间中:

  • 一个部件的名称可能在两个不同的包中重复,然而任何EGL的源代码仍能够准确的应用其他部分,命名空间的主要好处是,不同的团队可以开发不同的EGL部件而不造成命令冲突;

  • 在给定包中的每个部件名称都在该包内是独一无二的;

    • 通过指定部件名称,同一个包中的部件能很容易的引用同一个包中其它部件,例如,一个记录的声明是基于该记录的部件部分MyRcordPart:myRecordMycordPart{};

    • 通过指定包与部件名称,一个包中的部件能够应用到其他包中的部件,或者通过导入的快捷方法来包含部件。

当且仅当EGL的生成路径能够确定被引用的项目时,该项目可以引用被引用项目中的其他部件部分,本教程将会在后面给出例子。然而,不管怎样,仍然要避免不同项目中出现同样的包名称,那样使用将会在名字解析时引起问题。

您的下一个任务是创建如下项目:

PaymentService

包含EGL服务部件和相关的定义;

PaymentClient

包含富UI处理器和相关的定义;

PaymentShared

包含Web客户端(浏览器端)使用的Handler部件和Web应用服务器端使用EGL服务部件。

你可以在一个单一的项目包括所有的代码,但通过将他们分离开来,您能轻松将两种代码以不同的方式部署开来。

任何一个项目中的部件都可以在不同的项目中使用。EGL会使用一个生成路径来搜索任何未解析的引用。在该课程的后面部分,你将会将服务项目添加到客户端项目的生成路径中,而共享项目添加到服务与客户端项目的生成路径中。


2.1 创建PaymentShared项目

要创建共享项目:

  1. 如果在当前工作空间中已经使用过EGL,点击File>New>EGLProject。如果你还没有使用过EGL,点击File>New>Other,然后展开EGL并点击EGLProject。

  2. 在EGLProject窗口中,输入项目名称PaymentShared,点击模板Basic,然后点击Next。

  1. 在EGLSetting窗口中,接受默认值,然后点击Finish。

  1. EGL创建一个名为PaymentShared的项目。注意到目录中的文件夹:


EGLSource

存放所有的包与源文件。

src

放置定制的Java源文件。这些文件在生成过程中并不会被覆盖。

JRE System Library

EGL使用该文件夹来存放JAR文件,支持Java运行时环境。

一旦你添加了第一个EGL程序,如下额外的目录将会被自动添加:

generatedJava

EGL存放生成的Java文件。

EDT Java runtime

EGL使用该文件夹来存放JAR文件,支持EDTJava运行时环境.


2.2 创建PaymentService项目

要创建EGL服务项目:

  1. 点击File>New>EGL Project。

  2. 点击EGL Project窗口,输入项目名称PaymentService,点击模板Basic或者Web2.0 client application,然后点击Next。

  3. 在EGLSetting窗口,检查OverrideGeneration Setting,取消JavaScriptGenerator,然后点击Next。

  1. 在EGLBuildPath窗口,选中PaymentShared(服务项目将使用共享项目中的部分部件),然后点击Finish;

  1. 在JavaBuild Path,添加PaymentShared为需要的项目。


2.3 创建PaymentClient项目

EGLRichUI项目包含有许多快捷方法来加速Web用户界面的开发。要创建一个EGLRichUI项目:

  1. 点击File>New>EGLProjects

  2. 在EGLProject窗口,输入项目名字PaymentClient,点击模板Web2 Client Application,然后点击Next。


  1. 在Web2.0 Client Application Setting窗口,接受默认值,然后点击Next。


  1. 在EGLBuildPath窗口,选中PaymentShared和PaymentService(客户端项目会使用到共享项目与服务项目中的部分部件),然后点击Finish。


  1. 配置项目的JavaBuild Path,添加需要的服务项目。


EGL将创建一个名为PaymentClient的项目,当你首次添加一个RichUI项目到你的工作空间时,两个其他的项目将会被自动添加进来:

  • org.eclipse.edt.rui.dojo_versionNumber

  • org.eclipse.edt.rui.widgets_versionNumber

这两个项目包含你创建RUI应用所使用的widgets和其他支持文件。

除此之外,EGL将为你的项目创建一个基础的目录结构,一个Web2.0的项目包含有如下目录:

WebContent

包含支持性文件,如CSS文件和图片。



2.4 课程要点

本科中,您将完成如下任务:

  • 为服务项目与RUI应用项目开发公用的EGL项目;

  • 为服务项目创建一个EGL项目;

  • 为web2.0 RUI页面创建一个EGL项目;

在下节课,您将:

  • 创建数据库连接;

  • 创建数据库表;

  • 创建一个记录,从数据库获取数据;


第3课:连接一个新的Derby数据库

使用Derby开源数据库管理器来处理应用的数据存储。

本篇教程将使用开源的Derby数据库。在本章,你将会连接到一个Derby数据库,创建将被访问的数据表。你还能可选的连接到Cloudscape、DB2®UDB或SQL Server 数据库。

按照如下步骤来创建Derby数据库:

  1. 在EclipseIDE中安装Derby插件;

  2. 在服务项目中添加Derby;

  3. 启动Derby服务器;

  4. 创建一个SQLDatabase连接;

  5. 新建一个SQL脚本文件,在数据库中创建表;

  6. 在表中创建EGL行记录;

安装Derby插件

  1. 按照Derby官方网站指导,将DerbyEclipse插件下载到你EclipseIDE中,如Apache Derby10.8.2.2Release(http://db.apache.org/derby/releases/release-10.8.2.2.cgi)版本。该Release版本将会有两个插件压缩zip文件:

  • derby_core_plugin– 为eclipse的其他插件提供Derbyjar文件。

  • derby_ui_doc_plugin– 在eclipse中提供ApacheDerby特性,方便数据库应用开发。

  1. 将插件解压缩到Eclipse主文件夹,结果,eclipse/plugins目录会收到如下文件夹:

  • org.apache.derby.core_10.8.2

  • org.apache.derby.plugin.doc_1.1.3

  • org.apache.derby.ui_1.1.3

  1. 重启EclipseIDE来激活Derby插件。


3.1 添加Derby特性到服务项目

要添加Derby特性到PaymentService项目:

  1. 在项目窗口中右击PaymentService;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值