README for Likewise Open

Revision 1.0, October 22, 2005

What is it?
------------
Likewise Open helps to bridge the gap between the excellent open source
projects like Samba (file and print serving) and management of those packages
and servers by Microsoft(R) Windows(R) clients.

The Pieces:
------------

On the server, there are components that are used in conjunction with Samba and the underlying
operating system.

On the client, there are components that work in conjunction with the Microsoft(r) Management
Console (built into Windows(R) operating systems since 2000). 


THE SERVER:
-----------

Likewise works in conjunction with Samba, cups, and other Linux(R) applications. Many management
functions utilize the Samba and it's RPC mechanisms and callouts. That functionality which is not
supported by MS-RPC and Samba happens through web services calls to a J2SE container (Jetty) 
running some server application code (cesm-agent).

In it's initial release, the Jetty server enviroment doesn't include authentication components;
only servcies that provide 'get' type operations are supplied. Care should be taken if other
functionality is added without authentication components.

Java has been used to write the applications providing the functionality expected by Samba's 
various "callouts". An example smb.conf file is provided in <INSERT PATH HERE>. For more
information on the callouts, Terpstra has a great book, and there is documentation available
at http://www.samba.org

To build the Server Components:
-------------------------------

Samba - www.samba.org has the latest sources, we recommend version 3.0.21 or later packages.
We'll endeavor to keep these documents current on what is required to work with the various 
versions of Samba that you may encounter "in the wild."

To build the server-side components, you will need to the following packages; install them in places that are convenient to you, and then update entries in cesm-agent/build.properties:

Install this first:
J2SE sdk-	http://java.sun.com/j2se - Version 1.4.2 is what was used here.
Then install the development kit; choose the "no Sun or Tomcat container" option
jwsdp - 	http://java.sun.com - at the time of this writing version 1.6 was current

Now get the servlet container:
jetty - 	http://www.mortbay.org (we used 5.1 or later)

Don't forget to set the JAVAHOME environment variable to point to the J2SE bin directory...

Mix in a couple or more packages:
log4j - 	http://logging.apache.org/log4j
concurrent - EDU.oswego.cs.dl.util.concurrent-
		http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html
 
The Directories:
cesm-agent	- code related to the Jetty server components 
EventLogDB 	- facility to harvest lines from various log files and convert them into
                  eventlog records
HWInfoFilter 	- supports the "device manager" functionality from the server perspective
PerfWriter	- Provides data that fuel performance counters
SambaScripts	- Callouts from smb.conf for managing file and print resources
docs		- information that you might find useful

