Daily del.icio.us for December 12th through January 5th

  • Generate a self-signed SSL Certificate with OpenSSL | *.hosting – Occasionally it may be necessary to generate a self-signed SSL certificate. This could be for internal websites, or for other internal uses that may require secure encrypted network transmissions. We decided to post this guide for everyone to use, since using the guide as a reference may hopefully be useful to those of you out there
  • Google Collections Library: 1.0-final! – Google Collections Library – The Google Collections Library 1.0 is a set of new collection types, implementations and related goodness for Java 5 and higher, brought to you by Google. It is a natural extension of the Java Collections Framework.
  • InfoQ: Re-thinking Lean Service – Taiichi Ohno discovered some counter-intuitive truths as he developed the Toyota System. Similar counter-intuitive truths wait to be discovered by leaders of service organisations. When they are understood and applied, service organisations' performance is transformed to levels that, to the current mind-set, would be considered unachievable.
  • InfoQ: SpringSource’s Ben Alex talks about Spring Roo, Spring Shell and Spring Security 3.0 – Dr Ben Alex, The Project Lead of the Spring Roo code generator project, discusses using Roo on an existing project, building custom templates and add-ons for Roo, and how its capabilities compare to other productivity tools such as Grails.
  • sesawe.net – English – Sesawe is a global alliance dedicated to bringing the benefits of uncensored access to information to Internet users around the world
  • iPhone App Developers | PointAbout – PointAbout allows you to quickly mobilize the content you’re already publishing, like RSS & XML feeds, APIs and HTML content. Our AppMakr.com service builds native mobile applications in minutes instead of months, across multiple phone platforms without any ramp-up time and no need for proprietary programming expertise.
  • jLinq – LINQ for JSON – jLinq is a fully extensible Javascript library that allows you to perform LINQ style queries on arrays of object.
  • Querying JPA Entities with JPQL and Native SQL – Learn how to take advantage of the Java Persistence query language and native SQL when querying over JPA entities.
  • Spring Module OXM – A new feature of Spring Framework 3.0 | united-coders.com – I think the Spring OXM module is absolutely usable. It is a nice way to keep the code independent from the underlying marshalling technology. And there are a lot more ways to use Spring OXM. At this time the Castor project, Apache XMLBeans, JiBX, XStream and JAXB is supported
  • JD | Java Decompiler – The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions.
  • As the Nation’s Pulse Races, Obama Can’t Seem to Find His – If we can’t catch a Nigerian with a powerful explosive powder in his oddly feminine-looking underpants and a syringe full of acid, a man whose own father had alerted the U.S. Embassy in Nigeria, a traveler whose ticket was paid for in cash and who didn’t check bags, whose visa renewal had been denied by the British, who had studied Arabic in Al Qaeda sanctuary Yemen, whose name was on a counterterrorism watch list, who can we catch?
  • Grails – 1.2 Release Notes – SpringSource are pleased to announce the 1.2 release of the Grails web application development framework. Grails is a dynamic web application framework built on Java and Groovy, leveraging best of breed APIs from the Java EE sphere including Spring, Hibernate and SiteMesh
  • A Unix Utility You Should Know About: lsof – good coders code, great reuse – If netcat was called the Swiss Army Knife of Network Connections, then I’d call lsof the Swiss Army Knife of Unix debugging.
  • 100+ Open Source/Free Security Tools | TuVinhSoft .,JSC – Below are some open source/free tools that can help you with security testing as well as tools that will keep your system secure. Please use these tools ONLY for good.
  • YouTube – Google Web Toolkit 2.0 New Features – This video provides an overview of new features in Google Web Toolkit (GWT) 2.0, a tool which enables developers to produce highly optimized, browser-specific JavaScript for their apps
  • Ext JS 3.1: Massive memory improvements, TreeGrid, and more – On behalf of the Ext Team, I am extremely excited to announce the final release of Ext JS 3.1. With this release we rededicate ourselves to making Ext JS the best it can be, in both features and performanc
  • InfoQ: Amazon RDS: MySQL Database as a Cloud Service – Amazon recently added a new MySQL database offering to their Amazon Web Services (AWS) platform named Amazon Relational Database Service (RDS), which works just like a traditional MySQL installation
  • InfoQ: Whats New in Spring 3.0 – Arjen Poutsma reviews Spring Framework 2.5 and takes a look at Spring 3.0 – Java 5+, Spring Expression Language, REST support, Portlet 2.0, declarative model validation, early support for Java EE 6 – and the roadmap ahead.
  • Spring Framework 3.0 goes GA | SpringSource Team Blog – After a long ride, it is my pleasure to announce that Spring 3.0 GA (.RELEASE) is finally available (download page)! All of SpringSource is celebrating – join the party
  • Pivotal Tracker – Free Lightweight Agile Project Management – Tracker is a free, award winning, agile project management tool that enables real time collaboration around a shared, prioritized backlog.
  • Agile software development, the principles. Principle 11 – The best architectures, requirements, and designs emerge from self-organizing teams.
  • Using Linux – Linux Administration Basics – Linode Library – This document presents a collection of common issues and useful tips for Linux system administration. Whether you're new to system administration or have been maintaining systems for some time, we hope these tips are helpful regardless of your background or choice in Linux distributions
  • JAX-WS 2.2/Metro 2.0/Java EE6/GlassFish V3 Released | Java.net – We are pleased to announce the release of JAX-WS 2.2 and JAX-WS 2.2 RI. RI is also included in Metro 2.0. As Metro 2.0 is bundled in GlassFish v3, you don't require any separate installation step. On the servlet containers like Tomcat, you follow the installation instructions in the bundle.
  • Metro 2.0 released | Java.net – Metro 2.0 has been released. Here is an overview of the new features

Daily del.icio.us for Jul 14, 2007 through Jul 15, 2007

Daily del.icio.us for Mar 17, 2007

  • SXC – Simple XML Compiler – SXC (Simple XML Compiler) allows you to created optimized parsers and writers for XML. Through a declarative API you’re able to tell SXC what type of XML to expect and what actions to associate with it.
  • On the Stre@m – Flex has become more accessible – The Flex module for Apache and IIS provides web-tier compilation of MXML and ActionScript files on Apache and IIS web servers.
  • Assessing the Survivors of the Java IDE Wars – For enterprise development, I’d say IDEA wins out with its rich support for both J2EE and Java EE 5, followed closely by NetBeans (which also does an impressive job here), and last is Eclipse/MyEclipse (mostly due to their current lack of support for Java
  • An XQuery Servlet for RESTful Data Services – This paper shows how to use XQuery for data integration, and how to expose an XQuery as a RESTful data service using a Java servlet
  • Control.Tabs : Projects : LivePipe – Control.Tabs is a javascript library for creating accessible, flexible & unobtrusive tabbed interfaces in your applications or pages.

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:

Discover how XMLBeans is revolutionizing data binding

Get an in-depth look at the features and functionality of XMLBeans. This article introduces the technology with a simple example, takes you through the step-by-step process of compilation and binding, and discusses advanced features like XML cursors, tokens, and XQuery expressions. It also discusses how XMLBeans is more powerful than other XML-Java technology data binding techniques.

http://www-106.ibm.com/developerworks/xml/library/x-beans1/

BEA looks to open-source part of WebLogic Workshop

Just saw this article on eWeek. The article states that BEA is slated to announce plans to open-source portions of its WebLogic Workshop tool at the upcoming eWorld conference. BEA has a pretty good record of supporting open-source software and the XMLBeans project is a good example of that. I think the support of AspectWerkz is another example.

If BEA does open-source some of the features of Workshop, this could really help the Eclipse Webtools platform project. I am not a Workshop power user by any stretch of the imagination, but it still does have some pretty cool features. It would be nice to incorporate things like page flow and some of the other cool features into the Eclipse webtools product – Give IntelliJ’s Fabrique a run for the money.

XMLBeans arrive @ Apache

Just caught this email in my mailbox and I’m really excited to see this development. I was blogging about this topic earlier and I am really glad to see this happen.


-----Original Message-----
From: Cliff Schmidt [mailto:cliff@bea.com]
Sent: Monday, September 15, 2003 9:05 PM
To: announce@incubator.apache.org; announcements@xml.apache.org; general@incubator.apache.org; general@xml.apache.org; announcements@jakarta.apache.org
Cc: pmc@xml.apache.org; pmc@incubator.apache.org
Subject: XMLBeans code has been checked in!

Thanks to the help of Brian Behlendorf, Ted Leung, Steven Noels, Greg Stein, and several other friendly folks within Apache, BEA has just checked the entire XMLBeans source code into cvs.apache.org [1]. It's now available to everyone who wants to be involved -- just click on 1+ of the links below [2] [3][4][5] and join the exciting world of XML and Java binding!

Thanks,
Cliff

[1] http://nagoya.apache.org/eyebrowse/ReadMsg?listName=xmlbeans-dev@xml.apache.org&msgNo=64

XMLBeans Web site (soon to be updated with binaries, docs, and much more): [2] http://xml.apache.org/xmlbeans/

Subscription links:
[3] mailto:xmlbeans-user-subscribe@xml.apache.org
[4] mailto:xmlbeans-dev-subscribe@xml.apache.org
[5] mailto:xmlbeans-cvs-subscribe@xml.apache.org

Kudos to BEA for donating XMLBeans to the Apache Group and kudos to Apache for accepting it. I am really excited about participating in this project and I’m downloading the source as we speak.

XML Beans: The Best of Both Worlds

BEA’s dev2dev site has an article titled XML Beans: The Best of Both Worlds on their cover page. XMLBeans is a pretty interesting technology from BEA that provides easy navigation of XML data using cursors or XQuery statements. In addition, Java classes representing the XML document is automatically generated based on the XML Schema provided. These generated Java classes enable easy read/write access to XML information and enforce XML Schema constraints. Pretty neat idea and it’s fast. And the support for XML Schema is pretty nice.

This brings up an issue as Sun has been pushing JAXB as the standard API/tool that automates the mapping between XML documents and Java objects. Will these 2 products directly compete or will BEA support JAXB completely in their product line? BEA has typically had a really good record of supporting and leading the charge on creation of new standards via. the JCP. Hitesh Seth, the author talks about it in his article and I second his hope that these initiatives converge at some point. ok.. Now back to Hibernate 🙂