<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2713847111104620089</id><updated>2011-11-27T16:58:02.310-08:00</updated><title type='text'>Morten Matras</title><subtitle type='html'>J2EE, Outsourcing, WEB, JQuery, Stripes, Denmark,...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-6725478874480134571</id><published>2008-04-17T05:03:00.000-07:00</published><updated>2008-04-17T05:10:02.386-07:00</updated><title type='text'>Choosing a desktop gui tool</title><content type='html'>Choosing a tool should amongst other parameters be chosen based on how popular it is. We ask google trends.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/trends?q=eclipse+rcp%2C+adobe+air%2Cmicrosoft+silverlight&amp;amp;ctab=0&amp;amp;geo=all&amp;amp;date=all&amp;amp;sort=0"&gt;eclipse rcp, adobe air, silverlight&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-6725478874480134571?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/6725478874480134571/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=6725478874480134571' title='38 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/6725478874480134571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/6725478874480134571'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2008/04/choosing-desktop-gui-tool.html' title='Choosing a desktop gui tool'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>38</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-5721092311011558802</id><published>2007-11-11T03:52:00.000-08:00</published><updated>2007-11-11T03:59:31.220-08:00</updated><title type='text'>JBoss Tools</title><content type='html'>An important part of a Java-developers toolset is the IDE. (This is actually what makes us not care about codelines so much that we use RubyOnRails).&lt;br /&gt;&lt;br /&gt;JBoss Tools is a set of plugins for eclipse. It can be downloaded on top of an eclipse for Jee developers using this update site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.jboss.org/jbosstools/updates/development"&gt;http://download.jboss.org/jbosstools/updates/development&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So if you start from scratch:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download Eclipse for Jee developers (MyEclipse doesn't work)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/downloads/"&gt;http://www.eclipse.org/downloads/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Go to &gt; help &gt; install updates&lt;/li&gt;&lt;li&gt;Add new remote site with url = &lt;a href="http://download.jboss.org/jbosstools/updates/development"&gt;http://download.jboss.org/jbosstools/updates/development&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Select the available parts of this toolset.&lt;/li&gt;&lt;li&gt;Click finish.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;See more:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://jbosstools.blogspot.com/2007/10/jbosstools-200beta4-released.html"&gt;http://jbosstools.blogspot.com/2007/10/jbosstools-200beta4-released.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-5721092311011558802?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/5721092311011558802/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=5721092311011558802' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/5721092311011558802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/5721092311011558802'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2007/11/jboss-tools.html' title='JBoss Tools'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-1484557968813609646</id><published>2007-11-09T00:20:00.000-08:00</published><updated>2007-11-09T01:05:31.955-08:00</updated><title type='text'>Documentation please</title><content type='html'>JBoss seam is cool. The idea is basically to make it simple to develop enterprise applications using EJB3...&lt;br /&gt;&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;This is all perfect but the documentation lacks a lot.&lt;br /&gt;&lt;br /&gt;I've tried to get up and running using various application generators for a week or two (full time) and have used google to find the places to start, the plugins to install etc.&lt;br /&gt;&lt;br /&gt;And I keep running into bugs, errors without ever feeling that I get much help from online ressources.&lt;br /&gt;&lt;br /&gt;I need (please) one good website containing all the info I need to get started... It really isn't that difficult.&lt;br /&gt;&lt;br /&gt;Please take a look at:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://mc4j.org/confluence/display/stripes/Home"&gt;The Stripes confluence based website&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;All the info you need gathered in only one place&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.rubyonrails.org/"&gt;The Ruby on Rails website&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Simple website (that's styled beautyfully)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;My task as a consultant is to suggest tools to be used. I've suggested seam since it looks very promising, but the lack of documentation means that I can't really get some good examples up and running as fast as I could if the tools available are able to do half of what they promise.&lt;br /&gt;&lt;br /&gt;One good example is seam-gen. Where's the website explaining me how to generate the view for existing EJB's?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-1484557968813609646?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/1484557968813609646/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=1484557968813609646' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/1484557968813609646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/1484557968813609646'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2007/11/documentation-please.html' title='Documentation please'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-8683377156474617522</id><published>2007-11-06T10:22:00.000-08:00</published><updated>2007-11-06T10:52:34.872-08:00</updated><title type='text'>Generate your webapplication with JBoss Seam from an existing MySQL database (at least some of it)</title><content type='html'>JBoss seam is a nice framework. Code is relatively simple. It can be setup using a simple tool "seam-gen" and basically works out of the box.&lt;br /&gt;&lt;br /&gt;But it's perhabs still a bit too new to be used in real life?&lt;br /&gt;&lt;br /&gt;Let's try it:&lt;br /&gt;&lt;br /&gt;My setup:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;OS:  Mac OS X (10.4.0) - macbook with 1.5 GB ram&lt;/li&gt;&lt;li&gt;DB: MySQL 5. something&lt;/li&gt;&lt;li&gt;Java: JDK 1.5&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;How to use seam-gen to generate a basic webapplication from an existing database.&lt;br /&gt;&lt;br /&gt;Step 1)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install JBoss seam and JBoss itself.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I'm using:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Jboss-4.2.2.GA&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;JBoss-seam-2.0CR3&lt;/li&gt;&lt;li&gt;MySQL&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Go to the seam home dir.&lt;/li&gt;&lt;li&gt;Run the following set of commands:&lt;/li&gt;&lt;/ul&gt;./seam setup&lt;br /&gt;./seam create-project&lt;br /&gt;./seam generate-entities&lt;br /&gt;&lt;br /&gt;What I got was a running application that could be opened in eclipse and Netbeans with EJB3 java classes, EntityHome classes, JSF views, editors and lists of all the entities in the database.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Good stuff:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It is a really good starting point for a brand new application (if the database is build up front)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Problems I found:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Whenever the tables in the database contains blobs or byte[] (bytearrays) it causes problems.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Disappointments:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The editors created disappointingly enough didn't make it possible to choose the "One" side in a ManyToOne relationship.&lt;/li&gt;&lt;li&gt;The String based properties were all to be edited in a textarea.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Questions:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Why is it not possible to create views from existing EJB3 entities?&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Seams not to be a good idea to have to generate from a database if the EJB's are allready in place.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;What's the plans with seam-gen?&lt;/li&gt;&lt;li&gt;Is it possible to generate-entities several times while working with an application without removing or overwriting added code?&lt;/li&gt;&lt;li&gt;Where can I find a real life example of a running application. (Not the academic examples provided, but some real applications).&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;WHAT I DID:&lt;/span&gt;&lt;br /&gt;Here's what I chose for my specific settings:&lt;br /&gt;morten-matras-computer:~/Desktop/jboss-seam-2.0.0.CR3 mortenmatras$ ./seam setup&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Buildfile: build.xml&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;&lt;br /&gt;setup:&lt;br /&gt;     [echo] Welcome to seam-gen :-)&lt;br /&gt;    [input] Enter your Java project workspace (the directory that contains your Seam projects) [/Users/mortenmatras/Documents/workspace] [/Users/mortenmatras/Documents/workspace]&lt;br /&gt;&lt;br /&gt;    [input] Enter your JBoss home directory [/Applications/jboss-4.2.2.GA] [/Applications/jboss-4.2.2.GA]&lt;br /&gt;&lt;br /&gt;    [input] Enter the project name [cat2] [cat2]&lt;br /&gt;cat3&lt;br /&gt;     [echo] Accepted project name as: cat3&lt;br /&gt;    [input] Select a RichFaces skin (not applicable if using ICEFaces) [blueSky] ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT)&lt;br /&gt;&lt;br /&gt;    [input] Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support) [ear]  ([ear], war, )&lt;br /&gt;&lt;br /&gt;    [input] Enter the Java package name for your session beans [com.blob.session] [com.blob.session]&lt;br /&gt;&lt;br /&gt;    [input] Enter the Java package name for your entity beans [com.blob.entity] [com.blob.entity]&lt;br /&gt;&lt;br /&gt;    [input] Enter the Java package name for your test cases [com.blob.test] [com.blob.test]&lt;br /&gt;&lt;br /&gt;    [input] What kind of database are you using? [mysql]  (hsql, [mysql], oracle, postgres, mssql, db2, sybase, enterprisedb, h2)&lt;br /&gt;&lt;br /&gt;    [input] Enter the Hibernate dialect for your database [org.hibernate.dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect]&lt;br /&gt;&lt;br /&gt;    [input] Enter the filesystem path to the JDBC driver jar [/Users/mortenmatras/Desktop/mysql-connector-java-5.1.5/mysql-connector-java-5.1.5-bin.jar] [/Users/mortenmatras/Desktop/mysql-connector-java-5.1.5/mysql-connector-java-5.1.5-bin.jar]&lt;br /&gt;&lt;br /&gt;    [input] Enter JDBC driver class for your database [com.mysql.jdbc.Driver] [com.mysql.jdbc.Driver]&lt;br /&gt;&lt;br /&gt;    [input] Enter the JDBC URL for your database [jdbc:mysql://localhost/catalog] [jdbc:mysql://localhost/catalog]&lt;br /&gt;jdbc:mysql://localhost/THE_NAME_OF_A_SPECIFIC_DATABASE_EXISTING&lt;br /&gt;&lt;br /&gt;    [input] Enter database username [root] [root]&lt;br /&gt;&lt;br /&gt;    [input] Enter database password [] []&lt;br /&gt;YOUR_PASSWORD_HERE&lt;br /&gt;&lt;br /&gt;    [input] skipping input as property hibernate.default_schema.new has already been set.&lt;br /&gt;    [input] Enter the database catalog name (it is OK to leave this blank) [] []&lt;br /&gt;&lt;br /&gt;    [input] Are you working with tables that already exist in the database? [y]  ([y], n, )&lt;br /&gt;&lt;br /&gt;    [input] Do you want to drop and recreate the database tables and data in import.sql each time you deploy? [n]  (y, [n], )&lt;br /&gt;&lt;br /&gt;    [input] Enter your ICEfaces home directory (leave blank to omit ICEfaces) [] []&lt;br /&gt;&lt;br /&gt;   [delete] Deleting: /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/seam-gen/build.properties&lt;br /&gt;[propertyfile] Creating new property file: /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/seam-gen/build.properties&lt;br /&gt;     [echo] Installing JDBC driver jar to JBoss server&lt;br /&gt;     [echo] Type 'seam create-project' to create the new project&lt;br /&gt;&lt;br /&gt;BUILD SUCCESSFUL&lt;br /&gt;Total time: 38 seconds&lt;br /&gt;morten-matras-computer:~/Desktop/jboss-seam-2.0.0.CR3 mortenmatras$ ./seam create-project&lt;br /&gt;Buildfile: build.xml&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;&lt;br /&gt;init-properties:&lt;br /&gt;     [echo] /Applications/jboss-4.2.2.GA&lt;br /&gt;&lt;br /&gt;validate-workspace:&lt;br /&gt;&lt;br /&gt;validate-project:&lt;br /&gt;&lt;br /&gt;icefaces-staging-copy:&lt;br /&gt;&lt;br /&gt;initcopy:&lt;br /&gt;&lt;br /&gt;initpoms:&lt;br /&gt;     [echo] Setting up dependencies&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;[artifact:install] [INFO] Installing /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms/root.pom to /Users/mortenmatras/.m2/repository/org/jboss/seam/root/2.0.0.CR3/root-2.0.0.CR3.pom&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;[artifact:install] [INFO] Installing /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms/parent.pom to /Users/mortenmatras/.m2/repository/org/jboss/seam/parent/2.0.0.CR3/parent-2.0.0.CR3.pom&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Desktop/jboss-seam-2.0.0.CR3/classes/poms&lt;br /&gt;&lt;br /&gt;copyseam:&lt;br /&gt;&lt;br /&gt;copyseamdependencies:&lt;br /&gt;&lt;br /&gt;copyjbossembedded:&lt;br /&gt;&lt;br /&gt;copy-lib:&lt;br /&gt;     [echo] Copying Seam and depdencies to the /Users/mortenmatras/Documents/workspace/cat3/lib directory...&lt;br /&gt;     [copy] Copying 97 files to /Users/mortenmatras/Documents/workspace/cat3/lib&lt;br /&gt;     [echo] Copying JBoss Embedded configuration to the /Users/mortenmatras/Documents/workspace/cat3/bootstrap directory...&lt;br /&gt;     [copy] Copying 26 files to /Users/mortenmatras/Documents/workspace/cat3/bootstrap&lt;br /&gt;&lt;br /&gt;file-copy-war:&lt;br /&gt;&lt;br /&gt;file-copy-ear:&lt;br /&gt;     [echo] Copying resources needed for EAR deployment to the /Users/mortenmatras/Documents/workspace/cat3/resources directory...&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources/WEB-INF&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3&lt;br /&gt;     [copy] Copying 6 files to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;&lt;br /&gt;setup-filters:&lt;br /&gt;&lt;br /&gt;file-copy:&lt;br /&gt;     [copy] Copying 11 files to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/.settings&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/resources&lt;br /&gt;     [copy] Copying 11 files to /Users/mortenmatras/Documents/workspace/cat3/view&lt;br /&gt;     [copy] Copying 3 files to /Users/mortenmatras/Documents/workspace/cat3/view&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/src/action/com/blob/session&lt;br /&gt;     [copy] Copying 6 files to /Users/mortenmatras/Documents/workspace/cat3&lt;br /&gt;    [mkdir] Created dir: /Users/mortenmatras/Documents/workspace/cat3/src/model&lt;br /&gt;    [mkdir] Created dir: /Users/mortenmatras/Documents/workspace/cat3/src/test&lt;br /&gt;     [copy] Copying 1 file to /Users/mortenmatras/Documents/workspace/cat3/src/test&lt;br /&gt;    [mkdir] Created dir: /Users/mortenmatras/Documents/workspace/cat3/nbproject&lt;br /&gt;     [copy] Copying 3 files to /Users/mortenmatras/Documents/workspace/cat3/nbproject&lt;br /&gt;&lt;br /&gt;create-project:&lt;br /&gt;     [echo] A new Seam project named 'cat3' was created in the /Users/mortenmatras/Documents/workspace directory&lt;br /&gt;     [echo] Type 'seam explode' and go to http://localhost:8080/cat3&lt;br /&gt;     [echo] Eclipse Users: Add the project into Eclipse using File &gt; New &gt; Project and select General &gt; Project (not Java Project)&lt;br /&gt;     [echo] NetBeans Users: Open the project in NetBeans&lt;br /&gt;&lt;br /&gt;BUILD SUCCESSFUL&lt;br /&gt;Total time: 3 seconds&lt;br /&gt;morten-matras-computer:~/Desktop/jboss-seam-2.0.0.CR3 mortenmatras$ ./seam generate-entities&lt;br /&gt;Buildfile: build.xml&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;&lt;br /&gt;init-properties:&lt;br /&gt;     [echo] /Applications/jboss-4.2.2.GA&lt;br /&gt;&lt;br /&gt;validate-workspace:&lt;br /&gt;&lt;br /&gt;validate-project:&lt;br /&gt;&lt;br /&gt;generate-entities:&lt;br /&gt;     [echo] Reverse engineering database using JDBC driver /Users/mortenmatras/Desktop/mysql-connector-java-5.1.5/mysql-connector-java-5.1.5-bin.jar&lt;br /&gt;     [echo] project=/Users/mortenmatras/Documents/workspace/cat3&lt;br /&gt;     [echo] model=com.blob.entity&lt;br /&gt;[hibernate] Executing Hibernate Tool with a JDBC Configuration (for reverse engineering)&lt;br /&gt;[hibernate] 1. task: hbm2java (Generates a set of .java files)&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.Environment &lt;clinit&gt;&lt;br /&gt;[hibernate] INFO: Hibernate 3.2.5&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.Environment &lt;clinit&gt;&lt;br /&gt;[hibernate] INFO: hibernate.properties not found&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.Environment buildBytecodeProvider&lt;br /&gt;[hibernate] INFO: Bytecode provider name : cglib&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.Environment &lt;clinit&gt;&lt;br /&gt;[hibernate] INFO: using JDK 1.4 java.sql.Timestamp handling&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.reveng.OverrideRepository addFile&lt;br /&gt;[hibernate] INFO: Override file: /Users/mortenmatras/Documents/workspace/cat3/resources/seam-gen.reveng.xml&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.connection.DriverManagerConnectionProvider configure&lt;br /&gt;[hibernate] INFO: Using Hibernate built-in connection pool (not for production use!)&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.connection.DriverManagerConnectionProvider configure&lt;br /&gt;[hibernate] INFO: Hibernate connection pool size: 20&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.connection.DriverManagerConnectionProvider configure&lt;br /&gt;[hibernate] INFO: autocommit mode: false&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.connection.DriverManagerConnectionProvider configure&lt;br /&gt;[hibernate] INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/catalog&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.connection.DriverManagerConnectionProvider configure&lt;br /&gt;[hibernate] INFO: connection properties: {user=root, password=****}&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: RDBMS: MySQL, version: 5.0.41&lt;br /&gt;[hibernate] 2007-11-06 19:15:22 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.5 ( Revision: ${svn.Revision} )&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.dialect.Dialect &lt;init&gt;&lt;br /&gt;[hibernate] INFO: Using dialect: org.hibernate.dialect.MySQLDialect&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory&lt;br /&gt;[hibernate] INFO: Using default transaction strategy (direct JDBC transactions)&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup&lt;br /&gt;[hibernate] INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Automatic flush during beforeCompletion(): disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Automatic session close at end of transaction: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: JDBC batch size: 15&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: JDBC batch updates for versioned data: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Scrollable result sets: enabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: JDBC3 getGeneratedKeys(): enabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Connection release mode: auto&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Maximum outer join fetch depth: 2&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Default batch fetch size: 1&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Generate SQL with comments: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Order SQL updates by primary key: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Order SQL inserts for batching: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory&lt;br /&gt;[hibernate] INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.hql.ast.ASTQueryTranslatorFactory &lt;init&gt;&lt;br /&gt;[hibernate] INFO: Using ASTQueryTranslatorFactory&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Query language substitutions: {}&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: JPA-QL strict compliance: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Second-level cache: enabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Query cache: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory createCacheProvider&lt;br /&gt;[hibernate] INFO: Cache provider: org.hibernate.cache.HashtableCacheProvider&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Optimize cache for minimal puts: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Structured second-level cache entries: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Statistics: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Deleted entity synthetic identifier rollback: disabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Default entity-mode: pojo&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.cfg.SettingsFactory buildSettings&lt;br /&gt;[hibernate] INFO: Named query checking : enabled&lt;br /&gt;[hibernate] 2007-11-06 19:15:23 org.hibernate.connection.DriverManagerConnectionProvider close&lt;br /&gt;[hibernate] INFO: cleaning up connection pool: jdbc:mysql://localhost/catalog&lt;br /&gt;[hibernate] 2007-11-06 19:15:24 org.hibernate.tool.Version &lt;clinit&gt;&lt;br /&gt;[hibernate] INFO: Hibernate Tools 3.2.0.b10&lt;br /&gt;2007-11-06 19:15:24 org.hibernate.connection.DriverManagerConnectionProvider close&lt;br /&gt;INFO: cleaning up connection pool: jdbc:mysql://localhost/catalog&lt;br /&gt;[hibernate] 2. task: generic exportertemplate: view/list.xhtml.ftl&lt;br /&gt;[hibernate] 3. task: generic exportertemplate: view/view.xhtml.ftl&lt;br /&gt;[hibernate] 4. task: generic exportertemplate: view/view.page.xml.ftl&lt;br /&gt;[hibernate] 5. task: generic exportertemplate: view/edit.xhtml.ftl&lt;br /&gt;[hibernate] 6. task: generic exportertemplate: view/edit.page.xml.ftl&lt;br /&gt;[hibernate] 7. task: generic exportertemplate: src/EntityList.java.ftl&lt;br /&gt;[hibernate] 8. task: generic exportertemplate: view/list.page.xml.ftl&lt;br /&gt;[hibernate] 9. task: generic exportertemplate: src/EntityHome.java.ftl&lt;br /&gt;[hibernate] 10. task: generic exportertemplate: view/layout/menu.xhtml.ftl&lt;br /&gt;[javaformatter] Java formatting of 64 files completed. Skipped 0 file(s).&lt;br /&gt;     [echo] Type 'seam restart' and go to http://localhost:8080/cat3&lt;br /&gt;&lt;br /&gt;BUILD SUCCESSFUL&lt;br /&gt;Total time: 5 seconds&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-8683377156474617522?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/8683377156474617522/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=8683377156474617522' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/8683377156474617522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/8683377156474617522'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2007/11/generate-your-webapplication-with-jboss.html' title='Generate your webapplication with JBoss Seam from an existing MySQL database (at least some of it)'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-506908291295119365</id><published>2007-11-03T13:44:00.000-07:00</published><updated>2007-11-03T14:20:47.711-07:00</updated><title type='text'>Comparing programming languages</title><content type='html'>Get a good salary by guessing what the next big trend is!&lt;br /&gt;&lt;br /&gt;Here's a good starter:&lt;br /&gt;&lt;br /&gt;.NET and Java looks like the overall winners of the Programming language race:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.indeed.com/jobtrends?q=%22.NET%22%2C+%22Java%22%2C++%22Python%22%2C+%22Ruby+on+Rails%22&amp;amp;l="&gt;&lt;img style="margin: 10px; cursor: pointer;" src="http://2.bp.blogspot.com/_MM7eiBNalDU/RyzjY2LsHdI/AAAAAAAAAAM/GQpifzFpm6E/s320/netjavarubycompareabsolute.jpg" alt="" id="BLOGGER_PHOTO_ID_5128724091669061074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;But Ruby on Rails is really accelerating:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MM7eiBNalDU/RyzkTGLsHeI/AAAAAAAAAAU/Ve-S80KVDhA/s1600-h/netjavarubypythonrelative.jpg"&gt;&lt;img style="margin: 10px; cursor: pointer;" src="http://3.bp.blogspot.com/_MM7eiBNalDU/RyzkTGLsHeI/AAAAAAAAAAU/Ve-S80KVDhA/s320/netjavarubypythonrelative.jpg" alt="" id="BLOGGER_PHOTO_ID_5128725092396441058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;How will the big players react to this new player?&lt;br /&gt;&lt;br /&gt;We expect some reaction and I know that the Java world is making an effort:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Stripes, brilliant and simple to learn&lt;br /&gt;&lt;/li&gt;&lt;li&gt;JBoss Seam, standard based and with application-generators&lt;/li&gt;&lt;li&gt;Grails, dynamic language on top of java&lt;/li&gt;&lt;li&gt;JRuby - the best of the old language + the best from the new...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-506908291295119365?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/506908291295119365/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=506908291295119365' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/506908291295119365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/506908291295119365'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2007/11/comparing-programming-languages.html' title='Comparing programming languages'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MM7eiBNalDU/RyzjY2LsHdI/AAAAAAAAAAM/GQpifzFpm6E/s72-c/netjavarubycompareabsolute.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-8369800717992372016</id><published>2007-11-01T04:53:00.000-07:00</published><updated>2007-11-03T13:32:13.162-07:00</updated><title type='text'>Jobs and frameworks</title><content type='html'>Indeed &lt;a href="http://www.indeed.com"&gt;indeed&lt;/a&gt; is interesting. The site works by comparing the number of jobs offered for the searched terms over time. Thereby we can display the number of people needed now and trends for the future.&lt;br /&gt;&lt;br /&gt;This enables us to figure out what companies are choosing and perhabs make it possible to foresee the next big trends within software development:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22hibernate%22%2C+%22EJB%22&amp;amp;l="&gt;Hibernate is more promising than EJB?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22J2EE%22%2C%22Ruby+on+Rails%22&amp;amp;l="&gt;J2EE is more used than Ruby On Rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22J2EE%22+%2C%22Ruby+on+Rails%22&amp;amp;relative=1"&gt;But Ruby on Rails people are needed more in the future?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="*%20http://www.indeed.com/jobtrends?q=%22EJB3%22+%2C%22Ruby+on+Rails%22&amp;amp;relative=1"&gt;Ruby on Rails beat EJB3 as well:&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22Grails%22%2C+%22EJB3%22&amp;amp;l="&gt;EJB3 is more promising than Grails&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22Jboss+seam%22%2C%22Ruby+on+Rails%22&amp;amp;l="&gt;Ruby on Rails is more promising than JBoss Seam&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22JSF%22%2C%22Ruby+on+Rails%22"&gt;JSF and Ruby on Rails trends?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.indeed.com/jobtrends?q=%22JSF%22%2C%22JSP%22&amp;amp;relative=1"&gt;JSF gets increasingly important compared to JSP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Keep coming back. This blog will be updated with new trends comparisons...&lt;br /&gt;&lt;br /&gt;Next time I'm back I'll try to find the frameworks to steer away from. (The dead ends).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-8369800717992372016?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/8369800717992372016/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=8369800717992372016' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/8369800717992372016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/8369800717992372016'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2007/11/jobs-and-frameworks.html' title='Jobs and frameworks'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713847111104620089.post-5303832459036287437</id><published>2007-11-01T04:08:00.000-07:00</published><updated>2007-11-03T14:36:09.922-07:00</updated><title type='text'>Comparing Web frameworks</title><content type='html'>&lt;p&gt;Many frameworks to choose from. One test to determine what's hot and what's not is the googletest.&lt;/p&gt;&lt;p&gt;The idea is quite simple:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Search for the framework name in google - results only in the last month&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;table style="width: 435px; height: 441px;" border="1" cellpadding="1" cellspacing="1"&gt;     &lt;tbody&gt;         &lt;tr&gt;             &lt;td style="font-weight: bold;"&gt;Name&lt;/td&gt;             &lt;td style="font-weight: bold;"&gt;Total&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;Combined with Hibernate&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;Combined with EJB3&lt;br /&gt;&lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;Combined with tutorial&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;Combined with EJB3 tutorial&lt;br /&gt;&lt;/td&gt;         &lt;/tr&gt;         &lt;tr&gt;&lt;td style="vertical-align: top;"&gt;EJB3&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;77.400&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;28.700&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: top;"&gt;Hibernate&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;911.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;272.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td&gt;Grails&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;102.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;37.200&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;72&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;44.500&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;58&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;         &lt;tr&gt;             &lt;td&gt;JBoss Seam&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;81.600&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;12.700&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;540&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;12.300&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;88&lt;/b&gt; &lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;         &lt;tr&gt;             &lt;td&gt;Stripes&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;350.000&lt;/b&gt; &lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;16.500&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;31&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;Unsure&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;         &lt;tr&gt;             &lt;td&gt;Wicket&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;413.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;28.800&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;65&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;39.100&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;41&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;         &lt;tr&gt;&lt;td style="vertical-align: top;"&gt;GWT&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;434.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;167.000&lt;/b&gt; &lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;88&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;134.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;40&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td&gt;JRuby&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;202.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;47.200&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;66&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;95.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;46&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;         &lt;tr&gt;             &lt;td&gt;"Spring MVC"&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;13.900&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;913&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;72&lt;/b&gt;&lt;/span&gt; &lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;361&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;34&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;&lt;tr&gt;             &lt;td&gt;Jython&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;78.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;20.200&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;41.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;13&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;&lt;tr&gt;             &lt;td&gt;Ruby on Rails&lt;br /&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;1.400.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;142.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td&gt;&lt;span style=""&gt;&lt;b&gt;697&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;             &lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;202.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;62&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;         &lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: top;"&gt;Tapestry&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;121.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;41.000&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;95&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;60.500&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;span style=""&gt;&lt;b&gt;48&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;     &lt;/tbody&gt; &lt;/table&gt; &lt;/p&gt;                           Stripes searched using: "Java Stripes" when framework by itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713847111104620089-5303832459036287437?l=mortenmatras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mortenmatras.blogspot.com/feeds/5303832459036287437/comments/default' title='Kommentarer til indlægget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713847111104620089&amp;postID=5303832459036287437' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/5303832459036287437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713847111104620089/posts/default/5303832459036287437'/><link rel='alternate' type='text/html' href='http://mortenmatras.blogspot.com/2007/11/many-frameworks-to-choose-from.html' title='Comparing Web frameworks'/><author><name>Morten Matras</name><uri>http://www.blogger.com/profile/03357881644142820256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
