当前位置:Linux教程 - Linux - 让ASP应用系统成为跨平台的应用系统

让ASP应用系统成为跨平台的应用系统

  自从MS推出ASP技术后,由于ASP在创建动态交互式站点上的强大功能及其代码编写的简便性,使ASP在很多Internet/Intranet/Extranet网站上得到了极其广泛的应用,尤其是涉及到数据库操作的网站应用系统更是倾向于采用ASP技术。但由于众所周知的原因,ASP只能工作于MS自己的操作系统平台和服务器软件之下,即只能在WindowsNT+IIS系列或Windows9X+PWS系列中使用,因而就决定了ASP应用的局限性。据有关资料显示,采用Windows操作系统平台和服务器软件的网站在15%左右,也就是说有将近85%的网站将不能采用ASP技术。实际上,很多网站采用的是Unix、Linux、Soris和Netware等操作系统及相应的服务器,这说明ASP技术在应用上确实有很大的限制。

  最近,一家名为“Halcycon”的软件公司,不仅看到了ASP应用系统的优势和局限性,而且提出了“ASP Anytime, Anywhere”的口号,并开发了一个称为iASP(Instant ASP)的ASP脚本解释引擎软件, 使ASP不仅可以在采用Windows操作系统平台和服务器软件的网站上使用,还可以在采用其它操作系统如Unix、Linux、Soris、Netware操作系统及相应服务器的网站上使用。iASP全面继承了ASP的优势,并与ASP完全兼容,因而ASP应用系统几乎可以直接移植到非Windows操作系统平台下的iASP环境中运行,使得ASP应用系统真正成为了一种跨平台的Internet、Intranet或Extranet应用系统。

  iASP与ASP相比,不仅在支持操作系统平台上具有优势,在使用第三方组件构建ASP应用系统上同样具有明显的优势。iASP不仅支持流行的ActiveX组件,同样支持流行的Enterprise Java Beans组件和CORBA 兼容组件,从而使用ASP应用系统功能更为强大,应用更为广泛。除了MS Visual系列开发工具和Borland 系列开发工具外,还可以用Java系列开发工具,让组件开发人员有更多的选择从而可以更为得心应手地开发有关组件。

  iASP有两种版本,一种适用于Windows操作系统平台和服务器软件,另一种适用于Unix、Linux、Soris、Netware操作系统及相应服务器软件。iASP目前的版本为1.0,其开发版本可以在“Halcycon”的软件公司网站上免费下载,其功能与正式版本相比基本相同,区别在于开发版本只支持两个并发连接,因而只能用于ASP学习和开发或用在比较小的Intranet局域网系统中,想在网络特别Unix、Linux局域网络中使用ASP的网络开发人员不妨去下载一个试用一下,文件大小有6M多。

  下面是笔者在搭建iASP开发环境时安装与配置iASP软件的一些经验,希望给初用者做个参考,从而少走弯路,多做些有意义的工作。 一、iASP软件环境要求 iASP软件是用JAVA程序语言编制而成的,需要JDK1.1.X或以上版本的支持,因而需要服务器系统上预先安装JDK1.1.X或以上版本。Linux平台下的JDK1.1.X可以在 http://xfer.nitric.com/pub/java-linux/ 下载,基于Windows9X/NT平台的JDK1.1.X的下载地址为 ftp://202.103.111.173/Download/DEVELOP/JAVA/jdk1_1_1-win32-x86.exe 。 二、iASP安装程序支持的系统平台和服务器软件iASP软件是用JAVA程序语言编制而成的,原则上可运行在所有JAVA平台上。iASP可自动配置服务器软件,使之能使用iASP解释引擎解释ASP页面;iASP可以使用Halcycon软件公司开发的iASP Servlet接口与服务器进行连接和通信,也可以使用其它Servlet接口与服务器进行连接和通信。下面是Halcycon软件公司的工程技术人员已证实支持较好的系统平台和服务器软件的列表。

(一)Sun Solaris Sparc系统平台 1、Apache服务器软件 iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件 iASP可对FT3.0.X、EP3.5.X、EP3.6.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
3、Sun Web Server2.1服务器软件 iASP可对Sun Web Server2.1服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过服务器软件的Servlet接口与之连接和通信。
4、Zeus服务器软件 iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和Apache JServ Servlet接口与之连接和通信。

(二)Sun Solaris Intel系统平台 1、Apache服务器软件 iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Sun Web Server2.1服务器软件 iASP可对Sun Web Server2.1服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过服务器软件的Servlet接口与之连接和通信。
3、Zeus服务器软件 iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和Apache JServ Servlet接口与之连接和通信。

(三)Novell
Netware系统平台 Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件iASP可对FT3.0.X、EP3.5.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Novell Servlet Gateway接口与之连接和通信。

(四)SCO Unixware系统平台
1、Apache服务器软件 iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件 iASP可对FT2.0.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。

(五)Linux Intel系统平台
1、Apache服务器软件 iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Zeus服务器软件 iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和Apache JServ Servlet接口与之连接和通信。

(六)Windows9X/NT系统平台
1、Apache服务器软件 iASP可对Apache服务器软件的1.3.0、1.3.1、1.3.2、1.3.3、1.3.4、1.3.6六个版本进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件 iASP可对FT3.0.X、EP3.0.X、EP3.6.X进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
3、Internet Information Server服务器软件 iASP可对Internet Information Server服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。
4、Lotus Domino服务器软件 iASP可对Lotus Domino服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Lotus Domino服务器软件自有的Servlet接口与之连接和通信。
5、Java Web Server服务器软件 iASP可对Java Web Server服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Java Web Server服务器软件自有的Servlet接口与之连接和通信。

(七)HPUX系统平台 Zeus服务器软件 iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和Apache JServ Servlet接口与之连接和通信。

(八)SGI系统平台
Zeus服务器软件 iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和Apache JServ Servlet接口与之连接和通信。

三、用iASP构建ASP应用系统环境
假设系统中已经正常安装和配置了TCP/IP等网络协议。 下面以RedHat Linux 5.1和Apache 1.3.3服务器软件为例,讨论如何安装和配置iASP,以建立一个ASP开发和应用环境。

(一)安装Apache 1.3.3服务器软件
1、卸载Apache 1.2.6服务器软件 如果当前使用的是RedHat Linux 5.1自带的Apache服务器软件,则其版本号为1.2.6-4(用命令httpd -v可以查看Apache服务器软件的版本号),不在iASP自动配置程序支持的服务器范围之内,因而需要将其卸载,以便重新安装Apache 1.3.X服务器软件。 在“控制面板”的Package Management(包管理)中打开Network(网络)中的Daemons(服务程序),选择“apache1.2.6-4”,单击Uninstall(卸载)可将其卸载。
2、安装Apache 1.3.3服务器软件
如果手头没有Apache 1.3.X服务器软件,可以到 http://apache.nextpath.com/dist/apache_1.3.6.tar.gz 下载一个。 笔者手头有一个Xteam Linux 1.0的光盘,其中有Apache 1.3.3服务器软件的发行版本, 位于光盘的xteampack目录下,文件名称为apache-1.3.3-1.i386.rpm。用命令rpm -i /mnt/cdrom/xteam/pack/ apache-1.3.3-1.i386.rpm 可完成安装。
3、启动Apache 1.3.3服务器软件 可以用命令httpd来启动Apache 1.3.3服务器软件。启动Apache 1.3.3服务器软件后可以 用Netscape Communicator浏览器以http://YourComputerName的方式如http://localhost来
访问Apache 1.3.3服务器软件提供的WWW服务。默认的页面为index.html,通常位于“/home/httpd/html”目录中(该目录是Apache的WEB发布目录,相当于IIS或PWS系统中的c:inetpubwwwroot),页面的主题为“It Worked”,表明Apache已能正常工作,可以进行iASP的配置工作了。

(二)安装JDK1.1.X iASP的运行要依赖JDK1.1.X或以上版本,要求系统中必须安装JDK。
1、确定C运行库的类型 Liunx/Unix版本的JDK一般有libc5和glibc两个版本,以适应不同Liunx/Unix系统中的C运行库版本。用命令“ls -l /lib/libc.so.*”可以列出C运行库文件,若“*”处的字符为“5”
则表示C运行库类型为libc5,为“6”则表示C运行库类型为glibc。笔者所用的RedHat Linux 5.1的C运行库类型为glibc。
2、安装JDK1.1.X 笔者在 http://xfer.nitric.com/pub/java-linux/ 处下载JDK1.1.7的glibc版本,并将其改名jdk117.gz。将jdk117.gz复制到/usr/local目录下,进入/usr/local目录,用“tar -xvzf jdk117.gz”命令将文件解压即完成JDK1.1.7的安装,安装目录为/usr/local/jdk117_v1a。

(三)安装iASP 笔者在 http://www.halcyonsoft.com/asp/iasp_fcs.tar.gz 处下载了Linux/Unix版本的iASP,并改名为iasp_lnx.gz,并复制到/usr/local。 用命令“tar -xvzf iasp_lnx.gz”将文件解压,可产生install.sh和iasp.tar两个文件。进入/usr/local目录,运行./install.sh,按照安装程序提示完成iASP的安装。
   在安装过程中,需要指定JDK的BIN目录(/usr/local/jdk117_v1a/bin)和iASP安装目录(/usr/local)。在安装过程完成后,会选择是否开始对Web服务器进行配置,配置过程在下面讨论,选择“N”结束安装。此时iASP被安装在目录/usr/local/iasp下,有五个文件的作用值得注意。
connector.sh:启动iASP自动配置向导
start-server.sh:启动iASP代理服务器
stop-server.sh:关闭iASP代理服务器
start-admin.sh :启动iASP远程管理服务器
stop-admin.sh :关闭iASP远程管理服务器

(四)配置iASP
1、关闭Web服务器,在进行iASP配置前,应首先关闭Web服务器软件。可以用任何方式关闭Apache
1.3.3服务器软件。
2、配置iASP,iASP配置向导程序可为Apache服务器软件、Netscape Enterprise服务器软件、Internet Information Service服务器软件进行自动配置,而Zeus、Sun Web Server服务器软件则不需要 配置。 在/usr/local/iasp下,运行./connector.sh启动iASP配置向导程序。选择“Y”开始配置;
选择服务器软件及版本号(8:Apache 1.3.3)、Apache配置文件httpd.conf所在目录(/etc/httpd/conf),其它可保持不变(按回车键采用默认设置)。在提示是否进行另一个服务器的配置时,选择“N”,完成配置。

(四)、测试iASP
1、启动iASP服务器,iASP服务器是一个Connector Proxy代理服务器软件,用于与服务器软件进行通信。 进入XWindows,打开一个nxterm窗口,在目录/usr/local/iasp下运行./start-server.sh,启动iASP Connector Proxy代理服务器程序。
2、测试iASP,启动Apache 1.3.3服务器软件。将一个ASP页面文件拷到Apache页面发布目录“/home/httpd/
html”目录中,并用Netscape Communicator浏览器进行访问,如可用“http://localhost/test.asp”访问ASP文件test.asp,其内容如下: Test iASP <% Response.Write ""

Congradulations!
Instant ASP has worked for you!

""%>

  至此,Apache 1.3.3服务器软件已经可以用iASP解释引擎解释和执行ASP页面了。现在该你来自由发挥
聪明才智了。另外,开发研制国内第一个中文版Linux--Xteam Linux1.0的形天海公司宣布,他们即将发布ADO引擎 的linux版本,可以使在Windows9X/NT上开发的ASP应用系统可直接运行于Linux平台,有兴趣的网络应用程序开发人员可以到形天海公司站点(http://www.xteam.com.cn)去了解其产品的动态,也让我们为国内软 件开发公司加油和喝彩。

(作者:深圳 王发军 [email protected] http://wangfajun.163.net/)

讨论:

----------------------------------------------------------------------

Thank you very much!

I have try it,It is really a great product,it works fine on Linux/Apache,
Be surprised,it can connect to MS-ACCESS with iASP''s ADO.
Microsoft''s ASP can''t support MYSQL ,but iASP can do it.

----------------------------------------------------------------------
I have wrote a special component with Visual Basic,but How can I use the component on Linux with Java application.

please help me.

----------------------------------------------------------------------
Pls try Halcyonsoft''s RJAX ( Remote Java ActiveX ) product.

WeiF

View online help documents http://www.halcyonsoft.com/prods/r_jax/r_jax.htm

Halcyon Remote Java ActiveX Server (R-JAX) links Microsoft ActiveX, DLL,
and COM to any Java application running remotely or locally on any Java-enabled
platform (Windows or non-Windows).

R-JAX runs in a Windows environment and allows Java programs to connect to Windows
COM objects and DLLs located on remote or local servers, manipulate the available
methods and properties, and get results back. R-JAX is the simplest solution for
connecting Java and COM/DLL components --- no ORB/IIOP required. R-JAX enables
developers to write platform-independent Java applications that run anywhere.

Thousands of corporations have significant investments in Windows-based component
technology. ActiveX, COM, and native DLL deployment includes components ranging
from simple GUI controls all the way to complex multi-tier business application
logic.

While Java抯 ""run-anywhere"" promise is attractive, abandoning the existing native
code-base and rewriting the existing components is an expensive and formidable
task. R-JAX lets developers take advantage of Java technology while leveraging
their existing code base. R-JAX serves as a bridge between the two technologies.

----------------------------------------------------------------------
i need freeware
php is a freeware
so i use php

----------------------------------------------------------------------

iASP also is a Freeware, You can download it at http://www.halcyonsoft.com

regards,
WeiF

----------------------------------------------------------------------
How to auto load iasp at system start ?
----------------------------------------------------------------------

You must login to unix at first before you auto run a application. So, you can''t
auto run a application when the system start.
You can try vi ect/profile to auto load iasp after you login unix.
BTW,
In my mind, your DB server is MySQL DB, How about ''inner join ... on'' problem in your MySQL DB.
I try Connect MySQL DB in RH + iASP + twz1JDBC dirver and it''s run fine.

----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: weif
Posted on: 12/24/99 12:03 PM

vi /etc/rc.d/rc.local

#!/bin/sh
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don''t
# want to do the full Sys V style init stuff.

if [ -f /etc/redhat-release ]; then
R=$(cat /etc/redhat-release)
arch=$(uname -m)

a=""a""
case ""_$arch"" in
_a*) a=""an"";;
_i*) a=""an"";;
esac

# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
echo """" > /etc/issue
echo ""$R"" >> /etc/issue
echo ""Kernel $(uname -r) on $a $(uname -m)"" >> /etc/issue
cp -f /etc/issue /etc/issue.net
echo >> /etc/issue

fi

. /iasp/start-server.sh


Try it, you can start iASP server before you login .

----------------------------------------------------------------------
----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: raywang
Posted on: 12/25/99 11:48 AM

i have installed the iasp, but the connector proxy responsed ""can not connect to connector proxy"" when i tried the samples provided by iasp. i have modified the default proxy port, so, would u mind tell me the default ports? is it necessary to shut down apache every time when i wanna modify the settings? and another thing i wanna mention, i used virtual hosts with different ip in apache, so does it have influnce?

----------------------------------------------------------------------
----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: weif
Posted on: 12/27/99 2:46 PM

The error is most likely due to improper deploy with iASP or don''t start iASP,
Pls show the detailed list and your iASP and Apache''s deploy and run step to me,
Maybe I can help you.

----------------------------------------------------------------------
----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: raywang
Posted on: 12/27/99 5:31 PM

Well, belows are the steps I used to implement iASP on my server.
1. Apache 1.3.6, JDK, iASP installed successfully.

2. /usr/local/iasp/./connector.sh Set ProxyServer 127.0.0.1(default), ProxyPort 90xx(default) and another port 90xx(default), and then, someone modified the ProxyPort to another port and I forgot the original default value. :(

3. /usr/local/iasp/./start-server.sh
iASP server started (then that terminal window got no response)

4. /usr/local/iasp/./stop-server.sh
Can not stop the iASP server.( or sth like this)

5. when I tried to set the ProxyPort to an exist one, and started the iASP, it responsed this at once: iASP server: Address already in used.

Now I have stopped my virtual hosts and had only one host. When I used the samples came with the iASP to test it, still got the same error message which said that it could not connect to the connector proxy.

Buddy, GIVE ME A HAND PLS!! :(

THANX A LOT!!!
----------------------------------------------------------------------
----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: weif
Posted on: 12/28/99 12:31 PM

---------->Set ProxyServer 127.0.0.1
ProxyServer = Your Host IP

----------------------------------------------------------------------
----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: raywang
Posted on: 12/28/99 1:03 PM

if i use different ip to set the virtual hosts on the same nic, which ip should i write here?

----------------------------------------------------------------------
----------------------------------------------------------------------

Subject: Re: Install iASP
Poster: weif
Posted on: 12/30/99 7:21 PM

You can option ones and sen it to iASP runtime host IP.