Insights and perspectives to keep you updated.

Working With Spring Data JPA

Reading Time: 3 minutes SpringSource have recently released the first milestone of Spring Data JPA project. What are its features? and how can we use them. Spring framework already provides support to build a JPA based data access layer. So, what does Spring Data adds to it. I used it for one small application and found significant reduction of code. In this post we will use an Employee entity Continue Reading

Adding Rules to Drools Guvnor Programmatically with WebDAV

Reading Time: 4 minutes First, a very basic introduction before we get into code. Drools is a Business Logic integration platform which offers an integrated platform for Rules, workflow, event processing etc. Drools started off as a Rete based rule engine but over the years has evolved to have multiple sub-projects. Main ones of course are Drools Expert (Rule Engine), Drools Flow (process/workflow) and Drools Guvnor ( Business Rules Continue Reading

Code Smell : Primitive Obsession

Reading Time: 2 minutes Primitive Obsession is when the code relies too much on primitives. What this means is that a primitive value controls the logic in a class and this primitive value is not type safe. For example, there are multiple situations in which we might consider the use of String for comparison and driving the logic even though we are fully aware that it might result in Continue Reading

Configuring Spring Application Using Configuration Annotation

Reading Time: 2 minutes A Spring Module called Java Config has been there for some time now. With the release of Spring 3.0 SpringSource has pulled this module into the core Spring Framework as @Configuration. How can we use this @Configuration in our application? and should we use it when we have XML and annotations for configuration already? In Spring 2.5 we find that there is a support for Continue Reading

Respecting Open Closed Principle with Visitor Pattern

Reading Time: 3 minutes One of the common principles in the bouquet of SOLID principles is the Open Closed Principle (OCP) which states that software entities should be open for extension but closed for modification. This means that if we have to add any new functionality then ideally, we should be able to extend the current set of software entities by adding a new entity rather than creating a Continue Reading

Preparing a Leave Tracking System in less than 30 minutes with Google Apps

Reading Time: 3 minutes On one of our fun filled iBAT sessions, we decided to build something which would be quick and also have business value for Inphina. Amongst the top candidates was a leave tracking system. Inphina is an Agile organization and believes that when one has to take a leave then one has to take a leave. But, our accountants also need the records for accounting and Continue Reading

Creating a Management Dashboard with Google Apps in 10 minutes

Reading Time: 4 minutes All of us have had situations in which, the enterprise that we are working with, would like to have quick snapshots of the various metrics on the dashboard. These should not only be readily available, but also be refreshed with real data in real-time so that the latest on the health of the organization/business is at the fingertips. We had a similar situation when we Continue Reading

Case Study: Migrating an Enterprise Application to Google App Engine

Reading Time: < 1 minute Recently at Business Technology Summit 2010, Inphina presented the journey notes of migrating an Enterprise time-sheet and invoicing application to the Google App Engine. The presentation talked about the Business context, Evaluation criteria, Bottlenecks and pitfalls that we faced during the migration and the Conclusions. We received a great response at the conference and have already helped few organizations prepare a blue print for migrating Continue Reading

Comparing Google App Engine and Amazon EC2 on Business Drivers

Reading Time: 4 minutes In our last post, we compared the leading cloud vendors on technology. In this post, we would like to look at the business benefits of moving to either GAE or Amazon EC2. If you believe the recent hype in the cloud space, including the Gartner reports then you would see that the cloud is here to stay. What would make sense is to keep a Continue Reading

Mailing Google Docs As Attachment On Google App Engine

Reading Time: 4 minutes Our application works with Google Spreadsheet API to update spreadsheets. The application now needed to send mail with an attachment of a google spreadsheet. We posted our query on google docs community here and on Google app engine here and there were no clear directions of implementing it. Let’s see how we went about implementing this feature. Google provides its spreadsheet API and it allows Continue Reading

Preparing Seed Data for Your Application on Google App Engine

Reading Time: 3 minutes For the past few weeks, we have been getting requests on our website about the way we generated seed data for our multi-tenant application. I thought it would be best to talk about the method that we used as a part of a separate post. If you have been following our blog, you would notice that TE-CON launched the public beta of bookmyhours.com. This is Continue Reading

Comparing Google App Engine and Amazon EC2 on Technology

Reading Time: 6 minutes Recently, at a prospective client, we were asked to make a comparison between Amazon EC2 and Google App Engine. Having recently done fairly large-scale projects on both of them, we think that we could make a fairly valid summarization of our thoughts. With this post, I would like to put our thoughts out for consumption and debate. The three parameters on which I would like Continue Reading

Best Practices for Moving to the Cloud

Reading Time: 3 minutes Recently there has been a lot of interest in the cloud. There have been some major developments that have ignited the interest of many enterprises. It would not be late before enterprises start looking around and find that their competitors have already taken the first step towards the cloud. Before you get to that situation and start panicking, here is a list of best practices Continue Reading