Hi there, There are LOTS of frameworks out there -- Velocity, Turbine, etc. BTW, ColdFusion MX is not a framework -- it's an application server :-) However, ColdFusion MX has its own development frameworks / methodologies such as Fusebox. Darryl
Joined: May 15, 2002
Hi Darryl, Searched the web and seems there are many types of frameworks and Struts is a Web Application Framework. A lot of applications may not need to be on the web. There are Enterprise Application Frameworks, J2EE Transaction Frameworks. I suppose you can build a system by joining together any number of frameworks.
Decouples presentation and logic into separate components--Frameworks encourage separating presentation and logic because the separation is designed into the extension interfaces. Separates developer roles--Application frameworks generally provide different interfaces for different developers. Presentation component developers tend to focus on creating JSP pages using custom tags, while logic developers tend to write action classes, tag handlers, and model code. This separation allows both types of developers to work more independently. Provides a central point of control--Most frameworks provide a rich, customizable set of application-wide features, such as templating, localization, access control, and logging. Facilitates unit testing and maintenance--Because framework interfaces are consistent, automated testing harnesses are easy to build and execute. Can be purchased instead of built--Time not spent developing structural code is available for developing business logic. Provides a rich set of features--Adopting a framework can leverage the expertise of a group of Web-tier MVC design experts. The framework may include useful features that you do not have the experience to formulate or the time to develop. Encourages the development and use of standardized components--Over time, developers and organizations can accumulate and share a toolbox of preferred components. Most frameworks incorporate a set of custom tags for view construction. Provides stability--Frameworks are usually created and actively maintained by large organizations or groups, and are used and tested in a large installed base. Accordingly, framework code tends to be more stable than custom code. Has community support--Popular frameworks attract communities of enthusiastic users who report bugs, provide consulting and training services, publish tutorials, and produce useful add-ons. Open frameworks are particularly strong in this regard. May reduce training costs and time--Developers already trained and experienced in using a framework get up to speed more quickly and are more productive. May simplify internationalization--Most frameworks support a flexible internationalization strategy. May support input validation--Many frameworks have consistent ways to specify input validation. Validation is commonly available on the client side, on the server side, or both. May be compatible with tools--Good tools can improve productivity and reliability. Some frameworks are integrated with rapid application development tool sets.
The difficult decision would be which ones to pick. I guess that's where vendors come in . Thanks Darryl. regards [ May 26, 2003: Message edited by: HS Thomas ]
I know that struts is open in its Model components. Is there any framework that cover that part, that can be plugged in struts or we have to write this part in house. I am talking about the EJB and databse presistence.
I tried Webwork, available at http://www.opensymphony.com/ before looking more closely at Struts. Webwork has a simpler configuration file, and the action and form bean are basically combined into a single class. You can find more info by searching for webwork vs struts. After seeing both now, I'm sticking with Struts. [ May 26, 2003: Message edited by: Wes Rood ]
There is the Expresso framework which is an extension to Struts. Below is what their website says about it:
Expresso integrates with Struts which is a MVC light weight framework emphasizing presentation and application configuration, and bringing a powerful tag library to Expresso; whereas Expresso adds capabilities for security, robust object-relational mapping, background job handling and scheduling, self-tests, logging integration, automated table manipulation, database connection pooling, email connectivity, event notification, error handling, caching, internationalization, XML automation, testing, registration objects, configuration management, workflow, automatic database maintenance and JSP tag library etc.
Cheers. [ May 27, 2003: Message edited by: Bruno Arantes ]
Bruno Arantes Bueno.<br />Certified Lotus Specialist, SCJP 1.4.