Publications
Technology is constantly advancing and we are dedicated to staying ahead of the curve. By exploring new technologies, processes and advancements we are able to provide our clients with up-to-date information about the latest industry developments.
-
Practical Apache Struts2 Web 2.0 Projects
Gain an in-depth understanding of the Struts2 framework. Learn how to take advantage of Web 2.0 concepts alongside Struts2 to build next-generation web sites.
What you'll learn:
- Build a practical Struts 2 Web 2.0-enabled application project from the ground up.
- Enable participation by manipulating data.
- Share data by implementing powerful search utilities.
- How to syndicate content using RSS and REST.
- Integrate Ajax frameworks to produce user-friendly, responsive interfaces.
- Integrate and use Struts2 with Spring as part of a broader enterprise Java application stack.
-
Starting Struts2
Despite new languages and new techniques, the action-base MVC framework is still a viable and effective option for modern web application development. Within this book you will find everything you need to get up and running using Struts2 - from the architecture and configuration, to implementing actions and the supporting infrastructure such as validation and internationalization.
This book covers:
- The Struts2 architecture
- Configuration details
- Productivity tips for your current project
- Coverage of popular plug-ins
- Integration with third party technologies
-
InfoQ Article: Migrating to Struts2
Published on September - December, 2006 by Ian Roughley
Most people are familiar with Struts, whether it is from direct experience or from reading articles or books. In this series of articles we will cover the features of Struts2 from a Struts perspective - by migrating a simple application.
In the first part, Struts2 is introduced, along with some of the core architectural differences that will help to conceptually put everything together.
In the second part of the series, we are going to focus on converting the actions. We will discuss the example application that is to be converted, and the common components that are used in both Struts and Struts2 versions. From there, we will review the Struts application code to see what it looks like when converted to Struts2 code. To wrap up, we'll take a look at the configuration changes.
In the final part of the series, we will complete the transformation of the application by migrating the user interface from Struts to Struts2. With a background in Struts, and the information you now have from this series of articles on Struts2, you should be well on your way to migrating complex application as well as starting new Struts2 projects from scratch.
-
No Fluff Just Stuff 2006 Anthology
Take 13 of the world's best trainers and speakers and ask them to write a chapter on something they care passionately about. The result? A book on software development unlike any other. Fifteen chapters covering the range of modern software development topics, from Domain-Specific Languages through Aspect-Oriented CSS to learning from the past.
Using Code Coverage to Improve Testing Effectiveness, by Ian Roughley
In this chapter you will learn how to generate unit testing code coverage results in your projects by using the open source tool Cobertura. We discuss configuration, how to zero in on hard to test code, how to determine the percentage of code that should be covered with testing, and how to interpret the results.
-
InfoQ Article: Using Logging Seams for Legacy Code Unit Testing
Published on Tuesday August 1, 2006 by Ian Roughley
Working with legacy code can be difficult at the best of times. But when it comes to adding new features, refactoring or maintaining code that you are not familiar with, it can become overwhelming. In this article, I introduce the notion of using a seam (which is defined as "a place where you can alter behavior in your program without editing in that place") along with the applications logging infrastructure. Using this combination of techniques, tests can be unobtrusively put into place to allow the confident refactoring or implementation of new application features.



