Re-Imagination – New Disruptive TechnologiesThu, 24 Jul 2014 10:00:00 EDT I like this word re-imagination from Mary Meeker’s Internet Trends presentation. We are seeing so many aspects of our life being transformed by the internet.
Take for example, ordering a cab to go somewhere. Either we phone for a yellow cab here in California or if you are in New York city, then you stand and wave for an incoming yellow cab to stop. The new game-changer is Uber. All you do is touch your smartphone screen for UberX or Black car and you get an instant message about the car coming in less than 5 minutes time with the driver and car info. It is cheaper and you pay by card (pre-registered in your Uber account). This is re-imagining the transport sector. Uber, a San Francisco company is worth about $17B and is operating in 70 cities around the world. Quite a disruptive force!
Ten Answers Regarding Mobile App TestingWed, 23 Jul 2014 16:45:00 EDT This white paper digs deep into the reasons testing mobile apps is fundamentally harder than traditional web or desktop applications. A collaboration by Tina Zhuo and Dennis Schultz from IBM along with Yoram Mizrachi from Perfecto Mobile and John Montgomery from uTest, these experts explore the complexities of mobile test environments, the value of the mobile device cloud, the unique role crowd sourcing can play, and how teams can leverage automation to help deliver quality apps.
Working on the Java Tutorial, Second EditionTue, 15 Jul 2014 16:57:00 EDT In 2011 Wiley (Wrox) published my book “Java Programming. 24-Hour Trainer“. To be honest, I don’t like the title because it misleads people as if this book promises that the reader can learn Java within 24 hours. But creators of this series (many titles were published under this umbrella) meant to say that this book was like your personal instructor; 24 hours a day. Whatever. It’s not my call.
But earlier this year I got a call from the publisher stating that they’re happy with the book sale numbers and want me to update the book and release the second edition reflecting the latest changes in the Java Language.
I agreed because with the latest release Java became more interesting than ever. The magnitude of changes to the Java 8 language and APIs can be compared with Java 5 that was released back in 2004. It’s exciting to program in Java again.
Long Polling ExplainedSun, 22 Jun 2014 02:27:00 EDT This article defines long polling and presents a few techniques on how long polling could be used in Spring MVC web applications. Discussion covers both the AJAX and the server part of the solution as well as outlines a few possible options for implementation. The article compares performance of the two server side approaches and describes a practical example of long polling application.
OpenXava 5.0 ReleasedFri, 20 Jun 2014 10:20:20 EDT OpenXava is an Java Framework for Rapid Development of Enterprise Web Applications. In OpenXava you only have to write the domain classes in plain Java to get a web application ready for production.
This 5.0 release has a new look & feel, includes module navigation, user login/logout (so you do not need Liferay anymore), inline editable collections (just like a spreadsheet), a new editor to attach files to your entity, and many many more things.
Sync Your Timeouts: When Load Balancers Cause Database DeadlocksMon, 14 Apr 2014 11:00:00 EDT Have you seen this error message before “java.sql.Exception: ORA-00060: deadlock detected while waiting for resource”?
This is caused when parallel updates require locks on either rows or tables in your database. I recently ran into this exception on an instance of an IBM eCommerce Server. The first thought was that there are simply too many people hitting the same functionality that updates Sales Tax Summary information – which was showing up in the call stack of the exception:
The logical conclusion would be to blame this on too many folks accessing this functionality or outdated table statistics causing update statements to run too long causing others to run into that lock. It turned out to be caused by something that wasn’t that obvious and wouldn’t have shown up in any Exception stack traces or log files. A misconfigured timeout setting on the load balancer caused a re-execute of the original incoming web request. While the first app server was still updating the table and holding the lock – as it had a longer timeout specified as the load balancer – the second app server tried to do the same thing causing that exception.
HTML5 and the Future of PhoneGap and WebView+Fri, 11 Apr 2014 16:11:00 EDT
HTML5 is still one of the most discussed topics amongst us technical types. The key challenge, however, has remained unanswered for a long time. How do you effectively wrap HTML5 for use in native mobile applications? Unfortunately I do not have a universal answer, but I do have a solution for Android.
Firstly, I recommend looking into the use of Vellamo in order to benchmark the performance of HTML5 on Android. Vellamo is designed to be an accurate, easy to use suite of system-level benchmarks for devices based on Android 2.3 forward. Vellamo began as a mobile web benchmarking tool that today has expanded to include two primary chapters: the HTML5 chapter evaluates mobile web browser performance; and the Metal Chapter measures the CPU subsystem performance of mobile processors.
Firstly, I recommend looking into the use of Vellamo in order to benchmark the performance of HTML5 on Android (http://www.quicinc.com/vellamo/). Vellamo is designed to be an accurate, easy to use suite of system-level benchmarks for devices based on Android 2.3 forward. Vellamo began as a mobile web benchmarking tool that today has expanded to include two primary chapters: the HTML5 chapter evaluates mobile web browser performance; and the Metal Chapter measures the CPU subsystem performance of mobile processors.
WebSphere Datapower Configuration for DatabaseFri, 04 Apr 2014 15:20:00 EDT The purpose of this article is to describe the steps involve to configure Datapower service for the Database communication. The service will parse the incoming parameters from the request, construct a SQL query string and returns the data from the Database, based on the constructed query.
For the demonstration, the following table "DataPowerTest" is created in MS SQL Server. The following columns and data were added as well.
Using a Performance Management Database to Identify Network ProblemsMon, 31 Mar 2014 10:00:00 EDT Two weeks ago I wrote about how the world’s largest exporter of dairy products uses SAP to support their huge delivery chain of dairy products. We recounted how Fonterra used an Application Performance Monitoring (APM) tool to discover that additional training for employees was necessary to speed up certain critical SAP transactions: some employees weren’t optimizing attributes passed to the reports based on custom T-Codes.
Unfortunately, additional SAP training cannot solve all the problems. Separately and unrelated to the training issues, Fonterra started to notice that end-to-end SAP transactions were much slower than usual; especially during the summer months. Correlating long-term network performance data, such as loss rate or RTT measures, with end-to-end SAP transaction response times revealed the actual network problem caused by something nobody thought about.
The Great Java 8 DebateMon, 31 Mar 2014 08:00:00 EDT Java 8 has been reengineered and the most significant enhancement in this release is Project Lambda Expressions for the Java Programming Language.
Al Hilwa is program director for software development research at IDC and he says that right now, with this release, the changes related to Lambda expressions are the most important single new thing in SE 8.
APM & MoM - Symbiotic Solution SetsFri, 28 Mar 2014 10:15:00 EDT Maximum productivity can be achieved more efficiently through event correlation, system automation and predictive analysis. Making that a reality however, requires consideration on how to manage the integration touch points from multiple toolsets and openness to the intrinsic value that this integration can provide.
A focus on integration techniques, and not necessarily the monitoring technologies themselves, may be a better use of time to achieve a state of harmony within the event to incident flow. When rolling out an Application Performance Management (APM) solution, selection of your Manager of Managers (MoM) and how it will support the overall solution is critical.
The assumption underpinning MoM is that the time to market and technical accuracy can be achieved more readily by allowing the Subject Matter Experts (SMEs) to select their own tools sets and not worry so much about controlling every monitoring tool on the periphery. This encourages timely configuration and ownership of the SME's individual systems making fine tuning the alerting levels into MoM much easier.
Oracle Announces Java 8 Tue, 25 Mar 2014 08:00:00 EDT Oracle has announced the availability of JDK 8, a production-ready implementation of the Java SE 8 Platform Specification, which was recently approved through the Java Community Process (JCP). This release includes the largest upgrade to the Java programming model since the platform was introduced in 1996. JDK 8 was developed collaboratively in the OpenJDK Community.
Oracle has also announced Oracle Java SE Embedded 8, which leverages the new Java SE 8 features and is optimized for mid to high end embedded systems.
With a consistent Java 8 platform across embedded devices, desktops, data centers and the cloud, customers can deploy applications faster, process and analyze in-flight data and act on events as quickly as they occur.
Application Performance Problems? When to Blame the Untrained End UserSat, 15 Mar 2014 16:00:00 EDT In my previous posts I wrote about how important it is to have end-to-end visibility into SAP in order to avoid serious problems in our delivery chain or to discover that application performance degradation was caused by malfunctioning hardware.
One of our New Zealand customers, Fonterra, who is the world’s largest exporter of dairy products, uses SAP to support its delivery chain of dairy products made from 22 billion liters of milk collected each year.
In this article we show how Fonterra uses a new generation of APM tools that provide both user and transactional insight, as well as complete end-to-end coverage to monitor its SAP infrastructure. Monitoring SAP infrastructure led Fonterra to quite surprising discoveries that some performance problems could be caused by insufficient SAP training or that milk churns block Wi-Fi signal in Fonterra warehouses; we will discuss the latter story in my upcoming blog post.
Design Patterns in Java LiveLessons ReviewThu, 06 Mar 2014 10:00:00 EST I have spent the past few weeks watching this video series. I started watching it on the treadmill in the morning before work. I did that until I hit lesson 5. It is 4 hours and 20 minutes long. I started watching lesson 5 in front of the computer, not because I didn't want to walk for over four hours, but because I wanted to look at the code you can download with these lessons.
In lesson 5 covers a ton of patterns. The thing I like most about the way the patterns are introduced is that they are introduced working with other patterns. The way patterns should be used, together.
Famo.us plan therefore to bundle Blink (Chrome 33) with Apps in order to offer WebGL and other improvements to Wrapped Web Apps. The downside is of course the size of Blink which is somewhere between 10M and 30M depending on which tech forum you follow. Famo.us plan to get round this by offering a one-off download of a shared library, of course this would need to be updated when the next version of Chrome is released. They have a neat demo showing Chrome 33 features including WebGL running through a WebView on Android KitKat.