The CXF framework provides various tools that assist developers in creating and invoking web services. CXF provides tools to create web service clients and web service implementations from WSDL files, to create SOAP binding and service definition from WSDL interfaces, to validate WSDL files, and to integrate with the popular Apache Maven software tool for build management. In this article we will look at some of the commonly used CXF tools that assist in web service development.

Java developers should learn functional paradigms now, even if they have no immediate plans to move to a functional language such as Scala or Clojure. Over time, all mainstream languages will become more functional; Neal Ford explores the reasons why in this installment.

I'd like for more of my colleagues to write unit tests. My motives are selfish. Unit tests help me figure out how methods of the unit are supposed to work. Unit tests are documentation too. And if a unit is testable, that makes it pretty good code. I believe one reason that some of my fellows don't write unit tests is because they're not quite sure how the mock object thing fits in. I'll explain.

For Java developers, app servers have come to mean specifically Java EE servers with specific features. However, in a broader sense an app server is a piece of software that provides services to applications. Joseph Ottinger argues that we should move back to that definition, as there are newer approaches to providing services that are worth considering.

Software tests that look at the system as a black box are extremely valuable. These tests are external to the application and exercise the application as a user would. This article examines how Spring Roo supports web testing using the Selenium automated web testing tool.

Large Web development initiatives generally comprise multiple development projects executed simultaneously by geographically distributed teams who work around the clock. Specific components developed by these teams are expected to interoperate as seamlessly as possible. One key requirement for such development is the definition of the contracts between the teams charted with building the different components. A good simulator framework provides the best possible team isolation and potentially accelerates productivity by supporting the full suite of requests and responses supported by each interface contract.

Imagine that you are tasked to create a new application that will live in the Web 2.0 world. Some of your users are perfectly happy with HTML-based user interfaces while others expect every application they use to behave like Excel. Your business sponsor expects a productivity-enhancing user experience, but your CIO won't allow you to develop anything that a user needs to manually deploy. You know HTML won't cut it, but what else is out there? This article explores a series of Web 2.0 user interface technologies that enable you to build applications with better-than-browser user experiences. As a result, you can centrally deploy and manage them just like any other Java™ 2 Enterprise Edition (Java EE) application.

Blogging is another topic more people seem to do these days to increase their visibility and voice. In this article, learn to use VoiceXML to actually interact with your blog or tweet using your own voice. Specifically develop a simple blogging application that takes VoiceXML as input and saves the data into your online blog.

If you've developed many applications using a Swing-based graphical user interface (GUI), you've probably solved some common problems over and over again. Those problems include managing the application life cycle, event handling, threading, localizable resources, and maybe even persistence. To save time and effort, you can develop reusable libraries and small application frameworks to use on each new project. An application framework can provide much of the common infrastructure that most applications share. A framework is a reusable library of classes and functionality that help you design and implement applications using consistent designs and patterns. If you develop Swing applications, you can benefit from the Swing Application Framework, which is currently being developed as part of Java Specification Request (JSR) 296.

If you're a Java™ 2 Enterprise Edition (J2EE) developer, you'll want to preview the SQLXML technology. Check out procedures to create an XML document, store an XML document in a relational database, retrieve an XML document from a database, and navigate an XML document with the SQLXML Java data type.