Saturday, October 10, 2009

Beginning Cryptography with Java

Beginning Cryptography with Java  
by David Hook  
Wrox Press ?2005 (480 pages)
ISBN:0764596330
For Java developers who want to use cryptography in their applications or to understand how cryptography is being used in Java applications, this book enables you to create and implement secure Java applications and make use of standard protocols.

 Introduction
This book is about using cryptography with Java.

Depending on who you are, you may think of cryptography as a great menace or as a very useful tool. The truth is that in some ways it is neither, in other ways it is both. It's neither because, if you choose, you could easily reduce it to an interesting mathematical game, with no application. It's both because it most definitely gets applied, not always well, and not always for purposes that everyone agrees with. Whichever side of the fence you are on, the one thing everyone agrees with is that the politics surrounding cryptography and access to the technology that allows you to use it have been intense.

Java, on the other hand, is simply a programming language. It arrived on the popular scene in 1995 and has become very popular as a language for writing applications involving the Internet, electronic commerce, or a combination of the two. Other than the odd, often "religious," issue between programmers or companies, the language itself has carried none of the political problems that have accompanied cryptography. However, a language by itself won't allow you to develop secure Internet applications, so it quickly became apparent that it would be necessary to introduce into Java APIs that allowed people to make use of cryptography. When this happened the politics arrived and, for some, using Java suddenly got intense as well. Finally, the politics subsided and we arrived where we are now, with a rich set of APIs that allow developers to use cryptography effectively in application development—providing they know how.

This brings me to why this book was written. People will still wax lyrically about key sizes and PKI (Public Key Infrastructure), but what does it all mean, and what does it mean when you are using Java? The Java APIs afford you a great deal of flexibility, and although this will allow you to implement an application using cryptography at a fundamental level, it will also allow you to tie yourself into some terrible knots. You can avoid this if you understand a few principals about the way the APIs are put together. Furthermore, by understanding the relationships between the high-level APIs and the more fundamental ones, debugging becomes easier and you can recognize when it is not necessary to build things from scratch, as, in some cases, the hard work has already been done. In short, with the right understanding, you can save yourself a lot of work. This book has been written with the aim of providing that understanding.

Who This Book Is For
This book is written for people who are Java developers and are trying to make use of cryptography in their applications and for people who simply want to understand what's going on when cryptography is being used in Java applications. It does assume you are familiar with the Java language, but it does not assume you have any familiarity with any of the APIs it discusses, such as the JCA, JCE, the Bouncy Castle APIs, and JavaMail.

If you are already very familiar with the JCE and the JCA, you might want to skim the first four chapters quickly and start reading thoroughly from Chapter 5 onward; otherwise, I would recommend you start at the beginning. If you do skim the first four chapters, you should pay attention to the development of the utilities class that is added at the start of most chapters. The reason is that the utilities class used in Chapter 5 and onward builds on the work done in the first four chapters.

What This Book Covers
This book has been written to provide you with a basic understanding of how cryptography is done in Java, what some of the issues are in using cryptography in Java, and the higher-level APIs that can save you from both having to reinvent the wheel and also save you from rediscovering mistakes that others have already made.

Of course, discussion is generally not as useful as experience, and the book has been written with numerous examples, each of which should allow you to investigate a specific issue and learn about specific parts of the various Java APIs available to you for implementing cryptography and PKI. In it, you will see how to make use of the APIs available to allow you to

q Do symmetric encryption, asymmetric encryption, and integrity checking.

q Create, validate, and revoke certificates.

q Create and process secured messages and mail.

q Create and use secured channels using SSL.

Naturally, implementing anything in any language always leaves the door open to shooting oneself in the foot, and cryptography is definitely no exception. With this in mind, where possible, examples and their associated explanations have been written to help you avoid some of the common pitfalls, and as this is a beginning book, further reading has also been suggested to allow you to take the concepts further if you need to.

The book has been written to allow you to take full advantage of recent updates in the security APIs with J2SE 5.0; however, you will also find that almost all the examples can be used, with minor modifications, with older JDKs. Barring some specific uses of J2SE 5.0, the minimum version of Java you need to be using to use every API described in the book is JDK 1.3. If you are using an earlier JDK, you can still use this book, but you will find that you will not be able to use all of the examples, such as those dealing with secure mail and SSL.

Download the free chm ebook: Beginning Cryptography with Java 

Tags: cryptography, java


Saturday, October 10, 2009

Enterprise Java for SAP

Enterprise Java for SAP
by Austin Sincock   ISBN:1590590988
Apress © 2003

After many years and several technological near misses, SAP has positioned Enterprise Java to become a key development technology and to play an important role in mission-critical Internet integration. SAP views Enterprise Java as a strong platform that can be used to deploy robust, scalable applications that provide integration with SAP and non-SAP systems. Through a comprehensive set of tutorials and code reviews, this book introduces the latest Java technologies and the techniques you need to start building robust, scalable applications today.

Who Should Read This Book

The fact that you cracked open a book entitled Enterprise Java for SAP means that you are one of the many developers looking to explore the world of Java development for SAP. So far, for many of you, this exploration has been a frustrating and even fruitless search for any tidbit of information on programming for SAP in Java. If this description sounds familiar, then you may find Enterprise Java for SAP a required read.

This book is specifically targeted at developers who are fluent in SAP's programming language, ABAP, and are looking to learn the Java language. Although targeted at the less experienced Java developer, this book is a great resource for more experienced programmers who need to build applications with SAP's Java connector (JCo).

What This Book Covers
In addition to spending a lot of time with JCo, this book also offers insight into the open source tools, available for free on the Internet, that are not normally useful in an SAP environment. It shows you how to apply the best practices embodied in these tools and how to use them to kick start your Java development effort. The only prerequisite you need to process this information is ready access to an SAP system that can be used as a sandbox or for development.

Chapters 1–3 of Enterprise Java for SAP describe the fundamental principles of object-oriented and Java development and allow you to transition smoothly from the more procedural view of SAP development.

Chapter 4 introduces SAP's JCo, including a step-by-step review of what it takes to connect to an SAP system from a Java application. The JCo connector is one of SAP's core components in its larger Enterprise Java development platform. Learning the ins and outs of programming with JCo will give you greater insight into future SAP technologies.

Chapter 5 shows you how to build a desktop client application for SAP using a Java user interface toolkit. Based on the Java Swing toolkit, this application can be used to support requirements for a custom application that must reside on the user's desktop.

Chapter 6 takes you through the steps for deploying a Java application server and details a basic SAP login application from a Web browser. The Java application server acts as the foundation on which you can build and deploy Enterprise Java components tailored for access to your SAP system.

Chapter 7 demonstrates Struts, an open source framework that you can use to build highly maintainable Web applications for SAP. Struts is an effective means to minimize your Java development effort and create components that can be easily reused in future development efforts.

Chapter 8 teaches you how to deploy and configure an open source database system, called Hypersonic SQL (hsql). In addition, it shows you how to build a material catalog that retrieves information from both SAP and the Hypersonic database.

Chapter 9 walks you through some advanced Java programming techniques specifically tailored to SAP's JCo. These topics include server development, connection pooling, and custom Java tags.

The appendix covers the development of custom Remote Function Call (RFC) interfaces and how to access these interfaces through the JCo connector. This appendix is helpful if your SAP system does not implement the RFC interfaces required by the tutorials in Chapters 4–8.

Download the free chm ebook: Enterprise Java for SAP


Tags: java, sap


Saturday, October 10, 2009

Beginning JSP 2: From Novice to Professional

Beginning JSP 2: From Novice to Professional
by Peter den Haan, Lance Lavandowska, Sathya Narayana Panduranga and Krishnaraj Perrumal   ISBN:1590593391
Apress © 2004 (480 pages)

Welcome to Beginning JSP 2: From Novice to Professional. This book is for novices and teaches JavaServer Pages (JSP) 2 using basic principles. You don't need to know any Java to use this book because JSP 2 is a significant development of the JSP technology that has greatly reduced JSP's reliance on Java knowledge. However, to get the most out of supporting technologies and maximize your JSP applications, you need to know some basic Java techniques. We'll teach you these techniques and show you when and where to use the Java language.

The JSP 2 specification is the biggest revision of JSP since its creation. It's now easier for nonprogrammers to build powerful, dynamic Web applications. The authors of this book realize that JSP 2 is a tremendously powerful tool but that it's also a daunting prospect for many nonprogrammers. In response to this, the authors have written an easily accessible guide for those who are beginning their career in Web programming. This book introduces all the important concepts without fuss or overcomplication and always keeps the readers' best interests at heart.

Chapter 1 takes you through the Java and JSP installation processes so you're ready for the rest of the book. Chapter 2 is a Hypertext Markup Language (HTML) recap, which will act as a useful reference for those who already know a little HTML. After running through the basics, the book moves through simple JSP pages in Chapter 3 to working with data in Chapter 4, probably the most common and important task you'll have to undertake when using JSP. After all, what's the point of using dynamic Web pages if you have no dynamic data on which to work?

Chapters 5 and 6 introduce your first Java and show you how to use simple Java utility code to enhance your JSP pages. The emphasis is always on JSP and how Java fits into the new JSP 2 framework. Throughout these chapters you'll slowly build and incrementally improve an application that uses HTML forms, databases, and validation. The book explains each stage and introduces good practice as you learn new techniques.

Chapters 7 and 8 introduce more advanced JSP techniques and use the newly incorporated JSP Tag Library (JSTL) tags to work with dates, times, and formatting. Chapter 8 introduces Extensible Markup Language (XML), the ubiquitous data description specification, and JSP's tools for dealing with it. XML is such an important part of modern Web applications that it's essential in any beginner's handbook. You'll soon find that XML is an inescapable part of today's Web.

Chapters 9 and 10 cover topics that will ensure your applications are well designed and flexible. Specifically, Chapter 9 covers servlets and filters, both of which are Java classes that run alongside JSP pages and add robust functionality to any Web application. Chapter 10 introduces the Model-View-Controller design concept and the Struts framework, which implements it for JSP pages. By using Struts you instantly add good design and flexibility without any of the hard work usually associated with scalable Web applications.

By the time you've finished the book, you'll have an example Web application for taking data, validating it, storing it in a database, and reporting back to the user. However, the real benefit will be in the design under the covers. Your application will use good practice throughout and can form the basis for many similar applications in the future.

I hope you enjoy reading this work and that you have every success in the future.

Matthew Moodie, Editor

Download the free chm ebook: Beginning JSP 2: From Novice to Professional

Tags: java, jsp


Saturday, October 10, 2009

Free chm ebook download: Pro JSP, Third Edition

Pro JSP, Third Edition
by Simon Brown et al.   ISBN:1590592255

Welcome to the third edition of Pro JSP, designed to help new and experienced Java developers alike discover the power (and even the joy) of creating Java-based server-side solutions for the Web. If you've programmed with JSP before you'll find that the new features in JSP 2.0 make developing JSP pages easier then ever before and if you only know a little Java then this is your chance to add JSP to your toolbox skills.

JavaServer Pages, or JSP for short, is a server-side technology that takes the Java language, with its inherent simplicity and elegance, and uses it to create highly interactive and flexible web applications. In today's unsure economic climate, having the Java language behind it makes JSP particularly compelling for business: Java is an open language, essentially meaning it doesn't require expensive licenses and thus JSP solutions can be highly cost-effective.

The founding premise of JSP is that HTML can be used to create the basic structure of a web page, and Java code can be mixed in with it to provide the dynamic components of the page that modern web users expect. If you have an understanding of the concepts of HTML and web pages, JSP provides an unbeatable way to learn about creating innovative, interactive content as well as coming to grips with the popular language of Java. This book will be your guide as you step into this exciting new world.

Who Is This Book For?

This book is aimed at anyone who knows the Java language and core APIs and wants to learn about web programming with the latest versions of the JSP and Servlet APIs.

Familiarity with HTML is required; however, no prior knowledge of server-side Java programming is necessary. Having said that, this book does not claim to be exhaustive in all areas, particularly in relation to other Java APIs such as Enterprise JavaBeans.

This book covers the latest versions of the JSP and Servlet specifications–versions 2.0 and 2.4 respectively, both of which are new specifications developed through the Java Community Process (http://java.sun.com/aboutJava/communityprocess/).

 Note  It's possible that some small changes might be made before they're finally released; however, any modifications are likely to be minor and the new specifications are already being implemented by a number of products such as Tomcat 5.0.
 

Those who have read previous editions of this book will notice that this edition is not a revision of Professional JSP, 2nd Edition; rather, it has been "re-coded from the ground up" to address the newest features of Java web development. A lot has changed since the second edition, which was only published back in April 2001!

If you already have some exposure to server Java web development, you should pay attention to any changes in the technologies that are indicated throughout the book, or skip ahead to the sections that interest you the most. On the other hand, if you're new to JSP, servlets, and JSTL, and this is somewhat confusing, you've come to the right place; the early chapters in this book, especially, were written with you in mind.

The book's chapters can be summarized as follows:

Chapter 1, The Anatomy of a JavaServer Page, looks at the JSP life cycle, JSP application architecture, and the fundamentals of JSP pages, and provides a feel for where JSP technology fits within the J2EE and other web components such as servlets, tag libraries, and JavaBeans, which exist in the J2EE web tier for providing dynamic web-based content.

Chapter 2, Servlets and Deployment, delves into what Java servlets are, and looks at the development and deployment of Java servlets. The Servlet and JSP specifications are developed in parallel, and this chapter is up to date for the latest release of JSP 2.0 and Servlets 2.4 (as is the rest of the book).

We discuss one of the new features of the JSP 2.0 specification in the appropriately named Chapter 3, The JavaServer Pages Expression Language. The JSP expression language is what you'll be using most often in JSP pages, an intentionally simple language that is, to a large extent, independent of JSP.

Chapter 4, JavaServer Pages Standard Tag Library, looks at the reasons for the creation of the JSTL, its details (it is in fact four different tag libraries), and how to install the JSTL and Tomcat 5.0.

Tag Files and Simple Tags is the title of Chapter 5. In the same way that the tags contained within JSTL are extremely valuable for improving the readability and maintainability of a JSP page, you can build your own custom tags to enable your own functionality to be reusable and easily maintained. Tag files and simple tags are both new mechanisms for writing custom tags introduced as a part of the JSP 2.0 specification.

Chapter 6, Classic Tags, takes a look at the facilities provided by former versions of the JSP specification for writing custom tags. As you'll see throughout the chapter, these previous methods, now called classic tags, provide a great deal more flexibility and for this reason are still useful in some scenarios.

Now that you've seen the basics of building custom tags, Chapter 7, Custom Tag Advanced Features and Best Practices, wraps up your understanding by looking at some more advanced features and the best way to use custom tags.

Chapter 8, Data Access Options for Web Applications, discusses how best to access your back-end data from your JSPs and servlets. No matter what type of JSP application you're writing, you'll need to either store the data that is created by your application, or use data from an external source, and this chapter looks at examples using a MySQL database.

In Chapter 9, Introduction to Filtering, you'll look at filtering, a standard feature of all Servlet 2.4-compliant containers. You'll explore the life cycle of a filter as managed by the container, discuss the very important concept of filter chaining, and then create and deploy two simple filters as a foundation for Chapter 10, Advanced Filtering Techniques. Chapter 10 acts as a cookbook for the application of filters, as you turn your attention to the more advanced techniques involved in applied filter programming by looking at five examples that can be used as the basis for your own filter implementation.

Chapter 11, Security in Web Applications, looks at making your web applications secure and exploring different methods of authentication and authorization.

Chapter 12, Improving Web Application Performance and Scalability, is your guide to a number of well-known tools and techniques such as page caching and database connection pooling that you can use to improve performance and stability, even after you've designed and coded your application.

Chapter 13, Web Application Design and Best Practices, brings together the techniques covered in the earlier chapters and shows how to build maintainable, extensible Java-based web applications. It looks at the importance of good design and how it can help you build high-quality web applications that are easier to maintain and extend in the future.

In Chapter 14, Using Struts, Xdoclet, and Other Tools, you'll develop a resume building and viewing (web) application called struts-resume, using a variety of third-party products. All of the products used in struts-resume are open source and help to facilitate and speed up various stages of the development process.

Download the free chm ebook: Pro JSP, Third Edition

Tags: java, jsp


Wednesday, October 10, 2009

Free chm ebook download: Enterprise Java Security: Building Secure J2EE Applications

Enterprise Java Security: Building Secure J2EE Applications
By Marco Pistoia, Nataraj Nagaratnam, Larry Koved, Anthony Nadalin
   
Publisher : Addison Wesley
Pub Date : February 20, 2004
ISBN : 0-321-11889-8
Pages : 608
Slots : 1.0


 The purpose of this book is to illustrate the applicability of Java 2 Platform, Enterprise Edition (J2EE), and Java 2 Platform, Standard Edition (J2SE), security technologies in building a secure enterprise infrastructure containing Java-based enterprise applications. With a pragmatic approach, the book explains why Java security is a key factor in an e-business environment and how application developers can use this technology in building secure enterprise applications.

The book introduces the J2EE and J2SE security architectures, showing how these architectures relate to each other and how they are augmented by Java Authentication and Authorization Service (JAAS) to provide authentication and authorization. Then, the book delves into the J2EE security technologies: The security aspects of servlets, JavaServer Pages (JSP), and Enterprise JavaBeans (EJB) are treated in detail because these technologies constitute the core of the J2EE architecture. To satisfy the needs of developers who need to build J2EE applications and want to do so securely and reliably, the book covers in great detail the relationship between J2EE and cryptographic technologies; Java Cryptography Architecture, Java Cryptography Extension, Public-Key Cryptography Standards, Secure/Multipurpose Internet Mail Extensions, and Java Secure Socket Extension are also described in detail. The book explains how to work with J2EE in practice and shows how the technologies presented work together and are integrated. The scenarios described are targeted to J2EE developers and deployers needing to build an integrated, secure, component-based system. Finally, Web Services security and other emerging technologies are discussed, along with a description of how the underlying middleware works. The book ends by summarizing the impact of J2EE security in today's e-business environments.

Unlike other treatments of Java security, this book discusses the J2SE and J2EE security architectures, providing practical solutions and use patterns to address the challenges that lie ahead as these architectures evolve to address enterprise e-business needs. The goal is to give practical guidance to groups involved in making Java-based applications or Web sites into industrial-strength commercial propositions. Examples are provided to give the reader a clearer understanding of the underlying technology.

To achieve the goals of portability and reusability, J2EE security has been designed to be mainly declarative. Most of the authentication, authorization, integrity, confidentiality, and access-control decisions on a J2EE platform can be made through configuration files and deployment descriptors, which are external to the applications. This reduces the burden on the programmer and allows Java enterprise programs to be portable, reusable, and flexible. For this reason, Parts I and II focus on the declarative approach of Java security by showing examples of configuration files and deployment descriptors. Additionally, these parts of the book explain how to use the programmatic approach if declarative security alone is insufficient. (Sample programs can be found in Chapters 4 and 5.) The majority of the sample code of this book can be found in Parts III and IV.

This book has its roots in several articles we wrote for the IBM Systems Journal and IBM developerWorks, describing the origins of Java security and the security for enterprise applications using the J2EE programming model. Although we are geographically dispersed around the United States, we had gathered in Santa Clara, California, at the O'Reilly Conference on Java in March 2000 to present on a number of security topics. It was clear that developers and managers were not familiar with Java security features, J2EE security, and how to manage security in a J2EE environment. Inquiries on Java and J2EE security were being routed to us via e-mail and through our colleagues. We had already written a book on J2SE security, but a book on security for enterprise applications, including those written for server-based applications and Web Services, was needed.

This book draws and expands on material from multiple sources, including the J2SE security book and articles mentioned. Specifically, this book covers J2SE V1.4 and J2EE V1.4. The relevant specifications for J2EE covered in this book include the J2EE V1.4 specification, the Java Servlet V2.4 specification, the EJB V2.1 specification, and the Web Services specifications. The list of the sources used in this book can be found in Appendix D.

Download the free chm ebook: Enterprise Java Security: Building Secure J2EE Applications

Tags: enterprise, java, security, j2ee


Friday, October 10, 2009

Free pdf ebook download: Data Structures And Algorithms in Java 4th Edition

By Michael T. Goodrich

The design and analysis of efficient data structures has long been recognized as a
vital subject in computing, for the study of data structures is part of the core of
every collegiate computer science and computer engineering major program we are
familiar with. Typically, the introductory courses are presented as a two- or three-
course sequence. Elementary data structures are often briefly introduced in the first
programming or introduction to computer science course and this is followed by a
more in-depth introduction to data structures in the following course(s).
Furthermore, this course sequence is typically followed at a later point in the
curriculum by a more in-depth study of data structures and algorithms. We feel that
the central role of data structure design and analysis in the curriculum is fully
justified, given the importance of efficient data structures in most software systems,
including the Web, operating systems, databases, compilers, and scientific
simulation systems.
With the emergence of the object-oriented paradigm as the framework of choice for
building robust and reusable software, we have tried to take a consistent
objectoriented viewpoint throughout this text. One of the main ideas of the object-
oriented approach is that data should be presented as being encapsulated with the
methods that access and modify them. That is, rather than simply viewing data as a
collection of bytes and addresses, we think of data as instances of an abstract data
type (ADT) that include a repertory of methods for performing operations on the
data. Likewise, object-oriented solutions are often organized utilizing common
design patterns, which facilitate software reuse and robustness. Thus, we present
each data structure using ADTs and their respective implementations and we
introduce important design patterns as means to organize those implementations
into classes, methods, and objects.
For each ADT presented in this book, we provide an associated Java interface.
Also, concrete data structures realizing the ADTs are provided as Java classes
implementing the interfaces above. We also give Java implementations of
fundamental algorithms (such as sorting and graph traversals) and of sample
applications of data structures (such as HTML tag matching and a photo album).
Due to space limitations, we sometimes show only code fragments in the book and
make additional source code available on the companion Web site,
http://java.datastructures.net.
The Java code implementing fundamental data structures in this book is organized
in a single Java package, net.datastructures. This package forms a coherent library
of data structures and algorithms in Java specifically designed for educational
purposes in a way that is complementary with the Java Collections Framework.

Download the free pdf ebook: Data Structures And Algorithms in Java 4th Edition.pdf

Tags: algorithm, java, structure


Friday, October 10, 2009

Free pdf ebook download: DWR Java AJAX Applications

DWR Java AJAX Applications
A step-by-step example-packed guide to learning professional application development
with Direct  Web Remoting
by Sami Salkosuo

Chapter 1 is a brief introduction to AJAX technology and DWR. It also discusses the
DWR community and describes briefly what information can be found about DWR
on the Internet.

Chapter 2 describes DWR features that we use in the samples of this book—a high-
level view of how DWR makes a developer's life easier. It discusses reverse AJAX,
DWR JavaScript libraries, converters, creators, filters, and signatures. It also contains
a section on integrating DWR with other projects and another on security.

Chapter 3 sets the stage for development by describing how to set up the
development environment and how to test and debug our sample applications. It
covers DWR-supported browsers and environments, configuration, error handling,
packaging, and deployment.

Chapter 4 is the first chapter dedicated to sample code. The examples in this chapter
include typical user interface elements such as tables and lists, and how they can be
implemented using DWR. It also has an example for field completion.

Chapter 5 discusses how to use DWR in more advanced user interface elements such
as forms, navigation tree, and scrolling a map.

Chapter 6 shows how DWR applications are integrated to a database, a web service,
or a messaging system.

Chapter 7 includes two sample applications: Collaborative Book Authoring, which
shows how DWR is used to create a web based multi-user authoring environment,
and Chatroom—a typical multi-user chat room application using DWR.

Download the free pdf ebook: DWR Java AJAX Applications.pdf

Tags: ajax, java, dwr


Tuesday, October 10, 2009

Free chm ebook download: Swing Hacks

By Chris Adamson, Joshua Marinacci
Publisher: O'Reilly
Pub Date: June 2005
ISBN: 0-596-00907-0
Pages: 542

Swing Hacks helps Java developers move beyond the basics of Swing, the graphical user interface (GUI) standard since Java 2. If you're a Java developer looking to build enterprise applications with a first-class look and feel, Swing is definitely one skill you need to master. This latest title from O'Reilly is a reference to the cool stuff in Swing. It's about the interesting things you learn over the years--creative, original, even weird hacks--the things that make you say, "I didn't know you could even do that with Swing!"

Swing Hacks will show you how to extend Swing's rich component set in advanced and sometimes non-obvious ways. The book touches upon the entire Swing gamut-tables, trees, sliders, spinners, progress bars, internal frames, and text components. Detail is also provided on JTable/JTree, threaded component models, and translucent windows. You'll learn how to filter lists, power-up trees and tables, and add drag-and-drop support.

Swing Hacks will show you how to do fun things that will directly enhance your own applications. Some are visual enhancements to make your software look better. Some are functional improvements to make your software do something it couldn't do before. Some are even just plain silly, in print only to prove it could be done. The book will also give you give you a small glimpse of the applications coming in the future. New technology is streaming into the Java community at a blistering rate, and it gives application developers a whole new set of blocks to play with.

With its profusion of tips and tricks, Swing Hacks isn't just for the developer who wants to build a better user interface. It's also ideally suited for client-side Java developers who want to deliver polished applications, enthusiasts who want to push Java client application boundaries, and coders who want to bring powerful techniques to their own applications.

Whatever your programming needs, Swing Hacks is packed with programming lessons that increase your competency with interface-building tools.

Download the free chm ebook: Swing.Hacks.chm

Tags: swing, java


Thursday, May 05, 2009

Free pdf ebook download: Software Architecture Design Patterns in Java

Title: Software Architecture Design Patterns in Java
Author: Partha Kuchana
Publisher:  CRC Press
Format: PDF

Partha Kuchana is an experienced enterprise systems architect. He understands
that patterns are not about things that are just good ideas, but that patterns are
about capturing knowledge bred from experience. This hard-won knowledge is
what Partha is sharing with readers of his book. Here are some of the things I
really like about what he has to say.
The  book  presents  42  design  patterns,  which  include  the  23  GoF  patterns.
These patterns are categorized as follows:
  7 Basic patterns
  5 Creational patterns
  4 Collectional patterns
 11 Structural patterns
 11 Behavioral patterns
  4 Concurrency patterns

Click here to download the Free Book: Software Architecture Design Patterns in Java.pdf

Tags: java, software, architecture, design, pattern


Thursday, May 05, 2009

Free pdf ebook download: Seam in Action

Title: Seam in Action
Author:DAN ALLEN
Publisher: Manning
Format: PDF

Seam in Action was described by one reviewer as “written by an expert for experts.” If
you’ve picked up this book hoping it has the breadth of knowledge you seek, that quote
should satisfy you. A second reviewer claimed that “experienced Seam developers are
likely to get something out of reading the book.” Another stated that “even if you are
already an expert in the underlying technologies, you will not be disappointed.” If you
want to master Seam, it’s well worth having this book in your backpack.
 Where does that leave the rest of you, who are just getting started with Seam? You
won’t be disappointed either. If you’re a Seam newbie or a manager, you’ll get plenty of
value out of just the first two chapters. If you want to go further, you have to ask yourself
if you’re committed to learning about this technology and if you’re willing to put some
effort into it. Are you ready to become an expert? If not, it might be best for you to start
with the Seam reference documentation or perhaps an introductory book. Chances
are, you’ll be back when you’re ready to know all the details about how Seam works.
 If you’re still with me, be aware that you need some prior experience before you
take on this book. I’ve been able to go into detail in the book because I’ve left out
introductory material that’s readily available elsewhere. At the very least, I expect that
you have experience developing with Java, using the Java Servlet API, and deploying to
application servers or servlet containers. I move quickly through JSF and ORM technol-
ogies, assuming that you’ve at least read about them. You should also have some aware-
ness  of  method  interceptors  and  how  they  work,  although  this  knowledge  can  be
inferred from the text. Finally, if you’re interested in the parts of the book that cover
the EJB 3 integration or Spring integration, you need some prior experience with these
technologies. That sounds like a lot of prerequisites, but if you’re dedicated, you can
pick up this information from the book and the resources I recommend as you read.
 If you’re worried about the requirement to understand JSF, the next section pro-
vides a brief introduction that should get you by. I also suggest a couple of additional
resources  if  you  feel  you  need  more  explanation.  Honestly,  though,  basic  JSF  is
straightforward, and Seam hides a lot of complexity beyond that point.

Click to download the free ebook: Seam in Action.pdf

Tags: java, seam, manning


Monday, April 04, 2009

Free pdf ebook download: Refactoring: Improving the Design of Existing Code .pdf

Title: Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck (Contributor), John Brant (Contributor), William
Opdyke, don Roberts

Format: PDF

This book is a guide to refactoring; it is written for a professional programmer. My aim is to show
you how to do refactoring in a controlled and efficient manner. You will learn to refactor in such a
way that you don't introduce bugs into the code but instead methodically improve the structure.
It's traditional to start books with an introduction. Although I agree with that principle, I don't find it
easy to introduce refactoring with a generalized discussion or definitions. So I start with an
example. Chapter 1 takes a small program with some common design flaws and refactors it into
a more acceptable object-oriented program. Along the way we see both the process of refactoring
and the application of several useful refactorings. This is the key chapter to read if you want to
understand what refactoring really is about.
In Chapter 2 I cover more of the general principles of refactoring, some definitions, and the
reasons for doing refactoring. I outline some of the problems with refactoring. In Chapter 3 Kent
Beck helps me describe how to find bad smells in code and how to clean them up with
refactorings. Testing plays a very important role in refactoring, so Chapter 4 describes how to
build tests into code with a simple open-source Java testing framework.
The heart of the book, the catalog of refactorings, stretches from Chapter 5 through Chapter 12.
This is by no means a comprehensive catalog. It is the beginning of such a catalog. It includes
the refactorings that I have written down so far in my work in this field. When I want to do
something, such as Replace Conditional with Polymorphism, the catalog reminds me how to
do it in a safe, step-by-step manner. I hope this is the section of the book you'll come back to
often.
In this book I describe the fruit of a lot of research done by others. The last chapters are guest
chapters by some of these people. Chapter 13 is by Bill Opdyke, who describes the issues he
has come across in adopting refactoring in commercial development. Chapter 14 is by Don
Roberts and John Brant, who describe the true future of refactoring, automated tools. I've left the
final word, Chapter 15, to the master of the art, Kent Beck.

Click to download the free ebook: Refactoring: Improving the Design of Existing Code.pdf

Tags: java, ebook, refactoring, refactor, Martin, Fowler


Monday, April 04, 2009

Free pdf ebook download: Professional Portal Development with Open Source Tools Java Portlet API, Lucene, James, Slide

Title: Professional Portal Development with Open Source Tools Java Portlet API, Lucene, James, Slide
Author: W. Clay Richardson
            Donald Avondolio
            Joe Vitale
            Peter Len
            Kevin T. Smith
Format: PDF
Publisher: Wiley Technology Publishing

Portal development projects have become the centerpiece of IT acquisition and development strat-
egy for many organizations. Enterprise integration and Web application developers predictably
groan when they hear the word “portal” — nightmares of proprietary APIs, oversold features, and
shoddy tool integrations. The authors of this book have been involved in over a dozen production
portal efforts over the last several years. In that time, we have dealt with numerous products and
frameworks, including some in-house frameworks based on servlets and JSPs. Through all of this,
we began to wonder whether these commercial suites were really providing any value. We started
to realize that we could put together a framework from open-source products.
We would like to point out that our portal framework is not meant to be an all-or-nothing solution.
We present a number of tools that you may use to satisfy your enterprise portal needs, and we
demonstrate how to use them, but because portal efforts are largely integration efforts, it would be
folly to presume that anyone will drop all of their current systems and pick up our framework.
This book explains a set of tools at the foundation of an open-source portal framework, and
demonstrates how to build your own portal using open-source tools. However, before describing
the structure of the book, it makes sense to cover some fundamental concepts addressed therein.

Click to download the book: Professional Portal Development with Open Source Tools Java Portlet API, Lucene, James, Slide.pdf

Tags: java, ebook, portal, portlet, lucene, james, slide


Sunday, April 04, 2009

Free pdf ebook: OReilly Head First EJB Oct 2003 .pdf

Title: OReilly Head First EJB
Format: PDF

Product Description
What do Ford Financial, IBM, and Victoria's Secret have in common? Enterprise JavaBeans (EJB). As the industry standard for platform-independent reusable business components, EJB has just become Sun Microsystem's latest developer certification. Whether you want to be certifiable or just want to learn the technology inside and out, Head First EJB will get you there in the least painful way. And with the greatest understanding. You'll learn not just what the technology *is*, but more importantly, *why* it is, and what it is and isn't good for. You'll learn tricks and tips for EJB development, along with tricks and tips for passing this latest, very challenging Sun Certified Business Component Developer (SCBCD) exam. You'll learn how to think like a server. You'll learn how to think like a bean. And because this is a Head First book, you'll learn how to think about thinking. Co-author Kathy Sierra was one of Sun's first employees to teach brave, early adopter customers how to use EJB. She has the scars. But besides dragging you deep into EJB technology, Kathy and Bert will see you through your certification exam, if you decide to go for it. And nobody knows the certification like they do - they're co--evelopers of Sun's actual exam!

About the Author
Kathy Sierra, the co-author of Head First Java from O'Reilly, was a master Java trainer for Sun Microsystems, where she taught Java instructors how to teach the latest Java technologies such as EJB and Jini. Currently, she's on the design team for the Sun

Bert Bates is the co-author of Head First Java. Bert is a software developer and Java instructor, and has been writing code for the last 25 years. His background features a long stint in artificial intelligence, with a client list that includes The Weathe

Click to download: OReilly Head First EJB Oct 2003.pdf

Tags: free, pdf, ebook, ejb, java


Wednesday, April 04, 2009

Free ebook download:Modern Compiler Implementation in Java .pdf

Title: Modern Compiler Implementation in Java
Author: Andrew W.Appel and Jens Palsberg
Format: PDF
Publisher: Cambridge University Press

This textbook describes all phases of a compiler: lexical analysis, parsing, abstract syntax, semantic actions,
intermediate representations, instruction selection via tree matching, dataflow analysis, graphcoloring register
allocation, and runtime systems. It includes good coverage of current techniques in code generation and register
allocation, as well as the compilation of functional and object-oriented languages, which is missing from most books.
The most accepted and successful techniques are described concisely, rather than as an exhaustive catalog of every
possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual Java
classes.
 
The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler
design. The second part, Advanced Topics, which includes the compilation of object-oriented and functional
languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for
cache-memory hierarchies, can be used for a second-semester or graduate course.
 
This new edition has been rewritten extensively to include more discussion of Java and object-oriented programming
concepts, such as visitor patterns. A unique feature is the newly redesigned compiler project in Java for a subset of
Java itself. The project includes both front-end and back-end phases, so that students can build a complete working
compiler in one semester.
 
Andrew W. Appel is Professor of Computer Science at Princeton University. He has done research and published
papers on compilers, functional programming languages, runtime systems and garbage collection, type systems, and
computer security; he is also author of the book Compiling with Continuations. He is a designer and founder of the
Standard ML of New Jersey project. In 1998, Appel was elected a Fellow of the Association for Computing
Machinery for "significant research contributions in the area of programming languages and compilers" and for his
work as editor-in-chief (1993-97) of the ACM Transactions on Programming Languages and Systems, the
leading journal in the field of compilers and programming languages.

Jens Palsberg is Associate Professor of Computer Science at Purdue University. His research interests are
programming languages, compilers, software engineering, and information security. He has authored more than 50technical papers in these areas and a book with Michael Schwartzbach, Object-oriented Type Systems. In 1998, he
received the National Science Foundation Faculty Early Career Development Award, and in 1999, the Purdue
University Faculty Scholar award.

Download the free ebook: Modern Compiler Implementation in Java.pdf

Tags: java, compiler, ebook, pdf


Tuesday, March 03, 2009

Free ebook download -- POJOs in Action Dec 2005 .pdf

Title: POJOs in Action Dec 2005
Author: Chris Richardson
Format: PDF
Publisher: Manning

POJOs in Action is a practical guide to using POJOs and lightweight frameworks to
develop the back-end logic of enterprise Java applications. These technologies are
important because they dramatically simplify how you build an application’s busi-
ness and persistence tiers. This book covers key lightweight frameworks: Spring,
JDO,  Hibernate,  and  iBATIS.  It  also  covers  EJB  3,  which  embraces  POJOs  and
some of the characteristics of lightweight frameworks.
 In this book you will learn how to apply test-driven development and object
design to enterprise Java applications. It illustrates how to develop with POJOs and
lightweight frameworks using realistic use cases from a single example application
that is used throughout the book. It even implements the same use case using mul-
tiple approaches so that you can see the essential differences between them.
  A  key  message  of  POJOs  in  Action  is  that  every  technology  has  both  benefits
and  drawbacks.  This  book  will  teach  you  when  to  use—and  when  not  to  use—
each  of  the  frameworks.  For  example,  although  the  emphasis  is  on  the  Spring
framework and POJOs, this book also describes when it makes sense to use EJBs.
It explains when to use an object-oriented design and an object/relational map-
ping (ORM) framework and when to use a procedural design and SQL directly.
This sets POJOs in Action apart from many other books that blindly advocate the
use of their favorite framework.
  Enterprise  Java  frameworks  are  constantly  evolving.  While  I  was  writing  this
book, all of the frameworks I describe had several releases. EJB 3 appeared, albeit
in draft form. And between the time this book is printed and the time you read it,
some enterprise Java frameworks will have evolved further yet. But the good news
is that this book will remain relevant. POJOs and nonintrusive lightweight frame-
works are here to stay.
 Regardless of how the frameworks evolve, there are some key concepts that will
not  change.  First,  it’s  vital  that  you  objectively  evaluate  the  pros  and  cons  of  a
framework and not be swayed by clever marketing. Second, POJOs and nonintru-
sive frameworks are a good thing. You want to avoid coupling your business logic
to an infrastructure framework, especially if it slows down the edit-compile-debug
cycle. Third, testing is essential. If you don’t write tests, then you can’t be sure that
your application works. And you must be able to write tests, so designing for test-
ability  is  also  important.  Finally,  as  Albert  Einstein  said,  “Everything  should  be
made as simple as possible, but not simpler.”

Download the book: POJOs in Action Dec 2005 .pdf

Tags: ebook, java, pojo, action, pdf


Monday, March 03, 2009

Free ebook download: Manning EJB 3.0 in Action .pdf

Title: Manning EJB 3.0 in Action
Author: Debu Panda
           Reza Rahman
           Derek Lane
Format: PDF
Publisher: Manning

One day, when God was looking over his creatures, he noticed a boy named Sadhu whose humor
and cleverness pleased him.  God felt generous that day and granted Sadhu three wishes. Sadhu asked
for  three  reincarnations--one  as  a  ladybug,  one  as  an  elephant,  and  the  last  as  a  cow.  Surprised  by
these wishes, God asked Sadhu to explain himself. The boy replied, "I want to be a ladybug so that
everyone in the world will admire me for my beauty and forgive the fact that I do no work. Being an
elephant will be fun because I can gobble down enormous amounts of food without being ridiculed. I
will like being a cow the best because I will be loved by all and useful to mankind." God was charmed
by these answers and allowed Sadhu to live through the three incarnations. He then made Sadhu a
morning star for his service to mankind as a cow.
EJB too has lived through three incarnations. When it was first released, the industry was dazzled
by  its  innovations.  But  like  the  ladybug,    EJB 1  had  limited  functionality.  The  second  EJB
incarnation was just about as heavy as the largest of our beloved pachyderms. The brave souls who
could not do without its elephant-power had to tame the awesome complexity of EJB 2. And finally,
in its third incarnation, EJB has become much more useful to the huddled masses, just like the gentle
bovine that is sacred for Hindus and respected as a mother whose milk feeds us all.. 
A  lot  of  people  have  put  in  a  lot  of  hard  work  to  make  EJB  3  as  simple  and  lightweight  as
possible without sacrificing enterprise-ready power. EJB components are now little more than Plain
Old  Java  Objects  (POJOs)  that  look  a  lot  like  code  in  a  Hello  World  program.  We  hope  you  will
agree with us as you read through the next Chapters that it has all the makings of a star. 
We’ve strived to keep this book as earthy as possible without skimping on content. The book is
designed to help you learn EJB 3.0 as quickly and as easily as possible. At the same time, we will not
neglect to cover the basics where needed. We will also dive into deep waters with you where we can,
share with you all the amazing sights we’ve discovered and warn you about any lurking dangers. 
This  book  is  about  the  radical  transformation  of  a  very  important  and  uniquely  influential
technology in the Java World. We suspect you are not picking this book up to learn too much about
EJB  2.  You  probably  either  already  know  EJB  2.x  or  are  completely  new  to  the  world  of  EJB.  In
either  case,  spending  too  much  time  on  previous  versions  is  a  waste  of  your  time  --you  won't  be
surprised to learn that EJB 3.0 and EJB 2.x have very little in common. . If you are really curious
about the journey that brought us to the current point, we encourage you to pick up one of the many
good books on the previous versions of EJB.

Download the free pdf ebook: Manning EJB 3.0 in Action.pdf

Tags: ebook, pdf, manning, ebj, java


Monday, March 03, 2009

Free pdf ebook download: Struts 2 in Action (May 2008).pdf

Title: Struts 2 in Action
Author: Donald Brown,
           Chad Michael Davis,
           Scott Stanlick
Format: PDF
Publisher: Manning

Welcome to Struts 2! If you’ve picked up this book, we suspect you’re a Java developer
working with web applications who’s somehow or other heard about Struts 2. Perhaps
you’ve worked with the Struts 1 framework in the past, perhaps you’ve worked with
another framework, or perhaps this is your first step into Java web application develop-
ment. Whichever path has led you here, you’re probably looking for a good introduc-
tion to the new Struts 2 framework. This book intends to give you that introduction
and  much  more.  If  you’ve  never  heard  of  Struts  2,  we  cover  the  basics  in  enough
depth to keep you in tow. If you know what Struts 2 does, but want a deeper under-
standing of how it does it, we’ll provide that too.
 Struts 2 is a Java web application framework. As you know, the Java world is vast
and a Struts 2 application may travel far and wide in this world of Java. With that said,
one of the biggest challenges faced by a Struts 2 book arises from trying to determine
what content to include. This book could have been three times as long if we’d taken
all  of  the  good  advice  we  received  about  what  to  include.  We  apologize  to  those
whose course of normal development takes them outside the boundaries of our con-
tent. Please believe us when we say that we agonized over what to include and what
not to include.
 Struts 2 is much more than a revision of the Struts 1 framework. If you hadn’t yet
heard anything about Struts 2, you might expect, based upon the name, to find a new
release of that proven framework. But this is not the case. Its relationship to that older
framework  is  based  in  philosophy  rather  than  in  code  base.  Struts  1  was  an  action-
oriented framework that implemented a Model-View-Controller (MVC) separation of
concerns  in  its  architecture.  Struts  2  is  a  brand  new  implementation  of  those  same
MVC principles in an action-oriented framework. While the general lay of the land will
seem familiar to Struts 1 developers, the new framework contains substantial architec-
tural differences that serve to clean up the MVC lines and make the development pro-
cess all that more efficient. We cover the new framework from the ground up, taking
time to provide a true introduction to this new technology while also taking pains to
give an inside view.
 The organization of this book aims to walk you through Struts 2 in a sequence of
increasing complexity. We start with a couple of preliminary chapters that introduce
the technological context of the framework, give a high-level overview of the architec-
ture,  and  present  a  bare-bones  HelloWorld  sample  application  to  get  your  environ-
ment up and running. After this brief introduction, we set off into a series of chapters
that cover the core concepts and components of the framework one by one. We take
time to explain the functionality of each component in depth. We also provide real
code examples as we begin the development of our full-featured sample application,
the Struts 2 Portfolio. Finally, the later chapters provide some advanced techniques
for  tweaking  a  bit  more  out  of  the  core  components,  as  well  as  introducing  some
advanced features of the framework such as plug-ins and Spring integration.

Download the free ebook: Struts 2 in Action (May 2008).pdf

Tags: ebook, java, struts, pdf


Monday, March 03, 2009

Free ebook download: JUnit In Action .pdf

Title: JUnit In Action
Author: Vincent Massol, Ted Husted
Format: PDF
Publisher: Manning

JUnit in Action is an example-driven, how-to book on unit-testing Java applications,
including J2EE applications, using the JUnit framework and its extensions. This
book is intended for readers who are software architects, developers, members of
testing teams, development managers, extreme programmers, or anyone practic-
ing any agile methodology.
 JUnit in Action is about solving tough real-world problems such as unit-testing
legacy applications, writing real tests for real objects, employing test metrics, auto-
mating tests, testing in isolation, and more.

Special features
Several special features appear throughout the book.

Best practices
The JUnit community has already adopted several best practices. When these are
introduced in the book, a callout box summarizes the best practice.

Design patterns in action
The JUnit framework puts several well-known design patterns to work. When we
first discuss a component that makes good use of a design pattern, a callout box
defines the pattern and points out its use in the JUnit framework.

Software directory
Throughout the book, we cover how to use extensions and tools with JUnit. For
your convenience, references to all of these software packages have been col-
lected in a directory in the references section at the end of this book. A bibliogra-
phy of other books we mention is also provided in the references section.

Roadmap
The book is divided into three parts. Part 1 is “JUnit distilled.” Here, we introduce
you to unit testing in general and JUnit in particular. Part 2, “Testing strategies,”
investigates different ways of testing the complex objects found in professional
applications. Part 3, “Testing components,” explores strategies for testing com-
mon subsystems like servlets, filters, JavaServer Pages, databases, and even EJBs.

Download the book: JUnit In Action.pdf

Tags: ebook, pdf, java, junit, test


Monday, March 03, 2009

Free pdf ebook download: Lucene in Action .pdf

Title: Lucene in Action
Author: ERIK HATCHER OTIS GOSPODNETIC
Format: PDF

Lucene started as a self-serving project. In late 1997, my job uncertain, I
sought something of my own to market. Java was the hot new programming
language, and I needed an excuse to learn it. I already knew how to write
search software, and thought I might fill a niche by writing search software in
Java. So I wrote Lucene.
 A few years later, in 2000, I realized that I didn’t like to market stuff. I had
no interest in negotiating licenses and contracts, and I didn’t want to hire peo-
ple and build a company. I liked writing software, not selling it. So I tossed
Lucene up on SourceForge, to see if open source might let me keep doing
what I liked.
 A few folks started using Lucene right away. Around a year later, in 2001,
folks at Apache offered to adopt Lucene. The number of daily messages on
the Lucene mailing lists grew steadily. Code contributions started to trickle in.
Most were additions around the edges of Lucene: I was still the only active
developer who fully grokked its core. Still, Lucene was on the road to becom-
ing a real collaborative project.
 Now, in 2004, Lucene has a pool of active developers with deep understand-
ings of its core. I’m no longer involved in most day-to-day development; sub-
stantial additions and improvements are regularly made by this strong team.
 Through the years, Lucene has been translated into several other program-
ming languages, including C++, C#, Perl, and Python. In the original Java,
and in these other incarnations, Lucene is used much more widely than I ever
would have dreamed. It powers search in diverse applications like discussion
groups at Fortune 100 companies, commercial bug trackers, email search sup-
plied by Microsoft, and a web search engine that scales to billions of pages. When,
at industry events, I am introduced to someone as the “Lucene guy,” more often
than not folks tell me how they’ve used Lucene in a project. I still figure I’ve only
heard about a small fraction of all Lucene applications.
 Lucene is much more widely used than it ever would have been if I had tried
to sell it. Application developers seem to prefer open source. Instead of having to
contact technical support when they have a problem (and then wait for an answer,
hoping they were correctly understood), they can frequently just look at the
source code to diagnose their problems. If that’s not enough, the free support
provided by peers on the mailing lists is better than most commercial support. A
functioning open-source project like Lucene makes application developers more
efficient and productive.
 Lucene, through open source, has become something much greater than I
ever imagined it would. I set it going, but it took the combined efforts of the
Lucene community to make it thrive.
 So what’s next for Lucene? I can’t tell you. Armed with this book, you are now
a member of the Lucene community, and it’s up to you to take Lucene to new
places. Bon voyage!

Download the book: Lucene in  Action.pdf

Tags: pdf, ebook, java, lucene


Sunday, March 03, 2009

Free pdf ebook download: How Tomcat Works .pdf

Title: How Tomcat Works
Author: Budi Kurniawan / Paul Deck
Format: PDF
Publisher: BrainySoftware.com

How Tomcat Works is the only book that explains the internal workings of
Tomcat, the open source project used by millions of Java developers.
Unlike other Tomcat titles, it is unique because it does not simply covers the
configuration or servlet development with Tomcat. Rather, this book
is meant for advanced readers interested in writing their own Tomcat
modules or in understanding more beyond servlet/JSP programming.
  The authors of this book have cracked open Tomcat 4 and 5 and
revealed the internal workings of each component. Upon understanding
the contents of this book, you will be able to develop your own
Tomcat components or extend the existing ones.
  In particular, this book explains:
  - How to develop Java web servers
  - Whether or not more Tomcat creates more than one
instance for each servlet
  - How Tomcat runs a servlet that implements the
SingleThreadModel interface
  - Why you cannot change the value of request parameters.
  - The two main modules of a servlet container:
connector and container
  - How to build your own connector or extend the existing ones
  - The four types of containers: engine, host, context, wrapper
  - How Tomcat manages sessions and how to extend the session
manager in a distributed environment.
  - The class loader and how to create custom loaders
  - How Tomcat implements security and basic/form-based/digest
authentication
  - How realms and login configuration work.
  - How Tomcat processes the configuration file (server.xml) and
converts the XML elements to Java objects using Digester
  - Tomcat's shutdown hook
  - JMX, Apache's Commons Modeler, and Tomcat JMX manageable
resources

Download the free pdf book: How Tomcat Works.pdf

Tags: pdf, ebook, tomcat, java


Sunday, March 03, 2009

Free pdf ebook download: GoF Design Patterns with examples using Java and UML2 .pdf

Title:GoF Design Patterns with examples using Java and UML2
Author:Benneth Christiansson
Format:PDF

Benneth Christiansson Bio:
Benneth Christiansson is a former senior lecturer and
researcher at Karlstad university.
Nowadays he works as Curriculum Manager, Open Source
Evangelist and Senior Consultant at Redpill Linpro AB.
The largest provider of Open Source solutions and services
in the Nordic area.
Benneth occupies a genuine experience as both instructor
and author, with several published books and publications.
The idea that lead to this book originated during the
participation of a Java Architect training program taught at
Logica Sverige AB Karlstad office. During the course the authors
identified the lack of a quick-guide to the basic GoF design
patterns. A book that could be used as a bare bone reference as well
as a learning companion for understanding design patterns. In the book
all patterns are exemplified using Java and UML2 notation. The book
also focuses on benefits, drawbacks, applicability and indicates
successful real life usage of the individual patterns.
Co-authors are all employees at different Logica Sweden AB offices.

Tags: ebook, pdf, java, GOF, design, pattern, UML


Saturday, March 03, 2009

Free pdf ebook download -- Expert Spring MVC and Web Flow .pdf

Title:Expert Spring MVC and Web Flow
Author: Seth Ladd , Darren Davison , Steven Devijver , Colin Yates
Format: PDF
Publisher:APress

ISBN10: 1-59059-584-X
ISBN13: 978-1-59059-584-8
424 pp.
Published Feb 2006

Expert Spring MVC and Web Flow provides in-depth coverage of Spring MVC and Spring Web Flow, two highly customizable and powerful web frameworks brought to you by the developers and community of the Spring Framework. Spring MVC is a modern web application framework built upon the Spring Framework, and Spring Web Flow is a new project that compliments Spring MVC for building reusable web controller modules that encapsulate rich page navigation rules. Along with detailed analysis of the code and functionality, plus the first-published coverage of Spring Web Flow, this book includes numerous tips and tricks to help you get the most out of Spring MVC, Spring Web Flow, and web development in general.

Spring MVC and Spring Web Flow are engineered with an important consideration for design patterns and expert object oriented programming techniques. This book explains not only the design decisions of the frameworks, but also how you can apply similar designs and techniques to your own code.

This book takes great care in covering every inch of Spring MVC and Spring Web Flow to give you the complete picture. Along with all the best known features of these frameworks, youll discover some new hidden treasures. Youll also learn how to correctly and safely extend the frameworks to create customized solutions.

From beginner to expert, this book is for anyone who wishes to write robust, modern, and useful web applications with the Spring Framework.


Author Information
Seth Ladd
Seth Ladd is a software engineer and professional Spring Framework trainer and mentor specializing in object-oriented and testable web applications. He started his own company building websites at age 17, but now enjoys having a real job. Currently working for Camber Corporation, Seth has built and deployed systems for NEC, Rochester Institute of Technology, Brivo Systems, and National Information Consortium. He has architected and developed enterprise applications in Java and C for both the server and remotely connected embedded devices. He enjoys speaking and teaching, and is a frequent presenter at local Java user groups and at corporate developer conferences. Seth is very thankful for living and working in Kailua, Hawaii, with his wife.

Darren Davison
Darren Davison is a principal consultant for UPCO, specializing in J2EE and open source Java technologies. He has been involved with Spring since the summer of 2003, well before its 1.0 release, and he used the framework to underpin a global intranet site for an investment bank. Darren has previously worked for multinational manufacturing and engineering companies on e-business, infrastructure, and many web-based projects. Away from work, Darren enjoys the never-ending journey of discovery that is GNU/Linux. When not in front of a computer screen, he likes reading and any form of live entertainment.

Steven Devijver
Steven Devijver is an experienced Java developer who started developing J2EE applications in 2000. In 2003 he discovered the Spring Framework, and since then he has been one of its most enthusiastic users. Steven is a senior consultant at Interface21, teaching hundreds of students every year about the Spring Framework.

Colin Yates
Colin Yates is a J2EE principal architect who specializes in web-based development. He has been a freelance consultant for the past three years and has worked in a number of environments, both structured and chaotic. Since graduating with a software engineering degree in 1997, he has held a number of positions, including development lead, principal systems engineer, mentor, and professional trainer. His principal skill set includes mentoring others, architecting complex problems into manageable solutions, and optimizing development processes.

Colin was first introduced to the Spring Framework in January 2003 by his mentors, Peter Den Haan and David Hewitt, and he has never looked back. After a couple of years using the Spring and Hibernate technology stack to good effect, in May 2005 he became one of the early adopters of Spring Web Flow, finally finding the missing item in the web development toolbox. A self-confessed addict of the green bar that comes from following test-driven development and XP, Colin regularly frustrates new team members by introducing a continuous build environment.

When not hanging around the Spring support forums http://forum.springframework.org, Colin can be found out walking with his wife and two dogs, practicing martial arts, attending his local church, or preparing for the arrival of his first child.

Tags: ebook, pdf, spring, mvc, web, java


Friday, March 03, 2009

Free pdf ebook download -- Design Patterns For Dummies pdf

Title: Design Patterns For Dummies
Author: Steve Holzner, Ph.D.
Format: PDF
Paperback
308 pages
May 2006

There's a pattern here, and here's how to use it!


Find out how the 23 leading design patterns can save you time and trouble

Ever feel as if you've solved this programming problem before? You -- or someone -- probably did, and that's why there's a design pattern to help this time around. This book shows you how (and when) to use the famous patterns developed by the "Gang of Four," plus some new ones, all designed to make your programming life easier.

Discover how to:
* Simplify the programming process with design patterns
* Make the most of the Decorator, Factory, and Adapter patterns
* Identify which pattern applies
* Reduce the amount of code needed for a task
* Create your own patterns

Table of Contents:


Introduction.
Part I: Getting to Know Patterns.

Chapter 1: Congratulations, Your Problem Has Already Been Solved.

Chapter 2: Putting Plans into Action with the Strategy Pattern.

Chapter 3: Creating and Extending Objects with the Decorator and Factory Patterns.

Chapter 4: Watch What’s Going On with the Observer and Chain of Responsibility Patterns.

Chapter 5: From One to Many: The Singleton and Flyweight Patterns.

Part II: Becoming an OOP Master.

Chapter 6: Fitting Round Pegs into Square Holes with the Adapter and Facade Patterns.

Chapter 7: Mass Producing Objects with the Template Method and Builder Patterns.

Chapter 8: Handling Collections with the Iterator and Composite Patterns.

Chapter 9: Getting Control of Your Objects with the State and Proxy Patterns.

Chapter 10: Coordinating Your Objects with the Command and Mediator Patterns.

Part III: The Part of Tens.

Chapter 11: Ten More Design Patterns.

Chapter 12: Ten Easy Steps to Create Your Own Patterns.

Index.

Tags: java, ebook, design, pattern, GOF


Friday, March 03, 2009

Free ebook download -- Core JavaServer Faces, Second Edition .chm

Title: Core JavaServer Faces, Second Edition
Author: David Geary, Cay Horstmann
Format: CHM
Publisher: Prentice Hall
Pub Date: May 08, 2007
Print ISBN-10: 0-13-173886-0
Print ISBN-13: 978-0-13-173886-7
 
Pages: 752


Overview

JavaServer Faces (JSF) is quickly emerging as the leading solution for rapid user interface development in Java-based server-side applications. Now, Core JavaServer? Faces—the #1 guide to JSF—has been thoroughly updated in this second edition, covering the latest feature enhancements, the powerful Ajax development techniques, and open source innovations that make JSF even more valuable.

Authors David Geary and Cay Horstmann delve into all facets of JSF 1.2 development, offering systematic best practices for building robust applications, minimizing handcoding, and maximizing productivity. Drawing on unsurpassed insider knowledge of the Java platform, they present solutions, hints, tips, and "how-tos" for writing superior JSF 1.2 production code, even if you're new to JSF, JavaServer Pages?, or servlets.

The second edition's extensive new coverage includes: JSF 1.2's improved alignment with the broader Java EE 5 platform; enhancements to the JSF APIs; controlling Web flow with Shale; and using Facelets to replace JSP with XHTML markup. The authors also introduce Ajax development with JSF—from real-time validation and Direct Web Remoting to wrapping Ajax in JSF components and using the popular Ajax4jsf framework.

This book will help you

Automate low-level details and eliminate unnecessary complexity in server-side development

Discover JSF best practices, ranging from effective UI design and style sheets to internationalization

Use JSF with Tiles to build consistent, reusable user interfaces

Leverage external services such as databases, LDAP directories, authentication/authorization, and Web services

Use JBoss Seam to greatly simplify development of database-backed applications

Implement custom components, converters, and validators

Master the JSF 1.2 tag libararies, and extend JSF with additional tag libraries

Download: Core JavaServer Faces, Second Edition.chm

Tags: java, sf, chm, ebook


Friday, March 03, 2009

Free ebook download -- Building Java Enterprise Applications Volume I Architecture

Title: Building Java Enterprise Applications Volume I Architecture
Author: Brett McLaughlin
Format: PDF
Publisher: O'Reilly
First Edition March 2002
ISBN: 0-569-00123-1, 318 pages

If you're basing your livelihood on Java these days, you are going to run across at least one
enterprise application programming project; if it hasn't come upon you already, it's just around
the corner. I've been faced with more than twenty at this point in my career, and see many
more in my future. Each time I get into these projects, I find myself paging through book after
book and searching the Web, looking for the same information time after time. Additionally,
I've developed a bit of a toolkit for handling common enterprise tasks.

What I have determined is that there are many terrific books on specific technologies like
Enterprise JavaBeans, servlets, and the Java Message Service. These books cover the details
of these APIs and explain how to use them. I have also found, though, that there is no
resource in existence that describes connecting these components in an intelligent way. No
coherent examples are documented and explained that tell how best to code fa?ade patterns,
attach entity beans to directory servers, use servlets and JSP with EJB without killing
performance, or a host of other common tasks. At the same time, these very issues are the
heart of my job description, and probably of many other programmers' as well.

Rather than simply write a short article or two and fall short of really addressing the topic
(something I see lots of people doing), I convinced O'Reilly & Associates to put forth an
exhaustive series on enterprise programming in Java. I'm proud to say that you have in your
hands the first volume of that series. It covers the back-end of application programming and
explains databases, entity beans, session beans, the Java Message Service, JNDI, RMI, LDAP,
and a whole lot more.

The topic will be extended in the next two volumes, which are already planned. The second
volume will cover traditional web applications, including HTTP, HTML, servlets, JSP, and
XML presentation solutions. The third volume will detail the web services paradigm,
demonstrating the use of UDDI, SOAP, WSDL, and other emerging technologies.

In each volume, you will find extensive code (the code listings in this book, without
comments, total well over 100 pages, about 30% of the actual book), without needless
instruction or banter. I've gotten straight to the point, and tried to let you see code, not
discussion of code, whenever possible. I hope that you enjoy the series, and that it aids you in
your own enterprise application programming.

Download: Building Java Enterprise Applications Volume I Architecture.pdf

Tags: java, enterprise, application, architecture


Friday, March 03, 2009

Free ebook download: Pro Java EE Spring Patterns .pdf

Title: Pro Java EE Spring Patterns
        Best Practices and Design Strategies Implementing Java EE Patterns with the Spring Framework
Author:Dhrubojyoti Kayal
Publisher:APress

This book combines the Java EE design patterns with the Spring Framework. The Java
EE design pattern catalog provides an invaluable reference for any Java EE application
design and architecture. The Spring Framework, on the other hand, is the de facto standard
for Java EE. Spring, with its inherently simple programming model and emphasis on
object design best practices, has helped revive and increase the adoption of the Java EE
platform.
I have been using the Spring Framework in combination with design patterns to
build Java EE applications for a long time now. This book is an effort to document a catalog
of frequently used design strategies with the Spring Framework, which is relevant in
the context of the latest Java 5 EE specifications. I am sure this book will be a reference
for designers and developers who are interested in building enterprise applications with
Java EE and the Spring Framework.

Who This Book Is For
This book is primarily meant for Java EE application designers and architects. Experienced
developers with knowledge of the Java EE design patterns and the Spring
Framework will also find this book immensely useful.

How This Book Is Structured
This book is structured in a very simple way. Chapter 1 starts with an introduction to the
fundamental concepts in enterprise application architecture. It analyzes various architectural
styles in distributed computing, and it introduces UML as the tool for the visual
representation of application design.
Chapter 2 introduces the Spring Framework and its role in building enterprise Java
applications. This chapter also highlights the design pattern template that will be used in
the next four chapters. Chapter 3 explains the design problems in the presentation tier
and presents solutions with the Spring MVC framework. Chapter 4 elaborates on the
business tier design patterns. This chapter also shows Spring’s support for simplifying
EJB development.
Chapter 5 deals with the integration tier design patterns. Chapter 6 takes a look into
the often-overlooked areas of security and transaction design strategies. Finally, in
Chapter 7, all the concepts presented in earlier chapters are used to develop an order
management system.

Free download: Pro Java EE Spring Patterns.pdf

Tags: java, javaee, spring, pattern


Friday, March 03, 2009

Free ebook download:Practical API Design Confessions of a Java™ Framework Architect .pdf

Title:Practical API Design Confessions of a Java™ Framework Architect
Author:Jaroslav Tulach
About the Author:
   JAROSLAV TULACH is the founder and initial architect of NetBeans, which
was later acquired by Sun. As creator of the technology behind NetBeans,
he is still with the project to find ways to improve the design skills among
all the programmers who contribute to the success of the NetBeans open
source project.

Contents at a Glance:

About the Author
Acknowledgments
Prologue: Yet Another Design Book?
PART 1   Theory and Justification
CHAPTER 1      The Art of Building Modern Software
CHAPTER 2      The Motivation to Create an API
CHAPTER 3      Determining What Makes a Good API
CHAPTER 4      Ever-Changing Targets
PART 2   Practical Design
CHAPTER 5      Do Not Expose More Than You Want
CHAPTER 6      Code Against Interfaces, Not Implementations
CHAPTER 7      Use Modular Architecture
CHAPTER 8      Separate APIs for Clients and Providers
CHAPTER 9      Keep Testability in Mind
CHAPTER 10    Cooperating with Other APIs
CHAPTER 11    Runtime Aspects of APIs
CHAPTER 12    Declarative Programming
PART 3   Daily Life
CHAPTER 13    Extreme Advice Considered Harmful
CHAPTER 14    Paradoxes of API Design
CHAPTER 15    Evolving the API Universe
CHAPTER 16    Teamwork
CHAPTER 17    Using Games to Improve API Design Skills
CHAPTER 18    Extensible Visitor Pattern Case Study
CHAPTER 19    End-of-Life Procedures
EPILOGUE
The Future
BIBLIOGRAPHY
INDEX

Download: Practical API Design.pdf

Tags: java, framework, architect, API, design


Friday, March 03, 2009

Free ebook download:Ajax on Java chm By Steven Douglas Olson

Title:Ajax on Java
       By Steven Douglas Olson
...............................................
Publisher: O'Reilly
Pub Date: February 23, 2007
ISBN-10: 0-596-10187-2
ISBN-13: 978-0-596-10187-9
Pages: 228

This practical guide shows you how to make your Java web applications more responsive and dynamic by incorporating new Ajaxian features, including suggestion lists, drag-and-drop, and more. Java developers can choose between many different ways of incorporating Ajax, from building JavaScript into your applications "by hand" to using the new Google Web Toolkit (GWT).

Ajax on Java starts with an introduction to Ajax, showing you how to write some basic applications that use client-side JavaScript to request information from a Java servlet and display it without doing a full page reload. It also presents several strategies for communicating between the client and the server, including sending raw data, and using XML or JSON (JavaScript Object Notation) for sending more complex collections of data.

The book then branches out into different approaches for incorporating Ajax, which include:

  • The Prototype and script.aculo.us Javascript libraries, the Dojo and Rico libraries, and DWR

  • Integrating Ajax into Java ServerPages (JSP) applications

  • Using Ajax with Struts

  • Integrating Ajax into Java ServerFaces (JSF) applications

  • Using Google's GWT, which offers a pure Java approach to developing web applications: your client-side components are written in Java, and compiled into HTML and JavaScript

Ajax gives web developers the ability to build applications that are more interactive, more dynamic, more exciting and enjoyable for your users. If you're a Java developer and haven't tried Ajax, but would like to get started, this book is essential. Your users will be grateful.

Download:   Ajax on Java.chm

Tags: java, ajax, ebook, free


Thursday, March 03, 2009

Free ebook download:addison wesley patterns of enterprise application architecture.chm

Title: Patterns of enterprise application architecture
Format: CHM
Publisher: addison wesley
Author: Martin Fowler

Tags: pattern, java, application, architecture


Thursday, March 03, 2009

Free ebook download:Domain Driven Design Tackling Complexity In The Heart Of Software.chm

Title: Addison.Wesley.Domain.Driven.Design.Tackling.Complexity.In.The.Heart.Of.Software
Format: CHM
Author: Eric Evans

Tags: ebook, java, domain, Software