应用JSF、Ajax和Seam开发Portlets(1/3)
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
作者 Boris Lublinsky译者 王锐 发布于 2008年9月1日 上午2时56分
我想我们怎么称呼外部变量是件很有趣的事。传统上,编配引擎往往表现为一个黑盒,它与系统的其它部分广 泛交流,却并不提供访问它其中内容的办法。过程执行、接收消息、处理消息并将新消息发送出去。但是过去你的过程定义、执行是相当不透明的。过程处理的数据 是最明显的。特别是在数据存储为XML的WS-BPEL中,它向传统数据存储机制的映射并不是很完善。所以这个特性使用户可以直接在自己选择的数据库表中存储过程变量。我们提供一个简单的映射工具来使你对表结构有合理的控制 能力。所以对这个映射变量的所有读写都会被数据库表返回。这是一个相当简单的特性,但是它很大程度上开启了通向报告、业务动态监测或者甚至过程数据的热修 改的可能性。我们还计划扩展这个特性,用以支持从一个过程变量向一个REST式资源的映射。这样的话,一个REST式Web服务可以被一个过程直接访问和操作。
我们的一个问题是WS-BPEL只支持WSDL 1.1,至少迄今为止还是这样(而且我没听到任何关于要把它升级到WSDL 2.0的消息)。所以我们必须处理WSDL 1.1和它的HTTP绑定的支持问题,说实话,它们支持的并不多。所以我们对它做了一点扩展,给WSDL 1.1 HTTP增加了一些基本的元素。例如,我们不仅仅在绑定层接受动词,在操作层也接受。这样,WSDL端口类型可以被映射到一个资源与对HTTP方法的操作。注意,如果仍然可以用HTTP绑定支持你的用例,那就不需要任何扩展。所有这些对WS-*和REST的纯化论者听起来都像是异端邪说,但是这样做也让你调用REST式Web服务时有一个相当清晰的思路。我们一向非常小心,从不对HTTP做超出WSDL的滥用。尽管这样,我们还是有一个更长期的计划来扩展ODE,使其对REST式体系架构的支持更加本地化。我们希望使过程符合REST风格,通过一个统一接口发布它们,并且我们还有大规模扩展WS-BPEL的计划。对此我们已经有了我们自己的规范,叫做REST式BPEL,并且我希望每个人都去看一看并提供反馈意见。
事实上这个工作已经以ODE与Apache Tuscany团队合作的方式启动了。我们有一个SCA组合与BPEL过程之间交互工作的简单场景。最新的Tuscany SCA发布(1.2.1)就包含了带有一个BPEL过程应用示范的ODE。
当被问到他们是否计划为请求/应答的实现而支持WS-Addressing时:
我们对WS-Addressing已经有很多支持了。对我们来说,它的价值在于可以在过程发送的EPR里包含关于过程实例身份的附加信息。因此,我们不需要过程的相关性来处理交互。过程实例仅仅使用包含在消息的WS-Addressing头部的EPR来互相发现。此外,如果你的服务实现也要使用那些头部,并且在你调用服务的时候将头部提供给过程引擎,相关性就可以被彻底的避免。
ODE的覆盖面远远不止WS-BPEL,它还包括编配和人类工作流。从历史上说,我们曾经更加关注 BPEL和编配,但是我们中的一个委员(Assaf Arkin,他也参与了前面提到的REST式BPEL规范的编写)目前在做一个很酷的项目的经理,这个项目叫Singleshot。它是在Rails上实 现的,用一个友好的人机界面将我们的BPEL引擎弥补得极为完善。与此同时,Intalio也有一个开源的工作流产品,叫做Tempo,它实现了BPEL4People白皮书。最 后,我们计划支持包含在BPEL4People中的WS-BPEL扩展,如同peopleActivity。不过做这些对我们来说还不到时候。如果社区中 还有人想它发生的早一点,我们会对他致以毫无保留的感激。ODE最令人印象深刻的一点就是它是一个Apache项目。正因如此,我们在一个商业友好的许可 下开发,并且我们欢迎任何类型的贡献,代码以及简单的反馈、文档、测试或者仅仅是你的热情。
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。
InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!
在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。
通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。
本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。
InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。
相对于Java,.NET在持续重构方面所给与的重视仍然少为人知,大多数人对于重构是否真正属于开发过程,以及如何将其应用到开发过程中持观望态度。Danijel Arsenovski试图为你揭示这些谜题。
没有回复
回复