Lottery. JMS, Message Driven Bean, JMX, Singleton Session Bean. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 7

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Lottery. JMS, Message Driven Bean, JMX, Singleton Session Bean. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 7"

Átírás

1 Lottery JMS, Message Driven Bean, JMX, Singleton Session Bean Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 7 Bedők Dávid v0.9

2 JBoss management console Létre kell hozni egy management user-t ehhez. [JBOSS-HOME]/bin/add-user.[bat sh] Management User (enter) Username: admin (are you sure? yes) Password: AlmafA11# Enter, Yes, Yes, Enter Try Again és Login (BASIC AUTH) > /jboss-eap-6.4/bin/add-user.sh admin AlmafA11# 2

3 Feladat Készítsünk egy szolgáltatást, mely tárolja az ötös lottóhúzás eredményeit, ezek időpontját, nyereményalapját és a számot kihúzó személy nevét (legyen kinek megköszönni). A kihúzott számokat egy JMS queue interface-en* keresztül fogja a szolgáltatás megkapni (machine-to-machine interface). RESTful interface-en keresztül adjunk lehetőséget arra, hogy lekérdezzük az aktuális, illetve az összes sorsolás adatát. * itt most interface alatt két rendszer közötti kommunikációs réteget értve 3

4 Kiegészítés RESTful interface-en keresztül lehessen 5 szám megadásával megkapni a nyereményt! Minden sorsolásnak van egy nyereményalapja, melyet 100%-ban kiosztanak a nyertesek között. A szolgáltatás tartsa karban, hogy az aktuális jogszabályok szerint e nyereményalap mennyi százaléka jár az 1, 2, 3, 4 és 5 találatos játékosoknak. Megjegyzés: Mindez természetesen egyszerűsítés és nem is garantálja a helyes szétosztást, hiszen nem számol azzal, hogy pl. mennyi öt találatos szelvény volt. A nyereményeloszlás százalékos paramétereit szabvány management felületen (JMX) lehessen konfigurálni! 4

5 Ismeretszerzés Java Message Service (JMS) JMS Queue JMS Topic (feladat nem érinti) Message Driven Bean (listener) JMS Client Java Management extension (JMX) Standard Management Bean (MBean) jconsole Singleton Session Bean speciális Statefull Session Bean EntityManager persist művelet JOIN FETCH 5

6 Project struktúra lottery (root project) lot-jmsclient (JMS client alkalmazás) lot-ejbservice (EJB service réteg) lot-persistence (persistence service réteg) lot-webservice (RESTfull service réteg) Része az EAR-nak: sárga Standalone alkalmazás: kék A jms client alkalmazás classpathához jelenleg nem lesz szükség pl. egy lot-ejbserviceclient jar-ra, mivel a kommunikáció szabványos (nem kell pl. remote interface), és szöveges üzeneteket fogunk küldeni (nem kellenek stub-ok). Utóbbi megléte esetén megjelenne egy lot-ejbserviceclient jar is, mely része lenne mind az EAR mind a JMS client classpathának. 6

7 Adatbázis oldal CREATE TABLE event ( event_id SERIAL NOT NULL, event_puller CHARACTER VARYING(100) NOT NULL, event_prizepool INTEGER NOT NULL, event_date TIMESTAMP WITHOUT TIME ZONE NOT NULL, CONSTRAINT PK_EVENT_ID PRIMARY KEY (event_id) ); create-schema.sql CREATE TABLE drawnnumber ( drawnnumber_id SERIAL NOT NULL, drawnnumber_event_id INTEGER NOT NULL, drawnnumber_value INTEGER NOT NULL, CONSTRAINT PK_DRAWNNUMBER_ID PRIMARY KEY (drawnnumber_id), CONSTRAINT FK_DRAWNNUMBER_EVENT FOREIGN KEY (drawnnumber_event_id) REFERENCES event (event_id) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT ); 7

8 Legfrissebb és az összes sorsolás RESTful services LotteryRestService List<EventStub> getallevents() throws AdaptorException; EventStub getlatestevent() throws AdaptorException; LotteryFacade List<EventStub> getallevents() throws AdaptorException; EventStub getlatestevent() throws AdaptorException; EventService Event readlatest() throws PersistenceServiceException; SELECT e FROM Event e JOIN FETCH e.numbers ORDER BY e.date DESC SetMaxResult(1) List<Event> readall() throws PersistenceServiceException; SELECT e FROM Event e JOIN FETCH e.numbers ORDER BY e.prizepool EventConverter EventStub to(event event); List<EventStub> to(list<event> events); 8

9 JOIN FETCH SELECT FROM event0_.event_id AS event_id1_1_0_, numbers1_.drawnnumber_id AS drawnnum1_0_1_, event0_.event_date AS event_da2_1_0_, event0_.event_prizepool AS event_pr3_1_0_, event0_.event_puller AS event_pu4_1_0_, numbers1_.drawnnumber_event_id AS drawnnum3_0_1_, numbers1_.drawnnumber_value AS drawnnum2_0_1_, numbers1_.drawnnumber_event_id AS drawnnum3_1_0, numbers1_.drawnnumber_id AS drawnnum1_0_0 event event0_ INNER JOIN drawnnumber numbers1_ ON event0_.event_id=numbers1_.drawnnumber_event_id ORDER BY event0_.event_date DESC server.log A Set<DrawnNumber> LAZY módon van kapcsolva az Event-hez. A JOIN beköti a select-be a táblát (ez esetben a lekérdezés azonos lesz a bemutatottal), de nem attacholja az entitásokat (ha bejárjuk (pl. size()), akkor külön select-ben lekéri és attacholja. A JOIN FETCH e plusz lekérdezés nélkül attacholja is, és ez a hatékony megoldás ez esetben! 9

10 Új sorsolás adatainak rögzítése 10

11 Java Message Service (JMS) Üzenetküldés alapú kommunikáció lazán kötődő komponensek (beékelődik a kommunikációba az üzeneteket kezelő/tároló komponens) Message-Oriented Middleware (MOM) JMS 1.1 (2002, JSR914, JEE6), JMS 2.0 (2013, JSR343, JEE7) Típusai point-to-point (queue) producer üzeneteket küld a queue-ba consumer üzenetet kiolvas a queue-ból egy üzenetet egy fogadó dolgoz fel (ack küldés is van) producer és consumer nem kell hogy egy időben online legyen publish-subscribe (topic) publish üzeneteket küld a topic-ba subscriber(ek) megkapják a topic-ba küldött üzenetet egy üzenet több fogadó is feldolgoz(hat) publisher és subscriber között van időbeli függés, tankönyvi eset szerint a komponensek egyszerre online -ok (de vannak speciális feliratkozások) 11

12 JBoss MOM, JMS provider HornetQ messaging Deprecated, JBoss 7.x-től JBoss A-MQ váltja fel JMS 1.1 és JMS 2.0 támogatás Verzió: Final (JBoss 6.4 esetén) 12

13 JMS Queue létrehozása <?xml version="1.0" encoding="utf-8"?> <messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0"> <hornetq-server> <jms-destinations> <jms-queue name="lotteryqueue"> <entry name="jms/queue/lotteryqueue" /> <entry name="java:jboss/exported/jms/queue/lotteryqueue" /> </jms-queue> </jms-destinations> </hornetq-server> </messaging-deployment> JNDI név szabványok : java:/jms/queue/lotteryqueue lesz a valós JNDI név. Remote JMS client a java:jboss/exported/ előtagot automatikusan fogja használni (JBoss JMS Client jar használata esetén) lotteryqueue-jms.xml local JNDI name remote JNDI name A file nevének *-jms.xml-nek kell lennie, és a deployments könyvtárba másolással létrehozható, de pl. standalone.xml-ben is lehet defininálni, illetve programozottan runtime is létrehozható. 13

14 Lottery Listener Message Driven Bean package = "LotteryListener", activationconfig = = "destinationtype", propertyvalue = = "destination", propertyvalue = = "acknowledgemode", propertyvalue = "Auto-acknowledge") ) public class LotteryListener implements MessageListener private LotteryFacade public void initialize() public void onmessage( final Message message) {... LotteryListener.java Amikor a lotteryqueue -ba üzenet érkezik, a LotteryListener MDB aktiválódik, és az onmessage() metódusa meghívásra kerül a feldolgozandó üzenettel. Ha kivételt dob a metódus, az üzenet feldolgozás rollback-elődik, és nem kerül ki a sorból! 14

15 Lottery Listener - onmessage() Message Driven Bean BytesMessage MapMessage ObjectMessage StreamMessage TextMessage public void onmessage( final Message message) { try { final Queue destination = (Queue) message.getjmsdestination(); final String queuename = destination.getqueuename(); LOGGER.debug("New JMS message arrived into " + queuename + " queue (correlation id: " + message.getjmscorrelationid() + ")"); if (message instanceof TextMessage) { else { final TextMessage textmessage = (TextMessage) message; String content = textmessage.gettext(); [..] // parse content to int[] numbers this.facade.createnewevent(numbers); LOGGER.error("..."); catch (final JMSException AdaptorException NumberFormatException e) { LOGGER.error(e, e); LotteryListener.java queue name: kinyerhető (hasznos, ha egy listener több queue-ra figyel egyidejűleg (erre van lehetőség) correlation id: tipikusan kliens hozza létre, és elküldi a JMS message-el, hogy később pl. egy async válasz során azonosítani tudja a választ. 15

16 JMS Client Application Távolról JMS üzenetet küld a lotteryqueue-ba, melyet az elindított JBoss EAS által indított HornetQ mint JMS MOM fog fogadni. Ahhoz, hogy meg tudjuk szólítani ezt a szolgáltatást, az alábbiak szükségesek: JBoss initial context factory osztály neve: org.jboss.naming.remote.client.initialcontextfactory a classpath-on legyen elérhető ez az osztály compile group: 'org.jboss.as', name: 'jboss-as-jms-client-bom', version: '7.2.0.Final' JBoss EAS host-ja (localhost) és remote portja (def: 4447) stanalone.xml socket-binding-group <socket-binding name="remoting" port="4447"/> JMS Connection Factory JNDI neve (jms/remoteconnectionfactory) Egy min. guest role-lal rendelkező user authentikációja (username és password) A cél queue JNDI neve (jms/queue/lotteryqueue) Ha TextMessage helyett pl. ObjectMessage-et küldünk, akkor szükség volna egy serviceclient.jar -ra, mely tartalmazza a Serializable DTO-kat (hasonlóan az ejb client-nél alkalmazottak szerint). 16

17 JMS user létrehozása > \jboss-eap-6.4\bin\add-user.sh -a -u jmstestuser -p User# g guest 17

18 JMS Client Application A csatlakozás lényegi részeit kiemelve final Properties environment = new Properties(); environment.put(context.initial_context_factory, "org.jboss.naming.remote.client.initialcontextfactory"); environment.put(context.provider_url, "remote://localhost:4447"); environment.put(context.security_principal, "jmstestuser"); environment.put(context.security_credentials, "User#70365"); final Context context = new InitialContext(environment); final ConnectionFactory connectionfactory = (ConnectionFactory) context.lookup( "jms/remoteconnectionfactory"); final Destination destination = (Destination) context.lookup( "jms/queue/lotteryqueue"); Connection connection = connectionfactory.createconnection( "jmstestuser", "User#70365"); final Session session = connection.createsession(false, Session.AUTO_ACKNOWLEDGE); final MessageProducer producer = session.createproducer(destination); connection.start(); final TextMessage textmessage = session.createtextmessage( "1, 2, 3, 4, 5"); producer.send(textmessage); SimpleClient.java 18

19 JMS (Remote) Connection Factory A standalone-full.xml-ből előre konfigrálva kapjuk <subsystem xmlns="urn:jboss:domain:messaging:1.4"> <jms-connection-factories> <connection-factory name=" RemoteConnectionFactory"> <connectors> <connector-ref connector-name="netty"/> </connectors> <entries> <entry name="java:jboss/exported/ jms/remoteconnectionfactory"/> </entries> </connection-factory> </jms-connection-factories> </subsystem> A java:jboss/exported prefix-et a ClassPath-on lévő JBoss JMS Client jar adja hozzá a JNDI névhez. standalone(-full).xml 19

20 Session Beans Concurrency Management CMC - Container-Managed Concurrency BMC - Bean-Managed Kizárólag Singleton Session Bean-ek esetén van értelmezve a Bean-Managed Concurrency! Utóbbi esetén engedélyezett pl. a synchronized és volatile kulcsszavak használata. 20

21 Singleton Session Bean Az EJB container garantálja, hogy a Singleton Session Bean-ből ugyanazt a példányt fogja minden szálon használni. Természetesen nem arról van szó, hogy minden a SSB-t használó klienst szépen sorbaállít a container (ez bottleneck-je lenne az egész rendszernek). Vannak READ és vannak WRITE lock-kal rendelkező metódusai (kizólag CMC esetén használható). READ: párhuzamosan több szálon is futhat (állapot olvasás) WRITE (def.): kizárólag egy szálon futhat (állapot módosítás) 21

22 StateHolder Sorsoló és a nyereményalap lekérdezése StateHolderImpl.java package = public class LotteryStateHolderImpl implements LotteryStateHolder { private String public void initialize() { this.puller = "Juanita public String getcurrentpuller() { public void setcurrentpuller(string name) { this.puller = name; A prizepool tárolása és getter/setter üzleti metódusa mindezzel teljesen azonosan elkészíthető. A SSB-nek természetesen illendő interface-t készíteni (LotteryStateHolder ), mely jelen esetben annotációt megkapja. 22

23 LotteryFacade kiegészítése LotteryListener hívja package = "ejb/lotteryfacade") public class LotteryFacadeImpl implements LotteryFacade private EventService private LotteryStateHolder stateholder; LotteryFacadeImpl.java Az EventService a persistence rétegben egy tranzakción belül be kell hogy insertálja az új event sort, illetve az 5 új drawnumber sort ehhez az public void createnewevent(int[] numbers) throws AdaptorException { try { this.eventservice.create(this.stateholder.getcurrentpuller(), this.stateholder.getcurrentprizepool(), numbers); catch (final PersistenceServiceException e) { LOGGER.error(e, e); throw new AdaptorException(e.getLocalizedMessage()); 23

24 EventService kiegészítése Persistence réteg implementációja Fontos! Az Event entitás Set<DrawnNumber> numbers annotációjában a cascade értéke CascadeType.ALL vagy PERSIST legyen! EventServiceImpl.java package hu.qwaevisz.lottery.persistence.service; public class EventServiceImpl implements EventService = "lot-persistence-unit") private EntityManager public void create(string puller, Integer prizepool, int[] numbers) throws PersistenceServiceException { try { final Event event = new Event(puller, prizepool); for (final int number : numbers) { event.addnumber(number); this.entitymanager.persist(event); catch (final Exception e) { throw new PersistenceServiceException("Unknown error when fetching Events! " + e.getlocalizedmessage(), e); persist: egy új (vagy egy törlésre jelölt) entitás létrehozása, és egyben managed állapotba hozása public void addnumber(integer number) { this.numbers.add(new DrawnNumber(number, this)); merge: egy detached (nem managed) entitás létrehozása (a metódus visszaadja a managed entitást, az átadott detached nem bántja) 24

25 Java Management extension A JMX technológia a JavaSE része, és természetesen a JEE is támogatja, szerver oldali komponensek monitorozására is használható. Managed Bean-ek létrehozása szükséges hozzá (MBean), melyeket az MBean server észlel és kezel. JMX klienst könnyedén írhatunk, de a szabvány csatorna lévén erre legtöbbször nincsen szükség (pl. jconsole egy Java SE-vel szállított kliens alkalmazás). Az MBean-eknek követniük kell a JMX specifikációban leírt szabályokat (JMX kliensek szabvány elérése ezáltal garantált). Simple Network Management Protocol (SNMP) 25

26 MBean készítésének szabályai Ha az implementáció Something class, akkor az interface SomethingMBean kell hogy legyen. Az MBean-ben műveleteket (operations) és attribútumokat (attributes) definiálhatunk. Read-only A típusú xyz attribútum esetén léteznie kell egy A getxyz() metódusnak. Írható/olvasható A típusú xyz attribútum esetén létezni kell egy A getxyz() és void setxyz( A ) metódusnak. Minden olyan metódus, mely nem getter illetve setter, automatikusan műveletnek számít. Nem lehet a getter/setter-t másra használni, nem lehet azonos névvel overload-olt gettert készíteni, nem lehet más az összetartozó getter/setter paraméterezése/visszatérési értékének típusa. Egyszerű esetben a használható/javasolt típusok a java primitívek, tömbök, String-ek legyenek, de létezik komplexebb típus is (pl. TabularData). 26

27 LotteryMonitor JMX MBean készítése package hu.qwaevisz.lottery.ejbservice.management; LotteryMonitor.java public class LotteryMonitor implements LotteryMonitorMBean private LotteryStateHolder public String getpuller() { return public void setpuller(string name) { this.stateholder.setcurrentpuller(name); public void start() throws Exception { LOGGER.info("Start Lottery MBean"); public void stop() throws Exception { LOGGER.info("Stop Lottery MBean"); A getprizepool() és setprizepool() implementációja a puller alapján egyértelmű. A start() és a stop() metódusok a JMX MBean életciklusa során meghívódnak. Használatuk opcionális. 27

28 MBean regisztrációja EJBService project <?xml version="1.0" encoding="utf-8"?> <server xmlns="urn:jboss:service:7.0" xmlns:xsi=" xsi:schemalocation="urn:jboss:service:7.0 jboss-service_7_0.xsd"> <mbean code=" hu.qwaevisz.lottery.ejbservice.management.lotterymonitor" name="lottery.mbean:service=lotterymonitormbean"> </mbean> </server> src/main/resources/jboss-service.xml lottery.mbean lesz a topológiában a helye, LotteryMonitorMBean pedig ezen belül az MBean neve A code értékénél az osztályt kell megadni, mely megfelel mindenben a JMX MBean szabványoknak! Ez egy JBoss specifikus állomány, neve kötelezően jboss-service.xml kell hogy legyen. 28

29 jconsole [JRE HOME]/bin/jconsole.[bat sh] DE: JBoss esetén a jconsole classpath-ához hozzá kell fűzni további osztályokat (pl. a jboss-cli-client.jar -t), ezért a [JBOSS HOME]/bin/jconsole.[bat sh] parancsal indítsuk el (mely hivatkozik a [JRE HOME]-ban lévőre. A JBoss AS látszódni fog a Local process-ek között (de ugyanezen klienssel Remote JVM-hez is tudunk csatlakozni). Megjegyzés: MAC OS-en előfordul(hat) hogy a JBoss nem találja meg a jconsole.sh futtatásakor a JRE HOME-ot, ilyenkor lefutattva a JBoss alatti jconsole.sh-t a CLASSPATH-t beállítjuk a terminálban, és elindítjuk ugyanebben a terminálban mi a JRE HOME alatti jconsole-t. 29

30 Nyeremény ellenőrzése és kiszámolása Új ismeretet nem tartalmazó üzleti metódus implementációja, mely során a kliens RESTful interface-en keresztül beküld 5 számot, és az alkalmazás ellenőrzi hogy az aktuális sorsolás során e számok jók-e, avagy sem, és a nyereményalapot és a nyeremények aktuális jogszbályban definiált eloszlási százalékuk ismeretében visszaadja a nyeremény összegét. A nyereményalap adatbázisból olvasható ki, míg az eloszlási százalékok MBean-en keresztül írhatóak/olvashatóak (MBean operations). 30

31 Gradle - Deploy to JBoss gradle.build ext { deploylocation = '/jboss-eap-6.4/standalone/deployments/' task deployclean ( type: Delete ) { delete deploylocation + "${project.name-${version.ear" sleep(2000) task deployear ( type: Copy ) { dependson 'deployclean' from "build/libs/${project.name-${version.ear" into deploylocation gradle clean build deployear 31

Lottery. WebLogic JMS, Jersey, JMX, JNDI. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 8. Bedők Dávid v0.

Lottery. WebLogic JMS, Jersey, JMX, JNDI. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 8. Bedők Dávid v0. Lottery WebLogic JMS, Jersey, JMX, JNDI Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 8 Bedők Dávid 2016.01.25. v0.3 Feladat A Lottery alkalmazás portolása WebLogic alkalmazás

Részletesebben

Lottery #maven. JMS, Message Driven Bean, JMX, Singleton Session Bean. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 6

Lottery #maven. JMS, Message Driven Bean, JMX, Singleton Session Bean. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 6 Lottery #maven JMS, Message Driven Bean, JMX, Singleton Session Bean Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 6 Bedők Dávid 2018-01-17 v1.0 Bedők Dávid (UNI-OBUDA) Lottery

Részletesebben

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

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE Sapientia - EMTE 2008 Az előadás célja Üzenetkommunikációs architektúrák JMS Példák Üzenet gyártó Szinkron üzenetfogyasztó Aszinkron üzenetfogyasztó Üzenetbab (message-driven bean) point-to-point modell:

Részletesebben

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

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Enterprise JavaBeans 1.4 platform (EJB 2.0) Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans

Részletesebben

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

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL ) Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.

Részletesebben

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit. Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens

Részletesebben

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

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1 DCOM Áttekintés Miskolci Egyetem Általános Informatikai Tanszék DCOM /1 Mi a DCOM? DCOM: Distributed Component Object Model A Microsoft osztott objektum modellje Bináris együttmÿködési szabvány és annak

Részletesebben

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

S04-2 Elosztott alkalmazások készítése S04-2 Elosztott alkalmazások készítése Tartalom 1. Többrétegű architektúra, elosztott szerveroldal 2. Kommunikációs eszközök: távolieljárás-hívás és üzenet alapú infrastruktúra (point-to-point és publish-subscribe

Részletesebben

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

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

Adatbázisok webalkalmazásokban

Adatbázisok webalkalmazásokban Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy

Részletesebben

A Java EE 5 plattform

A Java EE 5 plattform A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális

Részletesebben

webalkalmazások fejlesztése elosztott alapon

webalkalmazások fejlesztése elosztott alapon 1 Nagy teljesítményű és magas rendelkezésreállású webalkalmazások fejlesztése elosztott alapon Nagy Péter Termékmenedzser Agenda Java alkalmazás grid Coherence Topológiák Architektúrák

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java

Részletesebben

Stateless Session Bean

Stateless Session Bean Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic

Részletesebben

JAVA webes alkalmazások

JAVA webes alkalmazások JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,

Részletesebben

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

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh Szoftver Tervezési Dokumentáció Nguyen Thai Binh April 2010 1. fejezet Feladat Szimulációs feladat. Célja, hogy reprezentáljunk egy több komponensből álló alkalmazást, amely a megadott témakörnek megfelel,

Részletesebben

Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia

Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia Java technológiák 11. előadás Perzisztencia ANTAL Margit Sapientia - EMTE 2010 Az előadás célja JPA Java Persistence API ORM Object Relational Mapping Entitások közötti asszociációk megvalósítása Fontosabb

Részletesebben

Enterprise Java Beans. EJB - Általános bevezető

Enterprise Java Beans. EJB - Általános bevezető Enterprise Java Beans EJB - Általános bevezető EJB Sun definíció: The Enterprise JavaBeans architecture is a component architecture for the development and deployment of component-based distributed business

Részletesebben

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog - VTP Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW2 SW3 2 Alap konfiguráció SW1-2-3 conf t interface e1/0 switchport trunk encapsulation dot1q switchport mode trunk vtp domain CCIE vtp mode transparent vtp

Részletesebben

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

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary Oracle Containers for Java - j2ee alkalmazás szerver funkciók Molnár Balázs Oracle Hungary Mi is a J2EE? Szabványgyűjtemény Java alkalmazások számára A JavaSoft közösség alakította ki Összefogja az egyéni

Részletesebben

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális) Csomagok Csomag Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll specifikáció törzs (opcionális) Csomagspecifikáció CREATE [OR REPLACE] PACKAGE csomagnév [AUTHID {DEFINER CURRENT_USER}]

Részletesebben

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY / MONEY 8

Részletesebben

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE TINIINT 1 byte 12 SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY

Részletesebben

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

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István Java objektumok leképzése relációs adatbázisokra -vel Viczián István (viczus@freemail.hu) Előszó E cikk olyan haladó programozóknak nyújt segítséget, kik tisztában vannak a Java nyelvvel, és többször is

Részletesebben

JNDI - alapok. Java Naming and Directory Interface

JNDI - alapok. Java Naming and Directory Interface 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

Részletesebben

5. rész: A Java EE és az Enterprise Bean réteg. Bakay Árpád dr. NETvisor kft (30)

5. rész: A Java EE és az Enterprise Bean réteg. Bakay Árpád dr. NETvisor kft (30) 5. rész: A Java EE és az Enterprise Bean réteg Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu Java EE Komponensek családfája Java EE Komponens Üzleti logika EJB Container User interface

Részletesebben

4. rész: Java Enterprise Edition bevezetı. Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu

4. rész: Java Enterprise Edition bevezetı. Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu 4. rész: Java Enterprise Edition bevezetı Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu Hol tartunk? Projekt tervezés, követés MS Project RequisitePro Követelmények Tervezés, modellezés

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val

Részletesebben

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

Osztott alkalmazások fejlesztési technológiái Áttekintés Osztott alkalmazások fejlesztési technológiái Áttekintés Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Történelem - a kezdetek 2 Mainframe-ek és terminálok Minden a központi gépen fut A

Részletesebben

JavaServer Pages (JSP) (folytatás)

JavaServer Pages (JSP) (folytatás) JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek

Részletesebben

Hello, EJB! Egy egyszerű példa

Hello, EJB! Egy egyszerű példa Hello, EJB! Egy egyszerű példa Előkészítés Java SDK letöltése és telepítése Java EE platform és alkalmazásszerver letöltése és telepítése Glassfish (open-source edition, v3) Fejlesztői környezet letöltése,

Részletesebben

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza geza.simon@sun.hu Zsemlye Tamás tamas.zsemlye@sun.

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza geza.simon@sun.hu Zsemlye Tamás tamas.zsemlye@sun. Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben Simon Géza geza.simon@sun.hu Zsemlye Tamás tamas.zsemlye@sun.com Témáim: SOA architecture Webservice folyamat java WS-addressing

Részletesebben

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk. OO PDO PDO VS MYSQLi VS MYSQL ================================================================================ A PHP mysql metódusai elavultak, helyette lehet hazsnálni a MYSQLi metódusokat, amelyek szinte

Részletesebben

Biztonság java web alkalmazásokban

Biztonság java web alkalmazásokban Biztonság java web alkalmazásokban Webalkalmazások fejlesztése tananyag Krizsán Zoltán 1 [2012. május 9.] 1 Általános Informatikai Tanszék Miskolci Egyetem 2012. május 9. Krizsán Zoltán [2012. május 9.]

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

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

OOP: Java 8.Gy: Abstract osztályok, interfészek OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus

Részletesebben

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT ÓBUDAI EGYETEM Neumann János Informatikai Kar Nappali Tagozat ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT NÉV: MÁK VIRÁG NEPTUN KÓD: A DOLGOZAT CÍME: Jani bácsi székadatbázisa Beadási határidő: 14. oktatási hét

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

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

11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11.1. A CA szerver szerepkör telepítése a DC01-es szerverre 11.2. Az FTP szervíz telepítése a DC01-es szerverre 11.3. A szükséges DNS rekordok létrehozása

Részletesebben

SQLServer. SQLServer konfigurációk

SQLServer. SQLServer konfigurációk SQLServer 2. téma DBMS installáció SQLServer konfigurációk 1 SQLServer konfigurációk SQLServer konfigurációk Enterprise Edition Standart Edition Workgroup Edition Developer Edition Express Edition 2 Enterprise

Részletesebben

Inventory. [gradle maven]\jbossinventory

Inventory. [gradle maven]\jbossinventory Inventory #gradle Interceptor, JNDI variable, CDI, JSON Binding Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 9 Bedők Dávid 2018-03-14 v1.0 Bedők Dávid (UNI-OBUDA) Inventory (template.tex)

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.

Részletesebben

JEE tutorial. Zsíros Levente, 2012

JEE tutorial. Zsíros Levente, 2012 JEE tutorial Zsíros Levente, 2012 A J2EE részei Webkonténer Szervletek JSP oldalak EJB (Enterprise Java Bean) konténer Session Bean Entity Bean (Java Persistence API-t használják) A Glassfish és JBoss

Részletesebben

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában? Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A

Részletesebben

1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása

1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása 1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása 1.1. Új virtuális gép és a Windows Server 2012 R2 Datacenter alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális

Részletesebben

ios alkalmazásfejlesztés Koltai Róbert

ios alkalmazásfejlesztés Koltai Róbert ios alkalmazásfejlesztés Koltai Róbert robert.koltai@ponte.hu Mi az a block? Utasítások sorozata { }-ek között, amit egy objektumként tuduk kezelni. ios 4.0 és Mac OSX 10.6 óta 2 Egy példa a felépítésére

Részletesebben

DiskStore #maven. Remote EJB, JNDI, Dependency management, Service client, Context root, InitialContext, MyBatis 3

DiskStore #maven. Remote EJB, JNDI, Dependency management, Service client, Context root, InitialContext, MyBatis 3 DiskStore #maven Remote EJB, JNDI, Dependency management, Service client, Context root, InitialContext, MyBatis 3 Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 4 Bedők Dávid 2018-01-17

Részletesebben

9. MPI

9. MPI 9. MPI kertesz.gabor@nik.uni-obuda.hu MPI Message Passing Interface Elosztott memóriájú párhuzamos programozási API Gyk. folyamatok közötti kommunikáció de facto ipari standard Több száz előre definiált

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 10. Előadás Ami kimearad múlthéten Ha már megvan a KeyListener vagy MouseListener osztályunk a következõ módon tudjuk hozzárendelni egy JFrame vagy JPanel-hez: Ami

Részletesebben

A Java Persistence API PersistenceAPI / 3

A Java Persistence API PersistenceAPI / 3 A Java Persistence API Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 27. A Java Persistence API Előzm zmények Szerializálás Egyedi kevés automatizmus Hibernate,

Részletesebben

A MiddleWare rendszerek Rolls Roysa

A MiddleWare rendszerek Rolls Roysa A MiddleWare rendszerek Rolls Roysa WebLogic Server alkalmazása pénzügyi integrált környezetben 2016.10.11 HOUG konferencia Budapest Dorsum Szerepünk az informatika és a pénzügy világában A Dorsum jelenleg

Részletesebben

Concurrency in Swing

Concurrency in Swing Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is

Részletesebben

API tervezése mobil környezetbe. gyakorlat

API tervezése mobil környezetbe. gyakorlat API tervezése mobil környezetbe gyakorlat Feladat Szenzoradatokat gyűjtő rendszer Mobil klienssel Webes adminisztrációs felület API felhasználói Szenzor node Egyirányú adatküldés Kis számítási kapacitás

Részletesebben

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

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

Részletesebben

Tartalom. Az EJB 2.1 problémái Az EJB 3 megoldásai

Tartalom. Az EJB 2.1 problémái Az EJB 3 megoldásai EJB 3 Tartalom Az EJB 2.1 problémái Az EJB 3 megoldásai Miért nem szeretik sokan az EJB 2.1-et? bonyolult a fejlesztés: sok file (legalább 3 java + legalább 2 xml), a fejlesztı eszközök varázslóival kell

Részletesebben

Adatbázis másolás Slony-I segítségével

Adatbázis másolás Slony-I segítségével Adatbázis másolás Slony-I segítségével Akár a magas elérhetõség érdekében, akár mentésként vagy leállás nélküli verziófrissítés miatt van szükségünk másolatkészítésre, ez a rugalmas eszköz mindent szinkronban

Részletesebben

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT Oracle Cloud Platform szolgáltatások bevezetése a Magyar Suzuki Zrt.-nél Farkas Bálint STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT MAGYAR SUZUKI CORPORATION Oracle Cloud Platform szolgáltatások

Részletesebben

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

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem A J2EE fejlesztési si platform (application model) 1.4 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. A J2EE application model A Java szabványok -

Részletesebben

1. Kapcsolók konfigurálása

1. Kapcsolók konfigurálása 1. Kapcsolók konfigurálása Üzemmódok: Felhasználói Privilegizált Globális konfigurációs váltás: enable (en), váltás: exit váltás: configure terminal (conf t), váltás: exit váltás: változó, váltás: exit,

Részletesebben

Modellalkotás UML-ben

Modellalkotás UML-ben Modellalkotás UML-ben Modellalkotás UML-ben A Unified Modeling Language (UML) egy grafikus modellező nyelv, amely lehetőséget nyújt egy megoldandó probléma specifikációjának leírására absztrakt szinten,

Részletesebben

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) ); Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) ); CREATE TABLE `dihunor`.`csapat` ( `ID` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'A csapat azonositoja',

Részletesebben

Hová tűnt a sok kereszthivatkozás?

Hová tűnt a sok kereszthivatkozás? OSGi és barátai Modul alapú programozás Java környezetben avagy Hová tűnt a sok kereszthivatkozás? Biczók László Miért pont a Blues? Gyökerek 19. század afrikai gyökerek Déli államok - ültetvények Blues

Részletesebben

Bevezető. Servlet alapgondolatok

Bevezető. Servlet alapgondolatok A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig

Részletesebben

C# versus Java. Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3. Bedők Dávid v0.4

C# versus Java. Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3. Bedők Dávid v0.4 C# versus Java Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3 Bedők Dávid 2016.10.01. v0.4 Azonosságok I. Curly-bracket nyelvek ({}) C, C++, PHP, JavaScript, stb.) ProgrammingTheorem

Részletesebben

Socket programozás Példák

Socket programozás Példák Socket programozás Példák Áttekintés Client Server socket socket bind connect Connection request listen accept Client / Server Session write read read write close EOF read close 3 Select demo Beej s guide

Részletesebben

Junior Java Képzés. Tematika

Junior Java Képzés. Tematika Junior Java Képzés Tematika I. Szakmai törzsanyag A tematika tartalmaz algoritmuselméletet, programozási tételeket, tipikus adatfeldolgozó feladatokat, programozási nyelvi alapelemeket, technológiai ismereteket,

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

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

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja Kommunikáció Folyamatok közötti kommunikáció Minden elosztott rendszer alapja Marshalling Alap primitívek Direkt, indirekt portok Blokkolás, nem blokkolás Pufferelés Megbízhatóság RPC Az RPC jellemzői

Részletesebben

Adatbázis-kezelés ODBC driverrel

Adatbázis-kezelés ODBC driverrel ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...

Részletesebben

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig

Részletesebben

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot

Részletesebben

Shopping. JDBC, Datasource, Jasper Report. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 12. Bedők Dávid v0.

Shopping. JDBC, Datasource, Jasper Report. Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 12. Bedők Dávid v0. Shopping JDBC, Datasource, Jasper Report Óbudai Egyetem, Java Enterprise Edition Műszaki Informatika szak Labor 12 Bedők Dávid 2016.03.26. v0.2 Feladat Készítsünk el egy bevásárló listákat (számlákat)

Részletesebben

8. rész: Implementáció JDeveloperben

8. rész: Implementáció JDeveloperben 8. rész: Implementáció JDeveloperben Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu A tananyag készült az ELTE-IKKK projekt támogatásával Mi a célunk? Egy egyszerő, adatkezelı alkalmazást

Részletesebben

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

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

KÜRT Zrt. Logelemzés heti riport Felhasználói fiók, illetve felhasználói csoportkezelési műveletek

KÜRT Zrt. Logelemzés heti riport Felhasználói fiók, illetve felhasználói csoportkezelési műveletek KÜRT Zrt. Logelemzés heti riport Felhasználói fiók, illetve felhasználói csoportkezelési műveletek KÜRT Zrt. 2/9 1. A DOKUMENTUM ADATLAPJA Ez a dokumentum a SeConical rendszer Logdrill moduljában került

Részletesebben

Határidős accountok WiFi rendszerekhez

Határidős accountok WiFi rendszerekhez Határidős accountok WiFi rendszerekhez Pásztor György pasztor@bibl.u-szeged.hu Szegedi Tudományegyetem - Egyetemi Könyvtár Bán Attila István miham@bibl.u-szeged.hu Szegedi Tudományegyetem - Egyetemi Könyvtár

Részletesebben

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\

Részletesebben

IP alapú komunikáció. 2. Előadás - Switchek 2 Kovács Ákos

IP alapú komunikáció. 2. Előadás - Switchek 2 Kovács Ákos IP alapú komunikáció 2. Előadás - Switchek 2 Kovács Ákos PoE Power Over Ethernet Még jobban előtérbe került a IoT kapcsán WAP, IP telefon, Térfigyelő kamerák tápellátása Résztvevők: PSE - Power Source

Részletesebben

Adatbázis-kezelés. Harmadik előadás

Adatbázis-kezelés. Harmadik előadás Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord

Részletesebben

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék Simon Balázs (sbalazs@iit.bme.hu) Dr. Goldschmidt Balázs Dr. Kondorosi Károly BME, Irányítástechnika és Informatika Tanszék Webszolgáltatások, WS-* szabványok WS-* implementációs architektúra Célkitűzés:

Részletesebben

Mobil Informatikai Rendszerek

Mobil Informatikai Rendszerek Mobil Informatikai Rendszerek FCM Firebase Cloud Messaging GCM, C2DM, Push notification 2016. november 13. Sicz-Mesziár János sicz- m e s z i a r. j a n o s @ nik.uni - obuda.hu Push notification A Push

Részletesebben

Bevezetés: az SQL-be

Bevezetés: az SQL-be Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak

Részletesebben

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint

Részletesebben

Collections. Összetett adatstruktúrák

Collections. Összetett adatstruktúrák Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,

Részletesebben

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

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu Tartalom idén WEB UI programozási technológiák A Tudor/Szeráj/SingSing a Web-re megy Szoftvertechnológiai

Részletesebben

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

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

Adatbázis rendszerek SQL nyomkövetés

Adatbázis rendszerek SQL nyomkövetés Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló

Részletesebben

Tranzakciókezelés PL/SQL-ben

Tranzakciókezelés PL/SQL-ben Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első

Részletesebben

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra. Hello World Servlet Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket

Részletesebben

Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18.

Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18. Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18. Két projekt Mindkettőben folyamatirányítás Eltérő követelmények Eltérő megoldások Dokumentum gyártási folyamat Üzemeltetés

Részletesebben

Programozás II. ATM példa Dr. Iványi Péter

Programozás II. ATM példa Dr. Iványi Péter Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert

Részletesebben

Adatbázis Rendszerek II. 2. Gyakorló környezet

Adatbázis Rendszerek II. 2. Gyakorló környezet Adatbázis Rendszerek II. 2. Gyakorló környezet 37/1 B IT v: 2017.02.11 MAN Gyakorló környezet Géptermek 37/2 Jelszó váltás 1 2 3 4 37/3 Gyakorló környezet II. apex.oracle.com/en/ 37/4 A regisztrációs folyamat

Részletesebben