Virgo (software)
| Company type | Open source software |
|---|---|
| Industry | Software |
| Predecessor | SpringSource dm Server |
| Founded | 2008 |
| Products | Java application server |
| Parent | Eclipse Foundation |
| Website | www |
Virgo is an open source Java application server built on the OSGi framework, designed to handle deployment of OSGi bundles, standard Java web applications without modification, as well as Shared Libraries and Services WARs influenced by OSGi principles.
Constructed atop the Equinox OSGi runtime from the Eclipse initiative, Virgo is available in several variants:[1] including Virgo Nano, Virgo Kernel, Virgo Server for Apache Tomcat—which embeds the Apache Tomcat servlet container—and Virgo Jetty Server incorporating Eclipse Jetty. Among these, the Apache Tomcat version serves as the predominant platform for OSGi application development.
The platform incorporates the Spring Framework, which is embedded as a runtime dependency for applications deployed on Virgo. Distributed under the terms of the Eclipse Public License, Virgo originated as SpringSource dm Server developed by SpringSource, now part of VMware, and is currently stewarded by the Eclipse Foundation.[2][3]
History
On April 30, 2008, SpringSource introduced the SpringSource Application Platform,[4] followed by the release of dm Server version 1.0 on September 30, 2008.[5] The 2.0 release was made available on January 12, 2010.[6]
Later that year, SpringSource contributed dm Server to the Eclipse Foundation as the Virgo project.[7] Contributions from SpringSource personnel ended in 2013 when team members were reassigned.[8] With the project facing possible archival,[9] leadership was taken over by Florian Waibel in 2014, who successfully revitalized its development.[10][11]
IDE Tools
Development and testing of OSGi applications within Virgo are supported by Virgo Tools, a collection of Eclipse plug-ins that provide an embedded Virgo test environment. These tools enable developers to perform hot deployment of individual bundles and manage deployment through plan files efficiently.
Feature overview
- Web administration console – facilitates deployment and management of artifacts, allows inspection of diagnostic dumps, and provides visualization of bundle wiring in both active and offline environments
- Gogo shell – offers command-line control over Virgo and its deployed artifacts through ssh or telnet connections
- Plans – enable definition of application artifacts, supporting atomic lifecycle operations and ensuring isolation scoped to individual applications
- Provisioning – automatically delivers application dependencies such as bundles, plans, PARs, and configurations from both local and remote repositories
- Web container – supports standard WAR files as well as Web Application Bundles containing OSGi metadata, utilizing an embedded Apache Tomcat configured via the conventional server.xml file
- User region – separates the kernel from user-installed applications, allowing targeted management of application artifacts and their dependencies
- Spring – Virgo 3.6.2 ships with Spring 3.1.x; Virgo 3.7 includes Spring 4.2.x versions
- Hot deployment – allows artifact deployment by placing them in the pickup directory, either as archives or exploded folders, providing an alternative to using the admin console or shell for deployment
- Logging – incorporates LogBack with a comprehensive set of appenders available out-of-the-box
- JMX management – accessible through the admin console, shell interface, Virgo IDE tools, or JMX clients such as JConsole
- ↑ Virgo Deliverables
- ↑ SpringSource dm Server product page
- ↑ Eclipse Virgo home page
- ↑ Introducing the SpringSource Application Platform
- ↑ SpringSource dm Server 1.0.0 reaches GA
- ↑ dm Server 2.0.0 released
- ↑ Eclipse Virgo Released
- ↑ Mailing list message about lead step down
- ↑ Forum post about project archival
- ↑ Florian Waibel blog
- ↑ InfoQ interview with Florian Waibel