Programming Books C Java PHP Python Learn more Browse Programming Books
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

LDAP Programming with Java¿ Hardcover – February 14, 2000


See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Hardcover
"Please retry"
$6.42 $0.01
Amazon%20Web%20Services

NO_CONTENT_IN_FEATURE

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 692 pages
  • Publisher: Addison-Wesley Professional (February 14, 2000)
  • Language: English
  • ISBN-10: 0201657589
  • ISBN-13: 978-0201657586
  • Product Dimensions: 9.6 x 7.5 x 1.6 inches
  • Shipping Weight: 3 pounds
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (20 customer reviews)
  • Amazon Best Sellers Rank: #2,795,813 in Books (See Top 100 in Books)

Editorial Reviews

Amazon.com Review

From centralized corporate phone books to the localized storage of user preferences, Internet directories have many useful features. LDAP Programming with Java offers an excellent tutorial on Lightweight Directory Access Protocol (LDAP), a popular standard, and the Directory SDK for Java, which lets you program with LDAP efficiently. Written for the working developer, this book demonstrates not only the elements of this Java toolkit but also the strategies and techniques for creating good Internet directories.

There's a nice balance in this text among the background and theory of Internet directories and the many useful sample programs that show LDAP and Java in action. After outlining the development of the LDAP standard, this text gives you concise examples of using Internet directories for such applications as phone books, organizational charts, storing photo IDs centrally, and even providing "location transparency" for user preferences. (This capability allows users to access personalized settings from anywhere on a network.) Other standout material includes security and authentication, including some good detail on signing JAR files for both Netscape and Internet Explorer Web browsers.

This book also provides working sample code for combining LDAP with a variety of Java and Internet APIs such as applets, JavaScript, JavaBeans, and servlets. The working source code is clearly explained, and the authors do a fine job of describing essential programming strategies like authentication and LDAP searching. Filled with practical Java source code and tips, LDAP Programming with Java is an up-to-the-minute resource on using Internet directories to improve software in the enterprise. --Richard Dragan

Topics covered: Introduction to the Lightweight Directory Access Protocol (LDAP); history and advantages of Internet directories; the X.500 standard; installing and using the Directory SDK for Java; command-line LDAP; LDAP Data Interchange Format (LDIF); Distinguished Names (DNs); LDAP searching options; filters and attributes; LDAP authentication techniques; adding, updating, and deleting directory entries; groups; access control lists; using the Simple Authentication and Security Layer (SASL); using LDAP with applets and JavaScript; JAR signing; LDAP and JavaBeans; location transparency with LDAP; storing organizational structures; pictures and user preferences; LDAP and servlets; options and constraints; LDAP URLs; managing schemas; LDAP controls and referrals; extended operations.

From the Inside Flap

After a maturation phase in the early and mid-1990s, Lightweight Directory Access Protocol (LDAP) exploded into the mainstream of enterprise and Internet software environments. Just a few years ago, only researchers and a few brave souls doing pilot projects concerned themselves with the new protocol for sharing and accessing directory information. Today, one of the requirements of any major enterprise-level or Internet-oriented application is to be able to use an existing shared resource for user information, authentication, and authorization, and nowadays that resource in a great many cases is an LDAP directory.


Why LDAP and Java?
The impetus for LDAP Programming with Java was the mushrooming need for accurate, concise, and complete information on how to access this new key element of enterprise and Internet programming--LDAP. Programmers around the world have found innovative ways to use Directory SDK for Java to solve their LDAP access problems, and sometimes they have shared their questions and experiences on the newsgroups for LDAP, but there has been no authoritative guide.

This book is dedicated to the programmers and system administrators who are faced with LDAP-enabling their applications, tools, and systems.

There are various programming language interfaces to LDAP: C, Perl, Microsoft's ADSI. Java and LDAP are a particularly good fit, with all the options available today for deploying Java on servers--Java servlets, Java Server Pages (JSP), Enterprise JavaBeans (EJB), and server-side JavaScript--and in clients as Java applications, applets, or client-side JavaScript. The Netscape Navigator Web browser includes Directory SDK for Java, making it easy to deploy Web-based client applications that use LDAP to authenticate or to retrieve and store data.

In this book we've provided a very large number of examples for every aspect of programming with Directory SDK for Java, from simple code snippets to more than two dozen complete components and applications. You may be able to use some of them as starting points for your own projects. We do not discuss directory deployment scenarios or how to configure an LDAP server. Such topics are explored in detail in other books and in documentation provided by vendors of LDAP servers.


To Get the Most Out of This Book
We're assuming that readers of this book are somewhat familiar with programming in Java, so we will not introduce or explain standard Java constructs. There are many excellent books on Java programming in general, and on Java client-server programming in particular. However, we will start at ground zero when it comes to directories and LDAP.


How the Book Is Organized

Introduction to LDAP
Chapter 1 presents the role of directories in software systems today and describes how applications can benefit from using them, as well as presenting cases in which directories are not as good a fit as relational databases.

Chapter 2 introduces the LDAP protocol against this background and presents the LDAP naming and information models that together define how data is stored and accessed in a directory.

After acquainting you with the basic LDAP concepts and terminology, in Chapter 3 we will look at how Directory SDK for Java can help a Java program, servlet, or applet gain access to an LDAP server. After installing the SDK, we will try a few simple searches with the SDK's command-line search tool to become familiar with how a client typically interacts with an LDAP server.

Getting Started
In Chapter 4 we will install an LDAP server for use in the remainder of the book. If you already have a directory installed that is compatible with version 3 of the LDAP protocol (LDAPv3), you need only add to the directory the sample database file that is provided on the CD-ROM that accompanies the book. The examples in the book do not generally assume any particular vendor's directory product; exceptions are indicated clearly.

With the SDK installed and a directory available, Chapter 5 dives into how to retrieve data from an LDAP server. Searching is the predominant LDAP operation in most programs, and we will cover all parameters that affect the results to be returned, as well as how to obtain optimal performance. Chapter 6 explores the add, modify, delete, and rename operations for updating data in a directory, along with how to use groups.

Authentication is touched on briefly in Chapter 6 because most directories are configured not to allow anonymous clients to update any data. Chapter 7, however, covers the topic thoroughly. Besides covering simple authentication with a distinguished name (DN) and password, it introduces authentication with Secure Sockets Layer (SSL) and Simple Authentication and Security Layer (SASL), and it explains how access control is configured and updated in Netscape Directory Server.

Down and Dirty
Chapter 8 discusses the special considerations for LDAP client code that is intended to run as an applet in a browser. The steps required to digitally sign an applet for use with Microsoft Internet Explorer, Netscape Navigator, and the Sun Java Plug-in Software are presented in detail.

In Chapter 9 we investigate how to access the SDK from JavaScript in a browser.

Chapter 10 demonstrates how to encapsulate LDAP functionality in a JavaBean and provides full source for a directory tree browser JavaBean and a table JavaBean for listing the results of a search operation.

In Chapter 11 we take a detailed look at how an application can store configuration and preferences in a directory.

In a directory, data is stored as a tree. Chapter 12 illustrates how directory data can model relationships other than the physical tree relationships. A JavaBean is developed to extract reporting relationships from LDAP data and present the results as an organizational chart. Another JavaBean presents the contents of a directory entry. The chapter concludes by hooking up into simple applications the graphical JavaBeans that have been developed up to that point in the book.

Chapter 13 develops a complete server-side application: a corporate online "phone book." The application is a Java servlet that makes selected personal directory information, such as phone numbers and photographs, available to any user with a browser.

In Chapter 14 we summarize and discuss all the options and constraints that may be selected by an application for searching and other operations.

Beyond the Basics
Chapter 15 discusses various aspects of the SDK and of LDAP programming in general that are not discussed as often as the other topics in this book, such as LDAP URLs, the use of multiple threads and multiple connections, and performance tips.

Advanced topics, such as schema management, LDAP controls, and the asynchronous operation methods, are presented in Chapter 16.

The appendices contain important reference material for the SDK and for LDAP in general.


If You're in a Hurry
In general, the book contains a logical progression of information and examples, each chapter building on previous ones.

If you are familiar with the use of directories and with LDAP concepts, you may choose to skip over the first two chapters. If you already have an LDAP server available and the SDK is installed, you can go directly to Chapter 5.

If you are not interested in writing applets or JavaScript applications that use LDAP, you can safely skip over Chapters 8 and 9. Similarly, if you do not need to know how to write a Java servlet that uses LDAP, you may choose to skip over Chapter 13.


The Companion CD-ROM
The CD-ROM includes reference documentation and source code for Directory SDK for Java, as well as for all the examples and programs mentioned in the book. The SDK and examples are also provided as precompiled class and JAR files so that you can run any program directly, without compiling or copying to a local hard disk. The full text of the book is also included, to allow you to view the contents in a browser and to search for any word.

0201657589P04062001


More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.0 out of 5 stars

Most Helpful Customer Reviews

14 of 14 people found the following review helpful By Rob on August 21, 2001
Format: Hardcover
This book is a truly excellent book, and the only poor reviews center around it's lack of JNDI coverage, which I find unfortunate. Nowhere does the book infer that it is going to cover jndi, this is the assumption of a buyer who equates the word "java" in the title with jndi. Most people who use jndi (myself included) do so to access an ldap server, so to learn jndi is a bit of an overkill. What most people don't know is that netscape's directory SDK for java will port to any ldap version 3 compliant server (and most version 2's), so although it isn't standardized like jndi, it is portable. p38 "The LDAP SDK provides communications and data handling to any LDAP compliant directory service" p51 "Other LDAP servers that comply with LDAP version 3 will also work with the code and examples in this book, and much of the code will also work with servers that support only LDAP version 2". You'll never find a clearer book on ldap, so don't let the jndi confusion throw you.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
20 of 23 people found the following review helpful By A Customer on February 19, 2000
Format: Hardcover
Java has a directory API called JNDI. This book no more than acknowledge its existence. This book discusses LDAP and Netscape's Directory SDK. The author's mention that the book only covers Directory SDK. They don't provide any information on the differences between JNDI and Directory SDK, how the two can be used together or why they focused exclusively on the Directory SDK. What an oversight! The title is misleading. It should be: 'LDAP and Netscape's Java Directory API'.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 8 people found the following review helpful By Albanach on March 4, 2003
Format: Hardcover
Well written book, but based on the author's proprietary API and not JNDI which is the modern approach, thus it's rather dated, hence the discount to 3 stars. The URL and other data still applies, but for actual Java code examples I liked Wilcox "Implementing LDAP" even though it isn't Java-centric. I look forward to the O'Reilly LDAP book to see what it's like.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
30 of 38 people found the following review helpful By George on September 28, 2000
Format: Hardcover
In my opinion the title is misleading! This book is about the proprietary Netscape SDK. And probably this is a great book about... Netscape LDAP SDK. If you wish to use JNDI instead of Netscape SDK, then the book is almost useless. It's amazing that the book contains maybe one reference about JNDI.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By Timo Pantsari on April 19, 2003
Format: Hardcover
Too bad that such talented authors have decided to write this book based on Netscape SDK and not on JNDI like they should have. The book really gives a wrong impression on how to code with Java & LDAP and causes major vendor-lock. Maybe all this was was the plan in the first place when this book was written, since both of the authors are from Netscape, Weltman being a designer of the Netscape LDAP SDK and Dahlbura a lead engineer specializing in LDAP implementation and planning.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 9 people found the following review helpful By A Customer on March 1, 2000
Format: Hardcover
Focusing solely on Netscape's Directory SDK with the Netscape Directory Server, a more appropriate title would have been Netscape Directory Server via the Netscape Java Directory SDK.
If you are not working with these specific tools, this book will be useless to you.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 8 people found the following review helpful By Mullion Blasto on March 7, 2000
Format: Hardcover
I was looking for a book to help me with my website's authentication project and its use of LDAP and this book helped me more than the rest. It gave me great code examples, great insights on directory design and an excellent understanding of how to get my job done.
I was at first a little concerned about the lack of coverage on JNDI, but then I realized it's not important to most LDAP/Java projects and it's also widely covered elsewhere. These guys zero in and missle lock on LDAP and Java and really help the reader with those 2 technologies.
I really hope to they put out more texts like this soon on other technologies and information technology strategies. I would guess that other aspects of web applications and web architectures would be well covered by these authors and applicable to me and my highly trafficed website.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By Incheon Paik on January 26, 2002
Format: Hardcover
I think that this book is fairly good and helpful for LDAP and Java. It gives easy description.
Especially, this help me to develope other application using the source code of this book. However, one short point is to be limited to Netscape Server Suite. I would like to say thanks to authors.
Regards,
Incheon Paik
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews


What Other Items Do Customers Buy After Viewing This Item?