dippaa ja elämää

toukokuu 14, 2007

WikiMatrix – Wiki-ohjelmistojen vertailu

Filed under: d-työ,osgi,wiki — mauso @ 10:23 am

Onpas kätevä sivu – voit verrata erilaisia wiki-softia keskenään, esimerkiksi valitsemalla haluamasi softat tai vielä helpommin vastaamalla muutamiin kysymyksiin, jonka jälkeen sivu ehdottaa vertailtavaksi kaikkia vastauksiin sopivia.

Tarjontaa näyttää riittävän, näköjään vähän kaikki on halunnu kehittää oman wikisoftan. Täytyypä perehtyä tarkemmin noihin Java-pohjaisiin – voisko jonku niistä wräpätä suoraan OSGiin. Ainakin XWiki näyttää lupaavalta, koska sitä voi ajaa tuon esittelyn mukaan missä tahansa Servlet-containerissa. Täytyypä testata repeääkö OSGin HttpService (mulla käytössä Jettyn päälle tehty implementaatio) pyörittämään tuota. Tämän työn käyttöarvokin vois nousta eri lukemiin, jos ennestään suositun wikin sais pyörimään OSGin päälle. Sitä vois hyödyntää helpommin esmes eclipsestä käsin (eclipse pyörii OSGin päällä, ks. equinox). Katotaanpa mitä tältä tutkimusmatkalta löydetään…

WikiMatrix – Compare them all

6 kommenttia »

  1. Joo itsekin tullut tuota sivustoa kateltua. Jotenkin tuntuu että porukka käyttää aina vähän sitä wiki-työkalua, mikä on koodattu sillä ”omalla kielellä”.

    …Mikä toi OSGi muuten on? Oon vähän pihalla mistä siinä on kyse:/ Joku frameworkki, mut muuten en sit tajuukaan🙂

    kommentti Kirjoittanut Jaakko — toukokuu 18, 2007 @ 8:13 am

  2. Oli itelleki hankala ymmärtää mitä osgi on ennen ku kokeilin käytännössä. Tästä sais hyvän pätkän dippatyöhön, ku yrittäis selittää yleistajuisesti mitä OSGi tai ylipäätään palveluarkkitehtuuri on. Ja eiköhän mun tarvi se jossain vaiheessa kirjottaakin. Laitan pätkän sitte tänne luettavaks ja arvioitavaks.

    Lyhyesti kuvailtuna OSGi on Javan virtuaalikoneen päällä pyörivä ohjelmistoalusta, jonka päällä voi ajaa Javalla koodattuja komponentteja siten, että komponentteja voi asentaa ja poistaa lennosta, ilman alustan uudelleenkäynnistystä tai rebuildia. Komponentit on ihan tavallisia jar-tiedostoja, joiden selitysosassa (manifest-tiedosto) on OSGiin liittyviä headereita. Näitä komponentteja kutsutaan bundleiksi. Jos tiiät miten pluginit toimii ohjelmistoissa, niin toimintaperiaate on juuri samantyyppinen. Esimerkiksi eclipse pyörii OSGi-frameworkin päällä ja eclipse-pluginit on teknisesti katsoen OSGi-bundleja.

    Bundlessa, eli jar-tiedostossa pitää olla luokka, joka toteuttaa BundleActivator-interfacen. Toteutus sisältää start()- ja stop()-funktiot, joita alusta kutsuu kun komponentti otetaan käyttöön. Tämä toimii siis alustan ja komponentin välinen rajapintana ja bundle saa näiden funktioiden parametrina käsiinsä ”kontekstin” (BundleContext-luokan ilmentymä), jonka avulla se pääsee käsiksi muihin komponentteihin ja alustaan itseensä, sekä näiden tarjoamiin palveluihin. Alusta saa tietoonsa bundlen aktivointiluokan, kun bundle ilmoittaa sen manifestissa Bundle-Activator -nimisellä headerilla.

    Tässä on ehkä yksinkertaisin mahdollinen osgi-bundle, jonka tein tuossa äsken ihan vartavasten esimerkiksi: http://www.ee.oulu.fi/~matti/verysimple.jar . Jos asennat osgin omalle koneelle (ks. linkit alla), voit asentaa tuon bundlen kirjottamalla GUIssa yläkenttään ”file:verysimple.jar” ja painamalla Install, tai TUIssa komennolla ”install file:verysimple.jar” . Olettaen että verysimple.jar sijaitsee Oscarin juurihakemistossa. Jos eclipse löytyy omalta koneelta, kannattaa kokeilla tuon ekan linkin ohjetta.

    Linkkejä lisätietoon:

    Kokeile OSGia eclipsessä:
    http://www-128.ibm.com/developerworks/opensource/library/os-ecl-osgiconsole/
    OSGi in a nutshell:
    http://gravity.sourceforge.net/servicebinder/osginutshell.html
    Lataa Oscar:
    http://forge.objectweb.org/project/showfiles.php?group_id=113
    Oscarin asennusohje:
    http://oscar.objectweb.org/install.html
    Oscarin tutorial:
    http://oscar-osgi.sourceforge.net/tutorial/

    kommentti Kirjoittanut mauso — toukokuu 18, 2007 @ 10:18 am

  3. Niin, tuo verysimple.jar sisältää myös lähdekoodin, jota kannattaa vilkasta – jarrin saa auki vaikka winzipillä. Tässä vielä jokunen linkki:

    Hyvä selitys OSGista englanniks
    http://raibledesigns.com/rd/entry/tse_spring_osgi_with_adrian

    Miten OSGi parantaa ohjelmistokehitysprosessia
    http://www.osgi.org/about/faqs.asp#q8

    kommentti Kirjoittanut mauso — toukokuu 18, 2007 @ 10:35 am

  4. Ah joo, nyt mä hoksaksin. Siis OSGi on vaan yksinkertasesti se komponenttiframeworkki, jonka päälle mm. Eclipse-rakentuu.

    …Ja siinähän sulla nyt onki ne kaks aineen aihetta. Aine 1: mikä on
    palveluarkkitehtuuri, aine 2: mikä on osgi?🙂

    kommentti Kirjoittanut Jaakko — toukokuu 18, 2007 @ 11:14 am

  5. Jops, ja kiitos yksinkertaistuksesta! Miepäs harkitsen vakavasti tuosta kirjottamista.

    kommentti Kirjoittanut mauso — toukokuu 18, 2007 @ 11:21 am

  6. Huomasin heti virheen tuossa mun selityksessä. Bundlessa ei oo pakko olla BundleActivatoria – ainoa pakollinen kenttä manifestissa on Bundle-SymbolicName, eli kuvaava nimi bundlelle. BundleActivatoria hyödynnetään sillon, ku halutaan bundlen itsensä tekevän jotain (yleensä omassa säikeessään). Mitä tahansa. Mut jos haluaa esmes tehä kirjaston, jossa on muille bundleille hyödyllisiä luokkia ja funktioita, riittää ku määrittelee manifestiin tuon Bundle-SymbolicNamen ja Export-Package -headerin, jossa kertoo, mitä Java-packageja ko. bundle tarjoaa muille.

    kommentti Kirjoittanut mauso — toukokuu 18, 2007 @ 11:44 am


RSS feed for comments on this post. TrackBack URI

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s

Pidä blogia WordPress.comissa.

%d bloggers like this: