Daily del.icio.us for Aug 25, 2007

  • James Duncan Davidson ? Remembering Java Naming Blunders Past – The value of a brand is created by the public that uses it, not by the company that owns it. Brands are funny things. They make us choose products out of a sense of comfort instead of an honest evaluation.
  • Raible Designs | Display Tag 1.1.1 Released – Display Tag version 1.1.1 has been released. This is a bug fix release
  • Java.net – Unified Expression Language for JSP and JSF – This article looks at the unified expression language (EL), which has been added to the JavaServer Pages Standard Tag Library (JSTL) specification in order to overcome problems when integrating the JavaServer Pages (JSP) EL with the JavaServer Faces EL.
  • Web Tier to Go With Java EE 5: Summary of New Features in JSP 2.1 Technology – The expert groups have worked together on the upcoming releases of JSP 2.1 and JavaServer Faces 1.2 technologies in Java EE 5 to fix these integration issues and make sure that the two technologies work together seamlessly.
  • jmockit: Project Home Page – JMockit consists of a single class with a small set of static methods, which allow arbitrary methods and constructors of any other class to be replaced by mock implementations at runtime.
  • Mock Objects: Shortcomings and Use Cases – This article looks at Mock Objects, a testing technique from the XP community that offers a way to test our code in isolation by simulating those external dependencies. As with any other tool, we need to be careful and avoid overusing them.
  • Jeffrey Zeldman Presents : Eric Meyer’s CSS Sculptor – Eric Meyer’s CSS Sculptor, created in collaboration with WebAssist, makes it drop-dead easy to create standards-compliant, two- and three-column CSS layouts and includes 30 of the most common web page layouts, coded the way Eric Meyer would code them.
  • IT Efforts: Struts2 + Spring + JUnit – Hopefully this entry serves as some search engine friendly documentation on how one might unit test Struts 2 actions configured using Spring
  • InfoQ: The Secret Sauce of Highly Productive Software Development – This article stands as a reminder that the Agile approach already offers many learning practices and mechanisms ? are they all being used to best advantage, to serve your team and your business?
  • XFire Creator Joins MuleSource – Diephouse is the creator of XFire, the high performance open source SOAP framework. He joined MuleSource as the software architect focused on expanding Mule’s web services capabilities.
  • Introduction To iBatis – This tutorial will focus on using iBatis in a Java application and Abator, a code generation tool
  • Spring Web Services 1.0 Released | Springframework.org – After two years of development, we are pleased to announce that Spring Web Services 1.0 is now available. Spring Web Services is a product of the Spring community focused on the creation of document-driven, contract-first web services.

Daily del.icio.us for Aug 21, 2007 through Aug 25, 2007

  • James Duncan Davidson ? Remembering Java Naming Blunders Past – The value of a brand is created by the public that uses it, not by the company that owns it. Brands are funny things. They make us choose products out of a sense of comfort instead of an honest evaluation.
  • Raible Designs | Display Tag 1.1.1 Released – Display Tag version 1.1.1 has been released. This is a bug fix release
  • Java.net – Unified Expression Language for JSP and JSF – This article looks at the unified expression language (EL), which has been added to the JavaServer Pages Standard Tag Library (JSTL) specification in order to overcome problems when integrating the JavaServer Pages (JSP) EL with the JavaServer Faces EL.
  • Web Tier to Go With Java EE 5: Summary of New Features in JSP 2.1 Technology – The expert groups have worked together on the upcoming releases of JSP 2.1 and JavaServer Faces 1.2 technologies in Java EE 5 to fix these integration issues and make sure that the two technologies work together seamlessly.
  • jmockit: Project Home Page – JMockit consists of a single class with a small set of static methods, which allow arbitrary methods and constructors of any other class to be replaced by mock implementations at runtime.
  • Mock Objects: Shortcomings and Use Cases – This article looks at Mock Objects, a testing technique from the XP community that offers a way to test our code in isolation by simulating those external dependencies. As with any other tool, we need to be careful and avoid overusing them.
  • Jeffrey Zeldman Presents : Eric Meyer’s CSS Sculptor – Eric Meyer’s CSS Sculptor, created in collaboration with WebAssist, makes it drop-dead easy to create standards-compliant, two- and three-column CSS layouts and includes 30 of the most common web page layouts, coded the way Eric Meyer would code them.
  • IT Efforts: Struts2 + Spring + JUnit – Hopefully this entry serves as some search engine friendly documentation on how one might unit test Struts 2 actions configured using Spring
  • InfoQ: The Secret Sauce of Highly Productive Software Development – This article stands as a reminder that the Agile approach already offers many learning practices and mechanisms ? are they all being used to best advantage, to serve your team and your business?
  • XFire Creator Joins MuleSource – Diephouse is the creator of XFire, the high performance open source SOAP framework. He joined MuleSource as the software architect focused on expanding Mule’s web services capabilities.
  • Introduction To iBatis – This tutorial will focus on using iBatis in a Java application and Abator, a code generation tool
  • Spring Web Services 1.0 Released | Springframework.org – After two years of development, we are pleased to announce that Spring Web Services 1.0 is now available. Spring Web Services is a product of the Spring community focused on the creation of document-driven, contract-first web services.
  • Struts2 Tutorials – Several tutorials are available to help you get started with the framework, from all-purpose “soup to nuts” tutorials to specialty tutorials on portlets and database access.
  • GnilronEye 1.1, system monitoring solution, released – GnilronEye 1.1, a java-based system monitoring solution, is now available for download. GnilronEye 1.1 introduces an advanced http-monitoring feature and a new report feature that include sgraphs of the monitored items.
  • A CSS styled table version 2 | Veerle’s blog – In 2005 I wrote an article about styling a table with CSS. After receiving so many requests I finally decided to give in and write another tutorial.

Daily del.icio.us for Mar 21, 2007 through Mar 27, 2007

  • Enunciate Your Web Service API – From your source code, Enunciate will build a fully-documented, interoperable web application in the form of a web application archive (war file). A consolidated, annotated XML contract is generated at compile-time. Each service class is published as a SO
  • Uni-Form – One Form to Rule Them All – Uni-Form is an attempt to standardize form markup (xhtml) and css, "modularize" it, so even people with only basic knowledge of these technologies can get nice looking, well structured, highly customizable, semantic, accessible and usable forms.
  • sq1-struts2 – Google Code – ‘Apache Struts 2 from Square One’ is a training course designed for people who want to create Java web applications, not just quickly, but correctly. Training sessions include a technology primer and a coding exercise. This Project hosts materials used by
  • Scand Unveils dhtmlxCombo, Ajax Combobox with Autocomplete – Scand LLC announced the release of new Ajax-based UI component dhtmlxCombo v1.0. It’s a JavaScript combobox control which provides suggestion search and automatic completion functionality to web-based applications
  • Ultimate htaccess Examples | evolt.org – Here’s my list of the ultimate htaccess code snippets and examples that I use all the time.
  • Dr. Dobb’s | Adobe Woos Web Developers With Apollo Alpha | March 19, 2007 – Apollo is something of an anti-AJAX: It brings elements of online interaction to a desktop client application. Like Flash, Apollo includes a free runtime that users will need to download to their PCs. Using Adobe’s free Apollo development kit, programmers

Life is beautiful with XMLBeans and XStream

XML creation, parsing and processing with Java has gotten so much easier with tools like XMLBeans, XStream and many other such tools. I personally love XMLBeans and XStream and I try to use them for all of my XML processing needs. While they both consume XML, they solve different problems. XMLBeans allows you to process XML by binding it to Java types using XML schema that has been compiled to generate Java types that represent schema types. XStream on the other hand allows you to serialize objects to XML and back again using special reflective secret sauce.

I’ve been using these tools for many years now and so you tend to forget just how useful and powerful they are and how productive they make you. Case in point – A friend of mine came to me for help. He was building an application that would allow him to resale items from Amazon on his site and he wanted to use the Amazon eCommerce Web Services to search for products programmatically and update a local database that housed his content. Having played with Amazon E-Commerce Service (ECS) before, I offered to write up a simple application that would make the Web Services call, process the results and present them back to you.

Amazon’s ECS is an API that allows you to access Amazon data and functionality through a Web site or Web-enabled application. ECS follows the standard Web services model: users of the service request data through XML over HTTP (REST) or SOAP and data is returned by the service as an XML-formatted stream of text. In addition to the WSDL, ECS also provides XML schemas for validating the XML output of REST requests. So I decide to use XMLBeans to create my type system using the XML Schema provided by Amazon. XMLBeans provides you with a utility (scomp) to compile your schema into Java XMLBeans classes and metadata. To generate the Java code, use the following command:

scomp –jar amznws.jar AWSECommerceService.xsd

This generates a jar file named amznws.jar, which will contain all of the code needed to bind an XML instance to the Java types representing your schema. In my application, I use HttpClient to make my REST request and then use the XMLBeans generated jar file to process the result. Here’s a snippet of code from my sample class:

https://gist.github.com/311527.js

As you can tell, HttpClient makes the REST call a snap and XMLBeans makes processing the results easy as well. In total, I spent 3-4 hours getting the application working and a lot of the time was spent figuring out the data set returned from Amazon and trying to come up with a meaningful example. Here is a zip file with the IDEA project that has all the stuff needed to make this work including a simple JSP and a JUnit test class.

Links of Interest: