Overview
Shepherd is a dynamic, object-oriented, extensible framework
for developing high performance, minimal resource Internet servers.
In many cases, organizations use only one machine to deliver
all of the major Internet services such as POP3, IMAP4, SMTP,
HTTP, and FTP. Often, these Internet services are provided through
different software packages. Those software packages use many
common components to complete their work such as:
- User Lists
- Access Control Lists
- Configuration Data
- Remote Administration
- Thread Pools
- Event Logging
What the user ends up with are different configuration interfaces,
separate users lists, separate access control lists, multiple
thread pools, etc. resulting in poor performance, difficult administration,
and more demanding hardware requirements. Shepherd combats these
problems by defining an object-oriented framework for developing
Service components that plug into the Shepherd Engine.
Shepherd consists of several products:
- Shepherd Engine
- Shepherd Services
- Shepherd Agents
- Shepherd Directory Service Providers
- Shepherd Developer's Toolkit
The Shepherd Engine controls the loading and unloading of the
Directory, Services, and Agents. It also manages the common thread
pool and provides access to Shepherd Directory Services (SDS)
through a command line interface.
Shepherd Services are the implementations of different tcp/ip
services in the Shepherd environment. J&J plans to offer some,
if not all, of the following protocols:
- IMAP4 (under development)
- Fax
- HTTP
- SMTP (available now)
- POP3 (available now)
- LDAP (under development)
- FTP (in beta)
- j-Chat (available now)
- SNTP
- DNS
Part of Shepherd's strength is its generic Directory Service
Provider (DSP) design that will allow different storage mechanisms
to be implemented seamlessly into all Shepherd Service Components.
J&J plans to offer the following Directory Service Providers:
- JDB-DSP: Object-oriented Database (available now)
- LDAP (under development)
- Shepherd.Admin-DSP (available now)
The Shepherd Developer's Toolkit will allow others to take advantage
of the Shepherd Framework for their own products or in-house server
development.
If you would like further information on Shepherd, please contact
us.