Tuesday, April 8, 2014

The Future of Interactions Blog

First thanks to all my readers and more then 90000 visitors so far!

I started this blog as I work on project where we had to develop portlets based on GWT technology. I realize soon how powerful the framework was and how much you can do out of box or by simple writing few wrappers on the top of the existing functionality. I dedicate more then year to prepare examples showing how to do staff in GWT way without 3rd party frameworks and publish them on GWT2GO. I was really cool time!

As you possibly already realize, unfortunately I haven't been able to post new articles here for a while. The reason is that as member of Oracle A-Team I was not able to find enough time to spend on the GWT technology anymore. It was great time working with GWT and really enjoy it, but it's time for me to move to something else and extend my view by learning new frameworks and technologies.

Currently I work in my spare time on two new private projects.
The first project calls Votloo. It is simple system for event decisions, brainstorming and idea generator tool. You can find more information here: www.votloo.com

The second project has currently no name but basically it is simple JAVA based flat file web content management system. As you probably realize most similar systems are written in PHP and there is maybe not too far if I say, there is no equivalent popular system in Java. The system basically uses Spring+Thymeleaf. It is really very very easy to use and I am almost ready to publish it soon. Let me know if you have interest, just drop me comment bellow.


Thursday, December 6, 2012

The Future of GWT–Report

I just read the report about the future of GWT, really good job done by the GWT Steering Committee. You can get your free copy from the report here:


I was actually surprised that there are not a lot of organizations using GWT for building portlets. I personally know several and I was involved to develop GWT Portlets few times as well. I suppose that most of this organizations did not post to the survey or they just select business applications instead of portlets, which I can understand. The portlets are mostly applications for the business side in the organizations. Your usually never sell internally in the organization portlets but business application and the business does not really care what it calls, they want to have the functionality they require and pay.

Later the Committee will post the wish list here:


but I think I can guess that the compiler optimization will be on the first place.


Thursday, November 1, 2012

Create GWT Project with Spring Roo and Mongo DB using STS – Part 2

Now I will go through the next step and show you how to create the Mongo DB entities. To read the FIRST PART click HERE, to see how to create the project using Spring Roo and STS.

After you create the project you should see something like this:


Using the keyword “hint” in the Roo Shell allows you to see what is the next step. This is really very easy step by step wizard way to work. In my case I will go for the following Roo Command:

mongo setup

which setups the project to use Mongo DB. Inside your Roo Shell you should see something like this:


After you create the project you may get some errors like this one:

Description    Resource    Path    Location    Type
Referenced file contains errors (http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd). For more information, right click on the message in the Problems View and select "Show Details..." applicationContext-mongo.xml /ofers/src/main/resources/META-INF/spring line 1 XML Problem

To fix this click on the project with right mouse button and then from Maven select Update Project, like this:


This now should update your project and download the needed libraries. After that the error message will disappear.

Next major step is to create the entities. For that reason I create very simple tables, which I will use as domains entities into my project. This is the example.


Just for info, the ID in my table is not something you have to create, the Mongo DB database creates this automatically for every entry in the table. Also what is important to know is the “Reference” means you have Many to One relationship and “Set” means One to Many.

To create the entities using Roo you have to type following lines using the Roo Shell:

For PersonType table:

entity mongo --class ~.domain.PersonType --testAutomatically
field string --fieldName type --sizeMin 128 --notNull

For Person table:

entity mongo --class ~.domain.Person --testAutomatically
field string --fieldName title --sizeMin 16 --notNull
field string --fieldName firstname --sizeMin 128 --notNull
field string --fieldName lastname --sizeMin 128 --notNull
field string --fieldName street --sizeMin 256 --notNull
field number --fieldName plz --type java.lang.Integer
field string --fieldName city --sizeMin 128 --notNull
field string --fieldName email --sizeMin 256 --notNull
field number --fieldName dataofbirth --type java.lang.Integer
field string --fieldName pwd --sizeMin 128 --notNull
field reference --fieldName type --type ~.domain.PersonType

For the layer support:


repository mongo --interface ~.repository.PersonTypeRepository --entity ~.domain.PersonType
repository mongo --interface ~.repository.PersonRepository --entity ~.domain.Person

service --interface ~.service.PersonTypeService --entity ~.domain.PersonType
service --interface ~.service.PersonService --entity ~.domain.Person


Now you have the Mongo DB entities and you can proceed with the next step (Part 3) of this tutorial, which I will post very soon and which will show how to setup the GWT project.

Wednesday, October 31, 2012

Create GWT Project with Spring Roo and Mongo DB using STS – Part 1

I started to work on private project where I used Spring Roo to create the GWT Project. The project also should use the Mongo DB. As IDE I use the Spring Tool Suite (STS). So here as usual my cookbook style tutorial.

First of all you have to create Spring Roo Project. As I mention I used STS so everything is integrated inside. another possibility could be to create the project just directly using Spring Roo in command line mode.  


Select to create Spring Roo project, new Roo Project creation Window opens, as shown bellow:


In the next screen type the name of the project and then the namespace. Also from the build-in provider I select as packaging method WAR. You can change this later if you which.


Next screen is not really something special, as shown above, just click on Finish to proceed with the project creation.


After you clicked on Finish button the STS creates the project for you and opens the Roo Shell automatically.

Here I am experience sometimes problems which I cannot reproduce but for some reason the tool does not create the project well and shows error messages. Basically the problem is that it does not create the Resources folder. In this case I just delete the project and create it again.

This is the first part of my tutorial and the simplest one. In the next part I will show you how to setup the Mongo DB and the entities and then how to setup the project as GWT one.