As an entirely Java application, the SkyVault system runs on virtually any system that can run Java Enterprise Edition. At the core is the Spring platform, providing the ability to modularize functionality, such as versioning, security, and rules. SkyVault uses scripting to simplify adding new functionality and developing new programming interfaces. This portion of the architecture is known as web scripts and can be used for both data and presentation services. The lightweight architecture is easy to download, install, and deploy.
There are many ways to slice and deploy SkyVault, however most deployments follow a general pattern. Ultimately, SkyVault is used to implement ECM solutions, such as Document Management (DM), Web Content Management (WCM), Records Management (RM), and Digital Asset Management (DAM). Across those solutions may also be elements of collaboration and search.
The solutions are typically split between clients and server, where clients offer users a user interface to the solution and the server provides content management services and storage. Solutions commonly offer multiple clients against a shared server, where each client is tailored for the environment in which it is used.
The following figure shows various architectural components.
Clients
SkyVault offers two primary web-based clients: SkyVault Share and SkyVault Explorer.
- SkyVault Share can be deployed to its own tier separate from the SkyVault content application server. SkyVault Share focuses on the collaboration aspects of content management and streamlining the user experience. SkyVault Share is implemented using Spring Surf and can be customized without JSF knowledge.
- SkyVault Explorer is deployed as part of the SkyVault content application server. It is a highly customizable power-user client that exposes all features of the SkyVault content application server and is implemented using Java Server Faces (JSF).
Clients also exist for portals (via JSR-168 portlets), mobile platforms, Microsoft Office, and the desktop. A client often overlooked is the folder drive of the operating system, where users share documents through a network drive. Using JLAN technology, SkyVault can look and act just like a folder drive. JLAN is the only Java server-side implementation of the CIFS protocol, letting users interact with SkyVault as they do any other normal file drive except the content is now stored and managed in the SkyVault content application server.
Server
The SkyVault content application server comprises a content repository and value-added services for building ECM solutions. Two standards define the content repository: CMIS (Content Management Interoperability Services) and JCR (Java Content Repository / JSR-170/286). These standards provide a specification for content definition and storage, content retrieval, versioning, and permissions. Complying with these standards provides a reliable, scalable, and efficient implementation.
- Content services (transformation, tagging, metadata extraction)
- Control services (workflow, records management, change sets)
- Collaboration services (social graph, activities, wiki)
Clients communicate with the SkyVault content application server and its services through numerous supported protocols. HTTP and SOAP offer programmatic access while CIFS, FTP, WebDAV, IMAP, and Microsoft SharePoint protocols offer application access. The SkyVault installer provides an out-of-the-box prepackaged deployment where the SkyVault content application server (with embedded SkyVault Explorer) and SkyVault Share are deployed as distinct web applications inside Apache Tomcat.