Vine is a modular, extensible Java library created by the authors of GridSphere's GridPortlets Project. Vine inherits and improves upon the Resources Model of GridPortlets and generalizes it for use in many application environments. Vine can be easily packaged and deployed for use in desktop, Java Web Start, Java Servlet 2.3 and Java Portlet 1.0 applications. Using the Vine Toolkit, one composes applications as collections of resources and services for utilizing those resources. The Vine Toolkit makes it possible to organize resources into a heirarchy of domains to represent one or more virtual organizations (VOs). Vine offers security mechanisms for authenticating end-users and authorizing their use of resources within a given domain. Other core features include an extensible model for executing tasks and transparent support for persisting information about resources and tasks with in-memory or external relational databases.