Virgo Programmer Guide

Ramnivas Laddad

Colin Yates

Sam Brannen

Rob Harrop

Christian Dupuis

Andy Wilkinson

Glyn Normington

Steve Powell

Christopher Frost

Virgo

2.1.1.RELEASE

Copyright © 2008, 2010 VMware Inc.


Table of Contents

Preface
1. Prerequisites
1.1. Runtime Environment
1.2. References
2. Introduction to VWS
2.1. Overview
2.2. What is the Virgo Web Server?
2.3. Why the Virgo Web Server?
3. Deployment Architecture
3.1. Supported Deployment Formats
3.2. Dependency Types
3.3. A guide to forming bundles
4. Developing Applications
4.1. Anatomy of a bundle
4.2. Creating PARs and WARs
4.3. Creating Plans
4.4. Creating and Using Configuration Artifacts
4.5. Programmatic Access to The Deployer Pipeline
4.6. Automatic Imports for the Web subsystem
4.7. Working with dependencies
4.8. Application trace
4.9. Application versioning
5. Migrating to OSGi
5.1. Migrating Web Applications
5.2. Migrating to a Plan or a PAR
6. Migrating Form Tags
6.1. Overview of the Form Tags Sample Application
6.2. Form Tags WAR
6.3. Form Tags Shared Libraries WAR
6.4. Form Tags Shared Services WAR
6.5. Form Tags PAR
6.6. Summary of the Form Tags Migration
6.7. Form Tags as a plan
7. Tooling
7.1. Installation
7.2. Running a Virgo Web Server instance within Eclipse
7.3. Bundle and Library Provisioning
7.4. Setting up Eclipse Projects
7.5. Developing OSGi Bundles
7.6. Deploying Applications
8. Common Libraries
8.1. Working with Hibernate
8.2. Working with DataSources
8.3. Weaving and Instrumentation
8.4. JSP Tag Libraries
9. Known Issues
9.1. JPA Entity Scanning
9.2. ClassNotFoundError When Creating a Proxy
9.3. Creating proxies with CGLIB for package-protected types
9.4. Tomcat Restrictions
9.5. Default Web Application Bundle Headers