🍃GWA2Java新增Cmdline命令行和JavaBean运行时模式

根据业务发展需求,我们按预期新增了GWA2 Java版本的命令行运行模式和JavaBean运行模式。这是距离 GWA2 两年前发布 Perl 版本之后的另外一个主要升级版本。


(GWA2的发展路线图)

# Use GWA2Java in cmdline and/or JavaBean

## GWA2Java cmdline

### compose GWA2 in .java files

### compile them into .class files

shell> cd ./WEB-INF/classes

shell> java com.ufqi.gwa2.Index “?mod=user”

## GWA2Java in .jsp

### compose GWA2 in .java files

### compile them into .class files

### import and use in .jsp:

#### as of a single class
<@page import=”com.ufqi.gwa2.mod.User”%><%
com.ufqi.gwa2.mod.User modUser = new com.ufqi.gwa2.mod.User();
modUser.getId();
//….
%>

#### as of a JavaBean
<jsp:useBean id=”modUser” class=”com.ufqi.gwa2.mod.User” scope=”application”>
<jsp:setProperty name=”modUser” property=”param1″ value=”value1″ />
</jsp:useBean>
<%
modUser.getId();
%>

## Why Tomcat cannot compile automatically .java files under ./WEB-INF?

## as of Caucho Resin?

在此前的 GWA2Java 架构设计下,一个没有明确答案的思考时,如果使用在 .jsp 文件中定义了太多的 classes 并且每个 classes 定义太多的 methods,会不会超过 Java 的规范定义? 即便没有超过,会不会有性能上的不足?

关于第一个问题,我们能够很容易从 Java 文档中得知,一个通常的 Java class可以允许有 65535 个 inner classes,而一个 class也允许有 65535个 methods,所以即便include再多的 class在 .jsp 文件中,也很难到达这个限制。单个 Method有 64K的限制,我们在此前的研发中也的确遇到过,分拆和提炼相应的代码即可回避。

至于第二个问题,这样的class contains inner classes 会不会有性能上的不足,暂时并没有数据支持或者不支持这一说法。

即便如此,根据我们的考虑,仍应该为开发者预留比较传统的Java Servlet的调用方法,也即将单独的class单独封装起来,使用外部类,或者useBean的方式引入 GWA2 的运行时环境,进而与普通的 inner classes一样使用。

基于这样的考虑,我们也一并研制了 GWA2Java 的cmdline命令行运行时模式,这些为GWA2Java的全功能运行时模式提供了思路,继续完善、强化还需要开发者参与并举共襄。


GWA2 cmdline 运行时举例。

GWA2PHP:

shell> cd /path/to/gwa2php
shell> php index.php “?mod=user&act=list”

GWA2Perl:

shell> cd /path/to/gwa2perl
shell> perl index.pl “?mod=user&act=list”

GWA2Java:

shell> cd /path/to/gwa2java
shell> java com.ufqi.gwa2.Index “?mod=user&act=list”


截至目前,基于 GWA2 开发的各种语言版本的软件可以如下几种方式运行:

GWA2PHP
软件以GWA2PHP开发完成后,可以寄宿在Web Server中运行,也可以cmdline命令行运行。

GWA2Perl
GWA2Perl 的软件目前支持以cmdline命令行方式运行。

GWA2Java
GWA2Java 的软件开发完成后,可以寄宿到Web Server中运行,也可以cmdline命令行模式运行。


-GWA2 是”通用网络应用架构( General Web Application Architeture )”,基于 -GWA2 可以轻便构建各种网络应用程序,
包括复杂的在线购物商城、 旅游交易平台、社群或者社交网站和新闻资讯网站等,
也包括各种企事业单位网上门户,在线交互及服务作业系统等.
还可以包括为NativeApp做服务器端支持, 甚至是WebApp的全部.
-GWA2 是为数不多的支持跨开发语言的应用框架,目前支持 -Java, -PHP, -Perl, -Aspx and -Python .

-GWA2 is a “General Web Application Architecture” and based on -GWA2 developers can easily build a variety of network applications,
including complex online shopping malls, travel trading platforms, community or social networking sites and news information sites, etc.
Also the applications include various online portals of enterprises and institutions, online interaction and service operations systems.
Moreover it contains server-side support for NativeApp, or even all of the WebApp.
-GWA2 is one of the web frameworks which provide cross-language support for -Java, -PHP, -Perl, -Aspx and -Python at present.

-GWA2 is E.A.S.Y 
Easy Along, Swift Yield
轻松启动, 快速产出.

 

This entry was posted in -GWA2, 编程技术, 计算机技术 and tagged , , , , , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注