<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://au.sys-con.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Features</title>
 <link>http://au.sys-con.com/</link>
 <description>Latest articles from Features</description>
 <language>en</language>
 <copyright>Copyright 2009 Ulitzer.com</copyright>
 <generator>Ulitzer.com</generator>
 <lastBuildDate>Sun, 29 Nov 2009 20:02:31 EST</lastBuildDate>
 <docs>http://backend.userland.com/rss</docs>
 <ttl>10</ttl>
<item>
 <title>Performance Tuning Essentials for Java</title>
 <link>http://au.sys-con.com/node/1100244</link>
 <description>In light of today’s compressed development cycles, multi-tiered application architectures and complex technologies, many organizations are challenged to get reliable yet scalable enterprise Java applications out the door in a timely manner. Devoting a small amount of energy throughout the development process to identify, address, and correct performance obstacles can lower the risks and costs associated with poorly performing applications over the life of the code.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1100244&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 26 Nov 2009 02:00:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1100244</guid>
</item>
<item>
 <title>Using Ext JS, Servlets, JSON, MySQL and Tomcat on Fedora</title>
 <link>http://au.sys-con.com/node/1201109</link>
 <description>These days the popularity of Ext JS (a JavaScript library) is gaining momentum. One of the most popular widgets within Ext JS is the DataGrid. The reason – displaying data from a database is one of the most common tasks of a web application. “Out of the box” the DataGrid has functionality (for instance ascending or descending sorting and reordering of columns by dragging it) that otherwise would require some effort from developers.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1201109&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 25 Nov 2009 16:15:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1201109</guid>
</item>
<item>
 <title>Showcasing the Key Design Principles of SOA</title>
 <link>http://au.sys-con.com/node/1199986</link>
 <description>WS-BPEL 2.0 is the dominant specification to standardize orchestration logic and process automation between Web services. The BPEL model is used to assemble a set of discrete, essentially disparate, services into an end-to-end process flow to transform the existing stateless and uncorrelated Web service infrastructure into cohesive, process-centric applications based on a service-oriented architecture. Under this model, new applications are developed “on-the-fly” by wiring together external “partner” services that leverage existing enterprise assets.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1199986&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 25 Nov 2009 09:30:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1199986</guid>
</item>
<item>
 <title>JPA Under the Hood</title>
 <link>http://au.sys-con.com/node/1199833</link>
 <description>I recently gave talks on the behaviour of different JPA frameworks at W-JAX(Germany) and TheServerSide Java Symposium (Prague). As some people have asked me, I am publishing the samples as well. I would also give away the eclipse project, however with all the third party libraries I am sure I will end up not doing it legally correct. Additionally I can add some comments on the samples and why they are as they are :-) .&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1199833&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 24 Nov 2009 13:17:33 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1199833</guid>
</item>
<item>
 <title>Performance Analysis of Dynamic JavaScript Menus</title>
 <link>http://au.sys-con.com/node/1197673</link>
 <description>In my previous article I talked about the impact of jQuery Selectors on a page that I analyzed. The page took 4.8 seconds in the onLoad event handler. 2 seconds were mainly caused by the selectors as described in the blog. The other 2.8 seconds were caused by a dynamic JavaScript menu – in that particular case it was the superfish jQuery plugin. A closer analysis showed why it takes so long and this also got me to do some research on these menus. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1197673&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 23 Nov 2009 13:00:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1197673</guid>
</item>
<item>
 <title>Three Ways To Completely Screw Up Your Business   </title>
 <link>http://au.sys-con.com/node/1195328</link>
 <description>In this article, we will examine three of the most common and deadly mistakes companies make - mistakes that can be easily rectified. If you recognize any of these mistakes in your business, you can and should take immediate corrective action.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1195328&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 20 Nov 2009 08:15:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1195328</guid>
</item>
<item>
 <title>Making the Impossible Easy: Failover for Any Application</title>
 <link>http://au.sys-con.com/node/1182809</link>
 <description>If your systems require constant accessibility, you know that application failover is an essential function for automatically and transparently redirecting requests to an alternate server in the case of a failure or downtime. Several options exist for ensuring high availability for your mission-critical applications. Those options may be hardware- or software-based, and may also vary considerably in terms of project or enterprise scope and in terms of cost and complexity.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1182809&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 11 Nov 2009 17:30:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1182809</guid>
</item>
<item>
 <title>Performance Considerations in Distributed Applications </title>
 <link>http://au.sys-con.com/node/1167053</link>
 <description>Distribution and communication between applications and services is a central concept in modern application architectures. In order to profit from distribution you have to keep some basic principles in mind – otherwise you can easily run into performance and scalability problems. During development these problems often do not surface.  Then suddenly in load testing or production you might then realize that your chosen software architecture does not support the required performance and scalability requirements. In this post we will look at major points to keep in mind when building distributed applications.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1167053&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 02 Nov 2009 13:45:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1167053</guid>
</item>
<item>
 <title>Implementing RESTful Services</title>
 <link>http://au.sys-con.com/node/1118550</link>
 <description>The RESTful architectural style [1], with its URL addressable, resource oriented approach allows you to define Web services which can have multiple runtime representation in a variety of different media types.  You define a Web resource, encapsulating the desired functionality within a business method, accessible via a URI over the HTTP protocol and its different “verbs”: GET, POST, PUT, DELETE [2]. The transferred content may be either HTML, XML, binary data or images, which, depending on the business use case often require to be embedded within the same message. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1118550&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 01 Oct 2009 19:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1118550</guid>
</item>
<item>
 <title>Is Your JIT Telling You Lies?</title>
 <link>http://au.sys-con.com/node/1118894</link>
 <description>Writing meaningful Java benchmarks is a tricky business. It&#039;s well known that the Java Virtual Machine&#039;s just in time (JIT) compilation process means that running an application for a few seconds won&#039;t let you predict the performance of the application over hours or days of uptime. In spite of this, developers often rely on micro-benchmarks to set performance SLAs for their applications.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1118894&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 23 Sep 2009 17:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1118894</guid>
</item>
<item>
 <title>XPath Support in Oracle JDeveloper 11g</title>
 <link>http://au.sys-con.com/node/1055076</link>
 <description>XML documents can be used to transfer data. The data in an XML document can be retrieved either with the JAXP (Java API for XML Processing) DOM and SAX APIs, or with the JAXP XPath API. Addressing an XML document with XPath has the advantage of selecting a single node directly without iterating over a node set. In this article, we’ll explore XPath support in Oracle JDeveloper-XDK 11g.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1055076&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 18 Aug 2009 07:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1055076</guid>
</item>
<item>
 <title>Making Cloud a Reality for Enterprises via SOA Governance</title>
 <link>http://au.sys-con.com/node/1038267</link>
 <description>Cloud computing is slowly gaining credibility and traction in the enterprise world. As giants such as Google and Amazon productize their massive cloud infrastructures, moving enterprise applications to the public cloud seems a more realistic possibility. The advantages of an enterprise application leveraging the public cloud sound like utopia – lowered total cost of ownership and overhead costs, ease of maintenance, inherent high availability and scalability that is built into the infrastructure. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1038267&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 21 Jul 2009 08:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1038267</guid>
</item>
<item>
 <title>Anatomy of a Java Finalizer</title>
 <link>http://au.sys-con.com/node/995699</link>
 <description>A couple of patterns that could cause Java heap exhaustion were identified from years of research at IBM. One interesting scenarios was observed when Java applications generate excessive amount of finalizable objects whose classes have non-trivial Java finalizers. A Java finalizer performs finalization tasks for an object. It’s the opposite of a Java constructor, which creates and initializes an instance of a Java class.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/995699&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 16 Jul 2009 23:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/995699</guid>
</item>
<item>
 <title>How to Diagnose Java Resource Starvation</title>
 <link>http://au.sys-con.com/node/921279</link>
 <description>We can visualize resource starvation using an elaborate rendition of the Dining Philosophers Problem. This classic metaphor of resource allocation among processes was first introduced in 1971 by Edsger Dijkstra in his paper “Hierarchical Ordering of Sequential Processes.” It’s been a model and universal method for verifying theories on resource allocation ever since.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/921279&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 16 Jul 2009 18:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/921279</guid>
</item>
<item>
 <title>Flexing Your .NET 3.5 Skillset</title>
 <link>http://au.sys-con.com/node/1023866</link>
 <description>With the arrival of .NET 3.5, WPF and the RTM of Silverlight 2, .NET developers have more choices than ever for designing, developing and deploying compelling applications with rich user interfaces. However, there are other mainstream alternatives that don’t fall into the .NET camp. When it comes to the RIA world, technologies such as Adobe Flex and Flash may seem more foreign to some of us then driving on the left side of the road would be to an American.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1023866&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 15 Jul 2009 04:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1023866</guid>
</item>
<item>
 <title>Whatever Happened to JAAS?</title>
 <link>http://au.sys-con.com/node/1002315</link>
 <description>Introduced in 1995, Java has firmly established itself as a mature mainstream programming language for enterprises. The Java platform security model has evolved over the years to meet new requirements, and today enterprise Java developers have a large number of APIs and services to choose from to fulfill their security needs.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1002315&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 09 Jul 2009 12:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1002315</guid>
</item>
<item>
 <title>Oracle 11g Fusion Middleware LiveBlogging and News Analysis</title>
 <link>http://au.sys-con.com/node/1023774</link>
 <description>So what does this say about Oracle&#039;s strategy for forming SNORKEL, the Sun acquisition? Well, at the risk of reductio ad absurdum, having bought BEA and Sun, Larry Ellison sees Java as the new SQL&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1023774&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 02 Jul 2009 16:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1023774</guid>
</item>
<item>
 <title>Stress &amp; Load Testing Web Apps (Even ADF &amp; Apex) Using Apache JMeter</title>
 <link>http://au.sys-con.com/node/1011417</link>
 <description>A couple of years ago I presented Take a load off! Load testing your Oracle Apex or JDeveloper web applications at OOW and AUSOUG. I can&#039;t recommend enough the importance of stress testing your web applications, it&#039;s saved my bacon a number of times.  Frequently as developers, we develop under a single user (developer) model where concurrency issues are easily avoided. When our programs hit production, with just 1 more user, suddenly our programs grind to a halt or fall over in bizarre places.  Result, pie on developers&#039; faces, users&#039; faith in new technologies destroyed, and general gnashing of teeth all round.  Some simple stress and load tests can head off problems way before they hit production.&lt;br /&gt;&lt;br /&gt;(For the remainder of this post I&#039;ll infer &quot;stress testing&quot; and &quot;load testing&quot; as the same thing, though strictly speaking one tests for your application falling over, and the other how fast it responds under load)&lt;br /&gt;&lt;br /&gt;So how to go about stress testing a web application?&lt;br /&gt;&lt;br /&gt;There are numerous tools available to stress test web applications, paid and free.  This post will look at the setup and use of Apache&#039;s JMeter, my tool of choice, mainly because it is free! ... to undertake a very simple stress test.  Apache JMeter is available &lt;a href=&quot;http://jakarta.apache.org/jmeter/&quot;&gt;here&lt;/a&gt;, version 2.3.3 at time of writing.&lt;br /&gt;&lt;br /&gt;On starting JMeter (&amp;lt;jmeter-home&gt;/bin/jmeter.bat on Windows) you&#039;ll see the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHFjBUI3CI/AAAAAAAAAvE/EfKsR_eRKuY/s1600-h/pic1.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 263px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHFjBUI3CI/AAAAAAAAAvE/EfKsR_eRKuY/s400/pic1.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271438104484898&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Creating a Thread Group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From here what we want to do is set up a Thread Group that simulates a number of users (concurrent sessions), done by right clicking the Test Plan node -&gt; Thread Group option.  This results in:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHFjH6mOSI/AAAAAAAAAvM/rfPxcyLlNGs/s1600-h/pic2.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 263px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHFjH6mOSI/AAAAAAAAAvM/rfPxcyLlNGs/s400/pic2.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271439876405538&quot; /&gt;&lt;/a&gt;&lt;br /&gt;As you can see the Thread Group allows us to set a number of threads to simulate concurrent users/sessions, loop through tests and more.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Creating HTTP Requests&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From here we can create a number of HTTP requests (Test Plan node right click -&gt; Add -&gt; Sampler -&gt; HTTP Requests) to simulate each HTTP request operation (Get, Post etc), HTTP headers, payloads and more.  However in a standard user session between server and browser there can be a huge array of these requests and configuring these HTTP requests within JMeter would be a major pain.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;Configuring the HTTP Proxy Server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However there&#039;s an easier way.  Apache JMeter can work as a proxy between your browser and server and record a user&#039;s HTTP session, namely the individual HTTP requests, that can be re-played in a JMeter Thread Group later.&lt;br /&gt;&lt;br /&gt;To set this up instead right click the Workbench node, Add -&gt; Non-Test Elements -&gt; HTTP Proxy Server:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SjHFjavyVGI/AAAAAAAAAvU/Q_It9sCuUe8/s1600-h/pic3.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 230px;&quot; src=&quot;http://3.bp.blogspot.com/_5hhNK2aXwp8/SjHFjavyVGI/AAAAAAAAAvU/Q_It9sCuUe8/s400/pic3.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271444931335266&quot; /&gt;&lt;/a&gt;&lt;br /&gt;To configure the HTTP Proxy Server do the following:&lt;br /&gt;&lt;br /&gt;* Port – set to a number that wont clash with an existing HTTP server on your PC (say 8085)&lt;br /&gt;* Target Controller – set to &quot;Test Plan &gt; Thread Group&quot;.  When the proxy server records the HTTP session between your browser and server, this setting implies the HTTP requests will be recorded against the Thread Group you created earlier, so we can reuse them later&lt;br /&gt;* URL Patterns to include – a regular expression based string that tells the proxy server which URLs to record, and those to ignore.  To capture everything set it to .* (dot star).  Be warned that during recording however, if you use your browser for anything else but accessing the server you wish to stress test, JMeter will also capture that traffic.  This includes periodic refreshes by web applications such as Gmail or Google Docs that you don&#039;t even initiate; I&#039;m pretty sure when replaying your stress test, Google would prefer you not to stress test their infrastructure for them; stick to your own for now ;-)&lt;br /&gt;&lt;br /&gt;The end HTTP Proxy Server setting will look something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHFjmE8_NI/AAAAAAAAAvc/GzomZai3r-c/s1600-h/pic4.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 230px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHFjmE8_NI/AAAAAAAAAvc/GzomZai3r-c/s400/pic4.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271447972904146&quot; /&gt;&lt;/a&gt;&lt;br /&gt;You&#039;ll note the HTTP Proxy Server has a Start button.  We can&#039;t use this just yet.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Configuring your Browser&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order for the JMeter HTTP Proxy Server to capture the traffic between your server and browser, you need to make some changes to your browser&#039;s configuration.  I&#039;m assuming you&#039;re using Firefox 3 in the following example, but same approximate steps are needed for Internet Explorer.&lt;br /&gt;&lt;br /&gt;Under Firefox open the Tools -&gt; Options menu, then Advanced icon, Network tab, Settings button which will open the Connection Settings dialog.&lt;br /&gt;&lt;br /&gt;In the Connection Settings dialog set the following:&lt;br /&gt;&lt;br /&gt;* Select the Manual proxy configuration radio button&lt;br /&gt;* HTTP Proxy – localhost&lt;br /&gt;* Port – 8085 as per the JMeter HTTP Proxy Server option we set earlier&lt;br /&gt;* No Proxy for – ensure that localhost and 127.0.0.1 aren&#039;t in the exclusion list&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SjHFj-9-cmI/AAAAAAAAAvk/A2KqnUDTwUs/s1600-h/pic5.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 387px;&quot; src=&quot;http://1.bp.blogspot.com/_5hhNK2aXwp8/SjHFj-9-cmI/AAAAAAAAAvk/A2KqnUDTwUs/s400/pic5.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271454654526050&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The above setup makes an assumption that the server you want to access is accessibly without a further external proxy required.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Recording your HTTP session&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once the browser&#039;s proxy is setup, to record a session between the browser and server do the following:&lt;br /&gt;&lt;br /&gt;1) In Apache JMeter hit the Start button on the HTTP Proxy Server page&lt;br /&gt;2) In your browser enter the URL of the first page in the application you want to stress test&lt;br /&gt;&lt;br /&gt;Thereafter as you navigate your web application, enter data and so on, JMeter will faithfully record each HTTP request between the browser in server against your Thread Group.  This may not be immediately obvious, but expand the Thread Group and you&#039;ll see each HTTP request made from the browser to server:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHF9zMjEOI/AAAAAAAAAvs/o6g0ZWhG3vk/s1600-h/pic6.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHF9zMjEOI/AAAAAAAAAvs/o6g0ZWhG3vk/s400/pic6.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271898171019490&quot; /&gt;&lt;/a&gt;&lt;br /&gt;As can be seen, even visiting 1 web page can generate a huge amount of traffic.  Ensure to stop recording the HTTP session by selecting the Stop button in the JMeter HTTP Proxy Server page.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Configuring the Thread Group for replay&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once you&#039;ve recorded the session in the Thread Group there are a couple of extra things we need to achieve.&lt;br /&gt;&lt;br /&gt;For web application&#039;s that use Cookies and session IDs (JDeveloper&#039;s ADF uses a JSessionID for tracking sessions) to track each unique user session, we cannot replay the exact HTTP request sequence with the server through JMeter, as the session ID is pegged to the recorded session, not the upcoming stress test sessions.&lt;br /&gt;&lt;br /&gt;To solve this in JMeter right click the Thread Group -&gt; Add -&gt; Config Element -&gt; HTTP Cookie Manager.  This will be added as the last element to the Thread Group.  I usually move it to the top of the tree:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHF-KZ4yjI/AAAAAAAAAv0/R-hELvaCfIg/s1600-h/pic7.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHF-KZ4yjI/AAAAAAAAAv0/R-hELvaCfIg/s400/pic7.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271904400984626&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Next we need to configure the Thread Group to show us the results of the stress test.  There are a number of different ways to do this, from graphing the responses, to showing the raw HTTP responses.  In this post we&#039;ll take the later option.&lt;br /&gt;&lt;br /&gt;Right click the Thread Group -&gt; Add -&gt; Listener -&gt; View Results in Tree, which will add a View Results in Tree node to the end of the Thread Group:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHF-VSvE0I/AAAAAAAAAv8/c-5WPM4DSyQ/s1600-h/pic8.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 230px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHF-VSvE0I/AAAAAAAAAv8/c-5WPM4DSyQ/s400/pic8.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271907323777858&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Finally save the Thread Group by selecting it in the node tree, then File -&gt; Save.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Running the Thread Group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To commence your first stress test run, it&#039;s best to leave the number of spawned sessions to 1, just to see the overall test will work in it&#039;s most basic form.  The default Thread Group number of threads is set to 1, so there is no need to make a change to do this.&lt;br /&gt;&lt;br /&gt;To run the test, simply select the Run menu -&gt; Start.  On running the Thread Group, you&#039;ll see the top right of JMeter has a little box that tells if it&#039;s still running, and the number of tests to go vs total number of tests:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHF-v26n1I/AAAAAAAAAwE/WGCI1VwNoYA/s1600-h/pic9.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 221px; height: 106px;&quot; src=&quot;http://4.bp.blogspot.com/_5hhNK2aXwp8/SjHF-v26n1I/AAAAAAAAAwE/WGCI1VwNoYA/s400/pic9.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271914454851410&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Once the tests are complete, this indicator will grey out.&lt;br /&gt;&lt;br /&gt;We can now visit the View Results Tree:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHF-sjMZkI/AAAAAAAAAwM/XR1iQKSVkyc/s1600-h/pic10.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 228px;&quot; src=&quot;http://2.bp.blogspot.com/_5hhNK2aXwp8/SjHF-sjMZkI/AAAAAAAAAwM/XR1iQKSVkyc/s400/pic10.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5346271913566824002&quot; /&gt;&lt;/a&gt;&lt;br /&gt;This shows the HTTP requests that were sent out and on selecting an individual request, you see the raw HTTP request and the actual response.  You&#039;ll note the small green triangles showing a successful HTTP 200 result.  If different HTTP errors occur the triangles show different colours.  Also remember that sometimes application errors don&#039;t perculate up to the HTTP layer in your web application, so you should check your application&#039;s logs too (in the case of a JEE application, this will be your container&#039;s internal logs).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Running a Stress Test&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The obvious step from here is to change the Thread Group number of threads to a higher number.&lt;br /&gt;&lt;br /&gt;From here take time out to explore the other features in JMeter. It includes a wide range of features that in particular make it useful for regression testing.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Caveats&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Firstly remember when doing this you&#039;re not only stress testing your application, your stress testing a server, potentially stress testing databases, stress testing your networks and so on.  Therefore you can have an affect on anybody sharing those resources.  &quot;Hard core&quot; stress tests should be on separate infrastructure, after hours, aiming for as little impact on those around you!&lt;br /&gt;&lt;br /&gt;Also keep in mind, besides seeing your application fall over at 2 users, 10 users, 100 users, which is an important test, try to be realistic about your stress tests.  Stress testing you&#039;re brand-new-application to a 1 million concurrent users is probably not being realistic.  How many concurrent user requests do you really expect and what response times do you need?  Normally when I ask managers this question they&#039;ll answer with, &quot;oh we have 1000 concurrent users, the application must support that many at any one time&quot;.  However what they really mean is the application has 1000 users, potentially all logged into the application (ie. sessions) at the same time, but not necessarily hitting the server with HTTP requests at any onetime.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/38586079-8639738272054590761?l=one-size-doesnt-fit-all.blogspot.com&#039;/&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/OneSizeDoesntFitAll/~4/cDLj3J5-FRA&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/1011417&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 24 Jun 2009 11:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/1011417</guid>
</item>
<item>
 <title>A Multi-Core Optimized Software Appliance</title>
 <link>http://au.sys-con.com/node/997536</link>
 <description>In the enterprise IT environment today, modern middleware technologies make it easier to expose existing or new business applications as sets of services. However, with the mashup of cloud-based services and enterprise data center services, the visibility of how a service created today will be used in the future gets murkier. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/997536&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 12 Jun 2009 07:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/997536</guid>
</item>
<item>
 <title>Butterfly Effect in Virtualized Environments</title>
 <link>http://au.sys-con.com/node/997105</link>
 <description>In 1969 Edward Lorenz, the famed meteorologist and Chaos Theory proponent, introduced the concept now known as the “Butterfly Effect” when he posed the famous question: “Does the flap of a butterfly’s wings in Brazil set off a tornado in Texas?” The Butterfly Effect theory describes the phenomenon of how small variations in a dynamic system can subsequently cause larger and more complex variations over the long term. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/997105&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 10 Jun 2009 12:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/997105</guid>
</item>
<item>
 <title>Transforming Internet Datacenters</title>
 <link>http://au.sys-con.com/node/995586</link>
 <description>With the explosive growth of Web-based businesses and applications, datacenter workloads have increased exponentially. IT managers are finding it difficult to meet the accelerating demands for performance, capacity, scalability and reliability, while at the same time meeting budgets, maintaining service-level agreements and driving green initiatives.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/995586&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 09 Jun 2009 12:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/995586</guid>
</item>
<item>
 <title>More SOA Transition Bang for Your IT Bucks</title>
 <link>http://au.sys-con.com/node/994017</link>
 <description>This article explains how an Open Source SOA Roadmap can use a typical Web application project’s funding as the basis for a successful SOA transition effort. It is the first of three articles that explains how open source technologies and techniques can be leveraged to successfully deliver SOA solutions given the current economic downturn.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/994017&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 08 Jun 2009 18:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/994017</guid>
</item>
<item>
 <title>Why SOA Is a Good Fit for CRM Solutions</title>
 <link>http://au.sys-con.com/node/986756</link>
 <description>Online commerce is no longer just for consumer products, but also for direct and indirect goods and services. As a result, new demands are placed on classic customer relationship management (CRM) applications. While most have successfully automated customer-facing interactions (such as order capture, configuration, pricing, and order query), they still rely on external systems to process subsequent steps (such as invoicing, fulfillment, and pick-pack-ship), which are completed in a back-office enterprise resource planning (ERP) application. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/986756&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 07 Jun 2009 10:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/986756</guid>
</item>
<item>
 <title>Configuring JDBC in Oracle JDeveloper</title>
 <link>http://au.sys-con.com/node/961861</link>
 <description>The Java Database Connectivity (JDBC) API is used to access a SQL database from a Java application. JDBC also supports tabular data sources, such as a spreadsheet.
Oracle JDeveloper is a free Integrated Development Environment (IDE) for modeling, developing, debugging, optimizing, and deploying Java applications. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/961861&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 03 Jun 2009 17:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/961861</guid>
</item>
<item>
 <title>The Future of SOA</title>
 <link>http://au.sys-con.com/node/973243</link>
 <description>As consumers we are accustomed to the end-user experience of the Internet. With HTTP and XML, you don’t need to have a specific application on your computer to make use of external data – you can just open a browser window and do a search or visit a particular Web site to find the information you need. &lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/973243&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 02 Jun 2009 23:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/973243</guid>
</item>
<item>
 <title>REA Is Where RIA Becomes the Norm</title>
 <link>http://au.sys-con.com/node/951686</link>
 <description>Do you believe that the day when programmers could focus on one language in their jobs is gone? Thanks to the ever-changing IT landscape and the uncertain financial times, contemporary developers are expected to work with a wide range of platforms, frameworks, languages as essentially “masters of all and specialists in none.”&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/951686&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 02 Jun 2009 22:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/951686</guid>
</item>
<item>
 <title>Java Persistence on the Grid: Approaches to Integration</title>
 <link>http://au.sys-con.com/node/951117</link>
 <description>The Java Persistence API (JPA) is the enterprise standard for accessing relational data in Java. JPA provides support for mapping Java objects to a database schema and includes a simple programming API and expressive query language for retrieving mapped entities from a database and writing back changes made to these entities. JPA offers developers productivity gains over writing and maintaining their own mapping code allowing a single API regardless of the platform, application server, or persistence provider implementation.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/951117&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 02 Jun 2009 16:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/951117</guid>
</item>
<item>
 <title>Zen and the Art of Bug Hunting</title>
 <link>http://au.sys-con.com/node/983904</link>
 <description>Ask any software engineer about difficult bugs they’ve faced and they’ll always have a story to tell you: the bug that took weeks to track down, the bug that was affecting millions of customers but could not be reproduced by any of the development team, or the bug that brought the entire system grinding to a halt that turned out to be due to a single misplaced comma.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/983904&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 02 Jun 2009 06:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/983904</guid>
</item>
<item>
 <title>Enterprise Architecture: Hope Or Hype?</title>
 <link>http://au.sys-con.com/node/959989</link>
 <description>When Enterprise Architecture is able to prove that it can bridge the business vision to IT’s tactical operations, its function will no longer be Hype and EA staff members will no longer need to Hope they won’t be cut. Enterprise Architecture will become an organization without which the company will feel the pain just as it would if other departments within the IT organization were cut.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/959989&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 13 May 2009 08:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/959989</guid>
</item>
<item>
 <title>Agile Methodologies to Improve SOA</title>
 <link>http://au.sys-con.com/node/953487</link>
 <description>Recently industry analysts, press, and bloggers have been writing about the state of service-oriented architecture (SOA) and whether it’s “dead” or in the “trough of disillusionment.&quot; These discussions have been fueled by surveys that suggest a decline in the number of organizations considering SOA, or that organizations have evaluated, but decided to shelve SOA for the time being.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/953487&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sat, 09 May 2009 12:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/953487</guid>
</item>
<item>
 <title>Standardized Tooling: Building Bridges, Not Walls</title>
 <link>http://au.sys-con.com/node/941430</link>
 <description>Some walls are necessary. We use brick-and-mortar walls to support buildings and firewalls to protect our computers from attack. But not all walls are good. Consider the Berlin Wall, a wall of segregation. It divided a country and its citizens, but has subsequently been brought down by people working together because upon re-evaluation the Wall did more harm than good.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/941430&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 29 Apr 2009 15:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/941430</guid>
</item>
<item>
 <title>Five Ways Cloud Computing Strengthens IT</title>
 <link>http://au.sys-con.com/node/920982</link>
 <description>This is a blog that proposes five distinct ways in which cloud computing solutions can strenghten the efforts of development and test teams within an enterprise.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/920982&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 15 Apr 2009 15:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/920982</guid>
</item>
<item>
 <title>Why an Application Grid?</title>
 <link>http://au.sys-con.com/node/905532</link>
 <description>Application servers, those dependable workhorses that run most enterprise Java applications, are rarely a hot topic of conversation these days. As a technology category, the application server appears to be fairly “established” and that the focus has moved elsewhere in the stack, but appearances can be deceiving.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/905532&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sat, 11 Apr 2009 22:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/905532</guid>
</item>
<item>
 <title>Requirements Reuse by Aspect Weaving in Storyboards</title>
 <link>http://au.sys-con.com/node/914510</link>
 <description>I wrote in my previous article, “Interactive Storyboarding with JSP,” that interactive storyboarding is an effective way to define better requirements by eliciting actual business user needs. And I proposed to describe the requirements inJSPs with the J-CASE tag library, which enables business to experience conceptual pages to get a better understanding of the proposed system. As a next step, this article proposes to create a storyboard library that can be reused among projects. This article also shows that aspect weaving makes customization of the library easier to describe application-specific requirements.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/914510&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 09 Apr 2009 13:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/914510</guid>
</item>
<item>
 <title>Why Enterprise Architecture?</title>
 <link>http://au.sys-con.com/node/909464</link>
 <description>The rise of Enterprise Architecture (EA) should be no surprise to any of us, and yet every day businesses either opt out of deploying enterprise architecture, or can’t deploy it effectively. While the Industrial Age was characterized by process-based advances such as assembly lines and schematics, the Information Age isn’t characterized by the rigors of engineering that richly founded the manufacturing surge in the early 1900’s. As a result, nearly 40% of existing enterprise architecture programs will be stopped by 2010 because of poor execution, according to analysts at Gartner.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/909464&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 06 Apr 2009 15:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/909464</guid>
</item>
<item>
 <title>An Architecture for Harmonic Content Management Integration</title>
 <link>http://au.sys-con.com/node/886003</link>
 <description>More and more web sites are using portal functionality. Portals are perfect for building mashups and interactive web sites offering a lot of functionality in a single web page. Content is a vital part of most portals. Content management integration in portals has traditionally been treated different by different vendors and frameworks. Web Content Management System (CMS) vendors have tried to provide Portal like functionality in their systems. Portal vendors have been bundling simple Web Content Management Systems with their Portal products. Those of you who have experience with these kinds of systems, and needed both real Portal and real CMS functionality have most likely seen that this lead to challenges since few vendors deliver full scale solutions covering both CMS and Portal technologies.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/886003&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 23 Mar 2009 12:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/886003</guid>
</item>
<item>
 <title>How JVMs Improve Application Performance</title>
 <link>http://au.sys-con.com/node/879614</link>
 <description>This article looks at a Java Virtual Machine (JVM) feature called Escape Analysis in some detail and how the JVM can use it to improve an application&#039;s performance. As you&#039;ll see, understanding what the JVM can do with escape analysis can help explain some otherwise non-intuitive performance results.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/879614&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 16 Mar 2009 18:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/879614</guid>
</item>
<item>
 <title>OpenSocial for Application Developers</title>
 <link>http://au.sys-con.com/node/840869</link>
 <description>OpenSocial defines a common API for social applications across multiple websites. Built from standard JavaScript and HTML, developers can create applications with OpenSocial that access a social network’s friends and update feeds. By using a common API, developers can extend the reach of their applications more quickly, yielding more functionality for users.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/840869&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 12 Mar 2009 07:45:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/840869</guid>
</item>
<item>
 <title>Automation Puts the &#039;A&#039; in Agile Testing</title>
 <link>http://au.sys-con.com/node/865658</link>
 <description>In the agile community there are many different opinions about the value of automated testing. While many argue about automation&#039;s place in agile, the business realities of geographic separation, multiple teams, and limited resources dictate a more pragmatic approach. The process of software delivery has always centered on the idea that teams must manage quality if they are to avoid operational risk.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/865658&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 09 Mar 2009 10:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/865658</guid>
</item>
<item>
 <title>Developing Rich Client Applications Using Swing - II</title>
 <link>http://au.sys-con.com/node/841127</link>
 <description>In Part 1 of this article, I introduced rich client development, available architectures for developing rich client applications based on the Swing toolkit, and technologies that could be used to make development more productive. In this second part, I’ll compare the most popular IDEs and evaluate them with an eye to Swing development for rich client applications.&lt;p&gt;&lt;a href=&quot;http://au.sys-con.com/node/841127&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sat, 07 Mar 2009 23:00:00 EST</pubDate>
 <guid isPermaLink="true">http://au.sys-con.com/node/841127</guid>
</item>
</channel>
</rss>
