Jan 252012
 

Modified the previous blog entry to work with Apache CXF instead of Jersey. I modified the spring configuration XML to configure CXF as the restful service engine. The Maven pom.xml file was modified to include CXF libraries. Click here to download the project.

Type in one of the following URL’s to access the service:

  • unsecure – http://localhost:8080/jaxrscxf/services/timeoftheday/asplaintext/mathew
  • secure json response – http://localhost:8080/jaxrscxf/services/timeoftheday/asjson/mathew
  • secure xml response – http://localhost:8080/jaxrscxf/services/timeoftheday/asxml/mathew

The userid’s to log in is noted in the applicationContext.xml. Run the application using Maven – mvn tomcat:run.

In doing this change I also found a useful Maven archetype for those who needed a simple starter project. It is at Apache CXF Site. It is spring enabled and also shows how to use Jackson to serialize json data. There is no Spring Security , though you can add it quite easily.

 Posted by at 12:24 am
Dec 282011
 

It has been a while since I tried out the various products mentioned in the subject line together. Seems like after every long break from Maven I end up having to sit through hours finding out exactly which dependencies to include and which additional repository to include and of course hating myself at the end for spending time on another crud application. But its all good since as the title shows  its – back to basics. Gradle definitely shows more promise and I like where it is going very much. My only complain is with its lack of plugins for commonly used frameworks. Some of the hideous scripts that I have to include to make common plugins work was enough for me to hold off on this baby. I am sure more plugin support will follow. BTW I got my back to basics example working in multi-module mode. One module was for backend services and the other for webui. services jar gets included into the final web ui war file and all is good. Now next step is to create a multi-module project where the backend services is also a war with RESTful services. My thought here is to create the backend as standalone RESTful services and have any type of UI or other backend code be able to invoke it. End goal is to deploy the two wars to a cloud provider – maybe GAE (Google App Engine). Will try an android client too. Will post progress on this later.

 

 Posted by at 9:13 am
Sep 282011
 

In this article we will run the example from Part-1 in pseudo-distributed single server mode. Most of the configuration details are clearly laid out on the Hadoop site at Setting Up Single Server. For the sake of additional clarity I will note them here. I assume that you already have Hadoop downloaded and setup from the previous article.

Continue reading »

 Posted by at 11:30 pm
Sep 212011
 

Of late there has been a lot of interest around processing of large unstructured or semi-structured data sets. Classic use case is that of firms that have large data files collected from hundreds of locations globally. In time there someone identifies a need to mine through that data for “intelligent information”. The unstructured nature of the data and the sheer size (terabytes or petabytes) make the current RDMS offerings come short. Enter Apache Hadoop. Continue reading »

 Posted by at 6:41 pm
Jul 272011
 

There are times when you want, for performance reasons, one thread to produce objects and another one to consume it in parallel. You can definitely achieve this with the bare-bones thread API. But it might get a little messy depending on your exact use case (all that synchronize/wait/notify could drive you insane). And then what if the producer produces too fast and the consumer consumes too slow. Now you have too many objects queuing up in memory all waiting to get processed. Fear not – JDK Concurrent API is here to help.

Continue reading »

 Posted by at 11:58 pm
May 062011
 

Most corporate databases used today are relational in nature. You have tables, columns, rows, column indexes, relations between tables using associated columns, etc. All this means you are dealing with structured data. Think banking systems, mortgage systems, customer and order tracking systems. These systems are well served with relational databases.

Now think about the systems that a lot of us deal with nowadays. Unstructured or semi-structured data as available in Social sites (facebook), wiki, blogs, news sites,etc. This data is clearly not relational in nature. Instead they are document-centric in nature. While some RDBMS can store this type of data, its not natural for them.

Continue reading »

 Posted by at 12:10 am