技术开发 频道

专家访谈: Roland Barcia 谈 JMS 和 JSF 的使用

  : 我正在试图解决我的 wsadmin jacl 脚本中的问题。当创建 Application Server 时,使用 wsadmin 脚本怎样做以下工作: 1)启用 ORB Pass By Reference 选项。 2)设置 Generic JVM Args。

  在创建数据库提供者时: 1)即使在组件管理的持久别名被设置时,AuthData 别名还是没有被设置(Admin Console 的下拉菜单)为容器管理的持久。

  在部署时: 1)Resources 的 Map Resource Reference 属性 - JNDI 名称没有被正确设置。

  我正在试图寻找 wsadmin 脚本提供的参数名称。例如,我使用 SOAP_CONNECTOR_ADDRESS。它不起作用,但是 BOOTSTRAP_ADDRESS 起作用。如果在什么地方能找到这些参数的名字,那将是非常有帮助的。 (由 Nisha 提出)

  : 在 WebSphere Application Server 5.1 Information Center 中有许多 wsadmin 的例子。我写的书 IBM WebSphere: Deployment and Advanced Configuration,也有一个关于 wsadmin 的完整例子。

  关于启用 ORB Pass By Reference 选项,参见 Configuring an ORB service using wsadmin。关于设置一般的 JVM args,参见 Configuring the JVM using wsadmin。

  关于创建数据库提供者,有关信息可能不在 Information Center 中,所以,我附上我书中的一个程序片断。关于创建容器管理的别名,您必须把 J2C 别名附在映射模块上,而不是 DataSource 本身。

puts "\nCreating the datasource $dsName"
set attrs2 [subst {{name "$dsName"} {description "$dsDescription"}}]
set ds1 [$AdminConfig create DataSource $jdbcProviderID $attrs2]
#
Set the properties for the data source...
set propSet1 [$AdminConfig create J2EEResourcePropertySet $ds1 {}]
set attrs3 [subst {{name databaseName} {type java.lang.String} {value "$databaseName1"}}]
puts
"\nj2eeresourceproperty"
$AdminConfig create J2EEResourceProperty $propSet1 $attrs3
set attrs4 [subst {{jndiName $jndiName}
{statementCacheSize $statementCacheSize}
{datasourceHelperClassname $datasourceHelperClassname}
{authMechanismPreference
"BASIC_PASSWORD"}}]
$AdminConfig modify $ds1 $attrs4
#Create the connection pool
object...
$AdminConfig create ConnectionPool $ds1
{{connectionTimeout
1000} {maxConnections 30} {minConnections 1}
{agedTimeout
1000} {reapTime 2000} {unusedTimeout 3000} }
#
Set the auth mapping properties
set authDataAliasList [list authDataAlias $aliasName ]
set mappingConfigAliasList [list mappingConfigAlias DefaultPrincipalMapping ]
set mappingList [list $authDataAliasList $mappingConfigAliasList]
$AdminConfig create MappingModule $ds1 $mappingList

  关于 Resources 的 Map Resource Reference 属性 - JNDI 名称没有被正确设置,参见 Wsadmin tool。

  : 我的站点是一个中等规模的银行(200,000 名顾客),在 Windows 2000 服务器上运行 WebSphere 4.05,使用 SQL2000 作为 WebSphere 存储库。首先我想知道的是“这是否是一个不正常的配置?”您是否也可以告诉我什么样的配置最能适合这样规模的应用?我想问的另一个问题是关于脚本部署,当前我们使用手工部署,大多数网站是怎么做的呢? (由 bendigobank.com.au 的 StephenP 提出)

  : 关于您的第一个问题,有许多性能方面需要考虑的事情,比如 windows 服务器的数量、您的 SQL2000 服务器的冗余等等。不同的顾客使用不同的平台和环境。我曾经看到用户在 AIX®、Solaris®、Linux、Windows® 和 z/OS 上成功地运行 WebSphere。这个问题很难给出这样一个普遍的答案。可以考虑去看我的同事 Stacy Joines、Ruth Willenborg、Ken Hygh 所著的书 Performance Analysis for Java Websites。这本书里有大量的关于衡量 Web 站点规模和性能测试应用程序的参考。

  关于您的第二个问题,使用脚本可以使许多以前由开发人员、组装人员、部署人员和管理员所做的单调乏味的手工工作自动化,这是一个高效的方法。如果您的应用程序封装的比较简单,手工部署对于小到中规模的应用程序还是可以成功的。然而,自动化可是帮你免除重复的劳动,为其他任务空出资源来。这是我所写的书 IBM WebSphere: Deployment and Advanced Configuration 中主要的论题。在书中,我们分析了各种各样的组装和部署模型,并阐述了为什么使用脚本的自动化是有益的。

  : 我们开发了一个 J2EE 的银行 Web 应用程序。在启用以后,我们收到了储户强烈的抱怨:网站太慢了,不能浏览,也无法连接。我们知道问题所在:在上午时间(9-11时)我们能收到 500 个并发连接。我们担心 WebSphere 服务器不能同时连接超过 500 个用户。是否有什么优化应用程序性能的方法。请告诉我们大多数流行的网站所使用的性能优化技术。 (由 Brijesh 提出)

  : 关于性能的问题,没有简单的答案。这可能包括从应用程序到配置的各种问题。我曾经看到因为开发人员在他们的登录框架里没有初始化 StringBuffers,导致应用程序在垃圾收集上运行极其缓慢。要解决您的性能问题,参阅 Performance Analysis for Java Websites。

  一般情况下,性能测试应该是您的产品正式使用之前的部署过程中的一个主要部分。我需要关于您的问题的更多信息。当您说 500 个并发连接时,我理解为您是指 Web 容器。您是否聚集了您的应用程序?您是否有 Web 服务器?在下列资源中您可以看到各种各样的布局:

  ·IBM WebSphere: Deployment and Advanced Configuration

  ·IBM WebSphere V5.1 Performance, Scalability, and High Availability WebSphere Handbook Series

  : 是否有什么方法能提供以前遗留的 I-Series 上的 RPGLE 程序到 VARPG 的接口。换句话说,程序的前端 GUI 屏幕已经设计并运行在 AS400 上了?

  : 这种案例实际上我也没有经历过。不过,您想要看到的可能是以下这些产品:

  ·WebSphere Host Access Transformation Service (HATS)

  ·WebSphere Host On Demand

  ·WebSphere Studio Enterprise Developer

  ·iSeries Development Family

0
相关文章