better introduction.
[utils] / support / general / src / site / xdoc / index.xml
index d853ed5b6d7148a7a553e1039d64f1d0a56a90ce..bbddc5d6386b06eb185966ef625b430412d80cb7 100644 (file)
@@ -1,16 +1,68 @@
 <?xml version="1.0"?>
-<!DOCTYPE document PUBLIC
-  "-//Apache Software Foundation//DTD XDOC 1.0//EN"
-  "http://maven.apache.org/dtd/xdoc_1_0.dtd">
-<document>
+<document xmlns="http://maven.apache.org/XDOC/2.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+  
   <properties>
-    <title>Support/General overview</title>
+    <title>overview</title>
     <author email="erik@brakkee.org">Erik Brakkee</author>
   </properties>
   <body>
     <section name="Introduction">
       <p>The general support library contains various smaller utilities that
-         can be useful for any java project. </p>
+         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>
+        There are many purposes for this documentation: 
+      </p>
+      <ul>
+        <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>