OSGi: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
YFdyh-bot (discussione | contributi)
m r2.7.3) (Bot: Aggiungo kk:OSGi
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(33 versioni intermedie di 21 utenti non mostrate)
Riga 1:
{{F|software|agosto 2013}}
{{Software
|Nome = OSGi Service Platform
Line 5 ⟶ 6:
|Didascalia =
|Sviluppatore = [[OSGi Alliance]]
|UltimaVersione = 4.16
|DataUltimaVersione = Maggioagosto [[20072015]]
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = multipiattaforma
|Linguaggio = java
|Genere =
|Licenza = [http://www.osgi.org/Specifications/Licensing OSGi Specification License]
|SoftwareLibero =
|Lingua =
|SitoWeb = [http://www.osgi.org www.osgi.org]
}}
 
La '''OSGi Alliance''' (conosciuta come Open Service Gateway initiative), è un'organizzazione fondata nel 1999 da [[Ericsson]], [[IBM]], [[Oracle Corporation|Oracle]] e altri.<ref name="osgi_Abou">{{Cita web |titolo=About Us |accesso=3 giugno 2020 |url=https://www.osgi.org/about-us/ |lingua=en |dataarchivio=10 agosto 2020 |urlarchivio=https://web.archive.org/web/20200810025742/https://www.osgi.org/about-us/ |urlmorto=sì }}</ref> In seguito altri membri sono entrati a farne parte.<ref name="osgi_Memb">{{Cita web |titolo=Members |accesso=3 giugno 2020 |url=https://www.osgi.org/about-us/members/ |lingua=en |dataarchivio=25 settembre 2020 |urlarchivio=https://web.archive.org/web/20200925232743/https://www.osgi.org/about-us/members/ |urlmorto=sì }}</ref>
Il nucleo delle specifiche è un [[framework]] che definisce la gestione del modello del [[ciclo di vita del software]], i moduli (chiamati bundlesbundle), un service registry e un [[ambiente di esecuzione]]. Partendo da questo Framework sono stati definiti un certo numero di OSGi LayersLayer (strati), [[Application programming interface|API]] e servizi sono stati definiti.
 
== Scopo del Framework OSGi ==
L'aumento della complessità in un prodotto software, sia esso [[Sistema embedded|embedded]], [[client]] o [[server]], richiede codice modulare ma anche sistemi che siano estensibili dinamicamente. Il framework OSGi si propone di implementare un modello a componenti completo e dinamico ovverocioè quello che manca all'ambiente Java.
In realtà il linguaggio [[Java (linguaggio di programmazione)|Java]] prevede alcuni meccanismi che consentono di realizzare un modello a componenti, ma si tratta comunque di soluzioni di basso livello con conseguente rischio di introdurre errori nel codice oltre a diventare una soluzione ad-hoc.
OSGi risolve molti dei problemi legati allo scarso supporto di Java nella modularità e nel dinamismo attraverso alcuni concetti fondamentali:
* Definizione del concetto di modulo (bundle)
Line 38 ⟶ 37:
* L0: Execution Environment (ambiente di esecuzione): è la specificazione dell'ambiente Java (J2SE, CDC, CLDC, MIDP, ecc.).
* L1: Modules: realizza il concetto di moduli (bundle) e controlla il collegamento tra di loro.
* L2: Life CicleCycle Management (Gestione del ciclo di vita): gestisce il ciclo di vita di un bundle senza richiedere il riavvio della VM.
* L3: Service Registry: fornisce un modello di cooperazione per i bundle.
 
== Versioni delle specifiche ==
* OSGi Release 1 (R1): Maggiomaggio 2000
* OSGi Release 2 (R2): Ottobreottobre 2001
* OSGi Release 3 (R3): Marzomarzo 2003
* OSGi Release 4 (R4): Ottobreottobre 2005 / Settembresettembre 2006
** Core Specification (R4 Core): Ottobreottobre 2005
** Mobile Specification (R4 Mobile / JSR-232): Settembresettembre 2006
* OSGi Release 4.1 (R4.1): Maggiomaggio 2007 (AKA JSR-291)
* OSGi Release 4.2 (R4.2): Settembresettembre 2009 (AKA JSR-119)
** Enterprise Specification (R4.2): Marzo 2010
* OSGi Release 4.3 (R4.3): Aprile 2011
** Core: Aprile 2011
** Compendium and Residential: Maggio 2012
* OSGi Release 5 (R5): Giugno 2012
** Core and Enterprise: Giugno 2012
* OSGi Release 6 (R6): Giugno 2015
** Core: Giugno 2015
* OSGi Release 7 (R7): Aprile 2018
** Core and Compendium: Aprile 2018
* OSGi Release 8 (R8): Dicembre 2020<ref>
https://blog.osgi.org/2020/12/osgi-core-release-8-is-now-final-and.html</ref>
 
== Expert Groups ==
Line 63 ⟶ 74:
* Knopflerfish
* Apache Felix
* Apache Karaf
* Spagic 3 (open source SOA Universal [[Middleware]])
Tutte e quattro implementano la versione 4 delle specifiche e sono [[Open source]].
Tra le implementazioni commerciali spicca quella della ProSyst.
 
== Collegamenti ufficialiNote ==
<references/>
*[http://www.osgi.org/ OSGi Alliance]
*[http://www2.osgi.org/About/FAQ Domande frequenti]
*[http://www.osgi.org/Specifications/HomePage Specifiche OSGi]
*[http://www.osgi.org/Specifications/Licensing OSGi Specification License]
 
== Altri collegamenti ==
*[http://www.betaonmind.com/103/osgi-piacere/ Tutorial OSGi Parte 1 – Introduzione] - di Sergio Borroni
*[http://www.betaonmind.com/108/installazione-osgi/ Tutorial OSGi Parte 2 – Installazione]
*[http://www.betaonmind.com/117/osgi-primi-passi/ Tutorial OSGi Parte 3 - Primi passi]
*[http://www.betaonmind.com/122/osgi-knopflerfish/ Tutorial OSGi Parte 4 - Knopflerfish]
*[http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html Articolo su JavaWorld]
*[http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-1419&yr=2007&track=3 OSGi Best Practices]
*[http://dev2dev.bea.com/pub/a/2007/12/osgi-introduction.html An Introduction to OSGi on the Server Side] di Daniel Rubio
*[http://cwiki.apache.org/FELIX/presentations.data/best-practices-apachecon-20060628.pdf ApacheCon EU 2006 presentation about OSGi best practices] di Marcel Offermans.
*[http://www.eclipse.org/equinox/ Equinox]
*[http://www.knopflerfish.org/ Knopflerfish]
*[http://felix.apache.org/ Apache Felix]
*[http://www.prosyst.com/products/osgi_framework.html ProSyst]
 
== Altri progetti ==
{{interprogetto|commons=Category:OSGi}}
 
== Collegamenti esterni ==
{{portale|Informatica}}
=== Collegamenti ufficiali ===
 
*{{Collegamenti esterni}}
[[Categoria:Associazioni informatiche]]
*{{cita web | 1 = http://www2.osgi.org/About/FAQ | 2 = Domande frequenti | accesso = 12 maggio 2008 | dataarchivio = 8 maggio 2008 | urlarchivio = https://web.archive.org/web/20080508204019/http://www.osgi.org/About/FAQ | urlmorto = sì }}
*{{cita web | 1 = http://www.osgi.org/Specifications/HomePage | 2 = Specifiche OSGi | accesso = 12 maggio 2008 | dataarchivio = 22 ottobre 2015 | urlarchivio = https://web.archive.org/web/20151022043515/http://www.osgi.org/Specifications/HomePage | urlmorto = sì }}
*{{cita web | 1 = http://www.osgi.org/Specifications/Licensing | 2 = OSGi Specification License | accesso = 12 maggio 2008 | dataarchivio = 1 maggio 2008 | urlarchivio = https://web.archive.org/web/20080501184822/http://www.osgi.org/Specifications/Licensing | urlmorto = sì }}
 
=== Altri collegamenti ===
[[ar:أو إس جي أي]]
*[http://www.betaonmind.com/103/osgi-piacere/ Tutorial OSGi Parte 1 – Introduzione] {{Webarchive|url=https://web.archive.org/web/20100119035937/http://www.betaonmind.com/103/osgi-piacere/ |data=19 gennaio 2010 }} - di Sergio Borroni
[[cs:OSGi Service Platform]]
*{{cita web | 1 = http://www.betaonmind.com/108/installazione-osgi/ | 2 = Tutorial OSGi Parte 2 – Installazione | accesso = 1 giugno 2009 | urlarchivio = https://web.archive.org/web/20100117150619/http://www.betaonmind.com/108/installazione-osgi/ | dataarchivio = 17 gennaio 2010 | urlmorto = sì }}
[[de:OSGi]]
*{{cita web | 1 = http://www.betaonmind.com/117/osgi-primi-passi/ | 2 = Tutorial OSGi Parte 3 - Primi passi | accesso = 1 giugno 2009 | urlarchivio = https://web.archive.org/web/20100119040045/http://www.betaonmind.com/117/osgi-primi-passi/ | dataarchivio = 19 gennaio 2010 | urlmorto = sì }}
[[en:OSGi]]
*{{cita web | 1 = http://www.betaonmind.com/122/osgi-knopflerfish/ | 2 = Tutorial OSGi Parte 4 - Knopflerfish | accesso = 1 giugno 2009 | urlarchivio = https://web.archive.org/web/20100117150628/http://www.betaonmind.com/122/osgi-knopflerfish/ | dataarchivio = 17 gennaio 2010 | urlmorto = sì }}
[[es:OSGi]]
*{{cita web | 1 = http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html | 2 = Articolo su JavaWorld | accesso = 12 maggio 2008 | dataarchivio = 3 maggio 2008 | urlarchivio = https://web.archive.org/web/20080503083643/http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html | urlmorto = sì }}
[[fr:OSGi]]
*[{{cita web|url=http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-1419&yr=2007&track=3 |titolo=OSGi Best Practices]}}
[[ja:OSGi]]
*[https://web.archive.org/web/20080127105421/http://dev2dev.bea.com/pub/a/2007/12/osgi-introduction.html An Introduction to OSGi on the Server Side] di Daniel Rubio
[[kk:OSGi]]
*[httphttps://cwiki.apache.org/FELIX/presentations.data/best-practices-apachecon-20060628.pdf ApacheCon EU 2006 presentation about OSGi best practices] {{Webarchive|url=https://web.archive.org/web/20080708203102/http://cwiki.apache.org/FELIX/presentations.data/best-practices-apachecon-20060628.pdf |data=8 luglio 2008 }} di Marcel Offermans.
[[ko:OSGi]]
*[http{{cita web|https://www.eclipse.org/equinox/ |Equinox]}}
[[nl:OSGi]]
*[{{cita web|http://www.knopflerfish.org/ |Knopflerfish]}}
[[pt:OSGi]]
*[http{{cita web|https://felix.apache.org/ |Apache Felix]}}
[[ru:OSGi]]
*{{cita web | 1 = http://www.prosyst.com/products/osgi_framework.html | 2 = ProSyst | accesso = 12 maggio 2008 | urlarchivio = https://web.archive.org/web/20080513091225/http://www.prosyst.com/products/osgi_framework.html | dataarchivio = 13 maggio 2008 | urlmorto = sì }}
[[zh:OSGi]]
 
{{portale|Informaticainformatica}}
 
[[Categoria:Associazioni informatiche]]