====== Informatikai rendszerek építése====== ===== Tantárgyi ütemterv ===== {{tanszek:oktatas:informatikai_rendszerek_epitese:inf_rendszerek_epitese_geiak120b_202x.pdf|Ütemterv 2021/2022 tavaszi félév - BSC mérnök infomatikus}} **A tárgy előadója:** * Dr. Nehéz Károly egyetemi docens, karoly.nehezuni-miskolc.hu **Gyakorlatvezetők:** * Szabó Martin egyetemi tanársegéd, sz.martin91gmail.com * Kiss Áron tanszéki mérnök, kiss.aronuni-miskolc.hu **A tárgy lezárása:** aláírás és vizsga. ===== Előadás anyag ===== * Informatikai rendszerek bevezetes: {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas1_infr_opensource.ppt}} * Nyilt Forráskódú Szoftver Licenszek: {{tanszek:oktatas:informatikai_rendszerek_epitese:nyilt_forraskodu_szoftver_licenszek.ppt}} * További érdekességek: * https://index.hu/tech/jog/szabad220607/ * [[http://patft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=6727830.PN.&OS=PN/6727830&RS=PN/6727830| "Dupla kattintás" - szabadalom]] * Producing Open Source Software: http://producingoss.com/ * [[https://bura.brunel.ac.uk/bitstream/2438/6981/5/Fulltext.pdf|Why do commercial companies contribute to open source software?]] * http://opensource.org/ * [[http://www.oss-watch.ac.uk/resources/tips.xml|Top Tips For Selecting Open Source Software]] * Az ausztrál "kerék" szabadalmának eredeti változata: {{tanszek:oktatas:informatikai_rendszerek_epitese:circular_transportation_facilitation_device.pdf|Szabadalom}} * Informatikai rendszerek fejlesztési módszerei: [[fejlesztési módszerek]] * Informatikai rendszerek csoportosítása és kilens szerver modellek {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas2_kilens_szerver.ppt}} * 12 legfontosabb elv az informatikai rendszerek/komponensek építésében: [[tizenket_faktor]] * Szemantikus verziókezelés: https://semver.org/lang/hu/spec/v2.0.0.html * Informatikai rendszerek teljesítménye: {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas_teljesitmeny.ppt|}} * OLAP rendszerek: Kovács László jegyzetei alapján és jóváhagyásával: http://users.iit.uni-miskolc.hu/~kovacs/ * Apache Web szerver konfigurációja: {{tanszek:oktatas:informatikai_rendszerek:eloadas6_Apache.ppt}} * Informatikai rendszerek elemei: {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas_inf_rendszerek_elemei.ppt}} * Sterbinszky Nóra: 4 adatbázis-kezelő rendszer összehasonlítása webes környezetben {{tanszek:oktatas:informatikai_rendszerek_epitese:4_db_osszehasonlitas.pdf|}} * Adatbányászat: {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas_adatbanyaszat.ppt}} * {{tanszek:oktatas:informatikai_rendszerek_epitese:enterprise_integration_patterns.pdf|Üzenetalapú tervezési minták - rendszerintegráció}} * Üzenet vezérelt bean-ek: {{tanszek:oktatas:informatikai_rendszerek_epitese:ejb_uezenet_vezerelt_bean_mdb_.ppt}} * Webszolgáltatások - XML-RPC {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas_webszolg.ppt}} * Microsoft IIS - SOAP web szolgáltatás tutorial és példa Turóczy Attila jóvoltából: {{tanszek:oktatas:informatikai_rendszerek_epitese:iis_alkalmazaskiszolgalo.zip}} * Javascript: {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas7_javascript.ppt}} * Ismétlés HTML formok: {{tanszek:oktatas:informatikai_rendszerek_epitese:gyakorlat_html_formok.ppt}} * AJAX alapok: {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas_ajax.ppt}} * JSON {{tanszek:oktatas:informatikai_rendszerek_epitese:eloadas_json.ppt|}} * jsf ajax frameworks http://www.jsfmatrix.net/ * Modern Javaszkript: {{tanszek:oktatas:informatikai_rendszerek_epitese:modern_javaszkript_jquery.ppt|}} * Összetettebb példa: {{tanszek:oktatas:informatikai_rendszerek_epitese:jqueryimagegallery.zip|}} * Angular - TypeORM - CRUD összetett mintapélda: https://github.com/knehez/dynamicforms Ellenőrző kérdések: * {{ :tanszek:oktatas:informatikai_rendszerek_epitese:vizsgakerdesek23.pdf | Vizsgakérdések - 2023}} ===== Új gyakorlati anyagok ===== Full stack fejlesztői gyakorlatok: * Gyakorlati anyag (2024): [[https://aron123.github.io/infrend-2024]] * Gyakorlati anyag (2023): [[https://aron123.github.io/infrend-2023]] * Gyakorlati anyag (2022): [[https://github.com/aron123/infrend-2022]] * Gyakorlati anyag (2021): [[https://github.com/aron123/infosystems-20-21-II]] - gyakorlat: [[https://github.com/aron123/infosystems-20-21-II/tree/week01/requirements|Eszközök telepítése]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-02-15.mp4|Angular 2]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-02-22.mp4|Angular 3]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-03-01.mp4|Angular 4]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-03-08.mp4|Angular 5]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-03-22.mp4|Angular 6]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-03-29.mp4|Angular 8]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-04-12.mp4|Angular 9]] - gyakorlat: [[https://mandarin.iit.uni-miskolc.hu/aitkiss/do/infrendszerek_gyak_2021-04-19.mp4|Angular 10]] * Kiegészítő gyakorlatok: - [[Docker vitualizáció|Docker virtualizáció]] - [[Type ORM|TypeORM]] ===== Korábbi gyakorlatok ===== * 1. gyakorlat [[Eszközök Telepítése 2020]] * 1. gyakorlat {{tanszek:oktatas:informatikai_rendszerek_epitese:gyak1.pdf|Eszközök telepítése}} * 2. gyakorlat {{tanszek:oktatas:informatikai_rendszerek_epitese:gyak2.pdf|Servletek - Eclipse}} és [[VsCode]] megoldás. * 3. gyakorlat Java Server Pages (JSP) * JSP egyszeru példa: {{tanszek:oktatas:informatikai_rendszerek_epitese:firstjsp.zip|}} * JSP összetett példa: {{tanszek:oktatas:informatikai_rendszerek_epitese:jspexample.zip|}} * JSP mysql példa: {{tanszek:oktatas:informatikai_rendszerek_epitese:mysql.zip|}} * 4. gyakorlat - {{tanszek:oktatas:informatikai_rendszerek_epitese:gyak3.pdf|Session bean-ek (Stateless/Statefull)}} * 5. gyakorlat Java Server Faces (JSF) * Töltsük le a https://www.primefaces.org/downloads/ oldalról legörgetve a "Community Downloads" részhez a legújabb jar-t (primefaces-X.Y.jar). * Töltsük le a https://jar-download.com/artifacts/javax.enterprise/cdi-api/2.0/source-code oldalról a legújabb cdi jar-t (cdi-api-X.Y.jar). * Első primefaces példa [[PrimeFaces példa]] * Sablonok (templétek) használata a JSF-ben: {{tanszek:oktatas:informatikai_rendszerek_epitese:jsftemplate.zip|}} * (depricated) Menu + template: {{tanszek:oktatas:informatikai_rendszerek_epitese:menutemplate.rar|}} * **Összetett példa a féléves feladatokhoz**: [[bank példa]] * 6. gyakorlat [[JPA - Java Persistent Architecture]] * 1. példa: http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/quickstart-tutorials-hibernate-jpa/helloworld-jpa-application [[https://github.com/fmarchioni/mastertheboss/tree/master/javaee/jpa-basic|Souce code]] * 2. példa (JPA 2.1): http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/quickstart-tutorials-hibernate-jpa/jpa-21-tutorial * 7. gyakorlat Hibernate - JPA * 1. példa: http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/quickstart-tutorials-hibernate-jpa/hibernate-jboss-an-example-application-part-one * 2. példa: http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/quickstart-tutorials-hibernate-jpa/hibernate-and-jboss-part-two * 3. példa (JPA): http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/hibernate-search/hibernate-search-and-jpa-tutorial * 8. gyakorlat JSF-JPA * 1. példa: {{tanszek:oktatas:informatikai_rendszerek_epitese:primefacedemo.rar|}} * 1 táblás példa - {{tanszek:oktatas:informatikai_rendszerek_epitese:jsf_jpa.zip| Primefaces - JPA példa}} * [[Több táblás példa]] - {{tanszek:oktatas:informatikai_rendszerek_epitese:jpa-primefaces_mysql_2019.zip|letöltés}} * 9. gyakorlat - JConsole lehetőségei {{tanszek:oktatas:informatikai_rendszerek_epitese:deathlocktest.zip|}} * jconsole hozzáférés engedélyezése -Dcom.sun.management.jmxremote * 10. gyakrolat - Message driven POJO {{tanszek:oktatas:informatikai_rendszerek_epitese:mdbtest.zip|}} [[https://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Consumer_and_Producer.html|Mi ez?]] * 11. gyakorlat - [[JAX-WS hagyományos webszolgáltatás]] * 12. gyakorlat [[JMS - ActiveMQ]] * {{tanszek:oktatas:informatikai_rendszerek_epitese:gyak4.pdf|Message Drive Bean - régi példa}} * 13. gyakorlat - JAX-RS based services (REST API) [[JAX-RS webszolgáltatás]] Újabb példa: http://ait2.iit.uni-miskolc.hu/oktatas/doku.php?id=tanszek:oktatas:informacios_rendszerek_integralasa:rest_api_pelda * angol leírás: [[https://docs.jboss.org/author/display/AS7/Java+API+for+RESTful+Web+Services+%28JAX-RS%29#JavaAPIforRESTfulWebServices%28JAX-RS%29-WhatareRESTfulWebServices%3F|Restful web szolgáltatások]] * 14. gyakorlat - [[Python Django framework]] vagy Angular - TypeORM - CRUD mintapélda: https://github.com/knehez/dynamicforms (kiegészítő anyag) ===== Gyakorlati segédlet ===== * Wildfly quickstarts https://github.com/wildfly/quickstart * PrimeFaces cookbook: https://www.amazon.com/PrimeFaces-Cookbook-Edition-Mert-Caliskan/dp/1784393428 {{https://github.com/miguelpinia/ingenieria-de-software/blob/master/material-adicional/PrimeFaces%20Cookbook%2C%202nd%20Edition.pdf|Letöltés}} * Ticket Monster Tutorial - http://www.redhat.com/rhecm/rest-rhecm/jcr/repository/collaboration/jcr:system/jcr:versionStorage/bde54a8e0a0526023f84ea9a5b3fa8b0/15/jcr:frozenNode/rh:resourceFile * EJB 3.0 tankönyv angol - http://www.theserverside.com/tt/books/wiley/masteringEJB3/downloads/MasteringEJB4thEd.pdf?app=true * EJB 3.0 egyszerűsített specifikáció (angol) {{tanszek:oktatas:informatikai_rendszerek_epitese:ejb3_simplified_spec.pdf|}} * JBOSS Alkalmazás szerver EJB 3.0 tutorial: http://docs.jboss.org/ejb3/app-server/tutorial/ * EJB3.1 nagyon jó összefoglaló példákkal http://www.theserverside.com/news/1363578/EJB-31-A-Significant-Step-Towards-Maturity * PRIMEFACES JSF könyvtár http://www.primefaces.org * Javascript példák és tankönyv {{tanszek:oktatas:informatikai_rendszerek:javaszkript.zip}} * Javascript web-es angol tutorial online példákkal: http://www.w3schools.com/js/default.asp * Ajax implementációs problémák: http://www.theserverside.com/news/thread.tss?thread_id=51173 * JSP -> JSF integráció http://java.dzone.com/features/icefaces-jsp-to-ria/ * REST webszolgáltatás alkalmazása: tutorial http://www.mastertheboss.com/web-interfaces/273-resteasy-tutorial-.html * Stackoverflow.com belső felépítése: http://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/ * {{tanszek:oktatas:informatikai_rendszerek_epitese:infredneo4j.pdf|}} * 4 osztott szoftver architektúra (angol) https://www.youtube.com/watch?v=BO761Fj6HH8&t=0s * Practical Microservices Architectural Patterns - könyv (2019) - pdf elérhető kérésre az előadónál ====== Féléves feladatok ====== [[féléves_feladat]] ====== ZH kérdések ====== [[inf_rend_zh_kerdesek]] ====== Korábbi, már elavult anyagok ====== ==== JQuery példák (depricated) ==== * Slider example: {{tanszek:oktatas:informatikai_rendszerek_epitese:vertical_slide.zip|}} * Image galery: {{tanszek:oktatas:informatikai_rendszerek_epitese:jqueryimagegallery.zip|}} * Példagyüjtemény: [[http://www.roseindia.net/ajax/jquery/|JQuery examples]]