| CARVIEW |
|
webleaf
|
| Summary | WebLEAF, a web development servlet framework. |
|---|---|
| Categories | None |
| License | Lesser General Public License (LGPL) |
| Owner(s) | greeneyed |
Introduction
Latest news :
- 19 Jun 07: Article about using WebLEAF 3.0b with Groovy published at java.net! -> A Dynamic MVC Development Approach Using Java 6 Scripting, Groovy, and WebLEAF
- 18 Jun 07: Refactored some code so the exceptions propagate up keepin the original cause and without being logged twice. (See issue WLC-50 for more information)
- 16 Jun 07: Added new feature to be able to use javax.sql.DataSource's Connections from "class://" XMLSources easily. (See issue WLC-49 for more information)
- 14 Jun 07: New discussion group created (webleaf-users at Yahoo Groups)
- 13 Jun 07: WebLEAF 2.2b (build 13 Jun 2007) released!
- 13 Jun 07: WebLEAF 3.0b (build 13 Jun 2007) released!
WebLEAF is a servlet framework whose main goal is to help in the development
of web server side applications written in Java; More specifically, WebLEAF is a servlet development framework born in 1999 and used in production since then. It follows the MVC pattern and it is specially suited for medium web applications that make use of XML to communicate the business logic with the presentation layer. Popular XML sources are PLSQL, Java+JDBC, Java+Hibernate, static files, Java Scripting API implementations... and the output produced can be HTML, XML, WML, PDF reports, images built with Batik...
The framework itself is quite flexible and can be extended easily.
Goals:
.- Avoid having to repeat some of the common tasks that have to be performed
for each web application.
.- Allow these kind of applications to be flexible enough so they can adapt,
more or less easily, to changes.
How/Where to start?
Soon we'll upload a WebLEAF test package so you don't have to start from scratch, but before that I already started working in the documentation, that you can find here: WebLEAF Documentation. If you decide to have a go with it, you can also report bug or request features through the WebLEAF JIRA instance. On top of that, if you are curious about how we do certain things, you can also browse the repository thanks to the WebLEAF Fisheye (repository browsing) instance that Cenqua graciously provided to us. We might add a WebLEAF-based forum you can use to discuss things, but that will have to wait until interest is good enough. We will also open source some of the applications we have developed with WebLEAF, like the one behind the JavaTools Projects Directory (Implemented with WebLEAF, Hibernate and HSQLDB) and some others. So stay tuned!
Important links :
- WebLEAF Documentation.
- WebLEAF users discussion group (acting as mainling list and forum).
- WebLEAF JIRA (issue reporting) instance
- WebLEAF Fisheye (repository browsing) instance
- Project maintenance tools (JIRA and Confluence) thanks to Atlassian
- Repository browsing instance (FishEye) hosted and provided by Cenqua
- Profiled with "YourKit Java Profiler"
- Main contact (that would be me :)): greeneyed AT dev DOT java DOT net.(warning if copy/pasting the address, as it has been protected to prevent spam, sorry about that)
How does WebLEAF do
it?
Leaf helps you in the development of your applications by providing you
with a set of ready-to-use, flexible and highly customizable services.
The tasks that WebLEAF tries to help you with are: Separating business logic from View logic, restricting access
to applications, controlling application wide events, internationalizing user
interfaces and logging.
Important features:
Some of the most important features that WebLEAF provides you are the
following:
Model 2 architecture: WebLEAF already implements the controller servlet architecture that allows you to separate the business logic from the user interface logic. It also includes an optional feature that allows you to internationalize your application by specifying different views for your operations depending on the chosen locale. Even though WebLEAF encourages the usage of the, so called, model 2 architecture, it doesn't force you to do so allowing other kind of architectures to be used.
XML/XSLT architecture: WebLEAF, through the controller servlet architecture, allows you to develop your application with XML/XSLT. Business logic can be developed to produce the XML, and then an XSLT is applied to generate the desired UI, be it HTML, WML, SVG, Text... Nowadays there exist four main modes to implement the business logic: PLSQL, EJB, Hibernate POJOs and plain POJOs, even though WebLEAF can be easily extended to accomodate other XML generators.
Flexible Business/View Logic implementations : WebLEAF does not impose any technical choice and allows you to choose from a generous range of options. You can implement your business logic using PLSQL, Hibernate-based classes, pure SQL-based classes, plain POJOs, etc. You can then implement your presentation layer using XSLT, FreeMarker, JSP, JasperReport's PDFs, images generated with Batik... To communicate both layers, you can choose between using XML or POJOs (depending on the options your choice might be restricted: p.e. PLSQL cannot generate POJOs, obviously). Last but not least, if your desired option is not available, you can easily extend the basic functionality and add it yourself.
Flexible, dynamic and customizable security: Leaf allows you to restrict access to your web applications and it allows you to extract the information for your security architecture from anywhere and in runtime. That means that you can extract the users information, the privileges that they have, the different roles involved in your system etc. from a database, an XML file, an RMI connection... and that this information will be loaded dynamically when initializing your application.You can also specify the permissions that are requiered to execute a certain operation of your application the same way. A sample module that allows you to define the security model through an XML file is already included in the WebLEAF package and can be used "out of the box".
Application management: Once you have defined the operations that belong to an application, the WebLEAF framework allows you to define certain methods that will be called when your application starts/stops or when an operation is requested. This allows you, for example, to perform initialization and clearance of global resources (DB connection pools, EJB initialization... ). The WebLEAF package also allows you to control whether your application, as a whole, is available or not. Even though now some of this events can be controlled through the use of servlet listeners and filters, you can still use WebLEAF to handle them to have it all tightly integrated.
Status
WebLEAF development started at the beginning of 1999, being used in production since mid 1999. Since then, several dozen applications have been developed with it, more than 30 nowadays in production, mainly for the University of the Balearic Islands (UIB) even though some have been "exported" and used by other institutions.Why open source it after so long? Well, the framework was developed to be used in-house, but after that long some institutions and businesses have showed interest in using it, so instead of having a closed relationship with them, we decided to share it the Open Source way.
| Powered by CollabNet | Feedback |
FAQ |
Press |
Developer tools
© 1995 - 2007 CollabNet. CollabNet is a registered trademark of CollabNet, Inc. |
