in a state of flux(t)

Software engineer, political news junkie, kind of obsessed with volleyball, tennis and snowboarding. Other topic liable to be covered here, in the grand and generic tradition of the mid-20's college-educated city-dwelling white male: college football, cooking and restaurants, beer, and economics

Enhancing Reporting Consistency And Usability Using Tools in J2EE-based Web Applications

An article I wrote was just posted up on the Nexaweb Developer Center.  The article does not center around Nexaweb platform technologies, but rather is a general How-To for J2EE servlets, guiding a user through the creation of a servlet that enables the creation and embedding of charts into user-created PowerPoint templates. Why would you be interested in such a thing? From the article,
Business users often request functionality in their web applications that connects them to the applications they know best – the Microsoft Office suite.  In particular, a significant portion of today’s workforce live and breathe PowerPoint and Excel daily. However, silos of data embedded in Excel spreadsheets scattered across the company present real challenges for today’s CIOs and IT executives in charge of maintaining consistent and accurate reporting.  In this post, I am going to describe a solution for providing a consistent and easy to use method for enhancing reporting consistency across the enterprise by providing business users the ability to upload their presentation tool of choice – a PowerPoint presentation – and return the same presentation to them containing accurate and up-to-date data in the form of customizable charts and tables.
Read the whole article to learn more.

Speaking of DWR 3

Here's Joe Walker, lead developer on DWR, discussing the new features of DWR 3.0 in greater detail.

Java versus Javascript, James Fallows Edition

Possibly the least expected place to find this discussion, James Fallows of The Atlantic Monthly weighs in with comments from readers on both sides. In opposition to Java, a reader contends,

[...] As programming (or scripting) languages go, JavaScript has always been relatively easy to learn and has allowed developers (and businesses) to rapidly develop useful web applications. The same is not true of the strict and complex Java programming language.  Good Java programmers were (and still are) few and expensive; good web technology (JavaScript/CSS/HTML) developers were (and still are) abundant and less expensive and, again, the performance of JVMs in web browsers was crap until recently. [...]

Of these points, it's plainly true that Java is strict and that the performance of JVMs has sucked.  In particular, UI layout with Swing has been a constant headache from the start - declarative UI modeling is clearly superior to programmatic modeling, and this is supported by the fact that nearly every single client-side UI technology supports some type of declarative syntax, whether it is XUL (Mozilla), XAML (Microsoft), MXML (Adobe, formerly Macromedia), or HTML (duh).  Now, Java is overcoming these obstacles, finally.  Nexaweb, my current employer, offers a declarative UI language called XAL, for building RIAs and desktop applications based on Java technology.  Additionally, while JVMs were a performance bear 5 years ago, both Java and computers have come a long way, to the point where performance is an advantage of Nexaweb's product versus Flex, and the memory-intensive JVMs barely make a dent in the RAM available on a typical machine. As for the reader's other points, there are far and away more Java developers in the world than there are JavaScript developers, unless you define a JavaScript developer down to meaning a monkey who knows how to use ".innerHTML" once or twice inside an <a> tag's onClick event.  These are not the people you want developing your rich web application. In favor of Java, On the Java side, a reader notes the irony in Google Chrome's focus on rich client apps.

There's plenty of irony in Google's effort to create a robust client-side platform for web-based ("cloud") applications, mainly because Netscape and Sun tried and failed to do exactly this over ten years ago.  Part of this effort was led by a guy named Eric Schmidt, then at Sun, and used Java, a technology that's superior to the Javascript language that's now being used largely because Java never quite worked on the client (i.e., in the user's browser).

Of course, in my current position, I am working on making Java "quite work" on the client.  This is definitely a significant near-term opportunity.  The question is not what the RIA market will look like a year from now - it will look quite similar to today, with Microsoft and Adobe dominating the RIA market, a narrowing of the field of JavaScript toolkits, and smaller players like Nexaweb trying to break through (maybe we will have broken through!) The real question is, what the market will look like 5 years from now?  WIth the incredible enhancments being made to JavaScript engine performance, will the JavaScript toolkits move up the complexity chain into the space currently occupied by the Microsoft / Adobe duopoly?  Just as technology is overcoming the performance issues related to Java virtual machines, we will eventually overcome the same performance issues related to JavaScript engines and DOM manipulation.  If only someone would create a declarative UI markup language for JavaScript toolkits...