Geting started with genexus9.0中文

更新时间:2024-01-23 01:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Getting Started with GeneXus 9.0

Av. 18 de Julio 1645 P.4 +598 2

MONTEVIDEO – URUGUAY

402-2082

CHICAGO – USA 400 N. Michigan Ave. Suite 1600 (312) 836-9152 MEXICO CITY – MEXICO Calle Leibnitz N° 20, desp. 801 +52 55 5255-4733

Rua Samuel Morse 120 Conj. 141 +55 11

SAO PAULO – BRAZIL

5502-6722

版权ARTech Consultores S.R.L.1988-2006

保留所有权。这份文件如果没有ARTech Consultores S.R.L.的允许不能被复制。这里的信息只能供个人使用。

注册商标

ARTech GeneXus是注册商标。

第 1 页 共 77 页

所有其他在这提到的商标受各自所有者的保护。 介绍

这个文件的目的是帮助你发现GeneXus所提及的基本的发展方法和GeneXus的一

些基本特征:

? 自动模式设计。 ? 自动代码生成。

? 自动数据库和代码保存。 ? 多平台发展和部署。

系统需求

GeneXus试用版包括下面的产品: ? GeneXus发展环境

这是不涉及开发平台的,集设计、发展和保存业务应用于一体的集成开发环境。

? GeneXus代码生成器

GeneXus为主要的平台生成代码。如果要看一下完整的GeneXus生成器,需要访

问http://www.genexus.com/technologies。在GeneXus试用版本中可用的生成器是:GeneXus.NET 生成器和GeneXus生成器。

下面是为了运行GeneXus所需要的软件和硬件,应用软件通过它们来生成。 硬件需求 处理器:500MH英特尔奔腾系列 内存:最少128MB存储(推荐256MB) 硬盘:最少50MB空闲空间安装运行环境,外加每个生成器平均每个10MB的空间。 视频:800*600或者更高,256色 软件需求 Microsoft Windows NT;Microsoft Windows 2000或更高。如果你用Windows NT,你必须安装pack 6a服务器或更高级别的 Microsoft .NET框架1.1或2.0重新分配包 Microsoft的浏览器6.0 SP1或更高 第 2 页 共 77 页

Microsoft SQL Server 2000桌面引擎(看下面的MSDE 2000安装部分)或者 Microsoft SQL Server 2005快速编辑或者任何GeneXus支持的数据库。查看全部支持的数据库,需要访问http://www.genexus.com/technologies MSDE2000的安装 Miscrosoft SQL 2000桌面引擎(MSDE2000)是免费的,SQL Server的重新分配的 版本。

按照如下步骤安装MSDE2000:

在你的GeneXus试用版本的CD上运行MSDE安装文件。 1.打开命令提示,到C:\\sql2ksp3\\MSDE,执行下面的命令: Setup.exe /qb+ SAPWD=sa SECURITYMODE=SQL 2.重新起动机算计。

注意:你也可以使用SQL Server 2005的快速编辑,从 http://www.microsoft.com/sql/msde/default.asp下载。

GeneXus 生成器必要条件

这一部分包含在GeneXus 试用版本中生成器所需要的条件和GeneXus生成器执行 软件。 生必要条件 成器 .NE? Microsoft .NET 架构1.1或者2.0重新分配包。 T ? 为了生成Web接口应用软件,你需要IIS 5.0 或者更高标准。 ? 为了生成Windows接口应用程序,或者打印PDF报告,你必须根据你的.NET框架1.0或者2.0,分别安装Visual J# 重新安装包1.1或2.0. ? DBMS所能用到的ADO.NET或者 ODBC驱动 第 3 页 共 77 页

Java ? Sun SDK(http://java.sun.com/j2se/1.5.0/download.jsp, jdk- 1_5_0_06_windows-i586-p.exe) ? Nmake(用来处理.MAK文件,NAMAKW.EXE. http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe) ? 为了生成Web程序: ? Web服务器 ? Servlet 引擎 ? JavaServer Web Development Kit ? 为了生成3层窗口接口程序: ? HTTP:你需要一个Web 服务和Servlet引擎 ? CORBA:你需要Visibroker ? DBMS所示用的JDBC驱动 为了建立你的应用数据库和执行生成程序,你需要一个下面的DBMS: DB2 UDB for iSeries, DB2 Universal Database, Informix, Microsoft SQL Server (7.0 or higher), Microsoft SQL Server Desktop Engine (MSDE),Microsoft SQL Server 2005 Express Edition, MySQL, Oracle, or PostgreSQL. GeneXus试用版本 试用版本约束

GeneXus试用版本能够在用一个Key授权的情况下,实现所有功能。但是,你能创建的GeneXus对象上,有一些最大的限制:

? 事务:30 ? 工作面板:50 ? Web面板:50 ? 程序:20 ? 报告:20

GeneXus试用版生成的基本知识库,不能GeneXus标准版打开,反之亦然。

知识库管理的“重分配”选项是无效的。用GeneXus完整译本创建的xpz扩展文

件能够被整理(如果它们没有超过前面所提到得限制);例如,你能够巩固工程,但是你不能重新分布它们。

GeneXus模式不能用于GeneXus试用译本,因为没有GXpublic试用译本。

授权限制

The GeneXus 试用译本安装是局部的和单用户的。网罗安装无法用。

技术支持

第 4 页 共 77 页

如果你的试用译本需要协助,请联系gxtrial@genexus.com

如果你在美国或加拿大,你可以发送你的问题到gxtrial.usa@genexus.com

如果学习各种GeneXus技术支持,培训服务和资源,请访问

http://www.genexus.com/support 和http://www.genexus.com/training

对于附加信息,请联系你的当地发行商:

http://www.genexus.com/distributors 或者直接联系我们info@genexus.com 安装

1.在Windows开始菜单中,运行GeneXus试用译本的运行文件(GX90Trial.exe)或者在试用译本的CD上选择合适的按键。

Figure 1 GeneXus Trial Version Setup Wizard

2.根据GeneXus试用译本的安装向导介绍。你需要安装GeneXus发展环境和至少一个GeneXus生成器。

第 5 页 共 77 页

Figure 2 GeneXus Components selection dialog box

GeneXus试用译本授权

当你第一次用它的时候,需要授权你的GeneXus试用译本。按照如下做:

1.通过桌面上的快捷键或者开始菜单,执行GeneXus试用译本。

2.从GeneXus试用译本注册对话框中,写下或者复制Site Code. TIP:不要关闭 窗口!

Figure 3 GeneXus Trial Version Registration dialog

box

3.去http://www.gxtechnical.com/trial/authorize;这将会打开在GXTechnical的GeneXus试用译本授权页。用你的GXtechnical用户名和密码登陆,也就是你用同样得用户名和密码下载GeneXus试用译本。

第 6 页 共 77 页

4.在适当的位置粘贴Site Code然后提交。

5.你将通过邮箱接受Site Key。

6.在GeneXus试用译本注册对话框中,打进或者粘贴Site Key,然后提交。一个Site Key接受的消息对话框将会出现。

Figure 4 Site Key accepted message

7.最后,点击确定,重启电脑开始使用GeneXus试用译本。

正式开始:一步一步介绍指南

这个指南的目的是用GeneXus一步一步的提供给你一个过程,作为你学习GeneXus基本技术知识。最后,你会建立一个复杂的临界商业软件,速度比你想象的要快。

按照这样一步一步做,你会建立一个简单的商业应用程序,并且能够在GeneXus试用译本所支持的平台上配置:.NET和JAVA.如果要看GeneXus所支持的平台可以访问http://www.genexus.com/technologies/

随着指南做,你将体会GeneXus的主要特征:

? 基本知识库的设计 ? 只能数据库的生成 ? 自动代码的生成 ? 充分功能原型

? 增长的发展和应用的维护 ? 非交互进程设计 ? 多平台发展

基本知识库设计

在这个部分,你将学习到如何建立一个GeneXus基本知识库和在你的业务领域实体上设计程序。在这种情况下,我们将设计一个发票和销售管理系统中的其他组件。 商业分析员比较开发者 第 7 页 共 77 页

了解客户的需求软件发展中不能自动化完成的任务之一。GeneXus方法是基于你所要处理程序的终端用户(包括切实的实体和无形的对象)的描述。这个通过一个高度抽象水平描述终端用户对这些实体的观点。这就是我们称GeneXus开发者为商业分析员而不是程序员,编码器,或者开发者。 第一步:建立一个基本知识库 本步骤的主要内容 基本知识库:基本知识库是一个在多平台中能够运行程序,包含所有信息的仓库。它由一下几个模块组成: 设计模块:包含所有应用数据必要条件。这个模块所包含的信息能够被本知识 库其他模块所共享。我们总是在设计模块中设计应用程序开始。 原型模块(一个或多个):具体到一个或多个原型环境中,包含设计资料。 生产模块(一个或多个):具体到一个活多个生产环境中,包含设计资料。

1.打开GeneXus试用译本。

2.在开始菜单中,单击New Knowledge Base.

3.命名基本知识库为Demo,单击OK继续。

Figure 5 Knowledge Base creation dialog box

第二步:建立事务对象 本步主要内容 事务对象:这个代表了你的程序所处理的真正对象。GeneXus拥着些对象推断应用的数据模式。事务对象被GeneXus生成应用程序在数据库中进行插入,删除和更新数据。事务对象在设计模式中只能建立一个。 1.在Object菜单中,选择New Object。

2.选择你想建立的对象:Transaction。

3.命名为Invoice。

第 8 页 共 77 页

Figure 6 New Object dialog box

4.单击OK。

第三步:描述事务结构 本部主要内容 事务对象结构是真正实体代表数据的描述。在这个结构中,我们必须声明组成事务属性和它们之间的关系。基于这个结构,GeneXus自动设计和保持相应的数据库。设计事务结构的主要因素: ? 属性:每一个属性被它的名字,类型和描述定义。 ? 级别:属性在一个活多个级别中分组,这些级别可能是嵌套的或平行的。例如:在根级别中在发票中的行数代表了 //不太明白嵌套的级别。 ? 发票行级别代表了实际的发票可能有多行,也就是说,它在发票和发票行之间定义了一对多 的关系。 ? 主键:在一个级别中一个或多个属性必须被定义为这个级别的主键。 ? 主键是每一个级别实例的标识。 ? 主键属性值是唯一的,并且一旦输入,它们不能被更新。 ? 如果你的对象中没有自然的主键,必须设置一个,例如:员工号。 1.基于下表,在发票结构中,输入属性名称,日期类型和描述。用TAB键在属性名字,日期类型和描述之间移动。用ENTER键添加一条新的属性。 ATTRIBUTE TYPE DESCRIPTION InvoiceID Numeric(4.0) Invoice ID InvoiceDate Date Invoice Date 第 9 页 共 77 页

CustomerID Numeric(4.0) Customer ID CustomerName Character(20) Customer Name Press ENTER and then CTRL + Right (cursor key) to add a new level to the data structure ProductID Numeric(4.0) Product ID ProductDescription Character(20) Product Description ProductPrice Numeric(8.2) Product Price LineQuantity Numeric(4.0) Line Quantity LineTotal Numeric(8.2) Line Total Press ENTER and then CTRL + Left (cursor key) to go back to the root level InvoiceSubtotal Numeric(8.2) Invoice Subtotal InvoiceTax Numeric(8.2) Invoice Tax InvoiceTotal Numeric(8.2) Invoice Total 生产 TIPS:

? 当开始输入新属性名字时,点击 period key 将会在属性名字字段中写上事务的名称。//不太明白

? 你的属性名字命名方式为CameCase,这样你的属性描述是自动推断的。 ? 当数据类型复选框被选中时,输入数据的第一个字母,选中它。如果它是一个变量类型,输入变量的维数设定它。

默认情况下,每一个级别的第一个属性是这个级别的主键,但是它能通过右键单击属性选择Toggle Key更改(Ctrl+K)。主键属性被识别,通过他们名字key。这个例子中,发票号是第一级的标识符,产品号属性是第二级的标识符。这意味着,对于一个指定的发票号,产品号属性在不同的行中,将不会被重复。

2.右键单击发票号,选择属性。

3.设置发票号的Autonumber属性为True.生成程序将会自动的对每一个发票实例分配一个发票号值。

第 10 页 共 77 页

Figure 7 Define Attribute (Properties) window

4.保存。 你已经建立了包含了两级的发票事务: ? 一个基本级,我们详细说明了发票头的所有要信息。 ? 一个嵌套级,我们在这里列入了在每一个发列将会重复的信息。

注意我们没有用行号作为发票行的主键。这是有设计决定。通过用产品号作为发票行的主键,我了对一个相同的产品,将不会有两行在同一个不太好理解

必票意识的们定义票。 //

Figure 8

Invoice Structure 通用关系假设 GeneXus方法的一个键元素是有同一个名字的属性是同一个属性;这被称为通用关系假设,它说明: ? 任何概念上相同的的东西都应该有相同的名字。 ? 不同概念,就不能同名。 这使我们能通过它的名字在其他GeneXus对象中用它一个属性。GeneXus基于属性名字在数据模式中建立表之间的关系(外键)。 GeneXus Incremental Knowledge-Based (GIK)术语 ARTech 已经定义了一个循环但是标准的属性术语GIK,被广泛的应用于GeneXus群体。在这种术语里,一个属性名字由四部分组成,它们当中的一些是可选的: Object+Category[+Qualifier][+Complement] 第 11 页 共 77 页

? Object:被属性描述的真正实体。这经常(也不绝对)是被属性定义的事务的名字,所以它被存在和事务相关联的一个表中,例如:发票,顾客,产品和行。 //这个行不太好理解 ? Category:属性的种类。它定义了在对象和应用环境中属性显示的角色。例如:编号,日期,发票,描述等。 ? Qualifiter和Complement 是可选项。例如:开始,结束,最小化,最大化等。 第四步:定义计算字段====公式 本步主要内容 公式是可以从其它属性推算出来的属性。一个公式属性的定义方式和正常属性定义的方式一样,也就是说,它有名子,日期类型和描述,再加上它如何被计算出来的公式。 ? 除非另有说明,被定义为公式的属性不被存到数据库(它们是虚属性)。 ? 公式是全局的;它们在整个知识库中有效地使用,不仅仅是在定义它们的事务中。这意味着公式总是在事务或者其他的GeneXus对象调用中被计算(报告,工作面板等)。 ? 用户定义的变量不能被公式调用,因为它们在定义他们的对象中是局部的,在此范围之外,它们无值。 你现在要定义下面的公式属性:

? LineTotal = ProductPrice * LineQuantity ? InvoiceSubtotal = SUM(LineTotal) ? InvoiceTax = InvoiceSubtotal * .085

? InvoiceTotal = InvoiceSubtotal + InvoiceTax

1.在LineTotal属性上双击Formula字段(在描述属性的右边).

2.输入下面的表达式:“ProductPrice * LineQuantity”。TIP:你也可以右键

单击formula字段,选择Edit formula选项打开Formula Edit。

3.重复第一和第二步,将开始的公式字段都输入。

4.保存。

第 12 页 共 77 页

Figure 9 Invoice Transaction with formulas

第五步:通过GeneXus推断查看数据模型 智能数据模型产生 无论你在任何时候保存,GeneXus将自动推断出支持终端用户描述事务对象的数据模型。根据这个模型,GeneXus将在你定义prototype 或者Production模型时,自动生成数据库。 本步主要内容 智能数据模型产生器:事务对象结构决定了表格和索引的生成。 ? 通过事务名称,表格和索引的名字自动被GeneXus产生,但是,如果需要可以改正。 ? GeneXus推断了一个没有冗余的数据模型。但是,你可以定义被GeneXus自动管理的传统冗余。 ? 相应于n级事务的表的主键可以被他之前的n-1嵌套级所获取。 //有点模糊

1.在Tools菜单上,单击List DataBase

2.如果Modify复选框被选中的话,取消。

3.在Select Object对话框中,单击Select All,单击OK。一个数据库表单报告北

第 13 页 共 77 页

生成了。

Figure 10 Select Object dialog box

数据库表单报告显示了:GeneXus根据规格数据模型自动生成了支持发票事务对象的两个表格,Invoice(发票头)和Invoice1(发票行),结构如下:

第 14 页 共 77 页

Figure 11 Database (Data Model) Listing

InvoiceID InvoiceDate CustomerID CustomerName InvoiceID ProductID ProductDescription ProductPrice LineQuantity 注意:

1. Invoice1表的主键是由两个属性组成:InvoiceID和ProduceID(第一级别的标识符InvoiceID加上第二级别的标识符ProductID).

2.GeneXus自动将我们定义的公式在表中移除,将他们自动转化成全局的公式,这样你可以在知识库内的任何地方调用他们。

3.在Invoice表中:

不会有两个发票有相同发票编号。

对于每一个发票编号,只有唯一的发票日期,顾客编号和顾客姓名。 4.在Invoice1表中:

不会有两个发票行有两个相同的发票编号和产品编号。

对于每一对发票编号和产品编号,只有唯一的产品描述,产品价格和行数。

第六步:查看事务对象表格

对于新产生的事务对象,核实查看自动生成的GUI和Web Form。 本步主要内容 GUI和Web Form:保存了一个新的事务对象之后,一个默认的表单(GUI)和Web表单将会自动生成,它们分别在GUI和Web应用程序上接受数据。两个表单都能够被的商业分析家用户化。

要看两个表单,按照如下步骤:

1.在发票事务中,选择Form选项卡。

第 15 页 共 77 页

Figure 12 Invoice Transaction (GUI) Form

2.在发票事务中,选择Web Form选项卡。

Figure 13 Invoice Transaction Web Form

“Error Viewer: ctlError”是错误信息的默认显示。我们能够把它放到表格的任意位置,并且可以设置他的属性。他可以显示象参照完整性错误,和数据类型错误等信息。

这些表能够使终端用户将新的发票作为新的数据插入相应的表格中。如果用户有权限的话,也能够更新或删除存在的发票。

因为这些行为都隐藏在事务逻辑中,所以GeneXus分析员没有必要计划这些行

第 16 页 共 77 页

为。GeneXus根据选择的语言自动生成相应的代码。

注意:当我们定义GeneXus事务时,

? Explicitly(明白的):描述对数据表示和捕获的用户接口。

? Implicitly(隐藏的):设计应用程序的数据模型(表格,索引等。)

第七步:建立吸引人的Web Form ======主题(Themes)

在这一步,你将会根据预先确定的模板建立一个新的主题,并且设置它为你的应用主题。 本步主要内容 主题对象:GeneXus主题对象根据分离商业分析家的任务改进了Web应用程序。 ? Web表单是基于默认主题对象建立的。 ? 主题用主题编辑器定义。 ? 你能创建新的主题用到你整个的基本知识库或者用的具体的对象中。 1.在Tools菜单上,选择GX Theme Editor。

2.在GX Theme编辑菜单上,选择Open / Template。

3.打开Beach.xml模板

4.通过Class/Form 选择 Light Yellow选择表单的背景色。

第 17 页 共 77 页

5.在GX Theme Editor的File菜单中,选择Save As

Figure 14 GeneXus Theme Editor

Figure 15 GeneXus Theme Editor Save

As dialog box

这个保存的模板就是我们基本知识库的主题。

6.关闭GX Theme Editor。

7.在GeneXus的File菜单中,选择Edit Model/Properties。

Figure 16 Model Properties

8.设置Beach作为新的模型的主题。

第 18 页 共 77 页

9.选择发票事务的Web Form选项卡。你将会发现之前的Web Form 现在的特征变成了新的主题。注意:如果你的事务一直开着,你需要关闭,然后重新将其打开,这样才能看到变化。

Figure 17 Transaction Web Form with new Theme

第八步:添加商业规则====Rules(规则)

添加一些基本的商业逻辑到你的程序中。 GeneXus规则 GeneXus规则是将商业逻辑联系到每个实体的方式。它们被一种公开的方式写入;GeneXus智能的选择哪一条,在哪个时间应用。 本步主要内容 规则在事务对象中起了一个重要的作用,因为它能够运行自己的行为(例如:默认分配值;定义数据控制等。)。 ? 它们可能包含定义在事务结构中的属性,例如:默认赋值:定义控制语句等。他们能够将属性定义到事物结构中,类似于变量,常量和函数。 ? 规则是以一种公开的方式定义的,也就是说他们没有必要按照按照执行顺序排序。GeneXus将会自动排出合适的执行顺序。 ? 他们只能在定义它们的事务中有效。这就是他们是局部的第 19 页 共 77 页

原因。 我们要添加一条简单的规则设置发票日期默认为当天:

1.在发票事物中选择规则选项卡。

2.在插入菜单中,点击规则。

3.选择默认规则对默认属性和变量赋值。

4.加入“Default(InvoiceDate,Today())”,它表明了发票的默认日期是当天。

5.保存。

Figure 18 Transaction rule

第九步:建立顾客事务对象

1.通过第二步建立事务对象和第三步建立描述事物结构建立顾客事务对象。

2.添加如下的顾客结构属性: ATTRIBUTE TYPE DESCRIPTION CustomerID --------- -------------------- CustomerName --------- -------------------- CustomerAddress Character(50Customer ) Address CustomerEmail Character(50Customer ) Email 当输入顾客编号和顾客姓名的时候要注意,GeneXus提示你要填写完属性名称,类似于类型和描述。这是因为在知识库中,这些属性已经定义了。

第 20 页 共 77 页

3.右键单击顾客编号,选择属性。

4.在General中,设置Autonumber为Ture。这样,生成程序就自动为每一个顾客实例赋一个顾客编号。

Figure 19 Define Attribute (Properties) window

5.在Control Info中设置如下属性: ? Input type=Descriptions

? Description from=CustomerName ? Suggest=Incremental

按照这样,你可以直接输入用户名而不用输入用户编号,生成程序自动找到相对应的顾客编号。suggest属性将会对你输入的用户姓名进行提示。这些属性是GeneXus继承AJAX的一部分。

顾客结构,Form,Web Form如下显示。

第 21 页 共 77 页

Figure 20 Customer transaction Structure

Figure 21 Customer Transaction (GUI) Form

Figure 22 Customer Transaction Web Form 注意发票Web Form改变反映了顾客编号属性的改变,也就是说顾客姓名是顾客编号的描述属性。这将大大加强应用程序的可用性,我们稍后就会看到。

第 22 页 共 77 页

Figure 23 Invoice Transaction Web Form

第十步:查看数据模式的改变

通过GeneXus查看那数据模式的改变(记住:当保存数据知识库时,新的数据模式自动生成)。按照如下做:

1.在Tools菜单中,单击List DataBase。

2.如果MOdified复选框选中,将其取消。

3.在Select Object对话框中,单击Select All和OK。一个新的数据库报名将会产生。

你将会发现在包含新的事务后,GeneXus自动将你的数据模型正常化。 //模糊

第 23 页 共 77 页

注意:

? GeneXus添加了一个新表:顾客表(同顾客事务联系);

? 顾客姓名属性已经从发票表中移除(这个属性值存储在顾客表里),是数据库正常化。

? 在顾客表中:

? 可以有两个顾客有同样的顾客编号。

? 对每一个顾客编号只能有唯一的顾客姓名,顾客地址和顾客邮箱。 ? 在发票表中:

? 不能有两个发票有同样的发票编号。

? 在发票表中,顾客编号是同顾客表联系的外键。这样,在顾客表和发票表中存在一对多的关系:

? 对于每一个发票编号有且只有一个顾客编号。

? 每一个顾客编号可能被存储在多个发票表中(发票编号)。

? 如果你选择Show Detailed list选项,GeneXus将会显示表的索引,他能帮助你更有效的访问数据库。我们将在第15步看到更多的详细信息。Step 15: Viewing the Specification Report.

自动生成数据库

到目前为止,我们描述了应用程序所必需的条件,一系列被称为事物的GeneXus对象。GeneXus根据这个推断出支持你的事物的数据模型。

我们在设计模型中做了之前的操作。设计模型用来定义我们应用程序的独立平台。为了生成一个工作程序(数据库计划+源码+执行程序),我们将使用原型模型和生产模型。

第 24 页 共 77 页

第十一步:你应用程序的原型 本步要点 原型模型和生产模型:为了在一个特殊的软件平台上生成和保持一个工作应用程序,我们需要定义原型模型和生产模型。对于每一个原型模型和生产模型,定义一个DBMS,一个目标语言和一系列附加参数。GeneXus将会在选择的平台中自动生成、保存数据库计划和所有程序。这样的话,GeneXus分析员不需要对目标平台有很深的知识。 在设计,原型和生产模块中有图形化的描述,可以看Appendix I: GeneXus Models

现在选择选择在哪个平台上生成应用程序:.NET还是JAVA ? 如果在.NET上生成,按照Step 11-A ? 如果在JAVA上生成,按照Step 11-B

第十一步完成以后,无论你选择哪个平台,都接着12步向下做。

第11-A:用MSDE在.NET原型你的应用程序 //可能翻译有误

在开始之前,在系统必需条件章节中查看.NET Generator Requirements,确定你有能够运行程序的必要软件。

要看一下支持DBMS的完整列表,可以看http://www.genexus.com/technologies

1.如果你用DBMS而不是MSDE,数据库不是被GeneXus建立的。在建立原型和生产模型之前,用DBMS建立一个新的数据库并确定你有合适的权限使用它。在MSDE,我们用已经建立的\数据库。

2.从Model Toolbar中选择Prototype.

Figure 25 Model Toolbar detail

3.将会出现一个建立新的原型模型的提示,点击OK。

第 25 页 共 77 页

Figure 26 Model creation

dialog box

4.GeneXus Create Model Wizard将会引导你设置新模式的参数。设置为:

? Model Name: Prototype .NET ? Language: .NET ? User Interface: Web ? DBMS: SQLServer

? Target Path6: leave default value

Figure 27 Create Model Wizard,

Step 1

5.点击Next。

6.在GeneXus建立模式向导的第二步,设置: ? Access Method: ADO.NET ? Database Name: master 7 ? Server name: local

第 26 页 共 77 页

Figure 28 Create Model Wizard, Step 2

7.点击Next。

8.在GeneXus建立模式向导的第三步,设置 ? Use trusted connection: No ? User id: sa

? User password: sa

? Declare referential integrity: No ? SQL server version: 2000 or higher

Figure 29 Create Model Wizard,

Step 3

9.点击Next。

10.在第四步,确定Compiler 和 Virtual Directory paths是默认的。

第 27 页 共 77 页

Figure 30 Create Model Wizard, Step

4

11.点击Next。

12.第五步只是些前面步骤的总结,确定选择是否正确(如果需要的话刻绘回退),点击Finish。

Figure 31 Create Model Wizard,

Step 5

第 28 页 共 77 页

13.点击OK。因为这是一个新的模型,所以会提示建立一个基于数据模型的实际的数据库。

Figure 32 Database creation

dialog box

Step 11-B: Prototyping your Application in JAVA with MSDE 如果你完成了11-A,可以直接到十二步.

在开始之前要看一下JAVA产生器的必要条件,确定有必要的软件运行程序.

在这一步,我们将MSDE2000作为DBMS,生成一个原型模型.另外,也可以用GeneXus

支持的DBMS.要看DBMS支持的完整列表,可以看

http://www.genexus.com/technologies

1.如果你用DBMS而不是MSDE,数据库不是被GeneXus建立的。在建立原型和生产

模型之前,用DBMS建立一个新的数据库并确定你有合适的权限使用它。在MSDE

,我们用已经建立的\数据库。

2.从Model Toolbar中选择Prototype.

Figure 33 Model Toolbar detail

3.将会出现一个建立新的原型模型的提示,点击OK。

第 29 页 共 77 页

Figure 34 Model creation dialog

box

4.GeneXus Create Model Wizard将会引导你设置新模式的参数。设置为: ? Model Name: Java Protype ? Language: Java ? User Interface: Web ? DBMS: SQLServer

? Target Path6: leave default value

Figure 35 Create Model Wizard, Step

1 of 6

5.点击Next。

6.在GeneXus建立模式向导的第二步,设置: ? Your JDBC driver

? Use custom JDBC URL: No ? Database name: master9 ? Server name: (local)

? Server TCP/IP port: 1433

第 30 页 共 77 页

Figure 36 Create Model Wizard,

Step 2 of 6

7.点击Next。

8.在GeneXus建立模式向导的第三步,设置 ? User id: sa

? User password: sa

? SQL server version: 2000 or higher

9.点击Next。

第 31 页 共 77 页

10.在第四步,

Servlet目录,成的Servlet到的地方.这我们用 Jakarta

输入: 也就是生将被转移个例子中,

Tomcat,Servlet目录是C:\\Tomcat 5.0\\webapps\\servlets-

examples\\WEB-INF\\classes. Figure 38 Create Model Wizard, Step 4 of 6

静态文本的基本URL,也就是Servlets查找静态内容的webapp相对目录.

我们从客户端看到到静态内容目录,也就是将java脚本转移到的目录:C:\\Tomcat

5.0\\webapps\\servlets-examples

11.点击Next。

12.设置下面的参数 Platform: Sun SDK ? Compiler Path:

第 32 页 共 77 页

C:\\jdk1.5.0_06\\bin\\javac.exe ? Make Path: C:\\java\\nmake.exe

? Interpreter Path: C:\\jdk1.5.0_06\\bin\\java.exe

? Classpath: gxclassr.zip;.;swt.jar; iText.jar;C:\\Tomcat 5.0

\\common\\lib\\servlet-

api.jar;E:\\JDBC\\SqlServer\\msbase.jar;E:\\JDBC\\SqlServer\\mssqlserver.ja

r;E:\\JDBC\\SqlServer\\msutil.jar

? Web Application Base URL: http://localhost:8080/servlets-

examples/servlet/

13.点击OK。

14.第六步是你之前选择的一些总结,检查你的选择是否正确,然后点击Finish.

Figure 40 Create Model Wizard, Step

6 of 6

15.点击OK.

在运行前,检查一些重要设置:

? 在开始前,Servlet要设置好.编辑c:\\Tomcat 5.0\\conf\\web.xml文件,不要注释下面的参数,也就是要删除红色标记.

第 33 页 共 77 页

? 在应用程序执行之前,Servlet将会开始;Jakarta Tomcat将会被用到,它能够被Tomcat 监听器控制开始和结束(Windows Menu – Start – All programs – Apache Tomcat – Tomcat Monitor).

? 有的时候MSDE不检测TCP/IP连接,这种情况下,可以到Start>Run>“SVRNETCN”,启用TCP/IP协议. 第十二步:查看那数据库建立报告

在建立原型模式数据库之前要看一下数据库建立报告 自动数据库生成 当要建立新的原型或生产模型时,GeneXus在选择的DBMS中自动生成建立数据库的执行代码,它是基于数据模型的。 当更新一个原型模型或生产模型时,GeneXus自动生成重构模式数据库的执行代码,也就是要建立一个新的计划,将数据从原来的计划转化到新的里面。 本步要点 数据库建立报表:在原型模型和生产模型的DBMS中自动生成的描述数据库的报表。它包含数据模型和数据库的所有信息。 每个表的信息被分为四个部分: ? 头部信息:包含表名,在上面执行的动作,警告和错误。如果数据模式中有错误,重构按钮将不能被使用。 ? 表结构:显示表的属性,他们的关系,和在上面执行的动作。 ? 索引:描述了对数据库保持参照完整性的表索引,可以用它更有效的访问表格。 ? 外键约束:描述完整表的约束。 1. 看数据库生成报表。注意:你可以选择你想看详细信息的表。

第 34 页 共 77 页

Figure 42 Database Creation Report

2. 如果你同意建议的数据库,点击Regonize.

第十三步:建立原型模式数据库 本步要点 GeneXus(数据库)重构:当点击数据库建立报表的重构按钮时,GeneXus会生成数据库的建立程序。GeneXus将会指引你建立数据库。 当需要重构数据库时,同样的程序将会重复。这样,你可以生成和执行数据库重构程序。 1. 当数据库建立程序要准备执行时,将会提示是否执行。点击Yes。

Figure 43 Execute Reorganization dialog box

2. 数据库建立程序会告诉你需要重构原型模式数据库。点击Execute。

第 35 页 共 77 页

3. 当“Reorganization completed”消息出现在GeneXus重构窗口中时,点击Close。

Figure 44 GeneXus Reorganization window

自动生成代码

到此为止,我们已经建立了支持原型模型的新数据库。下面我们将用选择的语言为我们的应用程序自动生成源代码。

第十四步:具体和生成代码=====建立命令(Build Command)

在这一步,我们将为我们的原型模型生成代码。要这样我们就要用建立命令。 本步要点 1.具体化:进程在原型和生产模型中为每一个GeneXus对象生成一个具体的文件。这个具体文件在一个中间语言描述了GeneXus对象行为,这种中间语言独立于应用程序目标语言。这种文件有一个“spc”的扩展。对于每个具体文件,GeneXus生成一个描述对象逻辑的具体的报告(在下一步被覆盖)并且显示显示警告或者错误。一旦对象(或者对象的设置)被具体化,分析家总是告诉GeneXus生成应用程序。 2.生成:用在原型或生产模型中选择的语言,进程将会为应用程序生成源代码。它是基于具体文件信息生成的。 1. 在Build菜单上,选择Build All。你也可以在模式工具条上单击Build All。

Figure 45 Model Toolbar

第 36 页 共 77 页

2. 选择我们将要用的具体化类型:Check specification。

3. 选择其它选项:Specify & Generate。

4. 单击OK。

Figure 46 Build All dialog box

第十五步:查看具体化报告 本步要点 具体化报表描述了程序如何执行,哪个表被访问(和方式)和它所要显示的操作符。 事务程序能够使终端用户从数据库中插入,更新,删除记录。他们要确定主键的唯一性,参照完整性和记录锁定时句柄。不用你写任何语句。 保证参照完整性暗示了防止由于更新的原因造成数据冲突,例如: ? 删除父记录一并删除子记录。 ? 不用插入父记录而直接插入子记录。

GeneXus显示了由一系列向导报表所组成的具体报表,每个程序都会生成。

第 37 页 共 77 页

Figure 47 Customer Transaction

Navigation Report

“Referential Integrity controls on delete”意味着当你从顾客事务中删除一个顾客时,程序将检查那个顾客是否有相关联的发票。为了使查询更有效率,发票表的外索引将会被应应用。

Figure 47 Customer

Transaction Navigation Report

在发票事务中的参照完整性:在发票级别的顾客编号外键意味着,当你用发票事务插入或更新发票时,他将自动检测输入值是否则在顾客表里存在,这是通过外键顾客编号检测的。为了使查询更有效率,发票表的外索引将会被应应用。

参照完整性检测输入的属性是否合法(例如在发票中的顾客编号),但是他并不提供在哪里这些值是合法的。为了方便查找合法的值,GeneXus建立了Selection List对象来提供完整的合法值。

第 38 页 共 77 页

添加到你的解决方案里的Selection List对象是:

? Selection List Invoice

? Selection List Level1 ? Selection List Customer

全部功能原型

到目前为止,我们设计了应用程序(第一到第九步)作为一组事务对象,它反映了真正的对象。GeneXus自动生成了支持我们数据环境的最好数据模型。然后我们为原型应用程序建立了一个新的数据库(第十到十二步)。最后,我们具体化和生成了我们原型应用程序的源代码(第十三到十四步)。现在我们开始在我们的原型环境中测试我们的程序。

用GeneXus原型化你的应用程序

你可以定义很多类似于设计的原型模型和生产模型。虽然两个模型类型支持关系的特征是相同的,但仍要强烈建议你为每一个生产模型定义最少一个原型模型。

为什么要顶以生产模型?

设计进程有很多人为交流上的缺陷: 用户忘记必须的事情。 ? 分析家没有注意些问题

? 用户传达一些错误的方法。 ? 分析家曲解了一些用户的说明。

原型模式通过一些方式减少了执行上的一些缺陷:

? 如果没有原型,设计上的一些问题将会在系统的最后测试阶段被检测出来。在这个阶段的解决成本是非常高的。

? 如果实体改变,当系统被执行的话,系统的具体化被冻结是不合理的。

? 在设计阶段被冻结的具体化将会导致不合理的解决方案。 ? 原型化在设计和系统执行阶段的架起了桥梁。

第 39 页 共 77 页

GeneXus原型是一个准备工作的应用程序,它的功能等同于最后的生产应用程序。原型可以在PC环境中运行,可以在任何选择的平台上运行。GeneXus能够生成以下语言的代码:C# ,Java, C/SQL, Cobol for iSeries,RPG for iSeries, Visual Basic, 嵌入式Visual Basic和 Visual Fox Pro。原型模型能够在放到生产模型之前测试应用程序的功能。你的终端用户可以简单的测试屏幕,报告,公式,商业规则和数据结构等。 原型地工作的组成部分: ? 管理和原型模式相联系的数据库。 ? 为了评估执行原型模式。 第十六步:运行你的应用程序 1.在Build菜单上,点击Run。你可以在模式工具条上点击Run快捷键(右边的最后一个按钮),或者直接按F5。

Figure 50 Model toolbar

2.在执行对话框中点击Complie运行你的应用程序。

Figure 51 Execution dialog box

第 40 页 共 77 页

3.一个GeneXus编译窗口将会出现。当人物状态条上显示Succeeded时,按Close。

Figure 52 GeneXus Compilation

dialog box

4.在执行对话框中,点击Execute运行应用程序。

第十七步:测试你的应用程序

当从原型模式中执行编译过的程序时,一个完整功能的原型模式将会运行。

1. 发展菜单是一个对你所有的执行对象其中要作用的XML文件。点击Customer选项(如果你用的是IE模式,右键单击Customer,选择Open in New Window)。

第 41 页 共 77 页

Figure 53 Developer Menu

2. 输入一些用户,在以后的发票中会用得到。

3. 你完成后,点击Close按钮。

Figure 54 Customer Transaction instance

4. 点击Invoice选项(如果你用的是IE模式,右键单击Customer,选择Open in New Window)。

第 42 页 共 77 页

5. 在你的发票上,输入一些数据。做这个的时候,要注意一些事情:

发票日期已经被定义了,这要感谢第八步中的默认规则:Step 8: Adding Business Rules ?? Rules。

你没有必要在选择列表中输入或查看顾客编号,你只要输入顾客姓名的第一个字母,GeneXus将自动提示配对这些字母的用户姓名。这要感谢GeneXus的AJAX代码。记住我们已经设置了顾客编号被用户名描述,可要求GeneXus提示这些值。

公式自动计算,也要感谢GeneXus AJAX实现功能。

你需要两次单击Apply Changes按钮输入数据。

Figure 55 Invoice Transaction instance

6. 当你完成时,点击Close按钮。

增长的发展和应用程序的维持

到目前为止,我们基于一些事务对象和商业规则,建立了一个工作应用程序。我们将根据编辑存在的GeneXus对象或添加新数据看到如何保持GeneXus应用程序,然后自动重构数据库,重新生成应用程序。 GeneXus增长的发展模式

第 43 页 共 77 页

随着实体的改变,系统必须的条件将会发展,将会将这些改变带入GeneXus对象或者新的对象中。根据新的对象,GeneXus将会自动重构数据库(建立新的数据库并且将数据转移到里面),如果需要改变的话重新生成应用程序。

第十八步:向你的工程中添加新的对象:产品事务对象

在十七Step 17: Testing your Application步,你可能注意到在每一个发票行中需要输入产品编号,描述和价格。这不是你在一个销售管理系统中所期望的。甚至没有如此简单的应用系统。

在系统中需要可能用到添加,更新,删除产品。要这样做,我们将在我们的基本知识库中添加产品事务。

1.在模式工具条的下拉菜单中,选择Design,返回设计模式。记住所有的数据模型只能在设计模式中定义(在任何原型模型和生产模型中,建立新事务的选项都是不可用的)。

2.通过第二步Step 2: Creating a Transaction Object和第三步Step 3: Describing the Transaction Structure.插入下面产品实物结构中的属性: ATTRIBUTE TYPE DESCRIPTION ProductID ………. ……….. ProductDescription ………. ……….. ProductPrice ……….. ……….. 注意当你输入开始输入这些属性名字时,GeneXus提示你他们的全名。之所以这样,是因为他们已经在基本知识库中定义了。 产品事务结构,Form,Web Form如下显示。

Figure 56 Product Transaction Structure

第 44 页 共 77 页

Figure 57 Product Transaction (GUI) Form

Figure 58 Product Transaction Web Form

第十九步:在你的数据模式中,重新看一下改变

随着保存产品事务对象,GeneXus将会再一次使数据模式正常化。重新看一下数据模型,会发现GeneXus已经将数据模型规格化了,将产品描述和产品价格属性从Invoice1表移动到新的产品表中。

第 45 页 共 77 页

Figure 59 Database (Data Model) Listing for Invoice1 and Product tables

第二十步:影响分析和数据库重构

返回你的原型模式,会出现影响分析 本步要点 影响分析:当从设计模式到原型模式或生产模式时(目标模式),GeneXus估计目标数据库是否需要更新以适应设计模式的数据模型。如果这样,GeneXus分析在目标模型数据库的影响。这就是影响分析,产生的影响分析报告包括: ? 对数据转化的描述。 ? 在重构过程中,潜在问题的警告可能会发生。 根据影响分析报告,你能够决定是否继续重构。 重构或转变程序:当准备在目标模型中进行重构时,要建立重构程序并执行他们。重构程序在目标模式数据库中建立了一个新的数据库,并把数据移到里面。这个进程经常引用为数据库的重构,由GeneXus自动生成。 1.在模式工具条中的下拉菜单中选择Protype。

2.将会提示影响分析。单击Ok。

第 46 页 共 77 页

Figure 60 Impact Analysis

dialog box

3.影响分析报告描述了,原型模式数据库匹配设计模型中现有数据模型的变化。

Figure 61 Impact

4.点击影响分析Analysis Report

报告的Regonize按钮,生成重构程序。

5.当重构程序准备运行时,将会显示是否执行。点击Yes。

6.重构程序将会告诉你需要重构原型模型的数据库。点击

Execute(重构)。第 47 页 共 77 页

Figure 63 GeneXus Reorganization

dialog box

7.当“Reorganization completed”的对话框出现在重构窗体中时,点击

现在原型模型中的数据库同定义模型中的数据模型相匹配了。

第二十一步:重新生成应用程序

第 48 页 共 77 页

Close。

一旦原型模型数据库筒设计模型数据库同步,将会重新生成原型模型的应用程序。要看更多信息,可以看Automatic Code Generation。

生成你的应用程序:

1.在Build菜单上,点击Specify或者按SHIFT+F8将出现选择对象对话框。

2.选择Modified After Specification选项,会显示最后一次格式化后已经改变的对象。

Figure 65 Select Object to Specify dialog box

3.点击OK。

4.在具体化对象表格中,选择Check specification选项,点击OK。

第 49 页 共 77 页

Figure 66 Object specification dialog box

5.在标准化报表结果中,点击Generate生成同产品事务相关联的程序。注意GeneXus已经自动增加了格式化和生成的选择列表对象。这些程序将会在原型(或生产)模型中自动生成。

Figure 67 Specification Report

现在你的应用程序已经可以准备编译和运行了。

第 50 页 共 77 页

本文来源:https://www.bwwdw.com/article/gm7o.html

Top