When people ask me what am I doing, my immediate response is IT. Even though, the answer is not very specific, it is the easiest to understand and it still helps to describe what we are doing. In fact, it doesn't matter what programming languages we use, our responsibility is to build the information system, which deliver information to end-user. Therefore, we should value information more than...
on Aug 2, 2014
When I started my career as a Java developer close to 10 years ago, the industry is going through a revolutionary change. Spring framework, which was released in 2003, was quickly gaining ground and became a serious challenger to the bulky J2EE platform. Having gone through the transition time, I quickly found myself in favour of Spring framework instead of J2EE platform, even the earlier...
on Jul 14, 2014
When I started my career around 10 years ago, Struts MVC is the norm in the market. However, over the years, I observed the Spring MVC slowly gaining popularity. This is not a surprise to me, given the seamless integration of Spring MVC with Spring container and the flexibility and extensibility that it offers.
From my journey with Spring so far, I usually saw people making some common mistakes...
on Jul 5, 2014
There is a Maven archetype to create Java EE 7 application:
mvn --batch-mode -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DgroupId=org.javaee7.sample -DartifactId=javaee7-sample -Dpackage=org.javaee7.sample archetype:generate
It generates a simple "pom.xml" with Java EE 7 API <dependency>. It does the job to get started with building the application...
on Jul 1, 2014
JBoss Tools is a set of plugins for Eclipse that complements, enhances and goes beyond the support that exists for JBoss and related technologies in the default Eclipse distribution.
Until now, early builds of JBoss Tools were released at a regular cadence leading up to the release of a particular version. Anybody could download, integrate the plugins in Eclipse, test, and provide feedback....
on Jun 24, 2014
WildFly tooling is available in JBoss Developer Studio (Eclipse), NetBeans, and IntelliJ. While JBoss Developer Studio and IntelliJ provided in-built support for WildFly, and an extra plugin had to be installed for NetBeans. Not a big deal but NetBeans is more known for a seamless out-of-the-box experience. Starting with today's nightly, WildFly community is a step closer to that now!
on Jun 24, 2014
Recently, we were tasked to develop a SAAS application for big data analysis. To do data mining, the system need to store multi billion public posts in the database and run the classification process on them.
Classification in our context is a slow, resource intensive and painful process to assign a topic or sentiment to any record in the database. The process can last up to 24 hours with our...
on May 20, 2014
Redis is a NOSQL database written in C. The Remote Dictionary Server is a key-value data base whose the storage is in memory, then the write and read will fastest way, but which difference between Redis and Cache? What does happen when the database fall down? Will we lost the all informations?
The main goal of this article is talk about the Redis and show an open source project, the redis-...
on Aug 1, 2014
Using the Java 8 Date Time Classes with JPA!
With the Java 8 SE release, developers get a splendid new best-in-class Date-Time API. Wouldn't it be nice if you could use it with JPA? Not so fast. JPA and for that matter JDBC know nothing about the new classes, and if you use them in your entities, JPA will map them to BLOBs in your database by default. This happens in DDL or database creation, in...
on Jun 17, 2014
In an earlier blog entry I listed my picks for DevNexus 2014. This blog entry summarizes my notes from this show.
I corroborate the common wisdom about DevNexus being a very well run show. This was my first time presenting and I found the talk selection on the first day to have the right mix of diversity and depth for the working developer. The second day was much less compelling for me,...
on Jul 7, 2014
Tech Tip #25 showed how to configure WildFly on Raspberry Pi. Tech Tip #27 showed how to setup WildFly on two Raspberry Pis in managed domain mode. This tech tip will show how to setup a WildFly cluster over those two hosts.
WildFly supports mod_cluster out of the box. There are several advantages of mod_cluster:
Dynamic configuration of httpd workers
Server-side load balance factor calculation...
on May 30, 2014
Tech Tip #25 showed how to configure WildFly on Raspberry Pi. This tech tip will show how to setup a WildFly managed domain over two hosts running on Raspberry Pi.
Lets understand some basic concepts first.
WildFly can run in two modes:
Managed Domain allows you to run and manage a multi-server domain topology
Standalone allows to run a single instance of server
Multiple standalone instances...
on May 30, 2014
This is the third part (part 1, part 2) of a multi-part video series where Lincoln Baxter (@lincolnthree) and I are interactively building a Forge addon to add Java EE 7 Batch functionality.
Part 1 showed how to get started with creating an addon, add relevant POM dependencies, build and install the addon using Forge shell, add a new command batch-new-jobxml, and add --reader, --processor, --...
on May 28, 2014
I’m happy to report that the 2014 edition of the Web Framework Smackdown is shaping up to be a good one. This year we have a solid lineup, and for the first time we are going beyond Java with the inclusion of Misko Hevery representing AnguarJS and Pete Hunt representing React. Representing a more Java-centric approach to UI we have myself (representing JavaEE and JSF) and Joonas Lehtinen...
on Jun 22, 2014
Unlock productivity is one of the bigger concerns for any person taking management role. However, people rarely agree on the best approaches to improve performance. Over the years, I have observed different managers using the opposite practices to churn out best performance of the team they are managing. Unfortunately, some works and other don't. To be more accurate, what does not increase...
on Jun 18, 2014
Recently, there is a heaty debate regarding TDD which started by DHH when he claimed that TDD is dead.
This ongoing debate managed to capture the attention of developers world, including us.
Some mini debates have happened in our office regarding the right practices to do testing.
In this article, I will represent my own view.
How many kinds of tests have you seen?
From the time I joined industry...
on May 28, 2014
I've been developing webapps pretty much since the start of the web in the second half of the 90s, and in Java ever since the first edition of Java EE. During that time, I've met many people and have seen many different approaches to both the development and the testing of the code.
One of the funnier parts of web app testing was a testing method used by one of the people I worked with. Between...
on May 26, 2014
Have you recently checked out your company’s web presence and thought to yourself that it was in dire need of an update? But then maybe you started imagining the pain of pushing new data there, and resigned at the mountain of work ahead. Or maybe your mind turned to even more pressing problems with the site - maybe it doesn’t render correctly on mobile, or no updates get pushed into social media...
on Jun 5, 2014
On January 2nd I received a New Year's gift, my "Welcome to Oracle Cloud" email. I had requested a 30-day free trial back on October 17, when the Oracle Cloud was first announced, and had basically forgotten all about it. If you haven't already, request a trial account for yourself:
The Oracle Cloud integrates very nicely with Eclipse, NetBeans and JDeveloper, where you can develop and...
on May 29, 2014
Server-Sent Events (SSE) is part of HTML5. SSE is a simple, undirectional communication from server to browser. It allows server to push data to client once a connection is established. The entire point of SSE is to make it easy for the server to push messages to the browser, once the browser has first established a connection to the server. These messages are of the form "field: value" with...
on May 21, 2014