Lisäosia tukevat menetelmät toteutetaan OSGi-kehyksen avulla. Tältä kannalta katsoen lisäosa on sama asia kuin OSGi-resurssijoukko. Resurssijoukko ja siihen liittyvät luokat määrittävät ja toteuttavat Java-luokan latauksen, edellytysten hallinnan ja resurssijoukon elinkaaren prosessin. Tästä eteenpäin tässä käytetään termejä lisäosa ja resurssijoukko toistensa vastineina, jos ei käsitellä jotakin tiettyä kehyksen luokkaa.
Plugin-luokka kuvaa lisäosaa, joka on ajossa ympäristössä. Se on kätevä paikka keskittää elinkaaren aspektit ja lisäosan kokonaissemantiikka. Lisäosa voi toteuttaa elinkaaren start- ja stop-aspektien erikoistoimintoja. Kukin elinkaaren metodi sisältää viittauksen BundleContext-kohteeseen, joka voi toimittaa lisätietoja.
Elinkaaren start-osaa on käsiteltävä laajalti. Aiemmin on jo havaittu, että lisäosaa koskevat tiedot voi hankkia lisäosan manifest-tiedostosta ajamatta lainkaan lisäosan koodia. Yleensä jokin käyttäjän toimi työympäristössä aiheuttaa ketjureaktion, joka edellyttää lisäosan aloitusta. Toteutuksen näkökulmasta lisäosaa ei koskaan aloiteta, ennen kuin lisäosaan sisältyvä luokka on ladattava.
Metodi start on ollut käytännöllinen paikka toteuttaa lisäosan toiminnan alustus ja rekisteröinti. On kuitenkin tärkeää huomata, että lisäosa voidaan aloittaa useissa eri tilanteissa. Jo pelkkä objektin koristukseksi noudettu kuvake voi aiheuttaa lisäosan jonkin luokan lataamisen, mikä aloittaa lisäosan. Liian yleinen alustuksen käyttö voi aiheuttaa lisäosan koodin ja tietojen latauksen kauan ennen kuin se on tarpeen. Siksi on tärkeää tarkastella huolellisesti lisäosan alustustehtäviä ja harkita vaihtoehtoja alustuksen toteutukselle aloituksen yhteydessä.
Elinkaaren hallinnassa OSGi-"resurssijoukkojen" sanasto ja ympäristön "lisäosa"-sanasto kohtaavat. Kun lisäosa aloitetaan, sille annetaan viittaus BundleContext-kohteeseen, josta se voi noutaa lisäosaan liittyviä tietoja. BundleContext-kohteen avulla voi myös selvittää järjestelmän muut resurssijoukot/lisäosat.
BundleContext.getBundles()-metodin avulla voi noutaa järjestelmän kaikkien resurssijoukkojen luettelon. BundleEvent-kuuntelutoiminnot voi rekisteröidä niin, että lisäosa tietää, milloin toisen resurssijoukon elinkaaren tila muuttuu. Lisätietoja on BundleContext- ja BundleEvent-javadoceissa.
Ennen versiota 3.0, nämä tiedot olivat saatavilla lisäosarekisteristä (IPluginRegistry). Siihen saattoi tehdä esimerkiksi järjestelmän kaikkien lisäosien kuvaajia koskevan kyselyn. Tämä rekisteri on vanhentunut, ja sen sijaan käytetään BundleContext-kohdetta. Ympäristön rekisteri on nyt vain laajennusten ja laajennuspisteiden tietoja varten.
BundleActivator-rajapinta määrittää Plugin-kohteessa määritetyt aloitus- ja lopetustoiminnot. Vaikka Plugin-luokka on käytännöllinen paikka toteuttaa tätä toiminto, lisäosan kehittäjä voi vapaasti toteuttaa BundleActivator-kohteen rajapinnan missä tahansa lisäosalle sopivassa luokassa. Itse asiassa lisäosan ei tarvitse toteuttaa tätä rajapintaa lainkaan, jos se ei tarvitse elinkaaren hallintaa.
Jokaisen lisäosan perustana on kehyksen hallitsema OSGi-resurssijoukko. Resurssijoukko on OSGi-modulaarisuusyksikkö. Käytännössä resurssijoukko on vain kokoelma tiedostoja (resursseja ja koodia), joka on asennettu ympäristöön. Kullakin resurssijoukolla on oma Java-luokan lataustoimintonsa ja itsensä aloituksen, lopetuksen ja asennuksen poiston käytäntö. Eclipse-ympäristön näkökulmasta resurssijoukko on vain toteutusluokka. Lisäosien kehittäjät eivät laajenna resurssijoukkoluokkaa, vaan kuvaavat lisäosaa lisäosien tai muiden BundleActivator-toteutusten avulla.