COM26 – Logging: The Easy, Flexible Way
Logging is a powerful instrument to find bugs and understand why an application is under-performing or why something went wrong.
Ekkehard Gentz, Software Architect with ekkes-corner
In an industry full of young up-and-comers, Ekkehard (Ekke) Gentz stands out for his 30 years of experience and insight in the rapidly changing world of mobile development. In 2010, Ekke realized that he could meet many of his customer’s needs with mobile business applications for BlackBerry® smartphones as part of his enterprise business applications. Using Java® and BlackBerry® 6, Ekke develops client software and server software for small -and medium-sized companies. Ekke is also very involved in the Eclipse community.
Ekke talked to us about why the BlackBerry solution is right for his customers, how BlackBerry 6 and BlackBerry® 7 have led to the design of powerful apps, and how “Super Apps” are a key differentiator.
Why do you recommend the BlackBerry solution to so many of your customers?
I always go as deep as possible into frameworks, platforms, and technologies to find the best mobile solution for my customers, and I’ve found that there are a number of customer requirements that I can only solve using the BlackBerry solution. The combination of integrated native solutions like the BlackBerry Push service, the BlackBerry® Enterprise Server, and GPS functionality have been hugely important to some of my customers. I’m astonished how many times I discover that a customer’s special requirements can only be solved using the BlackBerry solution.
Why do you like working with BlackBerry 6 and BlackBerry 7?
Whenever I speak to Java developers or Eclipse developers, I explain to them that with the BlackBerry OS it’s easy to use your experience to develop really great-looking applications with all of the unique features of BlackBerry smartphones. The Research In Motion® (RIM®) team added more APIs and extended Java Specification Requests (JSRs) to make it easier for Java developers, and the BlackBerry 6 applications are oftentimes much more engaging than similar iOS applications because of its deep integration with the native app. Also, the command framework for Super Apps is designed to be straightforward. It’s a great way to work with applications communicating with each other, and it’s very powerful.
Do you have a specific example of using Super Apps to help optimize business processes?
One example is the location-based services and GPS tracker. SQLite is a database for mobile devices that is designed to allow access from one application at a time. To solve the issue of both apps needing to access the SQLite database at the same time, the background app registers its services as remote commands using the BlackBerry Command Framework API. The foreground apps then use these commands to communicate with the background apps. This works really well and isn’t something that I could do easily with Windows Phone 7, iOS or Android™.
How important is the BlackBerry Java Plug-in for Eclipse?
Using BlackBerry 6 and BlackBerry 7 with the BlackBerry® Java® Plug-in for Eclipse® definitely makes it easier to work with Eclipse, especially for users who are not as familiar with it. I work with it daily and it was the reason why I developed an Eclipse-based OSGi server with Eclipse Jetty. I integrated OsGi services that were using the BlackBerry Push SDK, which made it possible to install both the mobile software and server software — including all of the Push services — in one Eclipse installation. This was much simpler than having to install the normal BlackBerry Push SDK with the J2EE Stack and Spring framework.
How does your logging framework function?
I try to avoid using debuggers unless there are serious problems, because they don’t give you the real behavior of an application. I didn’t want to use a debugger or an event log. In the past I had used an open source logging monitor that was easy to use with applications and allowed me to search for and see debugger warnings. For BlackBerry smartphones, my logging works in the background; it’s a library, and it’s designed to be easy to implement. If I have a foreground application and a background application and my server application pushing content through the BlackBerry smartphone, I can go into this logging monitor and see side-by-side what happens in both apps on the server side.
Thanks for taking the time to talk to us, Ekke! Readers, please take the time to check out Ekke’s website and all the cool projects he’s currently working on.