websphere 咨询师 roland barcia 解答有关在 websphere 中使用 ajax 技术构建 web 2.0 应用程序的问题……
websphere 咨询师 roland barcia 解答有关在 websphere 中使用 ajax 技术构建 web2.0 应用程序的问题。他解答了有关从 ajax 客户端调用 websphere 应用程序的问题,客户端包括 websphere process server、websphere enterprise service bus 和 websphere application server。主题包括常用的数据传输格式(如 rest、json-rpc 和 soap)、工具(如 eclipse ajax toolkit 和 rational 工具)、或 ajax 工具包(如 dojo toolkit 和 dwr)。他还讨论了如何将 ajax 技术与 ibm 的 soa 平台进行集成。
问:ibm 为支持 ajax 服务器端组件框架做了哪些工作?
答:web 2.0 对于 ibm 来说非常重要。ibm 将 web 2.0 作为面向服务的体系结构 (soa) 中关键的部分,它是到 soa 企业的接入点。对于服务器端,在未来的几个月内,ibm 即将发布几种技术,它们允许使用 web 2.0 协议(如 rest 和 json)来调用服务。您可以在我们的 websphere 产品栈中使用该技术。包括下列产品,如 websphere portal 和 websphere business integration 产品,以及 websphere process server 和 websphere enterprise server bus。您还可将看到以其他编程语言(如 php)编写的 web 2.0 服务器端组件。
ibm 在 web 2.0 之上进行构建以满足企业级需求,如安全性,最终 web 2.0 将会成为主流平台。安全性是基于 ajax 的应用程序的一个重要问题。ibm 还通过 open ajax alliance 与社区合作,帮助定义行业标准。
问:什么是最好的 ajax 工具包?我们可以在 websphere developer studio client 中使用 ajax 吗?如果可以,应该怎样使用呢?
答:所谓“最好的”工具,这始终取决与您的具体需求。我可以告诉您我最喜欢的框架是什么,但我无法知道您需要的是什么。您应该问问自己下列问题:
- 您需要提供异步调用抽象的 javascript 框架吗?
- 您需要一组丰富的预构建小部件以及创建自己的小部件功能吗?
- 您需要为以 xml 或 json 形式进入的 ajax 请求处理封送的服务器端框架吗?
- 您需要帮助调试 ajax 应用程序的开发环境吗?
大多数基于 ajax 的框架都是基于 javascript 的,所以您可以在 websphere developer studio client for iseries 上使用基于 javascript 的框架。然而,无法使用 eclipse toolkit,因为它基于较新版本的 eclipse。您可以考虑使用上面列出的任意一个浏览器调试工具。
问:可以从 websphere process server 的活动中以同步调用的方式调用外部 web 应用程序吗?在业务流程的活动步骤中将这个 web 应用程序显示给用户,通过完成这个 web 应用程序步骤来完成这项活动,然后转到业务流程中的下一个步骤。如果是这样,那么如何实现这种操作?
答:我想,您是在问我们是否支持人工任务。答案是肯定的。您可以让 web 应用程序页面自己进行刷新,以检查是否存在一项使用了人工任务管理器 api 的活动。具体的步骤与下面所示类似:
- 业务流程可以调用人工任务组件来创建一项活动。
- web 页面可以使用人工任务 api 来访问队列中的活动。您可以在后台使用某种异步 ajax 请求,以便不时地进行检查,以接近实时的方式发送通知。
- 然后,用户可以访问该活动,输入数据,并将该活动推进到下一个步骤(可能通过调用 web 服务)。
问:您如何在 rational application developer (rad) v6.0 中设置系统属性?然而,我并不希望在 websphere application server 中定义系统属性(以下称为 application server)。
答:我不是很清楚您需要的是什么。您是希望在 eclipse 工作台运行的时候为 jvm 添加系统属性吗?您可以在启动 rad 时使用 -vmargs 输入命令参数。
您是希望为正在测试的 j2se 应用程序设置系统属性吗?对于您所启动的任何其他的 jvm(如客户端应用程序),ibm 启动程序(通过 run 调用)允许您对各种类型的 java 应用程序进行配置,并且通常具有一个 environment 选项卡。
您是希望为 websphere application server v6 test server 设置系统属性吗?这必须通过 websphere 管理控制台来完成,因为 rad 中 application server v6 的测试环境是完整的 websphere application server。
问:您可以推荐一种合适的策略,以便管理通过 servlet 发出的基于 ajax 的 xml 数据请求的安全性,其中应用程序开发为 portlet。
答:首先,您应该确保您的 servlet 使用了 j2ee 安全角色。这将仅允许经过身份验证的浏览器进入。对于 ajax,安全性是一个比较棘手的问题。ajax 是新旧并存的。对于任何 web 应用程序,有许多“旧”的问题需要解决。
除了这些“旧”的内容之外,我们必须认识到,ajax 是一种新的、功能强大且复杂的技术,尽管基于旧思想进行构建,但在实际的使用过程中,还可能引入新的漏洞。正因为如此,它改变了某些事物的本质。例如,因为人们通过浏览器发送更多的 xml 请求,您可能会遇到更多的 xml 威胁。可以使用 soa appliance 作为一种解决方案,如 datapower,它专门处理 xml 威胁。
另外,客户端面临着插入到响应处理程序中的恶意 javascript 代码的危险。请确保您的浏览器仅执行来自受信任的服务器站点的 javascript。例如,mozilla® 只允许执行经过签名的脚本。
对于 web 2.0 站点,您需要考虑下列所有问题:
- 使用 javascript 可以进行许多攻击(已出现过这样的情况)。
- 在客户端保存状态可能产生危险,是否对其进行了保护?
- 客户端的代码可能产生危险,我是否可以确定您系统的工作方式?浏览器中过多的业务逻辑可能是一个严重的危险,并公开业务过程。
- 是否可以更容易地欺骗浏览器以运行恶意代码?
- 浏览器中的 javascript 甚至可能从企业网络内部 对公司进行攻击。
- 对于服务器,可能还需要考虑其他一些问题:
- 通过 internet 公开许多细粒度服务将会增加攻击范围。
- 对服务器的 sql 和 xml 注入。
对于 ajax 和 web 2.0 的安全性问题,还有许多尚未可知的问题,只有随着时间和技术的成熟,我们才能够发现所有可能的威胁。

闽公网安备 35060202000074号