====== Információs rendszerek integrálása====== Tantárgy kód: GEIAK682-M ===== Ütemterv ===== {{::tanszek:oktatas:informacios_rendszerek_integralasa:uetemerv_informatikai_rendszerek_integralasa.pdf | Ütemterv 2023/24 II. félév}} ===== Előadás fóliák ===== {{tanszek:oktatas:informacios_rendszerek_integralasa:eloadas.ppt|}} {{tanszek:oktatas:informacios_rendszerek_integralasa:eloadas.pdf|}} {{tanszek:oktatas:informatikai_rendszerek_epitese:enterprise_integration_patterns.pdf|Informatikai rendszerek - üzenetalapú integrációs mintái}} Minta vizsga: {{tanszek:oktatas:informacios_rendszerek_integralasa:informatikai_r_i_vizsga_2.pdf|}} [[ellenorzo_kerdesek|Ellenőrző kérdések]] ===== Tananyagok ===== - [[https://oktatas.iit.uni-miskolc.hu/doku.php?id=tanszek:oktatas:informatikai_rendszerek_epitese:fejlesztesi_modszerek|Rendszerkomponensek fejlesztési módszerei]] - [[JAVA Socket]] TCP és UDP mintapéldák az integráció alapeseteire * [[JAVA NON-Blocking socket]] * [[JAVA HTTP server]] TCP alapú http kiszolgáló * [[Python sockets]] - [[http://xmlrpc.com/spec.md|XML-RPC specifikáció]] * [[https://www.tutorialspoint.com/xml-rpc/|XML-RPC bemutatása]] * [[xml-rpc minta feladat|Java mintafeladat]] * [[xml-rpc python feladat|Python mintafeladat]] - [[protobuf|Protocol Buffers]] - Adatintegráció bináris szerializációval - [[JAVA RMI]] Remote Method Invocation: * A Distributed Object Model for the Java System: https://pdos.csail.mit.edu/6.824/papers/waldo-rmi.pdf * http://docs.oracle.com/javase/tutorial/rmi/index.html * Group chat alkalmazás [[chatserver]] * A group chat node.js megoldása: - kliens: [[socket-io chat client]] - szerver: [[socket-io chat server]] * node.js hez hasonló Java 8 megoldás: http://sparkjava.com és példái: [[http://sparkjava.com/tutorials/| tutorial]] - Java JMX lehetőségek {{tanszek:oktatas:informatikai_rendszerek_epitese:deathlocktest.zip|}} * JConsole bekapcsolás -Dcom.sun.management.jmxremote - [[tanszek:oktatas:informatikai_rendszerek_epitese:docker_vitualizacio| Docker containers]] - Docker technológia mintapélda - [[tanszek:oktatas:informacios_rendszerek_integralasa:docker_loadbalancer| Docker Load Balancer]] - [[TDD pelda|Test Driven Development]] - JEE specifikáció: 2019 Jakarta EE - https://jakarta.ee/specifications/ - JEE - Wildfly (korábban JBoss Communitiy Edition) alkalmazás szerver telepítés, leírás: * https://docs.wildfly.org/ * https://github.com/wildfly/quickstart * https://microprofile.io/ - Servlet, EJB (Stateless, Stateful) ismétlés. Új repository: https://github.com/knehez/wildfly-examples https://github.com/wildfly/quickstart.git - Maven projekt futtatása Docker környezetben: [[wildfly_in_docker]] - Klasszikus webszolgáltatás * Java JEE alapú megoldás * [[JAX-WS]] - {{tanszek:oktatas:informatikai_rendszerek_epitese:webservicetest.zip|}} * JAX-RS - JBoss REST API leírás http://docs.jboss.org/resteasy/docs/3.0.7.Final/userguide/html_single/index.html * [[Rest Api Pelda]] * [[https://github.com/fmarchioni/mastertheboss/tree/master/javaee/rest-file-manager|Összetett REST API példa]] - [[Üzenet kezelő rendszerek|Üzenet kezelő rendszerek (AMQP)]] * JEE alapú megoldások: * [[Üzenetsorok]] - Wildfly 26.1.0 használatával - Apache ActiveMQ Artemis - Tranzakció visszavonás - Halott levél üzenetsor * [[Üzenetsorok-maven]] használatával, JakartaEE példa * [[Üzenet szűrése]] - MDB üzenetszűrővel * [[Tranzakció visszavonás]] * [[Halott levél csatorna]] * [[Összetett példa 1]] * RabitMQ - Python - Docker alapú megoldások: * [[Üzenetsorok-rabbitMQ]] - első példa * [[Üzenetsorok-rabbitMQ_2]] - második példa * Régi példák JBoss alapon: * (depricated) {{tanszek:oktatas:informacios_rendszerek_integralasa:jms-maven.zip|Maven példa}} * (depricated) Hornetq leírás http://www.jboss.org/hornetq * (depricated) Hornetq konfiguráció https://docs.jboss.org/author/display/AS71/Messaging+configuration Kiegészítő anyagok: - [[ Egyszerű JPA ]] - {{tanszek:oktatas:informatikai_rendszerek_epitese:gyak7.pdf|JPA magyar tutorial}} - [[JTA]] - [[JBoss ESB]] - régi megoldás - [[JBoss Switchyard]] - új ESB megoldás, http://switchyard.jboss.org/downloads - [[Python gyakorlatok]] - [[Python Django Framework - REST API]] - [[https://medium.freecodecamp.org/learn-kubernetes-in-under-3-hours-a-detailed-guide-to-orchestrating-containers-114ff420e882|Kubernetes integrációs eszköz a gyakorlatban (angol tutorial)]] ===== Ajánlott irodalom ===== * Kasun Indrasiri, Prabath Siriwardena: Microservices for the Enterprise, APress 2018 [[https://link.springer.com/book/10.1007%2F978-1-4842-3858-5|Letölthető]] * {{tanszek:oktatas:informacios_rendszerek_integralasa:soaintegration.pdf|SOA Based Enterprise Integration}} * AMQP specifikáció: https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf * http://www.eaipatterns.com/ * {{tanszek:oktatas:informacios_rendszerek_integralasa:camelinaction.pdf|Camel in action}} * JBoss ESB tutorial http://www.mastertheboss.com/jboss-esb/78-jboss-esb.html * JBoss ESB könyv 2012-es kiadás.{{tanszek:oktatas:informacios_rendszerek_integralasa:jboss_esb_beginners_guide.pdf|}} * http://www.mastertheboss.com/ -- JBoss általános tutorial példatár * Szoftver architektúrák: https://www.youtube.com/watch?v=BO761Fj6HH8&t=0s ====== Féléves feladatok ====== [[Feladatok]] ====== További rendszerintegrációs eszközök ====== * http://servicemix.apache.org/home.html - bemutatása Apache ActiveMQ, Camel, CXF, ODE, Karaf * http://www.jboss.org/jbossesb - JBoss Enterprise Service Bus ====== Kiegészítő Irodalom ====== Emerging Trends, Techniques and Open Issues of Containerization: A Review https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8861307