(石骁騑 2001年07月20日 17:55)
首先,简单地谈一下EAServer在三层结构以及WEB等分布式应用中的地位和它在其中承担什么样的角色。图1就是EAServer产品之间以及该产品包和外部之间的关系,相信大家看到这张图后就会对它有个深刻的理解。
图1 EAServer产品之间以及该产品包和外部之间的关系
一、EAServer常见问题
1. 什么是EAServer?
EAServer是Sybase 公司提出的针对电子商务应用的解决方案,它为用户提供全面的企业级Web、分布式和客户/服务器应用的解决方案,是英文Sybase Enterprise Application Server的缩写。
2. 什么是JaguarCTS和PowerDynamo?
Jaguar CTS(Component Transaction Server)和PowerDynamo是Sybase电子商务解决方案EAServer的两个主要服务器产品。Jaguar CTS是组件事务服务器,是Sybase新的适应性组件体系结构的中间层的核心产品,它面向的应用类型是多层结构下的企业级客户/服务器应用和Web OLTP应用,它是未来WEB应用发展的典型代表。Power Dynamo是将数据库与Web站点的管理统一起来的专业应用服务器产品,它的主要作用在于为创建数据驱动的Web应用提供广泛的应用服务集,提供Web服务器和数据库中间的一个解释性网关。
3. Sybase的电子商务解决方案EAServer产品和目前常见的其他产品比较。
其中应用服务器Power Dynamo相当于目前常见的Microsoft Active Server Pages (ASP)、Javasoft's Java Server Pages (JSP)以及PHP等;而组件事务服务器就相当于Microsoft的MTS。这些不同的产品各有千秋,但功能基本都是相似的。
4. EAServer最新版本是多少?
EAServer最新版本是2000年11月份推出的3.6.1版本,新版完全支持J2EE的架构,且已得到SUN授予的J2EE认证,其中包含:EJB 1.1、CORBA 2.2、Java Servlet 2.2、JSP 1.1、JTA 1.0、JDBC 2.0、JNDI 1.2、Java Mail 1.1等
5. EAServer的运行平台是什么?
目前最新的EAServer3.6版本主要是提供Windows NT和Sun Solaris平台,而EAServer 3.5版本则可在其他UNIX平台上运行,包含HP和Linux等。但在EAStudio产品家族中的PowerJ和PowerBuilder以及PowerSite等目前只有Windows运行平台。
6. EAServer支持的协议标准有那些?
- 分布式协议: IIOP、IIOPS、HTTP、HTTPS、TDS、CGI、ISAPI、NSAPI以及PowerDynamo专用协议。
- 数据库驱动: OpenClient (Native Sybase)、Native Oracle 7&8、JDBC和ODBC等。
- 组件模型: COM(DCOM)、Java/Servlet/JSP、EJB、PB NVO以及C和C++等。
7. EAServer和CORBA之间的关系?
EAServer支持CORBA架构,且CORBA在EAServer上扮演一个非常重要的角色。
8. EAServer支持那些组件类型?
- ActiveX (or COM) components
- Java-CORBA components
- Enterprise JavaBeans (EJB 1.1)
- CORBA C++ components、C components
- PowerBuilder NVO's (Sybase proprietary)
- Java Servlet 2.2
- Java ServerPages (JSP 1.1)
9. EAServer的开发工具有哪些?
Sybase提供了以下开发工具:
- PowerJ來开发Java的环境,並且它直接支持EAServer;
- PowerBuilder可以用来开发Jaugar CTS的NVO组件;
- PowerSite用来进行网页设计和制作;
- PowerDynamo用来进行完成Web server到数据库之间的解释性网关工作;
- Adaptive Server Anywhere数据库可用来对页面进行管理等等。
另一方面,也可以使用其他开发工具如VB/VC/Delphi/Jbuilder等等,只要最后将开发好的组件提交到EAServer上即可。
10. 对在安裝EAServer过程中出现的问题该如何解决?
如果在安装过程中出现错误,首先应该检查Jaguar所在目录下的bin子目录中的日志文件srv.log的相关信息;另外也可以到Sybase的新闻组forums.sybase.com中去寻找答案或是提问。
11.如何找到执行EAServer的错误信息?
检查安裝在Jaguar所在目录bin下的srv.log日志文件。
12.如何连上Jaguar Manager?
启动Jaguar Manager,选择链接Jaguar Server,在弹出的对话框中输入连接信息,确省用户名(User Name)为:jagadmin,口令(Password)为空白,主机名(Host Name)为localhost,端口号为(Port Number)为9000,即可连接到EAServer上。
12.EA Server 可运行在Windows 2000平台上吗?
EAServer 3.6可在Windows 2000平台中运行,但目前Sybase公司并未正式宣布支持Win 2000。
二、Jaguat CTS(组件引擎)问题
1.如何更改JaguarCTS server的监听器(Listener)?
启动JaguarCTS manager,并以jagadmin身份登陆Jaguar manager,鼠标点击servers展开该文件夹,然后再展开 jaguar文件夹,点击 listeners文件夹,会看到很多的listener profile (如. iiop,iiops等),用鼠标选中要更改的监听器,点击鼠标右鍵,选择listener properties,在弹出的对话框中进行修改。这里是默认jaguar服务器的监听器配置情况,如果用户自己创建了一个服务器,必须手工配置这些服务的监听器,至少要有iiop和http这两个协议的监听器。默认监听器的名字为localhost,一般要将iiop和http的监听器名称改为Jaguar CTS所在机器的名称,否则PowerBuilder、PowerSite或者Dynamo均无法找到Jaugar CTS。
2.为什么更改JaguarCTS的Jagadmin的password后机器宕机?
可能造成原因是在安装EAStudio时,选择典型安装,一般都会将PB或PJ的一个例子包-surfSideVideo也装在Jaguar server上,这个包中有一些组件类型是"service components"。解决方法如下:
启动JaguarCTS manager,并以jagadmin身份登陆jaguar manager,选择jaguar manager/servers,鼠标选择Jaguar,右鍵选择"server properties",选择"all properties"标签,找到"com.sybase.jaguar.server.service"属性,点击Modify按钮,将弹出的窗口中的文字删除,然后选择OK按钮。修改完成后,重新启动Jaguar CTS server。
3.可否將JaguarCTS安裝成NT服务? 如果已经安装成为服务,如何将服务删除?
在安裝EAStudio时,可以直接选择將JaguarCTS 安装为NT服务。如果在安装时没有选择安装为服务,也可以在安装成功以后再将其安装为服务,也可以将已经安装为NT服务的Jaguar服务卸载。方法如下:
安装Jaguar为NT服务
- 进入Dos模式;
- 将当前目录转到Jaguar cts所在目录下的bin目录;
- 运行该命令 serverstart server -install,这里的server为服务器名,它要与Jaguar CTS管理器中显示的一致。运行该命令后,即可在NT的控制面版中看到该服务名。
删除Jaguar的NT服务与安装类似,只是命令为serverstart server -remove,其中,server即是在Window NT控制面版中“服务”项目列表中所显示的名字。
4. 执行 HTML datawindow 时,系统给出 classpath没有找到(classpath not found)的信息?
这个错误在开发初期非常容易出现,主要原因是系统运行所需要的一些类路径和路径没有正确设置。确定在你的机器中有以下的classpath 及 path 的环境设定。这里假设Sybase是安装在c:/program files/sybase目录,EAServer为3.6版本。
CLASSPATH C:/Program Files/Sybase/Shared/Sun/jdk118/lib/classes.zip; C:/Program Files/Sybase/Jaguar CTS 3.5/html/classes; C:/Program Files/Sybase/Jaguar CTS 3.5/java/classes; C:/Program Files/Sybase/Shared/PowerBuilder/classes.zip;. PATH |
5. 如何将 Jaguar CTS及PowerDynamo 安装在不同的机器上?
在将 Jaguar CTS及PowerDynamo 安装在不同的机器上时,需要注意以下几点(这里%jaguar% 表示jaguar的主目录):
- 将%jaguar%/html/classes下的所有东西拷贝到PowerDynamo所在的机器上,并将classPath及path指定到该目录;
- 更改jaguar server上的监听器配置,目的是让jaguar server 能够接受从远端的PowerDynamo 來的服务请求。如何设置在前面已经讲到,这里不在重复。
6. Jaguar manager如何控制远端的JaguarCTS?
首先配置需要被控制Jaguar CTS的监听器,将iiop监听器属性改为机器名,重新启动Jaguar CTS server。然后在要控制的机器上启动 Jaguar manager,在登陆时在host name中输入要控制的iiop监听器的名字即可。
7. 什么是Connection caches,如何使用?
在Client/Server结构中,对数据库的每一次存取都会产生一个连接,存取结束后再释放这个连接。在Jaguar CTS组件事务服务器中为了克服在Client/Server中的这个问题,引入了Connection Caches的机制。一般,前端应用程序请求Jaugar CTS中的组件来执行一些逻辑处理,但在同时间内,每个前端程序都未必同时需要连到数据库,因此JaguarCTS建立了一个存放连接数据库的缓冲池,当组件需要使用数据库连接时,JaguarCTS会顺序地从pool中取出,当不再需要时再放回至pool中,这在实际情况下,可以让很多的前端应用共享几个数据库连接,提高了响应性能。
8.在Jaguar CTS中建立connection cache时,为何在server name中輸入ip地址建立的连接缓冲是无效的?
无效是正常的。在Jaguar CTS中建立一个connection cache时,servername含义如下:
- ODBC 模式,应填入ODBC的DSN (data source name)而非远端主机的IP地址;
- JDBC/ODBC 模式,应该填入jdbc:odbc:EAS Demo DB V3;
- JConnect 模式,应该填入jdbc:sybase:Tds:210.242.176.79:2638;
- OCI模式,应该填入Oracle的TNS names。
9. CTS中组件的生命周期是怎样的?
NewInstance → Activation → Invoke Method → Invocation Complete → Deactivation → Destruction等。
10. 交易的管理有哪些?
主要有:2-phase commit、DTC(Microsoft)、JTS(Java)和XA(Mainframe)。
11. JaguarCTS在Linux的现状如何?
目前JaguarCTS在Linux操作系统上的版本为3.5 beta版(2000 Apr),它只能在具有Native threads和需要BlackDown JDK上执行。
三、PowerDynamo(页面引擎)问题
1. PowerDynamo与Web server和数据库之间是如何协同工作的?
在Web Server设定与PowerDynamo的连接后,PowerDynamo直接使用URL的格式, Web Server就会将前端页面的请求指向PowerDynamo。与后台数据库部分,即可利用 PowerDynamo的模版向导与connection的设定连接到数据库,这样可以使用内嵌的SQL语句(embed- SQL),在Server端执行后,经过ISAPI、NSAPI或 CGI等方式经由Web Server送回前端,也可首先PowerDynamop连接Jaguar CTS组件,由组件连接数据库。
2. PowerDynamo能支持那些Web Server?
PowerDynamo可以支持Personal Web Server、IIS、Netscape、Apache等各种Web Server。
3. 在浏览器中如果直接输入URL为目录名称,则browser会显示WebSite的所有目录结构,该如何避免?
改变PowerDynamo Web Site站点中system 目录下的 contview.ssc文件,即可避免上述结果。可以将该文件删除,也可以修改该文件内部结构,如下面的程序会将当前目录下的的index.stm传回给用户。
<--SCRIPT curDoc = document.location; document.redirect = curDoc + "/index.stm"; --> |
然后在每一目录下建立 index.stm文件。躲让,可以根据不同情况修改 contview.ssc文件以符合自己工作的需要。
最后,几乎所有人都会有这样一个问题,从上面这些介绍看,EAServer在企业级Web、分布式和客户/服务器应用方面表现出了强大的功能,那么目前该产品的成功案例是什么呢?据Sybase媒体介绍,EAServer最风光的时候是1998年的法国世界杯,这是他们提供的一组数字,相信你会做出正确判断的。从1998年6月12到7月12日,共有114亿次页面点击;点击最多的一天是1998年6月30日,共有7千3百万次;点击最多的一小时是1998年6月29日,共有1千万次;点击最多的一分钟是1998年6月29日,共有235,356次。国内比较成功的案例较少,目前本人正在参与开发的宁波国税税收监控系统应该是一个比较成功的案例,还有一些其他成功案例,大家可以到Sybase网站上去看。Sybase EAServer 3.6 常见问题解答
(石骁騑 2001年07月20日 17:55)
首先,简单地谈一下EAServer在三层结构以及WEB等分布式应用中的地位和它在其中承担什么样的角色。图1就是EAServer产品之间以及该产品包和外部之间的关系,相信大家看到这张图后就会对它有个深刻的理解。
图1 EAServer产品之间以及该产品包和外部之间的关系
一、EAServer常见问题
1. 什么是EAServer?
EAServer是Sybase 公司提出的针对电子商务应用的解决方案,它为用户提供全面的企业级Web、分布式和客户/服务器应用的解决方案,是英文Sybase Enterprise Application Server的缩写。
2. 什么是JaguarCTS和PowerDynamo?
Jaguar CTS(Component Transaction Server)和PowerDynamo是Sybase电子商务解决方案EAServer的两个主要服务器产品。Jaguar CTS是组件事务服务器,是Sybase新的适应性组件体系结构的中间层的核心产品,它面向的应用类型是多层结构下的企业级客户/服务器应用和Web OLTP应用,它是未来WEB应用发展的典型代表。Power Dynamo是将数据库与Web站点的管理统一起来的专业应用服务器产品,它的主要作用在于为创建数据驱动的Web应用提供广泛的应用服务集,提供Web服务器和数据库中间的一个解释性网关。
3. Sybase的电子商务解决方案EAServer产品和目前常见的其他产品比较。
其中应用服务器Power Dynamo相当于目前常见的Microsoft Active Server Pages (ASP)、Javasoft's Java Server Pages (JSP)以及PHP等;而组件事务服务器就相当于Microsoft的MTS。这些不同的产品各有千秋,但功能基本都是相似的。
4. EAServer最新版本是多少?
EAServer最新版本是2000年11月份推出的3.6.1版本,新版完全支持J2EE的架构,且已得到SUN授予的J2EE认证,其中包含:EJB 1.1、CORBA 2.2、Java Servlet 2.2、JSP 1.1、JTA 1.0、JDBC 2.0、JNDI 1.2、Java Mail 1.1等
5. EAServer的运行平台是什么?
目前最新的EAServer3.6版本主要是提供Windows NT和Sun Solaris平台,而EAServer 3.5版本则可在其他UNIX平台上运行,包含HP和Linux等。但在EAStudio产品家族中的PowerJ和PowerBuilder以及PowerSite等目前只有Windows运行平台。
6. EAServer支持的协议标准有那些?
- 分布式协议: IIOP、IIOPS、HTTP、HTTPS、TDS、CGI、ISAPI、NSAPI以及PowerDynamo专用协议。
- 数据库驱动: OpenClient (Native Sybase)、Native Oracle 7&8、JDBC和ODBC等。
- 组件模型: COM(DCOM)、Java/Servlet/JSP、EJB、PB NVO以及C和C++等。
7. EAServer和CORBA之间的关系?
EAServer支持CORBA架构,且CORBA在EAServer上扮演一个非常重要的角色。
8. EAServer支持那些组件类型?
- ActiveX (or COM) components
- Java-CORBA components
- Enterprise JavaBeans (EJB 1.1)
- CORBA C++ components、C components
- PowerBuilder NVO's (Sybase proprietary)
- Java Servlet 2.2
- Java ServerPages (JSP 1.1)
9. EAServer的开发工具有哪些?
Sybase提供了以下开发工具:
- PowerJ來开发Java的环境,並且它直接支持EAServer;
- PowerBuilder可以用来开发Jaugar CTS的NVO组件;
- PowerSite用来进行网页设计和制作;
- PowerDynamo用来进行完成Web server到数据库之间的解释性网关工作;
- Adaptive Server Anywhere数据库可用来对页面进行管理等等。
另一方面,也可以使用其他开发工具如VB/VC/Delphi/Jbuilder等等,只要最后将开发好的组件提交到EAServer上即可。
10. 对在安裝EAServer过程中出现的问题该如何解决?
如果在安装过程中出现错误,首先应该检查Jaguar所在目录下的bin子目录中的日志文件srv.log的相关信息;另外也可以到Sybase的新闻组forums.sybase.com中去寻找答案或是提问。
11.如何找到执行EAServer的错误信息?
检查安裝在Jaguar所在目录bin下的srv.log日志文件。
12.如何连上Jaguar Manager?
启动Jaguar Manager,选择链接Jaguar Server,在弹出的对话框中输入连接信息,确省用户名(User Name)为:jagadmin,口令(Password)为空白,主机名(Host Name)为localhost,端口号为(Port Number)为9000,即可连接到EAServer上。
12.EA Server 可运行在Windows 2000平台上吗?
EAServer 3.6可在Windows 2000平台中运行,但目前Sybase公司并未正式宣布支持Win 2000。
二、Jaguat CTS(组件引擎)问题
1.如何更改JaguarCTS server的监听器(Listener)?
启动JaguarCTS manager,并以jagadmin身份登陆Jaguar manager,鼠标点击servers展开该文件夹,然后再展开 jaguar文件夹,点击 listeners文件夹,会看到很多的listener profile (如. iiop,iiops等),用鼠标选中要更改的监听器,点击鼠标右鍵,选择listener properties,在弹出的对话框中进行修改。这里是默认jaguar服务器的监听器配置情况,如果用户自己创建了一个服务器,必须手工配置这些服务的监听器,至少要有iiop和http这两个协议的监听器。默认监听器的名字为localhost,一般要将iiop和http的监听器名称改为Jaguar CTS所在机器的名称,否则PowerBuilder、PowerSite或者Dynamo均无法找到Jaugar CTS。
2.为什么更改JaguarCTS的Jagadmin的password后机器宕机?
可能造成原因是在安装EAStudio时,选择典型安装,一般都会将PB或PJ的一个例子包-surfSideVideo也装在Jaguar server上,这个包中有一些组件类型是"service components"。解决方法如下:
启动JaguarCTS manager,并以jagadmin身份登陆jaguar manager,选择jaguar manager/servers,鼠标选择Jaguar,右鍵选择"server properties",选择"all properties"标签,找到"com.sybase.jaguar.server.service"属性,点击Modify按钮,将弹出的窗口中的文字删除,然后选择OK按钮。修改完成后,重新启动Jaguar CTS server。
3.可否將JaguarCTS安裝成NT服务? 如果已经安装成为服务,如何将服务删除?
在安裝EAStudio时,可以直接选择將JaguarCTS 安装为NT服务。如果在安装时没有选择安装为服务,也可以在安装成功以后再将其安装为服务,也可以将已经安装为NT服务的Jaguar服务卸载。方法如下:
安装Jaguar为NT服务
- 进入Dos模式;
- 将当前目录转到Jaguar cts所在目录下的bin目录;
- 运行该命令 serverstart server -install,这里的server为服务器名,它要与Jaguar CTS管理器中显示的一致。运行该命令后,即可在NT的控制面版中看到该服务名。
删除Jaguar的NT服务与安装类似,只是命令为serverstart server -remove,其中,server即是在Window NT控制面版中“服务”项目列表中所显示的名字。
4. 执行 HTML datawindow 时,系统给出 classpath没有找到(classpath not found)的信息?
这个错误在开发初期非常容易出现,主要原因是系统运行所需要的一些类路径和路径没有正确设置。确定在你的机器中有以下的classpath 及 path 的环境设定。这里假设Sybase是安装在c:/program files/sybase目录,EAServer为3.6版本。
CLASSPATH C:/Program Files/Sybase/Shared/Sun/jdk118/lib/classes.zip; C:/Program Files/Sybase/Jaguar CTS 3.5/html/classes; C:/Program Files/Sybase/Jaguar CTS 3.5/java/classes; C:/Program Files/Sybase/Shared/PowerBuilder/classes.zip;. PATH |
5. 如何将 Jaguar CTS及PowerDynamo 安装在不同的机器上?
在将 Jaguar CTS及PowerDynamo 安装在不同的机器上时,需要注意以下几点(这里%jaguar% 表示jaguar的主目录):
- 将%jaguar%/html/classes下的所有东西拷贝到PowerDynamo所在的机器上,并将classPath及path指定到该目录;
- 更改jaguar server上的监听器配置,目的是让jaguar server 能够接受从远端的PowerDynamo 來的服务请求。如何设置在前面已经讲到,这里不在重复。
6. Jaguar manager如何控制远端的JaguarCTS?
首先配置需要被控制Jaguar CTS的监听器,将iiop监听器属性改为机器名,重新启动Jaguar CTS server。然后在要控制的机器上启动 Jaguar manager,在登陆时在host name中输入要控制的iiop监听器的名字即可。
7. 什么是Connection caches,如何使用?
在Client/Server结构中,对数据库的每一次存取都会产生一个连接,存取结束后再释放这个连接。在Jaguar CTS组件事务服务器中为了克服在Client/Server中的这个问题,引入了Connection Caches的机制。一般,前端应用程序请求Jaugar CTS中的组件来执行一些逻辑处理,但在同时间内,每个前端程序都未必同时需要连到数据库,因此JaguarCTS建立了一个存放连接数据库的缓冲池,当组件需要使用数据库连接时,JaguarCTS会顺序地从pool中取出,当不再需要时再放回至pool中,这在实际情况下,可以让很多的前端应用共享几个数据库连接,提高了响应性能。
8.在Jaguar CTS中建立connection cache时,为何在server name中輸入ip地址建立的连接缓冲是无效的?
无效是正常的。在Jaguar CTS中建立一个connection cache时,servername含义如下:
- ODBC 模式,应填入ODBC的DSN (data source name)而非远端主机的IP地址;
- JDBC/ODBC 模式,应该填入jdbc:odbc:EAS Demo DB V3;
- JConnect 模式,应该填入jdbc:sybase:Tds:210.242.176.79:2638;
- OCI模式,应该填入Oracle的TNS names。
9. CTS中组件的生命周期是怎样的?
NewInstance → Activation → Invoke Method → Invocation Complete → Deactivation → Destruction等。
10. 交易的管理有哪些?
主要有:2-phase commit、DTC(Microsoft)、JTS(Java)和XA(Mainframe)。
11. JaguarCTS在Linux的现状如何?
目前JaguarCTS在Linux操作系统上的版本为3.5 beta版(2000 Apr),它只能在具有Native threads和需要BlackDown JDK上执行。
三、PowerDynamo(页面引擎)问题
1. PowerDynamo与Web server和数据库之间是如何协同工作的?
在Web Server设定与PowerDynamo的连接后,PowerDynamo直接使用URL的格式, Web Server就会将前端页面的请求指向PowerDynamo。与后台数据库部分,即可利用 PowerDynamo的模版向导与connection的设定连接到数据库,这样可以使用内嵌的SQL语句(embed- SQL),在Server端执行后,经过ISAPI、NSAPI或 CGI等方式经由Web Server送回前端,也可首先PowerDynamop连接Jaguar CTS组件,由组件连接数据库。
2. PowerDynamo能支持那些Web Server?
PowerDynamo可以支持Personal Web Server、IIS、Netscape、Apache等各种Web Server。
3. 在浏览器中如果直接输入URL为目录名称,则browser会显示WebSite的所有目录结构,该如何避免?
改变PowerDynamo Web Site站点中system 目录下的 contview.ssc文件,即可避免上述结果。可以将该文件删除,也可以修改该文件内部结构,如下面的程序会将当前目录下的的index.stm传回给用户。
<--SCRIPT curDoc = document.location; document.redirect = curDoc + "/index.stm"; --> |
然后在每一目录下建立 index.stm文件。躲让,可以根据不同情况修改 contview.ssc文件以符合自己工作的需要。
最后,几乎所有人都会有这样一个问题,从上面这些介绍看,EAServer在企业级Web、分布式和客户/服务器应用方面表现出了强大的功能,那么目前该产品的成功案例是什么呢?据Sybase媒体介绍,EAServer最风光的时候是1998年的法国世界杯,这是他们提供的一组数字,相信你会做出正确判断的。从1998年6月12到7月12日,共有114亿次页面点击;点击最多的一天是1998年6月30日,共有7千3百万次;点击最多的一小时是1998年6月29日,共有1千万次;点击最多的一分钟是1998年6月29日,共有235,356次。国内比较成功的案例较少,目前本人正在参与开发的宁波国税税收监控系统应该是一个比较成功的案例,还有一些其他成功案例,大家可以到Sybase网站上去看。