Skip to main content

Open Data Initiative and Mashup

Just finishing playing with Open Data Initiative Berlin and Google Maps... Mashup with GWT using the newest Google Maps GWT (gwt-maps 3.8.0-pre1)... Very nice! All in all I used following technologies:
  • Java (what else?)
  • Maven 3
  • GWT (Google Web Toolkit) with gwt-maps 3.8.0-pre1 for Google Maps V3
  • GAE (Google App Engine)
Within this mashup I combined the Open Data from Berlin: 
  1. Total population 2011 per area (Berlin Mitte, Berlin Spandau, etc.)
  2. Result of Election 2011 per area
... and put them into Google Maps. You can find all the links in my WebApp:

I found out following things as I implemented the WebApp:
  • Open Data Berlin needs to take care of their Open Data API. For the total population I need to get the Zip file, uncompress it and read the CSV file inside it, using Common Compress and OpenCSV Java Open Source library. For the result of election I have to work with Excel file using JExcel, also Open Source library. Amazing to see how complicated they did it! Please just use XML and JSON as the data format and define a usable REST API for this!
  • Open Data Initiative itself does not make any sense for many of us. We need applications (WebApp and MobileApp) on the top! And this is where mashup helps a lot.
Check this out (in German language):


Popular posts from this blog

Creating Spring Bean dynamically in the Runtime

In my training someone asked me whether it is possible to create an object (a Spring Bean) dynamically so you can choose which implementation you want to have in the runtime. So at the compile time you don't know what object actually should be created yet. The application should decide what object to be created based on a property file.

1. We create an annotation so we can mark the method which should be able to create the object dynamically:

package your.package;
public @interface InjectDynamicObject {
2. Use the new created annotation in your method which should be able to create the object dynamically:
... @Named("customerBo") public class CustomerBoImpl implements CustomerBo { ...     @Override @InjectDynamicObject public Customer getDynamicCustomer() {         return this.dynamicCustomer; } ...
3. Write an aspect with Pointcut and Advise which change the object returned by the method in the step 2:
... @Named @Aspect public class Dyn…

Software Development Macro and Micro Process

If you think that in year 2012 all companies which produce software and IT divisions in our world have already their optimized software development process, you are wrong. It seems that we - software architects, software developers or whatever your title is - still need to optimize the software development process in many software companies and IT divisions.

So what do you do if you enter a software company or IT division and you see following things:

1. There is a perfect project management process to handle all those development of software butit is a pure project management without a context to software development. So basically you only take care of cost, time, budget and quality factors. In the software development you still use the old fashioned waterfall process.

2. From the tooling point of view: you have a project management planning and controlling tool but you are still in the beginning of Wiki (almost no collaboration tool) andyou don't use issues tracking system to han…

Smart Home Sweet Home with Gigaset Elements?

Last week I had a chance to try the Smart Home solution from Gigaset Elements. I read some articles about this product which said how easy to install this product for dummy users. Those articles woke my interest and I began to google products for Smart Home solutions.

In this article (German language) you will find a nice overview about some products for Smart Home, which can be bought in Germany. The Nest product from Google is still not available in Germany. Although it seems that RWE will offer Nest products in Germany in couple of months.

The installation of Gigaset Elements was really easy. The problem I encountered was to add the sirensensor. I had to push hard the button on the siren sensor at the same time with the button on the base, so that they can communicate with each other. After about one hour I managed to install everything properly.

Points to mention
Generally the idea is very nice. Gigaset Elements try to push KISS (Keep it Simple Stupid) principle. Howev…