That's how I understand it as well. However, Shale doesn't provide the framework, JSF does, right? Shale uses the extension points of JSF to enhance it by offering services. I guess some of the services could be considered frameworks as well. Clay is a framework for "... reusable view fragments."
I think the vocabulary is getting in the way. What are services and frameworks in this context? -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 17, 2005 10:43 AM To: user@struts.apache.org Subject: Re: Shale ... where can I find out more? 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]