JNDI - alapok. Java Naming and Directory Interface



Hasonló dokumentumok
Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat

Adatbázisok webalkalmazásokban

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

Stateless Session Bean

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

Abstract osztályok és interface-ek. 7-dik gyakorlat

Collections. Összetett adatstruktúrák

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

OOP: Java 8.Gy: Abstract osztályok, interfészek

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Osztott Objektumarchitektúrák

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Hello, EJB! Egy egyszerű példa

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

3. Gyakorlat Ismerkedés a Java nyelvvel

Szoftvertechnológia alapjai Java előadások

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

A SZOFTVERTECHNOLÓGIA ALAPJAI

Java és web programozás

Java Remote Method Invocation API

XML adatkezelés I. Az SAX szabvány. Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék. XML adatok kezelési lehetőségei

Java és web programozás

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

Komponens alapú fejlesztés

Utolsó módosítás:

Java és web programozás

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Szalai Ferenc

Utolsó módosítás:

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

JAVA PROGRAMOZÁS 3.ELŐADÁS

és az instanceof operátor

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

Java programozási nyelv 6. rész Java a gyakorlatban

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Enterprise JavaBeans 1.4 platform (EJB 2.0)

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

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

Objektumorientált programozás C# nyelven

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

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi

Kalapácsvetés 2016 szöveges

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

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

Bánsághi Anna

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Sikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek.

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

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

Programozási nyelvek Java

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Informatika terméktervezőknek

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

JAVA SE/ME tanfolyam tematika

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

Programozási nyelvek Java

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Segédanyag: Java alkalmazások gyakorlat

Programozási nyelvek Java

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

Java gyakorlat feladatai e s megolda sai ( )

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Ja J v a a v a há h l á óz ó a z t a i al a ka k l a maz ma á z s á o s k o Socket, URL

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

A Java EE 5 plattform

OOP: Java 4.Gy: Java osztályok

BME MOGI Gépészeti informatika 8.

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

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

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

JDBC - adatbáziskezelés

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 5. óra. Kocsis Gergely, Supák Zoltán

Programozás I. Első ZH segédlet

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Java és web programozás

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Java programozási nyelv 4. rész Osztályok II.

Symfony kurzus 2014/2015 I. félév. Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle

Java I. A Java programozási nyelv

C#, OOP. Osztályok tervezése C#-ban

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

Bevezetés a Java programozási nyelvbe

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

7. K: JAVA alapok Konzultáció

Átírás:

JNDI - alapok Java Naming and Directory Interface

Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított adatelérés. Analógia: könyvtár, könyvek katalógusa (könyv-kártyák) Directory Service: a naming service kiterjesztése attribútumok hozzárendelése az objektumokhoz, keresés attribútumok alapján, stb. Bindings: nevek hozzárendelése objektumokhoz (a naming-service specifikus konvenciók betartásával) Közismert naming/directory szolgáltatások: COS (Common Object Services) Naming: CORBA DNS (Domain Name System): Internet LDAP (Lightweight Directory Access Protocol): könyvtár szolgáltatások (directory services) elérése, adatok manipulációja (a DAP alternatívája) NIS (Network Information System): hálózati erőforrások elérése (egyetlen azonosító/jelszó segítségével) (Sun fejlesztés) Hasonlóságok: cél, bindings; különbségek: alkalmazási terület, (név) konvenciók JNDI: egységesített hozzáférési felüleletet (interfészt) biztosít a különböző naming szolgáltatásokhoz

JNDI JNDI API, JNDI Service Provider Interface Csomagok: javax.naming: Context, Name, Binding, Reference, InitialContext, NamingException, stb. javax.directory: DirContext, Attribute, stb. javax.naming.event: EventContext, NamingEvent, NamingListener, stb. javax.naming.ldap: LDAP specifikus interfészek és osztályok javax.naming.spi: naming/directory szolgáltatások fejlesztői számára biztosít lehetőséget, hogy saját implementációt biztosíthassanak szolgáltatásukhoz, amely így JNDI-n keresztül elérhetővé tehető

JNDI Name osztály, származtatott osztályok, helper osztályok Context interfész: bindings halmaz reprezentációja Metódusok: void bind(string stringname, Object object) void rebind(string stringname, Object object) void unbind(string stringname) Object lookup(string stringname) void rename(string stringoldname, String stringnewname) NamingEnumeration listbindings(string stringname) NamingEnumeration list(string stringname) Minden metódusnak van olyan változata is, amely Name objektumokat kaphat paraméterként A nevek csak egyetlen objektumhoz köthetőek hozzá InitialContext osztály: a kiindulási pont: a naming service meghatározása, paraméterek megadása (felhasználónév, jelszó, stb.)

JNDI - példa Példa: kapcsolódás egy naming szolgáltatáshoz, adott binding, vagy az összes binding listázása. Alkalmazott szolgáltatás: filesystem service provider (a Sun referencia-implementációja, a fájlrendszert naming serviceként kezeli). A program létrehozza a kapcsolatot (InitialContext), felhasználva a parancssor első argumentumát, amely egy lokális könyvtár neve. Kilistázza a parancssor további argumentumaiként megadott nevekhez tartozó objektumokat, vagy ha nem kap paramétert, akkor minden név-objektum párt. import javax.naming.context; import javax.naming.initialcontext; import javax.naming.binding; import javax.naming.namingenumeration; import javax.naming.namingexception; import java.util.hashtable; public class Main { public static void main(string [] rgstring) { try { // Create the initial context. The environment // information specifies the JNDI provider to use // and the initial URL to use (in our case, a // directory in URL form -- file:///...).

JNDI - példa Hashtable hashtableenvironment = new Hashtable(); hashtableenvironment.put( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.reffscontextfactory" ); hashtableenvironment.put( Context.PROVIDER_URL, rgstring[0] ); Context context = new InitialContext(hashtableEnvironment); // If you provide no other command line arguments, // list all of the names in the specified context and // the objects they are bound to. if (rgstring.length == 1) { NamingEnumeration namingenumeration = context.listbindings(""); while (namingenumeration.hasmore()) { Binding binding = (Binding)namingenumeration.next(); System.out.println( binding.getname() + " " + binding.getobject() ); // Otherwise, list the names and bindings for the specified arguments. else { for (int i = 1; i < rgstring.length; i++) { Object object = context.lookup(rgstring[i]); System.out.println( rgstring[i] + " " + object ); context.close(); catch (NamingException namingexception) { namingexception.printstacktrace();