The benefits of componentization and re-use using OSGi â the dynamic module system for Javaâ¢ - are well documented, but managing complex bundle interdependencies can be a challenge. To address this, Paremus has invested heavily in providing tooling to simplify the development, dependency management, testing, release and operational processes associated with successfully realizing the full potential of OSGi in the enterprise.
âThe result of our efforts is the Sigil open source project,â said Richard Nicholson, CEO and founder of Paremus. âSigil provides sophisticated bundle dependency management, access to multiple public and private OSGi bundle repositories, and allows the developer to test the resultant composite applications from Eclipse within a local OSGi runtime. Sigil is an ideal compliment to the Infiniflow distributed OSGi runtime and the open source Newton project.â
Sigil uses OSGi metadata to calculate project dependencies dynamically, at build time, using the same Import-Package metadata that is used by OSGi at runtime. The OSGi-aware bundle repository, can access existing bundles in the file system or from an OSGi Bundle Repository (OBR) . For example, Sigil provides an OBR index to the SpringSource Enterprise Repository, enabling use of the contents for automatic resolution of Import-Package dependencies.
With headless build support as well as integrated Eclipse support, Sigil uses the same properties file to define bundles in the IDE and stand-alone. This ensures that bundles created by either the IDE or headless builds are identical. Sigil automatically resolves imports using the configured repositories, provides log integration and offers full debug support (break points, source code, step through, etc). The Sigil headless build supports Ivy with seamless integration into existing Ivy builds, and automatic injection of Ivy dependences by resolving the Import-Package metadata.
âThe impetus for Sigil came from our own and customer experiences of developing OSGi-based applications,â said David Savage, Sigil project co-lead. âWe are using Sigil to develop and build Infiniflow, and wanted to encourage the uptake of OSGi by making it available to the wider community as an open source project. We will continue to enhance the capabilities and welcome customer and community feedback and support in achieving this.â
Infiniflow encourages code re-use to improve developer efficiency, and allows the rapid deployment and modification of sophisticated applications. With support for popular Java frameworks, including Spring, Infiniflow provides a highly resilient, scalable, agile enterprise SOA runtime out of the box. Infiniflowâs unique model-driven architecture and sophisticated, yet simple-to-use, distributed component management capabilities, allow architects, developers and operations to realize the potential of OSGi technology throughout the enterprise and migrate to the next generation of dynamic, self-managing distributed software platform.