better introduction.
authorerik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Sun, 20 Jun 2010 20:54:49 +0000 (20:54 +0000)
committererik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Sun, 20 Jun 2010 20:54:49 +0000 (20:54 +0000)
support/general/src/site/xdoc/index.xml

index 3406913ebd24eee94045136aa80d6ceca2e31f10..bbddc5d6386b06eb185966ef625b430412d80cb7 100644 (file)
   <body>
     <section name="Introduction">
       <p>The general support library contains various smaller utilities that
-         can be useful for any java project. 
+         can be useful for any java project. I started this in 2005 when I realized that it
+         would be very nice to have a support library readily available instead of having to 
+         cut and paste from old code.
       </p>
       <p>
-        The purpose of this documentation is threefold
+        There are many purposes for this documentation
       </p>
       <ul>
-        <li>To allow others and myself to use this library.</li>
-        <li>To document the current state of development (some parts may be deprecated because of
-          other evolutions in technology).</li>
+        <li>To allow others to use this library.</li>
+        <li>To allow myself to use the library(!). This is because I have written a lot of stuff in the
+        past and need to make sure I have good enough documentation describing what I have made and
+        how to use it. </li>
+        <li>To document the current state of development. In particular, some parts may be deprecated because of
+          other developments).</li>
         <li>To allow extension of the library.</li>
       </ul>
+     
+    </section>
+    <section name="Philosopy">
+      <p>
+        Some parts in the utilities library may seem familiar to users of 
+        other popular frameworks such as <a href="http://www.springframework.org">Spring</a> and 
+        <a href="http://code.google.com/p/google-guice/">Guice</a>. This
+        is not always a coincidence. It is my view that Spring is just another IOC framework and
+        that there can be many IOC frameworks. Also, the support that one actually needs to develop
+        applications and in particular enterprise applications efficiently only requires a few basic
+        support utilities and typically not a big framework. 
+      </p>
+      <p>Apart from this, there are many other
+        interesting developments going on: 
+      </p>
+      <ul>
+        <li><em>Java EE 6 dependency injection:</em> Java EE 6 provides a powerful dependency injection framework called 
+          <a href="http://jcp.org/en/jsr/summary?id=299">Contexts and Dependency Injection (CDI)</a>, that
+          contains a lot of experience from proven frameworks such as Spring and Guice. In
+          particular, I think CDI can be viewed as a standardization of Guice (although some people
+          might disagree). This, in effect,
+          should make anyone think twice before depending heavily on a 3rd party IOC framework
+          instead of using CDI.  
+        </li>
+        <li><em>Lightweight component technologies:</em> Integration of lightweight component technologies such as <a
+          href="http://www.osgi.org">OSGI</a> and Java EE is under way
+          which will also shift the balance. In effect, the enterprise spec for OSGI was released
+          March 23rd 2010 and Glassfish V3 is already partly using it. </li>
+      </ul>
+      <p>
+        In particular, I believe that Java EE 6 with new powerful concepts such as singleton beans,
+        lifecycle management, Contexts and Dependency Injection, and Enterprise OSGI will provide
+        the most powerful way to develop applications in the future. In this. I am making only an
+        exception for web frameworks to which I think JSF is not a good solution. I would use 
+        <a href="http://wicket.apache.org">Wicket</a> anyday if it's up to me. 
+      </p>
+      
     </section>
   </body>
 </document>