Insights and perspectives to keep you updated.

Managing Multiple Parent Persistence Problem in App Engine

Reading Time: 3 minutes We are in process of porting an entire application on google app engine. This application has persistence using JPA and as usual contains mapping between entities using annotations. The mapping like @OnetoMany and @ManytoOne in Jpa may throw lot of errors in google app engine and therefore is neither straightforward nor trivial. In this blog we will see where our mapping may fail, with specific Continue Reading

Premon Architecture

Reading Time: 5 minutes In our last post I introduced you to the basic characteristics of Premon, the Intelligent Monitoring solution. In this post let us try to look at what is the architecture of Premon which makes it possible for Premon to support the characteristics that we talked about. Let us look at the architecture and dissect the pieces one by one. If you would notice, there is Continue Reading

Why Unowned Relationships Make More Sense With App Engine Datastore

Reading Time: 4 minutes A month back we started migrating an enterprise time keeping and invoicing system to GAE. Initially, the application was deployed at the enterprise on tomcat. The opportunity was to port the application to GAE and utilize the public cloud space. The choice about GAE was based on the expected ease of migration and then not having to worry about any infrastructure maintenance. As you would Continue Reading

Architecture Governance Lifecycle

Reading Time: 2 minutes In the last post, we discussed the need for architecture governance and tools which can be used for enforcing architectural governance. Let us discuss about the general Architecture governance lifecycle. As with most of the tools mentioned in the last post, the recommended strategy to enforce governance would be followed in 3 major lifecycle steps 1. Define – The Architecture Rules. Most of the above Continue Reading

Architecture Governance 101

Reading Time: 2 minutes What is Architecture Governance? Enterprise Architecture Governance is the structure by which an enterprise defines appropriate strategies and ensures development alignment with those strategies. Why is it needed? Architecture Governance is required because of either one or multiple factors listed below 1. Avoiding structural erosion of Architecture with time- When there are more than 2 people working on a system, the architecture tends to erode Continue Reading

Intelligent Monitoring With Premon

Reading Time: 2 minutes In our last post, we discussed how intelligence can be built into the monitoring systems. This helps in decreasing the burden of system monitoring and allows administrators and stakeholders to focus on relevant information. In this post we would introduce Premon and look at some of the features that it provides to make monitoring easy and efficient. Premon complements, it does not compete: Premon does Continue Reading

Building Intelligence Into Monitoring

Reading Time: 3 minutes In our last post, we discussed the pitfalls of the traditional monitoring solutions. We also touched upon a possible solution to take care of the issues. Let us try to analyse that solution in some more detail now. Intelligent Monitoring (IM) should be able to decrease the burden of system monitoring in multiple ways. An IM system should be able to listen to multiple data Continue Reading

Unit Testing Maven Based JPA Application on GAE

Reading Time: 3 minutes Recently, we started porting a complex enterprise timesheet and invoicing application to Google App Engine. We would talk about the strategy that we are following as a part of separate post but in this post let us look at how we can unit test JPA code effectively in our local environment. By the way, the application that we are porting does not use JPA but Continue Reading

Remote Debugging Google App Engine Application on Eclipse

Reading Time: 2 minutes Sometimes it is handy to debug our application source code even when it is executing outside our IDE. This blog will explain how can we remotely debug a web application project developed in Google App Engine on eclipse IDE. The linux command to start web application on Google App engine development application server is [sourcecode language=”bash”] dev_appserver.sh <exploded WAR directory path> [/sourcecode] The command runs Continue Reading

Achilles Heels’ of Traditional Monitoring Software

Reading Time: 3 minutes In the last post on the state of monitoring software we looked at how monitoring was done in the past, how it is being done now and where does it need to go. In this post let us try to look at the concrete weakness areas of the current Monitoring software solutions. Administrators have long relied upon monitoring software to analyze the current state of Continue Reading

Monitoring Enterprise Systems: Then, Now and Then

Reading Time: 3 minutes Millions of lines of software is being written every day. Though only a subset of this code makes its way to the production system but in-spite of that, there is tons of software which is being served from data centers, private and public clouds. Monitoring the software, hardware and other infrastructural components is a herculean task, if not impossible. In the good old days, the Continue Reading

Open Closed Principle in Action

Reading Time: 4 minutes Ivar Jacobson stated that all software entities change during their life cycle and this must be borne in mind when developing systems which are expected to last longer than the first version. A design principle which helps you with long lasting software is OCP (Open Closed Principle). Open Closed Principle was coined by Bertrand Meyer. It states that “Software entities should be open for extension Continue Reading

Unit Testing Esper Statements

Reading Time: 2 minutes Esper Statements would allow the flow of events to pass through them. Usually what would you like to unit test for a basic scenario? The valid events are being passed to the listener The invalid events are filtered out and are not passed to the listener The batching time, if defined for the statement, is being adhered to. Let us quickly look at what a Continue Reading