• Menu
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

JavaBeat

Java Tutorial Blog

  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)

What is Shale Web Framework?

September 25, 2008 //  by Krishna Srinivasan//  Leave a Comment

Apache Shale is a Java Server Faces based Web Application Framework from the Apache software foundation. Shale is talked of as the “heir” Apache struts framework.

also read:

  • Introduction to JSF
  • JSF Interview Questions
  • Request Processing Lifecycle phases in JSF

We all know that struts is the most used Java Web Framework so far. While shale is the successor of Struts, there is a significant departure of architecture from sturts to shale. Firstly, while struts is based on a monolithic Request Processor, Shale is set of fine-grained services that can be combined as needed to meet particular application needs. Secondly, while sturts can be integrated with Java Server Faces, Shale is built upon JSF. The major features of the Shale Framework are:

  • View Controller – Convenient mechanism to associate a “backing” Java class with each JavaServer Faces view (a JSF WebPage) 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.
  • Java 5 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”).

This article is originally published in Abhi Vuyyuru’s Blog.

Category: JSFTag: Shale

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Previous Post: « EJB Webservices in JBoss application server sample code
Next Post: Sample code for Listing file names in a directory »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Follow Us

  • Facebook
  • Pinterest

FEATURED TUTORIALS

New Features in Spring Boot 1.4

Difference Between @RequestParam and @PathVariable in Spring MVC

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Introductiion to Jakarta Struts

What’s new in Struts 2.0? – Struts 2.0 Framework

JavaBeat

Copyright © by JavaBeat · All rights reserved
Privacy Policy | Contact