OpenSSO Package Design

This document represents an example of packaging OpenSSO using the Image Packaging System. Refer to the Package Design Examples page for an overview of effort to produce several examples of packaging popular distributions.

Overview

The OpenSSO Enterprise Edition 8.0 zip download bundle available on the OpenSSO Downloads page was used as the reference for this example. This bundle is 280 MB in size. Agents for various web and application servers are available in separate download bundles.

Open Questions

  • Are there any differences between OpenSSO Enterprise and Express distributions that should affect the package design?
  • Are there plans to deliver an initial installation program for OpenSSO? If so, how will the filesystem layout of that installation differ from the current zip-based bundle?
  • Would it be useful to have the OpenSSO tools be executable out of the box?

Filesystem Layout Considerations

Initially, the packages will as much as feasible mimic the filesystem layout of the OpenSSO Enterprise 8.0 zip bundle. The main change will be to introduce an "opensso/" subdirectory at the top of each package such that OpenSSO components can be easily installed alongside other components without introducing conflicts. Under the "opensso/" directory, the filesystem layout will closely align with the existing OpenSSO zip bundle.

The upper level of the filesystem layout aligns with the Determining Filesystem Layout section of the Packaging Best Practices. GlassFish and other distributions adopting the Image Packaging System in support of their multi-platform layered distributions are using this filesystem layout as a guide.

<install location>/
                   bin/
                   pkg/
                   updatetool/
                   opensso/
                           <layout from existing OpenSSO zip bundle>

Package List

Package Name
Title
Description Depends On
Size (est)
Rationale Comments / Notes
opensso OpenSSO Metapackage
This package is a metapackage containing dependencies on the set of core OpenSSO packages. It can be used to conveniently install that set of packages.
All non-agent OpenSSO packages.
NA - contains only package metadata Ease of use
"pkg install opensso" gives you an installation of all non-agent packages.
opensso-incorporation OpenSSO Version Incorporation
This package constrains the versions of all OpenSSO packages installed in the same location.  By managing the versions referenced in this package, the OpenSSO project can ensure that only those combinations of package versions that are qualified together are installed in the same location.
  NA- contains only package metadata
Forces package versions to evolve in lockstep

opensso-webapp
OpenSSO Deployable Web Application
Pre-assembled, deployment-ready OpenSSO web application (WAR file) used for evaluation and basic deployments.
  68 MB
Ease of use
Aligns with the emphasis of "all you have to do is deploy a WAR file".
opensso-webapp-assembly
OpenSSO Web Application Assembly Tools
Tools to reassemble custom forms of the OpenSSO web application (WAR file).
opensso-webapp

opensso-client-sdk
?
Not needed by all users


Specialized use cases?
Companion to the WAR file in opensso-webapp, but not needed by all users.


distauth/ contains copy of 9 MB client SDK.
opensso-client-sdk
OpenSSO Client SDK
    9 MB
Eases embedding

Not needed by all users


Specialized use case
Some distros will choose to pre-install this package as a means of including the SDK in an easy to update and track form.
opensso-client-sdk-docs
OpenSSO Client SDK Documentation
    2 MB
Not needed by all users
Not needed when embedding the client SDK.
opensso-client-sdk-samples
OpenSSO Client SDK Samples
    84 MB
Not needed by all users
Large compressed content not needed when embedding client SDK.


Is there any value in breaking this content into multiple packages?
opensso-fedlet
OpenSSO Fedlet
    8 MB
Not needed by all users
 
opensso-int-oracle
OpenSSO Oracle Integration
    negligible
Not needed by all users
 
opensso-int-siteminder
OpenSSO SiteMinder Integration
    negligible Not needed by all users  
opensso-agent-sdk-<platform>
OpenSSO C Language SDK - <platform>
    9 MB
Not needed by all users
Worth breaking up into a package per platform?
opensso-sae-client-api
OpenSSO Secure Attribute Exchange API - <language>
    8 KB
Not needed by all users Two languages: .Net and Java
opensso-tools
OpenSSO Administrative Tools
  TBD
87 MB
  Worth breaking up? tools/ contains a handful of zip files containing OpenSSO administrative tools.

* Admin Tools

* Session Tools (BDB, MQ)

* Configurator Tools

* Patch Tools

There are many external libraries embedded in several of the tools zip files.
opensso-upgrade
OpenSSO Upgrade Tools
Tools and documentation that enable upgrade from earlier versions of Sun Access and Federation Manager installations.
  1 MB
   
opensso-xml
OpenSSO XML Definition Files
    144 KB
  Need to understand the role of these files.
opensso-webservice OpenSSO Web Services Agents and Providers TBD opensso-client-sdk    
opensso-agent-<server platform>-<OS platform>
OpenSSO Web Agent - <server platform> - <OS platform>
        Many agents are available.  At a minimum, there would be one package per agent type on each OS platform.



Initially, package one agent to demonstrate the approach.



* GlassFish


* Sun Web Server 7


* WebLogic


* WebSphere


* Tomcat


* JBoss


* etc.

Package Creation Scripts

Since the OpenSSO build system (see build details) is Ant-based and we have already implemented an Ant-based packaging script in support of OpenDS, we will use the Ant-based OpenDS package creation script as a starting point. This script uses the pkg(5) toolkit's custom Ant tasks to ease the process of creating packages.

Download Bundle Ideas

This effort will at a minimum deliver a zip download bundle containing:

  • pre-installed form of the "opensso-webapp" package
  • pkg(5) bootstrap

This zip file will be approximately ~70 MB in size due to the size of the opensso.war file.

Upon expansion of this zip file, the user will have ready access to the opensso.war file. If the user attempts to execute the included bin/updatetool or bin/pkg commands, the pkg(5) bootstrap facility will automatically download the supporting pkg(5) packages that will enable the user to run the Update Tool GUI and pkg(1) CLI to download further OpenSSO packages and to update already installed OpenSSO packages.

Beyond this most basic download bundle example, the following download bundles might be useful:

  • Quick start Java Web Start-based initial installation program that wraps the zip bundle described above
  • Bundle containing GlassFish v2 and the OpenSSO webapp package in pre-installed forms as a ready-to-go example
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact