COTS应用程序开发框架简介(二)

原创 2006年06月15日 12:17:00

COTS应用程序开发简介

 

应用程序设计完成后,相应的数据层结构、业务组件和大致地展现逻辑都已经被确定。

应用程序开始开发前可先拷贝框架提供的一个Web Application的模板到应用服务器的部署目录下。然后进行下面将要介绍的三个步骤,其中数据层的建立是基础,完成后,可并行进行业务逻辑和JSP的开发,因为这两者没有直接的联系。

为方便理解和阐述,在下文中我们假设Apache Tomcat5.5web服务器,Web ApplicationContext Path/WebApp,并且所有的操作都是在本地(应用服务器所在的机器)进行。

 

数据层开发

首先根据设计阶段完成的ER图编写SQL脚本,并执行这些SQL脚本,建立所有的数据库。

然后配置blcontext-local.xml文件,对每个数据库(新建立的数据库,或者已经存在但本应用程序需要访问的数据库)配置一个DAO组件(该配置可以时JDBC配置,也可以是DataSource配置),并给每个DAO起一个有明确意义的名字。一个配置的例子如下:

    <daos>

          <dao>

               <!--name of the DAO object-->

               <name>core</name>

 

 

               <!--JDBC configuration below-->

               <!--database type, one of the oracle, sql, mysql-->

               <dbType>oracle</dbType>

 

 

               <!--<dbUser>cotsadmin</dbUser>

               <dbPassword>ZagHnJ82</dbPassword>

               <dbURL>jdbc:oracle:thin:@127.0.0.1:1521:gldnsky</dbURL>

               <driver>oracle.jdbc.driver.OracleDriver</driver>

               <dbConnections>10</dbConnections>-->

 

 

               <!--data source configuration below-->

                        <datasource xa="fasle" overrideUser="false">java:comp/env/jdbc/gldnskyJNDI</datasource>

          </dao>

     </daos>

然后启动应用服务器。打入如下URL:http://locahhost:8080/WebApp/jsp/sys/listDAOs.  我们可以看到配置的三个DAO的名字:

假设选择test后:


 

选择“创建表的系统信息”,系统将根据每个表结构的在数据字典中创建系统信息部分。创建完毕之后,选择设置表的自定义信息,出现下面的界面:


更新Test1表的自定义信息:字段的中文名,显示方式,显示顺序,是否是主键,字段的来源,引用表的名称,引用表中的字段名,系统会根据这些信息自动生成JSP代码。

最后向业务数据字典中插入两条记录,分别是,(“Test1”,”gender”,”f”,””),和(“Test1”,”gender”,”m”,””)

除可以通过COTS的开发工具来生成表信息数据词典外,还可通过应用程序com.dream.bizsdk.common.util.DataDictToolW来完成。通过命令行运行java com.dream.bizsdk.common.util.DataDictToolW,出现如下界面:

 

在输入框中输入正确的数据库用户名,密码和DBURL,点击Connect在左侧文本域中将会列出数据库下所有的数据表名,如下界面


如果没有创建过数据字典,点击Build开始自动创建过程。如果以前创建过数据字典可以点击Update按钮完成更新。点击Clear将会清空数据字典。

业务层开发

业务组件都必须直接或间接从AbstractBLC继承。COTS还提供了另外一个基类DBBLC,业务组件如果从此类继承,则将自动继承了访问数据库的功能。业务组件可以自由的调用包括DAO在内的基础组件的方法。一个简单的例子如下:

package org.redtroy.test;

 

import java.sql.SQLException;

 

import com.dream.bizsdk.common.blc.AbstractBLC;

import com.dream.bizsdk.common.databus.BizData;

public class Test extends AbstractBLC {

       public int doTest(BizData rd,BizData sd){

              String hello=rd.getString("hello");

              sd.add("hello",hello);

              try{

              int rows=coreDAO.executeQuery("select * from test","tests",rd);

              //System.out.println(rows);

              }catch(SQLException sqle){

                     sqle.printStackTrace();

              }

              return 1;

       }

}

展现层开发

       展现层除了可以调用数据对象的getter方法外,还可以调用数据字典的两个方法:DataDict.getFieldLength(String tableName,String colName),这样JSP页面中可以跟数据字典同步,当数据字典中某个字段的长度发生变化时,无需修改页面;另外一个方法是:DataDict.getCSSClass(String tableName,String colName);这个决定一个字段的类型是否是必填项和类型等相关信息。

请求配置

客户请求的名称一般情况下对应着一个formaction(不包含URL匹配的字符串,例如*.doactionCOTS框架来处理,则在配置请求时,请求的名称不包含”.do”),当客户端请求这个action时,COTS框架会根据这个客户请求的配置,决定调用什么样的业务逻辑和视图。

/WEB-INF/requests/*-reqs.xml中进行客户请求的配置,该请求将业务逻辑-视图连接在一起。请求配置好后,重新启动应用服务器,开发就完成了。

下面以一个最基本的实例来说明这个问题,客户请求的名称getCurrentRate的配置如下:

       <request>

              <name>getCurrentRate</name>

              <model name=”com.mm.Exchange.getCurrentRate”>

              <dispatch url=”” type=”forward”/>

       </request>

在一个form中以如下形式发出这个请求:

              <form action=”getCurrentRate.do” method=”post”>

                     <input type=”text” name=”moneyTypeID”>

                     ……

              </form>

那么这个form在提交的时候,由于其action以“.do”结尾,因此被匹配到COTS框架的控制器,控制器将以”.do”前面的部分,也就是getCurrentRate作为客户请求的名字,并在请求配置文件中查找这个请求的信息,然后进行相应的处理。

COTS应用程序开发框架简介(一)

COTS应用程序框架简介 J2EE以其成熟的架构、优秀的跨平台特性和稳定的性能表现等正逐渐成为企业应用的首选技术体系。但是由于多种因素,开发J2EE程序是一个相对较复杂的过程,很多基于J2EE的项目最...
  • cotsframework
  • cotsframework
  • 2006年06月13日 11:43
  • 3142

COTS应用程序开发框架简介(四)

多个基于COTS的应用程序间的交互基于COTS的应用程序结构基于COTS的应用程序包含下面几个组成部分:ü          一组展现逻辑(JSP文件);ü          一个BLContext实...
  • cotsframework
  • cotsframework
  • 2006年06月23日 13:29
  • 683

COTS应用程序开发框架简介(三)

COTS应用程序部署和安装 应用程序包结构一个应用开发完成后打成一个ear包,如果是单纯的web应用,则只需打成一个或者多个war包即可。每个war包下面/WEB-INF/sqlscripts,存放应...
  • cotsframework
  • cotsframework
  • 2006年06月23日 13:01
  • 734

COTS应用程序开发框架简介(五)

应用调用COTS应用的逻辑进程内调用进程内调用需要非COTS应用程序知道COTS应用程序的配置文件所在路径。假设非COST应用的方法为A,则A中会有类似下面的代码:......BLContext co...
  • cotsframework
  • cotsframework
  • 2006年06月23日 13:31
  • 639

一个简单的win32程序开发框架—win-dev-framework

win-dev-framework是一个windows程序开发框架,基于C语言和mingw工具链。  win-dev-framework是一款开源、免费软件。 win-dev-framework...
  • crazycoder8848
  • crazycoder8848
  • 2014年03月29日 18:25
  • 1480

cots 常见问题解答

1. 如何手动更改板子类型和槽位号?              需要更改虚拟机的appl.xml的appid和type,以及/etc/rc.local的tipc-config -addr。   ...
  • u011851539
  • u011851539
  • 2015年11月12日 09:44
  • 217

jeesite快速开发平台(一)----简介

以下内容来自官网: 一、平台简介 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。 JeeSite是您快速完成项目的最佳基础平...
  • u011781521
  • u011781521
  • 2017年02月05日 11:45
  • 6310

ASP.NET Web开发框架之一 功能导航

功能导航主要解决如何布局功能,把功能如何合理的布置到页面中。现在流行的一种方案是左右结构的导航,左边树状的菜单,右边显示明细功能。实现出来的效果图如下所示 同版本的C/S程序的界面,也是以同样的...
  • u014322855
  • u014322855
  • 2014年04月08日 19:02
  • 334

BitBlaze:一种通过二进制代码分析实现计算机安全的全新方法(一)

BitBlaze:一种通过二进制代码分析实现计算机安全的全新方法 Dawn Song,David Brumley,Heng Yin,Juan Caballero,Ivan Jager, Min G...
  • kingzone_2008
  • kingzone_2008
  • 2013年04月19日 23:04
  • 4010

Unify:智能手机应用程序开发框架

该软件利用最新的Web开发技术,例如HTML5,CSS3和JavaScript等等,但是Unity绕过传统浏览器的限制,可以方便的访问硬件 设备的功能,例如检测当前的地理位置,访问文件系统等等。从终端...
  • u014710095
  • u014710095
  • 2014年04月14日 16:46
  • 256
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:COTS应用程序开发框架简介(二)
举报原因:
原因补充:

(最多只允许输入30个字)