| OSGi Service Platform | |
| Fejlesztő | OSGi Alliance |
| Legfrissebb stabil kiadás | 6.0 (2014. június) |
| Programozási nyelv | Java |
| Operációs rendszer | Java |
| Platform | platformfüggetlen |
| Kategória | Sztenderdekért felelős szervezet |
| Licenc | OSGi Specification License, Version 1.0 |
| Az OSGi Service Platform weboldala | |
Az OSGi Service Platform röviden OSGi (Open Services Gateway initiative, majd OSGi Alliance) keretrendszer Java programnyelven írt programokhoz készült dinamikus modulrendszer. Lehetővé teszi alkalmazások vagy komponensek távoli telepítését, elindítását, leállítását, frissítését és eltávolítását a számítógép újraindítása nélkül. A keretrendszer az alkalmazásokat csomagokba (bundle) szervezi; biztosítja a futtatási környezetet, modularizált osztálybetöltési házirendeket, a kötegek manipulálására szolgáló életciklus-menedzsment eszközöket, és a kötegek együttműködését segítő szolgáltatás-nyilvántartást.
Az OSGi specifikációt eredetileg a beágyazott hálózati eszközökre összpontosítva alkották meg, de ma már ezen túllépve mobiltelefonoktól a nyílt forráskódú Eclipse fejlesztőkörnyezetig számos alkalmazási területen felbukkan.
Az OSGi Alliance (régebbi, ma már nem használatos nevén Open Services Gateway initiative) egy nonprofit konzorcium. Ők specifikálták és tartják karban máig az OSGi szabványt.
Az OSGi Alliance 1999 márciusában alakult, alapító tagjai között volt az Ericsson, az IBM, a Motorola és a Sun Microsystems. 2012 júniusára a tagok soraiban foglal helyet többek között az Adobe Systems, a Deutsche Telekom, a Siemens, az Oracle és a Red Hat.
A szervezet élén az igazgatótanács áll. A szakmai munka a tagok által delegált szakértői csoportokban folyik, témáik:
Az OSGi specifikációt a konzorcium tagjai nyílt folyamat során fejlesztik, és térítésmentesen teszik közzé az OSGi Specifikációs Licenc alatt. Az OSGi Alliance megfelelőségi tanúsítványokat kibocsátó programja csak a tagok számára elérhető. 2012 júniusában hét tanúsítvánnyal rendelkező OSGi keretrendszer létezik.

Bármely keretrendszer, amely megvalósítja az OSGi sztenderdet egy környezetet nyújt az alkalmazások modulokba ill. kisebb csomagokba szervezéséhez. Minden csomag szorosan kapcsolt, dinamikusan betölthető .class fájlok, .jar fájlok és konfigurációs fájlok gyűjteménye, amely explicit módon deklarálja a külső függőségeit (amennyiben van neki).
A keretrendszer koncepcionálisan a következő területekre van felosztva:

Egy csomag a Java osztályok és kiegészítő erőforrások csoportja. Az erőforrások el vannak látva részletes manifest MANIFEST.MF fájllal a teljes tartalmukról, továbbá a kiegészítő szolgáltatásoknak meg kell adni az ide tartozó Java osztályok csoportjának még kifinomultabb viselkedését, az egész összetett komponensre vonatkozólag.
Az alábbi egy tipikus példája a MANIFEST.MF fájlnak OSGi fejlécekkel:
Bundle-Name: Hello World
Bundle-SymbolicName: org.wikipedia.helloworld
Bundle-Description: A Hello World bundle
Bundle-ManifestVersion: 2
Bundle-Version: 1.0.0
Bundle-Activator: org.wikipedia.Activator
Export-Package: org.wikipedia.helloworld;version="1.0.0"
Import-Package: org.osgi.framework;version="1.3.0"
A tartalmak jelentése a példában a következő:

package org.wikipedia;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {
private BundleContext context;
public void start(BundleContext context) throws Exception {
System.out.println("Starting: Hello World");
this.context = context;
}
public void stop(BundleContext context) throws Exception {
System.out.println("Stopping: Goodbye Cruel World");
this.context = null;
}
}
Az OSGi R4.1 egy kisebb javításokat tartalmazó kiadás volt, melynek célja inicializáció és betöltő csomag egyes kérdéseinek tisztázása volt, annak érdekében, hogy javítsák a harmadik fél által fejlesztett szoftver komponensek használatát. Semmilyen új szolgáltatással vagy fő funkcionalitással nem bővült.
| Name | License |
|---|---|
| Apache Felix | Nyílt forráskódú |
| Concierge OSGi | Nyílt forráskódú |
| Equinox OSGi | Nyílt forráskódú |
| Hitachi SuperJ | kereskedelmi |
| Knopflerfish | Nyílt forráskódú |
| ProSyst mBS | kereskedelmi |
| Eclipse Gemini | Nyílt forráskódú |
{{cite web}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó){{citation}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó) Archiválva 2011. május 30-i dátummal a Wayback Machine-ben{{citation}}: Unknown parameter |coauthors= ignored (|author= suggested) (súgó){{citation}}: Cite has empty unknown parameter: |coauthors= (súgó){{citation}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó) Archiválva 2012. február 16-i dátummal a Wayback Machine-ben{{citation}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó) Archiválva 2010. december 5-i dátummal a Wayback Machine-ben{{citation}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó) Archiválva 2012. február 18-i dátummal a Wayback Machine-ben{{citation}}: Unknown parameter |archívdátum= ignored (súgó); Unknown parameter |archívurl= ignored (súgó)Ez a szócikk részben vagy egészben az OSGi című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.