Integrating Development and Operations for Peace, Harmony, and AgilityFri, 11 Jul 2014 09:15:00 EDT All too many discussions about DevOps conclude that the solution is an all-purpose player: developer and operations guru, complete with pager for round-the-clock duty. For most organizations that is not the way forward.
In his session at DevOps Summit, Bernard Golden, Vice President of Strategy at ActiveState, will discuss how to achieve the agility and speed of end-to-end automation without requiring an organization stocked with Supermen and Superwomen.
Understanding Application Performance on the Network | Part 5 Fri, 11 Jul 2014 09:00:00 EDT In Part IV, we wrapped up our discussions on bandwidth, congestion and packet loss. In Part V, we examine the four types of processing delays visible on the network, using the request/reply paradigm we outlined in Part I.
From the network’s perspective, we allocate the time period between the end of a request flow and the beginning of the corresponding reply flow to server processing. Generally speaking, the server doesn’t begin processing a request until it has received the entire flow, i.e., the last packet in the request message; similarly, the server doesn’t begin sending the reply until it has finished processing the request. We sometimes refer to these delays between flows as “pure” processing delays, distinct from another type of intra-flow processing delay we call starved for data and discuss later. Server processing delays occur as a result of a request message, and therefore always occur within a thread.
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.
Three Tips to Gain Executive Buy-In on APMMon, 03 Mar 2014 14:00:00 EST Convincing the astute executive who is cautious in not making an impetuous decision on an APM investment can prove to be challenging. Consider the amount of due diligence that is brought to bear in the decision making process. The wide array of APM technologies that need to be reviewed can be intimidating.
The selection criteria for application monitoring doesn't have to be an arduous one, lending credence to the idea that an APM solution can be simplified, understood, and implemented. I'm suggesting that the critical success factors in the adoption of APM center around the End-User-Experience (EUE) and the integration touch points with existing ITIL/ITSM processes.