Budapest University of Technology and Economics Fault-tolerant Systems Research Group Eclipse alapú technológiák OSGi Balogh András

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements


Kamarai prezentáció sablon
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Készítette: Boros Erzsi
Hálózati és Internet ismeretek
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Második nap DVD LUMINEERS PLACEMENT. Második nap DVD LUMINEERS PLACEMENT.
2008. I.-VIII. HÓNAP ESEMÉNYEI KBSZ SZAKMAI NAPOK - HAJÓZÁS Siófok, Orosz Dalma főosztályvezető.
Java komponens modellek
Az előadásokon oldandók meg. (Szimulációs modell is tartozik hozzájuk)
Humánkineziológia szak
Mellár János 5. óra Március 12. v
Elektromos mennyiségek mérése
Koordináta transzformációk
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Domain specifikus nyelvek Eclipse Modeling.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Eclipse architektúra.
Utófeszített vasbeton lemez statikai számítása Részletes számítás
A tételek eljuttatása az iskolákba
Fájlkezelés, IO Kivételkezelés Belső osztályok
Programrendszerek Fejlesztése 7/67/6 1 Tartalom  OSGI  Bevezető  A cél környezet kezelése  OSGI alapok  Komponensek  Szolgáltatások  Spring 
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés laboratóriumi gyakorlat Karakterisztikák mérése 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés Kincses Zoltán, Mingesz Róbert, Vadai Gergely 10. Óra MA-DAQ – Műszer vezérlése November 12., 15. v
Virtuális méréstechnika 12. Óra Karakterisztikák mérése November 21. Mingesz Róbert v
Mérés és adatgyűjtés laboratóriumi gyakorlat levelező 4. Óra Karakterisztikák mérése November 23. Kincses Zoltán, Mellár János v
Virtuális méréstechnika MA-DAQ műszer vezérlése 1 Mingesz Róbert V
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
Védőgázas hegesztések
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
Osztott alkalmazások kezelése. VIR elosztott architektúra indítékai: - meglévő komponensek integrációja - WEB / Internet elterjedése (nemzetköziség) -
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Darupályák tervezésének alapjai
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
OAIS. Megőrzés feladatai Viability –Meg kell őrizni a bitfüzér változatlanságát és olvashatóságát a tároló eszközön Rendbebility –Meg kell őrizni a bitfüzér.
szakmérnök hallgatók számára
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
4. Feladat (1) Foci VB 2006 Különböző országok taktikái.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
var q = ( from c in dc.Customers where c.City == "London" where c.City == "London" select c).Including( c => c.Orders ); select c).Including(
Léczfalvy Ádám MIDlet-ek.
AICC, IEEE, SCORM, fogalmak. Tananyagok cseréje (export-import) Támogatja az együttműködéseket Támogatja a felhasználóbarát környezet kialakítását Megoldja.
Hernyák Zoltán Programozási Nyelvek II.
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
2006. május 15P2P hálózatok 1 Fóliák a vizsgára: 1. előadás  Bevezető: 11-16, 21,  Usenet: előadás:  Bevezető: 3-8  Napster: 
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Komponens-absztrakció. Objektum-orientált paradigma korlátai Feltételezés az interfészekről: 1. öröklés és aggregáció alkalmazható, 2. közös programozási.
Objektum orientált programozás
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
A teljes infrastruktúra egységesített felügyelete és védelme.
Budapest University of Technology and Economics Department of Measurement and Information Systems Monitor komponensek fejlesztése okostelefon platformra.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Java web programozás 5..
Java web programozás 6..
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Maven és Ant Build eszközök bemutatása
Szoftvermetrikák és minőségmenedzsment Péter Előd
Operációs rendszerek.
Openstack-alapú privát felhő üzemeltetés 2017/2018 I. félév SZTE
Előadás másolata:

Budapest University of Technology and Economics Fault-tolerant Systems Research Group Eclipse alapú technológiák OSGi Balogh András

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 2 OSGi  Az OSGi Alliance 1999-ben alakult −Nyílt specifikációk fejlesztése −Hálózati menedzselt szolgáltatásokhoz ●„network appliances” −Közös architektúra −Sok területen elterjedt ●SOHO eszközök ●Eclipse ●Szerver-oldali alkalmazások ●…

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 3 OSGi framework  A rendszer magja  Java futtatórendszer menedzselt komponensek számára −Általános célú −Menezselt −Biztonságos −kiterjeszthető

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 4 OSGi framework  Letölthet és telepíthet szoftver komponenseket  Kezeli a komponensek közötti függőségeket és szolgáltatásokat  Kezeli a komponens verziókat  Komponens = bundle

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 5 Security layer  Alapja a Java2 Security  Kód autentikáció −Telepítési hely alapján −Aláírás alapján  Magas szintű szolgáltatások −Permission Admin service – a teljes elérési út alapján menedzseli a jogokat −Conditional Permission Admin service – összetett feltételek alapján menedzseli a jogokat

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 6 Security layer  A Java 2 Security API szükséges −Erőforrás-korlátos platformokon ez lehet egy stub  Digitális aláírással ellátott jar file-ok −Azonosítják az aláírót −Megakadályozzák a későbbi módosítást −Jogok delegálhatóak −DSA/RSA aláírások  Aláírások, certificate-ek: lásd adatbiztonság

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 7 Module layer  Java modulok kezelése  Standard, általános módon  Modulok : bundle −Egy jar file ●Manifeszt ●Osztályok ●Erőforrás fájlok −A bundle-k megoszthatnak egymás között osztályokat

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 8 Module layer  A modulok indíthatók, leállíthatók  A futó bundle-k szolgáltatásai kiajánlásra kerülnek  Fontos manifeszt adatok −Bundle-activator: az életciklus menedzselését végző osztály neve −Bundle-classpath: a bundle-n belüli classpath- ok listája. A default értéke. (a bundle root) −Bundle-name: olvasható név

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 9 Module layer  Fontos manifeszt adatok −Bundle-SymbolicName: azonosító (egyedi) −Bundle-UpdateLocation: URL, ahonnan a firssítések letölthetőek −Export-Package: a kiajánlott java csomagok listája −Import-Package: importált csomagok listája −Require-Bundle: szükséges modulok listája (import + függőségek)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 10 Class loading  Minden bundle egy vm-en belül fut  Minden bundle-nak saját class loadere van −3 helyről tölthet be osztályokat/erőforrásokat ●Boot class path: java.* csomagok és implementációik ●Framework class path: a framework-nek saját class loadere can, amitől elkérhetőek az interfészek és implementáló osztályok ●Bundle space: a bundle jar fájljai, valamint a hozzá kötődő egyéb jar-ok

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 11 Module layer  Egy bundle class space-e −A szülő class loader-e (java.*) −Importált csomagok −Függőségek −A bundle privát classpath-a −Csatolt fragmensek

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 12 Bundle feloldás  Feloldás: az importerek és exporterek összekötése −Kényszereknek megfelelően  Vezeték (wire): összeköttetés importer és exporter között −Valid – ha teljesít minden kényszert

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 13 Metaadat feloldás  Bundle-SymbolicName −kötelező, egyedi azonosító −Ha két egyező nevű és verziójú van, a második telepítése sikertelen −Paraméterek ●Singleton: csak egyetlen verziója lehet betöltve ●Fragment-attached: definiálja, hogyan lehet fragmenseket hozzákapcsolni  Always: bármikor kapcsolódhat  Never: nem lehetséges  Resolve-time: csak a resolve fázisban

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 14 Metaadat feloldás  Bundle-Version −Meghatározott formátum major.minor.micro.qualifier −Összehasonlítás hierarchikus ●Numerikusan, illetve a qualifier esetén String.compareTo ●Két verzió akkor azonos, ha minden szegmensük egyezik

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 15 Metaadat feloldás  Imported-packages −Importált csomagok listája −Resolution – a csomagot fel kell oldani ha kötelező import, ha ez sikertelen a bundle sem töltődhet be −Version – verzió intervallum a csomagot exportáló csomagra zárt [], nyitott (), pl. [1.0.0,2.0.0) −Bundle-version: az exportáló bundle verziója −Bundle-symbolic-name: az exportáló bundle neve

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 16 Bundle diagramm

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 17 Opcionális import  Nem feltétlenül szükséges csomagok −Fel kell készülni arra, hogy kivétel keletkezik, ha a betöltés nem sikeres −Optional kulcsszó az importnál

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 18 Csomag kényszerek  Ha egy csomagot exportálunk, a benne levő osztályokkal függésben levőket is exportálni kell  Minden csomaghoz minden bundle csak egy exportert vehet igénybe  Egy importált csomag használhat másokat, ezeket minden bundle ugyanazzal a classloaderrel tölti be

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 19 Csomag kényszerek  Csomag attribútumok −Kötelező, vagy opcionális

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 20 Csomag kényszerek  Csomag attribútumok −Osztály szűrés ●Include ●Exclude −Pl.

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 21 Fragmensek  Egy bundle-hez kapcsolódnak −Resolve közben  Használati esetek −Lokalizáció −(Patch)  Összefésülésre kerül a host bundle-vel −Import −Export −Require-bundle  Host spec: Fragment-host

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 22 Bundle életciklus

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 23 Bundle kezelés  BundleActivator −start(BundleContext) – a bundle indítása ●Ha sikeresen lefut, a bundle aktív állapotba kerül ●Thread-ek indítása, szolgáltatások regisztrációja, stb. −stop(BundleContext) – a bundle leállítása ●Minden, a startban regisztrált/indított folyamatot undo-zik ●A service-eket és framework listenereket a framework törli

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 24 Bundle kezelés  Bundle interfész −start() indítás −stop() leállítás −update() frissítés ●Verzióváltás ●A bundle által megadott URL-ről próbálja −update(InputStream) frissítés ●Verzióváltás ●Az inputStream-ből próbálja −Uninstall() ●A bundle eltávolítása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 25 Bundle kezelés  Bundle interfész −getHeaders() ●Manifeszt fejlécek lekérdezése −getEntry(String) ●Erőforrás megkeresése a jar fájlon belül

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 26 Bundle kezelés  BundleContext −installBundle(String) ●Bundle telepítése adott url-ről −getBundle() ●A bundle objektumot adja vissza −getBundles() ●A telepített bundle-k listáját adja vissza −getBundle(long) ●Egyedi azonosító alapján keres egy bundle-t (null ha nincs)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 27 Eseménykezelés  BundleEvent −A bundle életciklusának kezelésére  BundleListener, SynchronousBundleListener −Események aszinkron/szinkron feldolgozása −INSTALLED- a bundle telepítve −RESOLVED – sikeres feloldás −STARTING – a framework indítani készül a bundle-t −STARTED – sikeres indítás −STOPPING – leállításra készül a framework −STOPPED – leállítás befejeződött −UNINSTALLED – bundle törölve −UNRESOLVED – update után lehet −UPDATED – a bundle frissíve lett

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 28 Eseménykezelés  FrameworkListener – FrameworkEvent −Framework események −ERROR – fontos hibák küldése −INFO – általános információk −PAKCAGES_REFRESHED – a framework frissítette a csomagokat −STARTED – a framework elvégezte az inicializálást és normál üzemmódba ért −WARNING – figyelmeztető üzenetek

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 29 Framework indítás 1.Eseménykezelés bekapcsolása 2.A system bundle starting állapotba lép 3.Minden korábban számba vett, indítandó bundle elindítása, hiba esetén ERROR 4.A system bundle ACTIVE állapotba lép 5.STARTED esemény szétküldése

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 30 Framework leállítás 1.A system bundle STOPPING állapotba lép 2.Minden aktív bundle leállításra kerül. Hibák esetén ERROR üzenetek 3.Eseménykezelés letiltása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 31 Szolgáltatási réteg  Definiálja az együttműködési modellt −„Publish, find, and bind” −A szolgáltatás egy normál java objektum −Regisztrálódik egy vagy több java interfész alatt  A bundle-k −Regisztrálhatnak −Kereshetnek −Használhatnak szolgáltatásokat −Illetve, ezekkel kapcsolatban eseményeket kezelhetnek

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 32 Alapok  Kollaboratív: bundle-k közötti együttműködés  Dinamikus: futásidejű változások  Biztonságos: hozzáférés korlátozható  Reflektív: teljes hozzáférés a réteg belső állaptához  Verziókezelés: a szolgáltatások fejlődhetnek  Perzisztens id: framework indítások között is lehet a szolgáltatásokat követni

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 33 Elemek Service A szolgáltatást megvalósító objektum

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 34 Elemek ServiceRegistry A szolgáltatás regisztrációkat tartalmazza

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 35 Elemek ServiceRegistration A szolgáltatás adatait tartalmazza, lehetővé teszi a regisztráció menedzselését

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 36 Elemek ServiceFactory Lehetővé teszi a szolgáltatás testre szabását az igénybe vevőtől függően

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 37 Elemek ServiceListener Service eseményeket figyel

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 38 Elemek Filter Egyszerű szűrő nyelvet ad meg, mely a szolgáltatások attribútumaira szűr

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 39 Szolgáltatások regisztrációja  BundleContext −registerService(String, Object, Dictionary) ●Egy adott interfész név alá regisztálja a szolgáltatást −registerService(String[], Object, Dictionary) ●Több interfész név alá regisztálja a szolgáltatást −ServiceRegistration.unregister() ●Regisztráció visszavonása service = new HelloServiceImpl(); // register the service context.registerService(HelloService.class.getName(), service, new Hashtable());

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 40 Szolgáltatás keresése  BundleContext −getServiceReference(String) ●Ha több van, a ranking dönt −getServiceReferences(String,String) ●Az összes referencia az adott interfészhez és filterhez −getService(ServiceReference) ●A szolgáltatás objektumot adja vissza −ungetService(ServiceReference) ●Szolgáltatás „elengedése”

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 41 Eseménykezelés  ServiceEvent −Regisztrálás −Visszavonás −Attribútum változás figyelése −getType() : int a típus  ServiceListener −Service event-eket fogad −Csak, ha van legalább GET joga az adott szolgáltatás interfészéhez

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 42 ServiceFactory  Lehetőség a szolgáltatások testre szabására  Életciuklus-menedzsment  getService(Bundle, ServiceRegistration) −Szolgáltatás kérése  ungetService(Bundle, ServiceRegistration) −Szolgáltatás lemondása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 43 ServicePermission  Paraméterek −Interfész neve −Akció ●REGISTER – a bundle regisztrálhatja a szolgáltatást ●GET – megkaphatja a szolgáltatást  Több interfészre regisztráláskor mindegyikre kell legyen REGISTER jog