Who is Dennis Sosnoski?

photograph of Dennis Sosnoski

I'm a Java™ and XML developer working primarily with Web services and Service Oriented Architecture (SOA) issues. Through my company, I provide a range of training, mentoring, and consulting services to clients around the world. I also participate in a number of open source projects (including JiBX XML data binding and Apache Axis2 Web services) write articles, and give presentations for conferences and organizations worldwide. You can see some of my upcoming and recent activities highlighted below.

SOA/Axis2 Training Courses

The expanded Axis2 training course proved very popular on my April and June trips to the United States, and I'm now scheduling a round of Axis2 training courses in Australia for September, followed by another set in the United States for October/November. If your organization is planning projects based on Axis2 you'll find the training makes a huge difference in developer productivity. My SOA training for developers is also a very popular option, with several client companies combining the SOA and Axis2 training sessions to provide developers with both an understanding of SOA concepts and applied experience in implementing web services intended for SOA usage. Naturally, I'm also able to provide in-depth coverage of both JiBX and alternative data binding frameworks, either as part of these classes or as independent events. Contact me to find out more about the course and to check scheduling for your organization.

Want a sample? The latest article in my IBM® developerWorks® Java Web Services series uses material taken directly from the Axis2 training class: Axis2 Data Binding. Some sample code from the class is discussed in the article, and available for download from the Resources section at the end. There's also an Axis2 validation module from the class, which can be deployed and used on your own Axis2 services.

Articles

My first InfoQ article has now been published: "Code First" Web Services Reconsidered. The whole idea of web services development starting from real, live, code has taken quite a bashing over the last couple of years. Unfortunately, most of that bashing is based on misconceptions and outdated information (for a great example of the mis-information prevalent in this area, see this sample from the Spring documentation: Why Contract-First?; I won't go through a detailed analysis, but suffice it to say that it only considers the idea of starting from code as equivalent to the obsolete SOAP encoding technique, apparently without any idea of modern data binding frameworks including .NET and JAXB 2.0, as well as JiBX). The InfoQ article is an attempt to bring some balance to the discussion, using Jibx2Wsdl as an example of the potential benefits from a code-first approach.

Also, the third article in my IBM® developerWorks® Java Web Services series was published in July: Axis2 Data Binding. The second article was published in January: Digging into Axis2: AXIOM. Unfortunately the series continues to trickle out, with some long publishing delays. I'll try to make sure the next article in the series is out soon.

Projects

Last year I had the opportunity to develop an open source tool for the New Zealand Ministry of Education, now available on Sourceforge as the WS-Security Wrapper project. This tool acts as an intermediary for linking simple XML-based applications to web services using WS-Security. The particular implementation used for the Ministry of Education project connects to services running the non-standard WSE 2.0 .NET implementation of WS-Security, but it can easily be modified to work with other platforms as well.

New on the JiBX and Axis2 front is the Jibx2Wsdl tool. Jibx2Wsdl takes the start-from-code approach to web service development to a new level of applicability, with support for Java 5 enumerations and generic collections, JavaDoc extraction for use in service definitions, and automatic generation of JiBX bindings along with the matching schema and WSDL. It allows you to expose existing code as web services using Axis2 and JiBX data binding, while retaining the flexibility to modify your data model and adjust the JiBX bindings so that the XML is unchanged. Alternatively, you can just generate a WSDL and schema using Jibx2Wsdl and throw away the JiBX binding definitions, using the generated WSDL and schema as the basis for a start-from-WSDL approach.

Presentations

My most recent public presentation was a JiBX talk to the Wellington Java Users Group on May 2, 2007. The slides from that presentation include a quick introduction to working with JiBX data binding along with a more detailed look at Jibx2Wsdl (including some details of the customization structure, not yet included in the Jibx2Wsdl documentation). The slides and demonstration code from that event are available on the WJUG web site.

My next public presentations are a talk on "Web Services Interoperability" for the Wellington WWISA group on September 2, followed by one on "Web Services Performance" for the Melbourne Java Users Group on September 27.

The presentations I gave at the October, 2006 BeJUG Enterprise SOA Conference are now available for viewing: SOA Lite and SOA sans SOAP. My full day SOA Workshop that followed the conference is taking longer to get online, but hopefully will be available soon. In the mean time, you can see the outline and slides in the JiBX Wiki.

About this site

The links in the column to the left lead to other pages within the "about me" part of the site, while the links in the header row below the page title and logo lead to other portions of the site.

Training

Interested in on-site training for SOA or Web services in Java? I provide multiday training courses customized to your organization's needs. The training can cover anything from the basics of working with XML in Java to preparing your development team for the unique challenges of the transition to a SOA development style. I also offer advanced classes in specific technologies such as JiBX and JAXB 2.0 XML data binding, and Apache Axis2 Web services. Check the training services section of my company site, or Email me to find out more.

Consulting

Need help with a specific project, or looking for an expert evaluation of your future plans? I provide hourly consulting services for all kinds of projects involving XML and Web services in Java, as well as general SOA concerns. Performance issues are one of my special strengths, with in-depth knowledge of the tradeoffs involved in different types of XML processing and different specific frameworks. Check the consulting services section of my company site, or Email me to find out more.