Apache Shale

来自开放百科 - 灰狐
跳转到: 导航, 搜索
Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Apache Shale Thanks, Wikipedia.

Shale is a modern web application framework, fundamentally based on JavaServer Faces. Architecturally, Shale is a set of loosely coupled services that can be combined as needed to meet particular application requirements. Shale provides additional functionality such as application event callbacks, dialogs with conversation-scoped state, a view technology called Clay, annotation-based functionality to reduce configuration requirements and support for remoting. Shale also provides integration links for other frameworks, to ease development when combinations of technologies are required.


  • View Controller - Convenient mechanism to associate a "backing" Java class with each JavaServer Faces view in an application, with predefined event handers for events significant to an application developer.
  • Dialog Manager - Mechanism to define a "conversation" with a user that requires multiple HTTP requests to implement, modeled as a state diagram.
  • Application Manager - Traditional application wide front controller features that should be applied to every request.
  • Validation - Integration with the Jakarta Commons Validator Framework, supporting both client side and server side validations based on a single set of configured validation rules.
  • Remoting - Server side support for applications that employ AJAX (Asynchronous JavaScript and XML) style interactions.
  • Spring Integration - Integration with the Spring Framework, allowing the use of Spring's dependency injection framework to create JavaServer Faces managed beans.
  • Clay - An alternative to JSP where you define views in pure HTML, in a fashion similar to Tapestry and Facelets. An innovative sub-framework for supporting the configuration of reusable subtrees of JavaServer Faces components for customizable reuse.
  • Test Framework - Set of mock objects and JUnit test case base classes suitable for testing both the framework classes themselves, as well as application components built on top of the framework.
  • Tiger Extensions - Optional add-on library that adds additional ease-of-use features for Shale applications that run on Java Standard Edition 5 (popularly known by its code name during development, "tiger").

Shale是一个基于JSF的web开发框架.Shale重用了大量的Struts基础代码, 因此可以称Struts为它的"父"框架, 但Shale是面向服务架构, 它与Struts最大不同之处在于: Struts与JSF集成, 而Shale则是建立在JSF之上. Struts实质上是一个巨大的、复杂的请求处理器; 而Shale则是一组可以以任何方式进行组合的服务. 此外Shale加入了一些新的特性比如:

  • 与Spring框架相集成可以使用Spring的依赖注入机制来创建JSF Managed bean。
  • 提供一种可选的类似于Tapestry与Facelets使用纯HTML来定义视图。
  • 提供测试框架,一组mock object和JUnit test case基类可以帮助测试自身框架的classe和在构建在该框架之上的应用组件。
  • 提供AJAX的服务端支持。
  • Tiger扩展等。