Coder Social home page Coder Social logo

spring-osgi's Introduction

SPRING DYNAMIC MODULES FOR OSGI(tm) SERVICE PLATFORMS
-----------------------------------------------------
http://www.springframework.org/osgi

1. INTRODUCTION

The Spring Framework is the leading full-stack Java/JEE application framework. It provides
a lightweight container and a non-invasive programming model enabled by the use of 
dependency injection, aop, and portable service abstractions. OSGi offers a dynamic 
application execution environment in which components (bundles) can be installed, 
updated, or removed on the fly. It also has excellent support for modularity and 
versioning.

The goal of Spring’s OSGi support is to make it as easy as possible to write Spring
applications that can be deployed in an OSGi execution environment, and that can take
advantage of the services offered by the OSGi framework. Spring’s OSGi support also 
makes development of OSGi applications simpler and more productive by building on the
ease-of-use and power of the Spring Framework. For enterprise applications, we envisage
this will offer the following benefits:

    * Better separation of application logic into modules
    * The ability to deploy multiple versions of a module concurrently
    * The ability to dynamically discover and use services provided by other modules in 
        the system
    * The ability to dynamically deploy, update and undeploy modules in a running system
    * Use of the Spring Framework to instantiate, configure, assemble, and decorate components 
        within and across modules.
    * A simple and familiar programming model for enterprise developers to exploit the
        features of the OSGi platform.

We believe that the combination of OSGi and Spring offers the most comprehensive model
available for building enterprise applications.

It is not a goal of Spring’s OSGi support to provide a universal model for the development
of any OSGi-based application, though some OSGi developers may of course find the Spring model
attractive and choose to adopt it. Existing OSGi bundles and any services they may export are
easily integrated into applications using the Spring Dynamic Modules framework, as are existing Spring
configurations.

2. RELEASE INFO

The Spring Dynamic Modules for OSGi(tm) Service Platforms is targeted at OSGi R4 and 
above, and JDK level 5.0 and above.

Release contents:
* "src" contains the Java source files for the framework
* "src/samples" contains various demo applications and showcases
* "dist" contains various Spring DM distribution jar files
* "lib" contains all third-party libraries needed for running the samples and/or building the framework
* "docs" contains general documentation and API javadocs

The "lib" and "src" directories are just included in the "-with-dependencies" download. Make sure to download 
this full distribution ZIP file if you want to run the sample applications and/or build the framework yourself.
Maven 2 pom.xml are provided for building the sources.
 
Latest info is available at the public website: http://www.springframework.org/osgi
Project info at the SourceForge site: http://www.springsource.org/about

Spring Dynamic Modules is released under the terms of the Apache Software License (see license.txt).
All libraries included in the "-with-dependencies" download are subject to their respective licenses.
This product includes software developed by the Apache Software Foundation (http://www.apache.org) and 
OSGi Alliance (http://www.osgi.org).

3. DISTRIBUTION JAR FILES

The following distinct jar files are included in the distribution. This list specifies the respective contents and
third-party dependencies. Libraries in [brackets] are optional, i.e. just necessary for certain functionality. For an 
exact list of Spring-DM project dependencies see the respective Maven2 pom.xml files.

* spring-osgi-core-${version}.jar
- Contents: The Spring Dynamic Modules Core
- Dependencies: slf4j, spring-aop, spring-beans, spring-core, spring-context, aop-alliance, spring-osgi-io
                [Log4J]

* spring-osgi-extender-${version}.jar
- Contents: The Spring Dynamic Modules Extender
- Dependencies: sl4fj, spring-osgi-core
			    [Log4J, spring-osgi-annotation]

* spring-osgi-io-${version}.jar
- Contents: The Spring Dynamic Modules IO library
- Dependencies: sl4fj, spring-core
                [Log4J]

* spring-osgi-mock-${version}.jar
- Contents: The Spring Dynamic Modules Mock library
- Dependencies: OSGi API

* spring-osgi-test-${version}.jar
- Contents: The Spring Dynamic Modules Integration Testing framework
- Dependencies: asm, junit, slf4j, spring-osgi-core, spring-osgi-extender
                [Equinox, Felix, Knopflerfish, Log4J]

* spring-osgi-web-${version}.jar
- Contents: The Spring Dynamic Modules Web Support
- Dependencies: slf4j, spring-osgi-core
                [Apache Tomcat, Jetty, Log4J]

* spring-osgi-web-extender-${version}.jar
- Contents: The Spring Dynamic Modules Web Extender
- Dependencies: slf4j, spring-osgi-core, spring-osgi-web
                [Apache Tomcat, Jetty, Log4J]

* extensions / spring-osgi-annotation-${version}.jar
- Contents: The Spring Dynamic Modules Annotation Extension
- Dependencies: slf4j, spring-beans, spring-core, spring-osgi-core
				[Log4J]
          
4. WHERE TO START

This distribution contains API documentation and several sample applications illustrating the current features of Spring
DM. The Spring Dynamic Modules reference documentation can be found at 
http://static.springframework.org/osgi/current/docs/reference/

A great way to get started is to review and run the sample applications, supplementing with reference manual
material as needed. You will require Maven 2, which can be downloaded from http://maven.apache.org/, for building
Spring DM.

5. ADDITIONAL RESOURCES

The Spring Dynamic Modules homepage is located at:

    http://www.springframework.org/osgi

The Spring Framework portal is located at:

	http://www.springframework.org

spring-osgi's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.