The Mobility Platform team has been working on a number of new features and enhancements since the release of GlassFish Mobility Platform v1.1 in February 2009. One of those features is the ability to run the Mobility Platform software on top of Glassfish ESB. There is a clear synergy between the Mobility Platform and Glassfish ESB. The former is all about mobilizing the enterprise, while the latter is about integration of enterprise and legacy information systems. By running the Mobility Platform on top of Glassfish ESB, as opposed to just Glassfish, it is possible to write enterprise connectors that sit on the enterprise bus and can mobilize all sorts of information systems.
In case you missed it, the call is open for JavaOne 2009 submissions and the deadline is December 19th, 2008. Contrary to the last few years, the conference will be in early June in 2009, so there's plenty of time for your travel plans but not a lot of time to prepare your abstracts!
In this installment of the Developing MEP Connectors series we focus on the development cycle of a MEP connector, including source code generation from a template, compilation and deployment. The recommended tools for developing MEP connectors are NetBeans 6.1 (or later) and Maven 2.0.8 (or later), although developing under other IDEs should be straightforward given that Maven is the primary tool that we use.
Last week I returned from Buenos Aires, Argentina where I had a chance to speak about Glassfish. I visited two of the major universities and also spoke at the free software conference "Jornadas Regionales de Software Libre" (JRSL). Overall, everyone was quite impressed with the power that Glassfish, Netbeans and MySQL have to offer.
I'm a few days late in reporting that the first public working draft of the Efficient XML Interchange (EXI) format is now available from W3C. And, naturally, the "binary XML" threads have resumed on xml-dev and in a few other places. Without trying to address all the questions raised in those threads, I'll talk about how EXI compares to Fast Infoset.
The W3C Efficient XML Interchange (EXI) Performance Testing Framework is now publicly available for download. This is the testing framework used by the EXI WG to evaluate properties of "binary XML" candidates. Specifically, the framework can be used to measure Processing Efficiency and Compactness, and includes support for in-memory and network testing. It is also a great example on how to build a benchmark using the Japex framework.
The First Customer Shipment (FCS) version of JAXP 1.4 Reference Implementation (RI) is now available from Java.net. JAXP 1.4 is maintainance release of JAXP 1.3 with added support for the Streaming API for XML (StAX), and it is also the release included in Java SE 6.0.
The Sun Tech Days in Buenos Aires, Argentina was a fantastic event: great venue (Hilton Puerto Madero), great city (well, my home town so I'm biased) and absolutely fantastic food. Oh, yes, and also really good technical sessions. The slides of my two presentations should be available from the developer.sun.com web site soon, but just in case I'm also linking them to this blog.
Kohsuke has recently blog about Hudson plugins and also about the plugin that we have recently wrote for Japex. Here are some more details on how to get up to speed with performance tracking using Japex and Hudson.
Back in April, I blogged about using the Japex regression tracking tool to monitor performance over time. This tool computes a diff between the last two reports and sends alerts via e-mail if a regression (or a progression) higher than a threshold is detected. In addition to looking at the last two reports, performance can be tracked by analyzing trends, i.e. by plotting performance results over the last N reports. The Japex trend report tool can be used for this purpose.
It has been a while since my last blog about Japex. I'm currently working on a couple of improvements: the first involves cleaning up and simplifying the Japex trend reporting tool (but more on this on a later installment) and the second is about conditional processing in configuration files, the topic I would like to talk about today.
The latest version of the JAXP Reference Implementation (RI), version 1.4, is currently available from the Java.net Maven repository. JAXP RI version 1.4 is part of J2SE 6.0 (a.k.a. "Mustang") and it is therefore available in the beta2 versions of the JDK and the JRE for J2SE 6.0.
The standalone JAXP RI (i.e., the version not bundled with J2SE 6.0) used to be available in multiple jars like dom.jar, xercesImpl.jar, etc. We have greatly simplified the building procedure and are now offering just two jars: jaxp-api.jar and jaxp-ri.jar.
The Japex jars are now part of the ever-growing Maven repository. You can find the Japex engine and core classes under com.sun.japex, and the Japex Driver Standard Library under com.sun.japex.jdsl. Current Japex version is 1.0.11, and with Maven finding the latest and greatest version should be straightforward.
Japex 1.0.9 now includes a new performance tracking tool. If you are a Japex user, or are planning on becoming one soon, you should check this out. The performance tracking tool can be used to send e-mail notifications for regressions (or progressions) based on a pre-defined threshold. This new tool complements the trend reporting tool already available in Japex.
Japex 1.0.3 is out with a number of very cool features. Since I didn't have a chance to blog about the features in version 1.0.2, I'll use this opportunity to talk about all the features that were added in the last few weeks. This include support for XInclude, test groups, parameter groups, new formulas for computing latency and throughput in multi-threading tests and much more!
As more cores and harware threads are added to the new generation of micro-processors, the ability to easily test software scalability becomes increasingly important. Depending on the type and complexity of your application, using Japex may be a quick and simple way to verify the scalability of your code. In this blog, I'll show you how I tested Fast Infoset parsing scalability on a SunFire T2000.
Paul Sandoz and I have developed an extension to Japex to support native drivers. This allows a benchmark to compare the relative performance of a C-based XML parser vs. a Java-based XML parser, for example. Read on if you're interested in learning more about native driver support in Japex.
Despite some similarities, performance testing and conformance testing are different types of activities, and certainly not every conformance test is necessarily a good performance test. There have been some attempts to using JUnit for performance testing, notably JUnitPerf. Rather than extending a conformance framework for performance purposes, we took the opposite approach and extended Japex, a performance framework, to integrate with JUnit. It turns out that in some cases JUnit tests are good performance tests and having the ability to re-use conformance tests for performance does save a lot of time. Interested? Read on ...
I've recently got a new Ultra 20 workstation and ran into some problems displaying remote applications on my Powerbook X11 server. Maybe I didn't come up with the right set of Google keywords to find the solution, so to me it looked as if this info is not readily available on the Web. Thus, I decided to write it up in my blog.
I've talked about the Japex Micro-benchmark Framework a few times in my blog during the last couple of months. Japex has recently experienced tremendous growth, to the point of deserving its own project at Java.net (up until now it was part of the Fast Infoset project). This is the official announcement for the creation of this new project, so please stop by and join us!