On Aug 17, 2005, at 9:09 AM, [EMAIL PROTECTED] wrote:

I'm interested in the analogy, "Shale is to JSF as Struts is to JSP". What is the connection between JSF and JSP then? I thought that JSF was to JSP the same way Struts was to JSP, and Shale was more like the Struts tag libraries on crack. Can somebody point me to a good explanation of the distinctions and relationships?

Here's a probably oversimplified flow from early to today.

Servlet - write HTML rendering code in Java.

JSP - write HTML rendering code in markup and write Java code in Java.

MVC (Struts and others) -Move Java code out of JSP and into the Model and Controller layers. JSP becomes almost exclusively markup.

JSF - a "next step" for MVC. Standardizes the MVC paradigm and adds other features like the event model. Still uses JSP as a view layer but not limited to that.

Shale - a JSF-based Framework. Builds on JSF to provide best practices for application development.

To say "Shale is to JSF as Struts is to JSP" basically means this: With JSP you had all the capabilities to build web apps. Sun created Model 2 as a pattern for developing JSP web apps with an MVC architecture. But they didn't define the architecture. Struts filled in the gaps by providing an MVC implementation. JSP is a view implementation. Struts is the framework. Similarly, JSF standardizes the MVC architecture. Shale fills in the gaps by providing an application framework and services.

Another way to look at it is to express it in layers:

Servlet -> JSP -> Struts -> application code

Servlet -> JSP -> JSF -> Shale -> application code.

At least that's my understanding of it. I'm sure I've misstated something and I'm sure someone will correct me :-)

Greg


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to