How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Michael C. Feathers
The average book on Agile software development describes a fairyland of greenfield projects, with wall-to-wall tests that run after every few edits, and clean & simple source code.
The average software project, in our industry, was written under some aspect of code-and-fix, and without automated unit tests. And we can't just throw this code away; it represents a significant effort debugging and maintaining. It contains many latent requirements decisions. Just as Agile processes are incremental, Agile adoption must be incremental too. No more throwing away code just because it looked at us funny.
Mike begins his book with a very diplomatic definition of "Legacy". I'l skip ahead to the undiplomatic version: Legacy code is code without unit tests.
Before cleaning that code up, and before adding new features and removing bugs, such code must be de-legacified. It needs unit tests.
To add unit tests, you must change the code. To change the code, you need unit tests to show how safe your change was.
The core of the book is a cookbook of recipes to conduct various careful attacks. Each presents a particular problem, and a relatively safe way to migrate the code towards tests.
Code undergoing this migration will begin to experience the benefits of unit tests, and these benefits will incrementally make new tests easier to write. These efforts will make aspects of a legacy codebase easy to change.
It's an unfortunate commentary on the state of our programming industry how much we need this book.
Bryan Basham, Kathy Sierra, Bert Bates
This book gets readers up to speed on the technology necessary to write servlets and JSPs, what makes the Container tick, how to use the new JSP Expression Language (EL), how to write deployment descriptors, and even how to use some server-side design patterns.
Bryan Basham, Kathy Sierra, Bert Bates
Opens with a chapter discussing the details of the SCWCD certification exam and process, then offers an overview of web applications as well as the servlet and JSP technologies, and, finally, covers each of the exam's thirteen objectives. Original. (All Users)
Ed Burns, Chris Schalk
The Definitive Guide to JavaServer Faces 2.0 Fully revised and updated for all of the changes in JavaServer Faces (JSF) 2.0, this comprehensive volume covers every aspect of the official standard Web development architecture for JavaEE. Inside this authoritative resource, the co-spec lead for JSF at Sun Microsystems shows you how to create dynamic, cross-browser Web applications that deliver a world-class user experience while preserving a high level of code quality and maintainability. JavaServer Faces 2.0: The Complete Reference features an integrated sample application to use as a model for your own JSF applications, with code available online. The book explains all JSF features, including the request processing lifecycle, managed beans, page navigation, component development, Ajax, validation, internationalization, and security. Expert Group Insights throughout the book offer insider information on the design of JSF. Set up a development environment and build a JSF application Understand the JSF request processing lifecycle Use the Facelets View Declaration Language, managed beans, and the JSF expression language (EL) Define page flow with the JSF Navigation Model, including the new "Implicit Navigation" feature Work with the user interface component model and the JSF event model, including support for bookmarkable pages and the POST, REDIRECT, GET pattern Use the new JSR-303 Bean Validation standard for model data validation Build Ajax-enabled custom UI components Extend JSF with custom non-UI components Manage security, accessibility, internationalization, and localization Learn how to work with JSF and Portlets from the JSF Team Leader at Liferay, the leading Java Portal vendor Ed Burns is a senior staff engineer at Sun Microsystems and is the co-specification lead for JavaServer Faces. He is the co-author of JavaServer Faces: The Complete Reference and author of Secrets of the Rock Star Programmers. Chris Schalk is a developer advocate and works to promote Google's APIs and technologies. He is currently engaging the international Web development community with the new Google App Engine and OpenSocial APIs. Neil Griffin is committer and JSF Team Lead for Liferay Portal and the co-founder of The PortletFaces Project. Ready-to-use code at www.mhprofessonal.com/computingdownload
David A. Black
Elegant and expressive, the Ruby programming language continues to grow in popularity as more programmers discover its strengths and just how useful it can be. Version 1.9.1 of Ruby, covered in this book, includes many new features that no Rubyist, beginning or experienced, will want to do without it. Written in a crystal-clear style, The Well-Grounded Rubyist is a tutorial for all programmers who want to learn to use Ruby effectively. It explains concepts and language features in depth. You'll learn how things work in Ruby and why they work that way. And you'll gain this understanding in the context of Ruby 1.9.1, ensuring that your grasp of the language and its features are up to date.
Java Enterprise Edition (Java EE) continues to be one of the leading Java technologies and platforms from Oracle (previously Sun). Beginning Java EE 6 Platform with GlassFish 3, Second Edition is this first tutorial book on the final version of the Java EE 6 Platform. Step by step and easy to follow, this book describes many of the Java EE 6 specifications and reference implementations, and shows them in action using practical examples. This book uses the new version of GlassFish 3 to deploy and administer the code examples. Written by an expert member of the Java EE 6 specification request and review board in the Java Community Process (JCP), this book contains the best information possible, from an expert’s perspective on enterprise Java technologies. What you’ll learn Get started with the final version of the Java EE 6 Platform. Explore and use the EJB 3.1 and JPA 2.0 APIs from entities to session beans to message driven beans, and more. Discover web tier development APIs including JSPs, JSTL, and Expression Language, and especially the new JSF 2.0 and Facelets. Uncover the web services, RESTful services, and more available in Java EE 6. Create dynamic user interfaces for your enterprise and transactional Java applications. Who this book is for This book is for advanced Java programmers as well as Java EE 6 beginners. Architects will also find information about how to layer their Java EE applications. Table of Contents Java EE 6 at a Glance Java Persistence Object-Relational Mapping Managing Persistent Objects Callbacks and Listeners Enterprise Java Beans Session Beans and the Timer Service Callbacks and Interceptors Transactions and Security JavaServer Faces Pages and Components Processing and Navigation Sending Messages SOAP Web Services RESTful Web Services
Frederic Daoud, Tim Fennell
Tired of complicated Java web frameworks that just get in your way? Stripes is a lightweight, practical framework that lets you write lean and mean code without a bunch of XML configuration files. Stripes is designed to do a lot of the common work for you, while being flexible enough to adapt to your requirements. This book will show you how to use Stripes to its full potential, so that you can easily develop professional, full-featured web applications. As a bonus, you'll also get expert advice from the creator of Stripes, Tim Fennell. As a Java developer, you want to leverage your knowledge and the wealth of Java libraries and tools. But when it comes to web development, many frameworks seem over-engineered and too complex. They have a steep learning curve, and it's just too difficult to get them to do exactly what you need because of their "closed-box" design. Stripes brings simplicity back to Java web development. You'll be up and running in minutes, and can go a long way with just a few simple concepts. You'll spend your time developing your application, not maintaining gobs of configuration. Because Stripes is very transparent, you will understand exactly what is going on from request to response. The popularity of Stripes keeps increasing because of its clean design and extensibility. With this complete tutorial and reference, you can master Stripes and take advantage of its productivity in web application development. You'll tailor the framework to your requirements, not the other way around! This book is packed with explanations and examples so that you learn practical problem-solving techniques. You'll be able to "wrap your head around the framework" and fully understand how Stripes works. When a client requests a feature, you'll answer "yes" with confidence because you're using a framework that lets you get the results that you need without getting in your way. Because of its open design, Stripes lets you easily integrate your favorite tools: tag libraries, AJAX frameworks, ORM solutions, dependency injectors, and more.
A guide for users familiar with the programming language explains how to create Web applications with server-side Java, covering servlets, CGI, ASPs, installation, configuration, debugging, HTML form basics, cookies, and session tracking.
JavaServer Pages (JSP) has built a huge following since the release of JSP 1.0 in 1999, providing Enterprise Java developers with a flexible tool for the development of dynamic web sites and web applications. While new point releases over the years, along with the introduction of the JSP Standard Tag Library (JSTL), have incrementally improved the rough areas of the first version of the JSP specification, JSP 2.0 takes this technology to new heights. "JavaServer Pages," Third Edition, is completely revised and updated to cover the JSP 2.0 and JSTL 1.1 specifications. It includes detailed coverage of the Expression Language (EL) incorporated into JSP 2.0, the JSTL 1.1 tag libraries and the new function library, the new tag file format that enables custom tag library development without Java code, the simplified Java tag library API, improvements in the JSP XML syntax, and more. Further, it details setup of the Apache Tomcat server, JSP and JSTL syntax and features, error handling and debugging, authentication and personalization, database access, XML processing, and internationalization. This book recognizes the different needs of the two groups of professionals who want to learn JSP: page authors interested in using JSP elements in web pages, and programmers concerned with learning the JSP API and using JSP effectively as a part of an enterprise application. If you're in the first group, you'll learn from the practical web application examples in the second part of the book. If you're in the latter group, you'll appreciate the detailed coverage of advanced topics in the third part, such as how to integrate servlets and JavaBeans components with JSP using the popular ApacheStruts MVC framework, and how to develop custom tag libraries using the JSP API, with realistic examples that you can use as a springboard for your own libraries. "Hans Bergsten, a JSP expert group veteran and one of our most active contributors, has thoroughly and accurately captured the new features of JSP 2.0 and JSTL 1.1 in a way that is well-organized and easy to understand. With excellent, to-the-point examples, this book is a 'must have' for any serious JSP 2.0 developer." --Mark Roth, JSP 2.0 Specification Lead, Sun Microsystems, Inc. Hans Bergsten is the founder of Gefion Software, a company focused on Java services and products based on J2EE technologies. Hans has been an active participant in the working groups for both the servlet and JSP specifications since their inception and contributes to other related JCP specifications, such as JSP Standard Tag Library (JSTL) and JavaServer Faces (JSF), and, as one of the initial members of the Apache Jakarta Project Management Committee, helped develop the Apache Tomcat reference implementation for the servlet and JSP specifications.
Nicholas S. Williams
The comprehensive Wrox guide for creating Java web applications for the enterprise This guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment. You'll begin with an introduction to the Java Enterprise Edition and the basic web application, then set up a development application server environment, learn about the tools used in the development process, and explore numerous Java technologies and practices. The book covers industry-standard tools and technologies, specific technologies, and underlying programming concepts. Java is an essential programming language used worldwide for both Android app development and enterprise-level corporate solutions As a step-by-step guide or a general reference, this book provides an all-in-one Java development solution Explains Java Enterprise Edition 7 and the basic web application, how to set up a development application server environment, which tools are needed during the development process, and how to apply various Java technologies Covers new language features in Java 8, such as Lambda Expressions, and the new Java 8 Date & Time API introduced as part of JSR 310, replacing the legacy Date and Calendar APIs Demonstrates the new, fully-duplex WebSocket web connection technology and its support in Java EE 7, allowing the reader to create rich, truly interactive web applications that can push updated data to the client automatically Instructs the reader in the configuration and use of Log4j 2.0, Spring Framework 4 (including Spring Web MVC), Hibernate Validator, RabbitMQ, Hibernate ORM, Spring Data, Hibernate Search, and Spring Security Covers application logging, JSR 340 Servlet API 3.1, JSR 245 JavaServer Pages (JSP) 2.3 (including custom tag libraries), JSR 341 Expression Language 3.0, JSR 356 WebSocket API 1.0, JSR 303/349 Bean Validation 1.1, JSR 317/338 Java Persistence API (JPA) 2.1, full-text searching with JPA, RESTful and SOAP web services, Advanced Message Queuing Protocol (AMQP), and OAuth Professional Java for Web Applications is the complete Wrox guide for software developers who are familiar with Java and who are ready to build high-level enterprise Java web applications.
Hanumant Deshmukh, Jignesh Malavia, Jacquelyn Carter
Aimed at helping Java developers, Servlet/JSP developers, and J2EE developers pass the Sun Certified Web Component Developer Exam (SCWCD), this guide covers all the important aspects of the Servlet and JSP technology including Design Patterns and Filters. Also covered are the installation of Tomcat and the basics of XML, and Exam Quick Prep for refreshing important concepts at the last minute. The accompanying CD includes JWebPlus, the exam simulator from Enthuware.com that contains three full size tests on the SCWCD pattern. More than 300 questions in the form of Quizlets, Review Questions, and JWebPlus are included.
This book is a clear, practical tutorial to OpenCms development. It will take you through the development of an example site, illustrating the key concepts of OpenCms development with examples at every stage. The book is for Java developers with a basic knowledge of the operations of OpenCms. No previous experience of developing OpenCms is expected.