Insights and perspectives to keep you updated.

Multitenancy in Google App Engine: Scope of NamespaceManager

As you would have read in our previous post, we used the Namespace API to make the SaaS application that we were working on multi-tenant in a matter of four hours. You would have noticed that we set the tenant name in the NamespaceManager [sourcecode language=”java”] NamespaceManager.set(request.getServerName()); [/sourcecode] Our initial assumption was that the NamespaceManager would continue to exist for the lifetime of the session Continue Reading

Implementing Multi-tenancy On Google App Engine

Google recently added support for multi-tenancy for applications via the Namespaces API. We are in process of porting an application to Google App engine. We were thinking of making our application multi-tenant. With the new Namespaces API in our arsenal we decided to give it a try. To our surprise implementing multi-tenancy is easy, we were done with it in couple of hours! With multi-tenancy, Continue Reading

Duplicate Code? Introduce Null Object

One of the most significant code smells is having duplicate code. There are primarily 2 forms of code duplications Explicit – These are the ones where there is blatant copy paste of the code. Methods are repeated within classes and it is easy for the CPD tool of PMD to figure out that lines are copied thus leaving us red faced. Subtle – This is Continue Reading

Improve Performance By Using Keys Only Query on Google App Engine

It has been around two months since we started to port an existing application on Google App engine. It used Hibernate for persistence, Wicket framework for web layer and Spring as an Ioc container. Looking at the will it play on appengine we had to change Hibernate to use either JPA or JDO. We decided on JPA purely on the basis of experience we had Continue Reading

There Should be Tracer Bullets in Each Sprint

Tracer Bullets, as the name implies helps you trace the trajectory and the position where they hit the target. They are just like the regular bullets except that they have a modified base to contain pyrotechnic charge. This composition burns brightly when fired and allows the shooter to view the projectile. A machine gun usually has one tracer bullet for every 4-5 normal bullets which Continue Reading

Lock-in, the Overrated Barrier to Cloud Adoption

By definition, lock-in makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs. That sounds scary. Now let us take a step back and look at all the standards which were available in the traditional world to prevent lock-in. JEE specs sure have a lot of them and that ensures that you would be able Continue Reading

Generating Excel Files On Google App Engine For A Wicket Application

We are porting an existing Wicket application on Google App Engine. This application uses Wicket, Spring and Hibernate. If you read will it play in app engine, you will notice that Wicket is semi compatible and it does work with workarounds. Hibernate on the other hand is incompatible and Spring is fully supported. We began porting this application after changing persistence to use JPA instead Continue Reading

Don’t Set Up That Power Plant Just Yet, Think SaaS

A few months ago a dear friend of mine bought a house in New Delhi. It was a house with 3 bedrooms, a decent sized living room and a huge backyard. The backyard was almost thrice the size of the house. Well, it would be a good place to play soccer. Except that he had a different plan. He wanted to set up a power Continue Reading

Problems When Deploying Working Application on Google App Engine

Google Dev and production environment has differences. You may run into problems if you expect that application will also run fine on app engine if there are no errors on app engine development server. We are in process of porting an existing application on Google App engine. The application we are building uses Wicket, Spring and JPA. If you read the will it play in Continue Reading

Performance Tuning Java Applications on Google App Engine

Performance Tuning is one of the stages of taking your application to production which you can seldom avoid. Irrespective of the fact whether you have taken all good performance practices into account, there is something or the other which needs to be tuned before the application is production ready. Performance Tuning takes a different turn when your application is supposed to run on the cloud. Continue Reading

Deploying BIRT in Your Existing Web Application

The Business Intelligence and Reporting Tools (BIRT) project is an open source, Eclipse-based reporting framework that enables the creation and deployment of enterprise reports. Development with BIRT can usually be thought of as a two-step process: The creation of the report designs within the Eclipse BIRT Report Designer Deployment of the designs and framework to an application for dissemination. BIRT also offers three public APIs Continue Reading

Making Your Existing Applications Multi-tenant in the Cloud

Last week, while presenting at the IndicThreads Cloud Conference, we got into a very interesting discussion. How to make the existing application that we have multi-tenant without changing a hell lot of code or may be without changing even minimal code. Before we get to that question, let us do a quick recap of multi-tenancy. Multi-tenancy is the ability to run multiple customers on a single Continue Reading

Successful! First CSM Training in New Delhi

The weather was perfect, the venue was perfect, the trainer was perfect and so were the participants. The First CSM training conducted by Inphina and Zilverline in the heart of New Delhi was a success! It was two days of interactive sessions, fun games and learning which kept the participants engaged and motivated. The great part about the training was that majority of the participants Continue Reading

%d bloggers like this: