The Java Naming and Directory Interface (JNDI) is a standard API to access
different naming and directory service implementations like LDAP. A naming
service provides naming functionality and a directory service provides
applications with directory functionality. The Java naming service is a
fundamental component of every J2EE system.
JNDI consists of a client API and a service provider interface (SPI). The
client application uses the client API to access various naming and directory
services. The SPI lets naming and directory service implementations be
plugged into the JNDI framework.
In this article, we will explore how to use the JNDI SPI to implement a
simple client/server-based naming service.
Naming Service Architecture
Figure 1 shows the architecture and the various components of a typical Java
naming service:
The first thing any JNDI client does is to create... (more)
Apache Cactus is part of the Jakarta project and is an open source framework
for unit testing server-side Java code. It uses and extends the JUnit
framework and facilitates unit testing of servlets, JSPs, Taglibs, EJBs, and
filters.
Testing server-side components is more complicated than testing client-side
code because these components interact with a container and require access to
many container-managed objects such as request and session. It's possible to
make a mock-up of all the container-managed objects and test the components.
These mock objects provide a "clean" environ... (more)
Page navigation requirements become more demanding as Web applications get
bigger and more complex. Hard-coded page flow rules make applications less
resilient to changes. In this scenario, reusing business logic is one aspect
and reusing page flow becomes another aspect. Especially in situations that
demand a wizard-kind behavior, it's essential to capture application page
flow logic in a declarative fashion.
Spring Web Flow (SWF) is a powerful framework for implementing page flows in
a Web application. Even though SWF is part of the Spring Web application
development suite tha... (more)