<!--
Copyright 2005-2006 The Apache Software Foundation
Licensed  under the  Apache License,  Version 2.0  (the "License");
you may not use  this file  except in  compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed  under the  License is distributed on an "AS IS" BASIS,
WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
implied.

See the License for the specific language governing permissions and
limitations under the License.
-->
<HTML>
<BODY>
Services required by the portal.  Contains Portal Driver specific
interfaces and the following childern:

<li><b>container</b>:
The services package contains implementations of the services required
to integrate with the Pluto Container.
</li>

<li><b>impl</b>:
Default Implementations of the portal services
</li>

</BODY>
</HTML>