Komponens modellek. 3. Előadás (első fele)



Hasonló dokumentumok
Osztott alkalmazások fejlesztési technológiái Áttekintés

CORBA. Mi a CORBA? A CORBA felépítése

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

CORBA bevezetés. Paller Gábor Internet és mobil rendszerek menedzselése

A SZOFTVERTECHNOLÓGIA ALAPJAI

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Osztott Objektumarchitektúrák

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

CO C R O B R A B OMG, ORB, CORBA

Book Template Title. Author Last Name, Author First Name

DSI működésre. tervezve. Hogyan fog kinézni a jövő informatikai infrastruktúrája? Egész szoftverrendszerek egy

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

S04-2 Elosztott alkalmazások készítése

A Java EE 5 plattform

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

Kommunikáció. 3. előadás

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Bonobo: A GNOME CORBA alapú komponens-megoldása Unixokra

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Osztott rendszerek (Distributed

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

Komponens alapú programozás Bevezetés

Tarantella Secure Global Desktop Enterprise Edition

Előzmények

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

A hierarchikus adatbázis struktúra jellemzői

Objektum orientált alapelvek

Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen

Komponens alapú fejlesztés

Elosztott rendszerek

eseményvezérelt megoldások Vizuális programozás 5. előadás

IBM Business Monitor 7. változat 5. alváltozat. IBM Business Monitor telepítési kézikönyv

A Java nyelv. V. rész Az objektumorientáltság magasabb fokú tulajdonságai: Perszisztencia, CORBA, RMI

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Rendszertervezés 2. IR elemzés Dr. Szepesné Stiftinger, Mária

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

Models are not right or wrong; they are more or less useful.

Hálózatkezelés: Távoli elérés szolgáltatások - PPP kapcsolatok

Nyílt szoftverek a közigazgatásban

2. fejezet Hálózati szoftver

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

Elosztott rendszer architektúrák

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Operációs rendszerek. A Windows NT felépítése

Java RMI Áttekintés. A Java RMI. A Java RMI architektúrája. Ficsor Lajos. Általános Infromatikai Tanszék Miskolci Egyetem 1.

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

.NET Microsoft.Net Framework

Bevezetés J2EE komponensek Java2EE API-k Web alkalmazások Dokumentáció Fejlesztői környezet. JAVA technológiák - bevezető

Szervlet-JSP együttműködés

Szakmai program 2015

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for felhasználói kézikönyv 7. változat 5.kiadás

Összefoglaló az SMS Center által nyújtott szolgáltatásokról

SAP Business One. Méretre szabás. Mosaic Business System Kft.; Support:

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Adatkezelés. 11. előadás (Entity Beans)

Java Web technológiák

A TANTÁRGY ADATLAPJA

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Ismeretanyag Záróvizsgára való felkészüléshez

1 Rendszer alapok. 1.1 Alapfogalmak

Windows hálózati adminisztráció

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Workflow és Petri hálók. Workflow fogalma

Introduction. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Adatbányászat és Perszonalizáció architektúra

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

A MIKROSZIMULÁCIÓS MODELLEK HASZNÁLATÁNAK ÚJ HAZAI LEHETŐSÉGEI* DR. MOLNÁR ISTVÁN

Nyílt hozzáférésű informatikai rendszerek BME VIMM 5294

RIA Rich Internet Application

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

A TANTÁRGY ADATLAPJA

Java RMI Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. javarmi / 1

axióma alapú automatizált teszteléssel

Osztott rendszerek, Java EE. Általános bevezető

A JavaServer Pages (JSP)

RPC Remote Procedure Call Távoli eljárás hívás

Kommunikációs middleware megoldások

JAVA webes alkalmazások

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

UML (Unified Modelling Language)

Objektumorientált programozás C# nyelven

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Objektumorientált programozás C# nyelven

3 Hogyan határozzuk meg az innováció szükségszerűségét egy üzleti probléma esetén

A területi közigazgatás reformja és az informatika

Hatékony útüzemeltetés a Magyar Közút hálózatán informatikai fejlesztésekkel

Átírás:

Komponens modellek 3. Előadás (első fele)

A komponens modellek feladata Támogassa a szoftverrendszerek felépítését különböző funkcionális, logikai komponensekből, amelyek a számítógépes hálózatban különböző csomópontokban (nodes) helyezkedhetnek el. A komponens alapú szoftverfejlesztést tehát a hardver és a szoftver oldaláról is támogatni kell. Az alapszoftver oldaláról a támogatás egyik fontos eleme az úgynevezett köztes réteg (middleware).

Köztes réteg (middleware) Valahol az operációs rendszer és az alkalmazások között helyezkedik el, azokhoz hasonló szolgáltatásokat nyújt:

Futtató környezetet biztosít Tipikus operációsrendszer funkciókat nyújt Összeköttetés operációsrendszer és a programozási nyelv között Egy operációsrendszert és egy programozási nyelvet támogat Futtatható kód előállítása kódgenerátorral Komponensek kézi létrehozásának fontossága csökken, egymástól függetlenül fejlesztik a komponenseket.

A komponenek lehetnek azonos hálózati végpontban vagy különbözőekben A távoli komponensek együttműködésének megvalósítása távoli eljáráshívásokkal (RPC) Valamilyen RPC minden modern komponens platformban megtalálható A köztes rétegre épülnek rá az objektum modellek.

Komponens modellek Object Management Group (OMG) CORBA Microsoft COM/DCOM Sun Microsystems EJB

CORBA Common Request Broker Architekture Az első kísérlet egy objektum modell definiálására OMG 1991 Főbb részei: Object Request Broker (ORB) A CORBA szíve, felelős a komponensek közötti kapcsolat létrehozásáért és fenntartásáért. Interfészek leírása Interface Definition Language - IDL nyelven Hordozható, programozási nyelvtől és operációs rendszertől független nyelv. IDL célnyelvi fordítók

Object Request Broker (ORB) Elfedi a különböző címtartományok közötti kommunikációt Az ORB felügyelete mellett a komponensek úgy létesítenek egymással kapcsolatot, mintha mindannyian egyetlen címtartományban léteznének. Az ORB több összetevőből áll a kliens és szerveroldalon

Kliensoldalon A kliens IDL kapcsolódási csonkok (Client IDL Stubs) biztosítják a kliensoldal statikus felületeit a CORBA komponens eléréséhez. A távoli komponens helyi képviselője, proxy, amely a hozzá intézett hívásokat továbbítja a távoli szolgáltatóhoz. Gondoskodik a paraméterek átirányításáról a szerver felé, ez az ún. marshaling. Az ORB felület (ORB interface) néhány hasznos helyi szolgáltatást nyújt a CORBA felhasználóinak: Komponenshivatkozások karakterlánccá konvertálása, stb.

A dinamikus hívási felület ( Dynamic Invocation Interface DII ) segítségével olyan dinamikus komponenseket készíthetünk, amelyek futás alatt derítik fel a szerveroldali komponensek metódusait, és hívják meg azokat. A DII nagyobb rugalmasságot ad futási időben, a statikus jellegű IDL csonk viszont támogatja a fordításidejű típusellenőrzést Az Interfész-szótár programozói felület (Iterface Repository API) futásidejű hozzáférést biztosít az interfész-szótárhoz, amely az IDL definíciók feldolgozott formáit tartalmazza. A CORBA 2.0 esetén ORB globális azonosítókat (Repository ID) is tartalmaz, amelyek a komponenseket és interfészüket egyedileg azonosítja.

Szerveroldalon A szerver IDL kapcsolódási felület (Server IDL Stub) a szerver oldali komponensek által nyújtott statikus szolgáltatásokat definiálja. Ennek a vázát (skeleton) is az IDL fordító generálja. A dinamikus kapcsolódási felület (Dynamic Skeleton Interface DSI) a kliens oldali dinamikus hívási felület (DII) párja. Futási időben csatlakozási információt szolgáltat azokról a szerveroldali komponensekről, amelyeknek nincs IDL által definiált statikus csonkja. A DSI a bejövő üzenet paramétereiből határozza meg a komponenst és annak szolgáltatását (metódusát).

Az objektumadapter (Object Adapter) az előző két felület implementációjához szükséges, de önállóan is használható. Ez a futtatási környezet: Objektumreferenciák, Implementációs szótár kezelése. Minden ORB legalább egy adaptert támogat Basic Object Adapter (BOA)

AZ implementációs szótár (Implementation Repository) a megvalósított szerveroldali osztályok leírását tartalmazza Számon tartja, hogy mely objektumokat példányosították, hogyan lehet azokat azonosítani. Az ORB felület, amely a kliensoldali megfelelő a szerver oldalán.

Interface Definition Language (IDL) A CORBA erősen objektum elvű rendszer A szerverkomponensek osztályként definiálhatók, jellemzői: Öröklődés Kivételkezelés Adatelrejtés (encapsulation). Az osztályok definiálására az IDL nyelvet használjuk Hordozható Programozási nyelvtől és operációs rendszertől független deklaratív nyelv, amely tehát procedurális elemeket nem tartalmaz, de támogatja Típusok Konstansok Adatelemek Metódusok Kivételek deklarációját.

AZ IDL nyelven leírt interfészekből az IDL-fordító készít konkrét nyelvű kódot (pl. Java), amelyet ki kell egészíteni a metódusok szintén konkrét nyelvű megvalósításával. Az IDL nyelv vázlatos szerkezete megtalálható például a Java 2 Útikalauz programozóknak című könyvben (szerk. Nyékyné Gaizler Judit, ELTE TTK Hallgatói Alapítvány, Budapest, 1999.)

IDL célnyelvi fordítók Az IDL Java fordító Inputja: IDL nyelvű interfész leírás Outputja: Java kódú program A fordító működését a JAVA 2 tankönyv 22.3 fejezetében megtalálhatják. Egy egyszerű, de hasznos példát találnak a CORBA használatára a fenti könyv 22.4. fejezetében. A példában olyan objektumcsoportot kívánunk létrehozni, amelyeknek a példányai más-más szerveren helyezkednek el. A fenti példában a kliens és a szerver a CORBA névszolgáltatásán (Naming Service) keresztül találtak egymásra.

COM/DCOM Component Object Model - COM A Microsoft első komponens modellje ( 93) COM+ COM bővítése: tranzakciók, aszinkron üzenetek, klaszterezés kezeléseinek eszközeivel. Distributed COM DCOM A COM elosztott kiterjesztése A DCOM kliens képes egy DCOM szerverrel kommunikálni kliens helyettesek és szerver csonkok segítségével. A CORBA és a DCOM szolgáltatásai egyre jobban közelítenek egymáshoz, de az eszközrendszerükre ez nem igaz.

JavaBeans - EJB A Java komponens modelljei Röviden bemutatjuk a JavaBeans modellt a mai előadásban Az EJB modell lényegét a J2EE architektúra részeként tárgyaljuk meg.

JavaBeans A Java legegyszerűbb komponens modellje. Első közelítésben egy JavaBean olyan újra felhasználható szoftver komponens, amely egy fejlesztő környezetben vizuálisan manipulálható. A JavaBeans komponens modellben Egy komponensnek többféle, egymástól független implementációja lehet. Egy adott komponensből több példány is létrehozható a különböző alkalmazások számára testre szabva. A komponensek konténerek elemei lehetnek. Egy komponens lehet konténer és ő is tartalmazhat más komponenseket. A komponensek közötti kommunikáció és kapcsolat eseménykezeléssel és metódusok hívásával történik.

A JavaBeans komponens modell támogatja a hierarchikus szoftverfejlesztést, ahol egyszerűbb komponensekből bonyolultabbakat tudunk létrehozni a konténerek segítségével. Felhasználhatjuk a vizuális fejlesztő eszközök nyújtotta szolgáltatásokat. A beanek fejlesztését megkönnyíti a Sun által kifejlesztett BeanBox fejlesztő környezet. A JavaBeans modell támogatja a beanek testre szabását tulajdonságlisták alapján, amelyek a képernyőn megjeleníthetők.

EJB - Enterprise Java Bean Szerver oldali elosztott komponens modell Funkcionalitása szerint több fajtája van: Session Bean Enterprise Bean MessageDriven Bean Futtatásukhoz alkalmazásszerver (EJB konténer szükséges) Kontraktus az EJB és a konténer között: interfészek halmaza telepítési leírók

Java2EE Egy architektúra komponens alapú, többrétegű vállalati alkalmazások fejlesztésére J2EE architektúra:

Összefoglalás A komponens modell a komponens alapú szoftverfejlesztés egyik központi fogalma. A komponens modellek fontos szerepet játszanak az alkalmazásfejlesztés menetében az alkalmazott architektúra és a fejlesztési platform szempontjából.