2 <document xmlns="http://maven.apache.org/XDOC/2.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
7 <title>overview</title>
8 <author email="erik@brakkee.org">Erik Brakkee</author>
11 <section name="Introduction">
12 <p>The general support library contains various smaller utilities that
13 can be useful for any java project. I started this in 2005 when I realized that it
14 would be very nice to have a support library readily available instead of having to
15 cut and paste from old code.
18 There are many purposes for this documentation:
21 <li>To allow others to use this library.</li>
22 <li>To allow myself to use the library(!). This is because I have written a lot of stuff in the
23 past and need to make sure I have good enough documentation describing what I have made and
25 <li>To document the current state of development. In particular, some parts may be deprecated because of
26 other developments).</li>
27 <li>To allow extension of the library.</li>
31 <section name="Philosopy">
33 Some parts in the utilities library may seem familiar to users of
34 other popular frameworks such as <a href="http://www.springframework.org">Spring</a> and
35 <a href="http://code.google.com/p/google-guice/">Guice</a>. This
36 is not always a coincidence. It is my view that Spring is just another IOC framework and
37 that there can be many IOC frameworks. Also, the support that one actually needs to develop
38 applications and in particular enterprise applications efficiently only requires a few basic
39 support utilities and typically not a big framework.
41 <p>Apart from this, there are many other
42 interesting developments going on:
45 <li><em>Java EE 6 dependency injection:</em> Java EE 6 provides a powerful dependency injection framework called
46 <a href="http://jcp.org/en/jsr/summary?id=299">Contexts and Dependency Injection (CDI)</a>, that
47 contains a lot of experience from proven frameworks such as Spring and Guice. In
48 particular, I think CDI can be viewed as a standardization of Guice (although some people
49 might disagree). This, in effect,
50 should make anyone think twice before depending heavily on a 3rd party IOC framework
53 <li><em>Lightweight component technologies:</em> Integration of lightweight component technologies such as <a
54 href="http://www.osgi.org">OSGI</a> and Java EE is under way
55 which will also shift the balance. In effect, the enterprise spec for OSGI was released
56 March 23rd 2010 and Glassfish V3 is already partly using it. </li>
59 In particular, I believe that Java EE 6 with new powerful concepts such as singleton beans,
60 lifecycle management, Contexts and Dependency Injection, and Enterprise OSGI will provide
61 the most powerful way to develop applications in the future. In this. I am making only an
62 exception for web frameworks to which I think JSF is not a good solution. I would use
63 <a href="http://wicket.apache.org">Wicket</a> anyday if it's up to me.