Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Enhydra入门-走进中国的Enhydra

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  当今的世界是网络的世界,网络世界正迎来第三次的Asp浪潮,藉此机会,实达集团研发中心开展了Enhydra的研究工作,在大家的共同努力下,取得了阶段性的进展,初步搭建起了在Enhydra开发平台上的网络应用服务系统。

  在气势汹涌第三次的Asp浪潮冲击中国网络世界之际,各种internet应用软件的开发工具层出不穷,比如Sun的JavaServer Pages和Microsoft的Active Server pages,BEA公司WebLogic应用服务器,IBM 的websphere.等.我们之所以冷静的选择了Enhydra,是因为它Enhydra 是一个极为流行的万维网应用程序服务器,由 Lutris Corporation 开发,它以百分百纯正 Java 写成。3月28日由Lutris技术公司首次发布了开放源代码Java应用服务器Enhydra的商业版。

  Enhydra作为一个应用服务的开发平台,是基于J2EE标准,在Java虚拟机之上建立的。Enhydra运用了已经在Java中比较成熟的面向对象的技术来设计它本身的层次结构,利用了Java强大的功能、优秀的可移植性,继承了Java精良的模块化、层次化设计思想。这种与Java的密切关系使得Enhydra自然具备了优良的可移植性、可扩展性,使其可以适应现今跨平台、多层结构的应用服务任务。

  源码开放保证了Enhydra强大的生命力和可扩展性, 这一举措将大大提高enhydra的开发速度,Lutris正在把Enhydra与Bull软件公司的企业Java Bean服务器和法国电信CORBA对象请求代理软件进行系统集成,这将使Enhydra支持无线设备。由于它的源码开放,我们可以站在巨人的肩膀上看世界,不断获得各种技术资料和帮助,才可以在两个月内取得长足的进展。

  针对internet应用服务的广阔应用前景,研究如何使用Enhydra进行应用服务的开发,并实际建立一个demo是近两个月来我们所做的工作。对于刚刚步入中国的Enhydra,在实达研发中心这块温床上逐渐开始生根,发芽。

  如何让这个可爱的水獭走向中国,是我们一直努力的目标,我们觉得下一步应该着手仔细研究它的源码,在代码级上把它的结构搞清才能进行进一步的开发。

第一部分 初探 enhydra的应用程序框架

  enhydra应用程序框架(Enhydra Application Framework)提供Web应用所应有的最底层结构,它分为三个独立的层次:表示层(The presentation layer)、商务层(The business layer)、数据层(The data layer)。以就是说,利用它,只需向框架中加入一个应用程序对象和一系列表示层、商务层、数据层对象构成有机的整体即可搭构一个应用程序对象。

  应用程序框架的具体结构是:由一个应用程序对象(Application Object,AO)管理之下的三层结构:表示层对象(Presentation Object,PO)、商务层对象(Business Object,BO)和数据层对象(Data Object,DO)。

  AO负责存储应用程序级的数据,例如:应用程序配置文件、应用程序名、记录文件、运行状态以及应用程序级的会话管理器(Session Manager)、数据库管理器(Database Manager),并且负责预处理所有对本应用程序中的PO的请求(预处理内容包括Session管理、运行状态维护等)。

  PO则是通过html表达在浏览器上的的表示层对象,实现用户的表达,输出机构,版面等功能;BO则是介于表示层和数据层之间的商务层对象,它处理商务逻辑,特殊事务处理,数学预算的事务,不包括显示和数据操作的函数;DO则是基于数据库的数据层对象,它的作用是封装执行对数据库的所有操作。

  Enhydra提供了很多应用工具,其中最常用的是XMLC(The Extensible Markup Language Compiler )和DODS (The Data Object Design Studio) 。其中XMLC是用来建立一个镜像于XML文档结构的java对象,DODS是用来建立数据模型的图形化操作工具,它把对数据库直接的操作都封装在工具包里面。还有其他工具如JBuilder 和 the Kelp Tools等。

  我们可以这样理解:应用程序框架是一个完成了多数一般性工作的抽象Java类,并且规定了我们开发具体应用时所要提供的适合处理相应应用的Java对象,并提供了相应的简便的开发工具。

第二部分 建立 enhydra的应用程序

一个DiscRack的例子

  如果熟悉了enhydra的框架结构和应用工具,可以尝试用以下方法区建立一个简单的用于cd光盘管理的例子。

  1. Newapp DiscRack

  2. 修改 DiscRack/config.mk

  加上XMLC_HTML_OPTS += -html:encoding GB2312,

  目的是解决HTML文件中的中文的显示。Enhydra调用XMLC时,默认方式为西文ISO。

  3. 用DODS设计数据库结构。将生成的所有.java文件copy到DiscRackdata中去。修改DiscRackdata中的makefile文件:在该文件中加上相应的class文件名。

  4. 建数据库。以mysql为例[windows环境下]:

  1) 打开数据库

C:>mysqld-shareware

  2) 进入sql输入环境


C:>mysql [dos]
C:>mysqlgui.exe [gui]

  3) 新建一个数据库

sql>create database dbname

  4) 使用该数据库

sql>use dbname

  5) 把dods生成的create_tables.sql中的语句逐条在sql中执行。

  6) 至此数据库建立完毕。

  5. 修改DiscRackDiscRackDiscRack.conf.in 加上数据库的配置项。


# Database Manager Configuration
-------------------------------------------------------
DatabaseManager.Databases[] = "sid1"
DatabaseManager.DefaultDatabase = "sid1"
DatabaseManager.Debug = "false"
DatabaseManager.DB.sid1.ClassType = "Standard"
DatabaseManager.DB.sid1.JdbcDriver = "org.gjt.mm.mysql.Driver" 
//数据库驱动
DatabaseManager.DB.sid1.Connection.Url=jdbc:mysql://ip:3306/dbname
DatabaseManager.DB.sid1.Connection.User = "root"
DatabaseManager.DB.sid1.Connection.Password = ""
DatabaseManager.DB.sid1.Connection.MaxPoolSize = 30
DatabaseManager.DB.sid1.Connection.AllocationTimeout = 10000
DatabaseManager.DB.sid1.Connection.Logging = false
DatabaseManager.DB.sid1.ObjectId.CacheSize = 20
DatabaseManager.DB.sid1.ObjectId.MinValue = 1000000


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Enhydra入门-一个有用的中间件--Enhydra   下一篇:Enhydra介绍

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章