- Java Summer School
- Lekciju tēmas
Lekciju tēmas
Last modified by superadmin on 2018-01-12 20:26
Lekciju pārskats
Kursa nosaukums: Java EIM (Java Enterprise Information Management) Kursa mērķis: Gatavot IT speciālistus, kas spēj integrēt, pielāgot un veidot no jauna informācijas pārvaldības risinājumus, izmantojot J2EE un citas atvērtas tehnoloģijas.
- 4. lekcija (Transporta protokoli un TCP/IP)
- Linux/Unix tīkla servisi. TCP/IP protokolu steks. TCP, UDP un ICMP ziņojumi. Rīks Wireshark un TCP ošņātāji (sniffers). Virtuālas mašīnas; VMWare konfigurēšana; draiveri, virtuālas iekārtas. Rīki tcpdump, bwm-ng. Rīki pakešu un TCP trafika vērošanai (tcpdump) un kvantitatīvai analīzei. Maršrutēšana un virtuālie privātie tīkli (VPN), NAT un adresu translācija. DNS servisi. Kā tīkla datus pārvērš fiziskā līmenī ARP/RARP. OSI tīkla slāņu standarts. Uz tekstu balstīti protokoli: HTTP, POP3/SMTP. Apache serveris un HTTP, un FTP protokoli, Postfix serveris un protokoli POP3 un SNMP. Demonstrācija ar postfix serveri, e-pasta sūtīšanu. Ping, DOS-uzbrukumi; aizsargāšanās. WireShark demonstrējumi.
- 5. lekcija (Lietojumu līmeņa protokoli)
- Ievade/izvade valodā Java. TCP un UDP programmēšana, daudzpavedienu programmas. Javas klienti priekš HTTP, FTP, SMTP (Commons HttpClient, Commons Net, HttpUnit). Javas atbalsts priekš SSL un HTTPS.
- 6. lekcija (Web lietojumprogrammu izstrāde)
- Konteineru turpinājums; servletu, JSF, Spring, EJB konteineri. Javas servletu/JSP specifikācijas - servleti, filtri, notikumu klausītāji, JSP lapas, JSTL, tagu bibliotēkas. Spring MVC pamati. Web Servisi, WSDL faili. Web testing frameworks (Selenium). Javas integrācija ar platformatkarīgām programmām. Servleti, JSP, ievads par Spring MVC.
- 7. lekcija (Linux administrēšana)
- Linux/Unix failu sistēmas pamati. Fiksētās failu atrašanās vietas /, /etc, /usr, /home, /proc utml. Failu sistēmu veidi - EXT2, Ext3, ReiserFS, ISO9660, montēšana. Tīkla failu sistēmas: NFS, SAMBA. Kā uz Linux servera uzstādīt OS produktu infrastruktūras "džentelmeņu komplektu" - MySQL (vai PostgreSQL, Oracle XE), Apache, PHP atbalsts. Šo rīku konfigurēšana un administrēšana. Unix/Linux un Windows drošības kontrole. Lietotāju piekļuves tiesības, grupas, žurnālu faili, datu rezerves kopēšana un atjaunošana, DAR, Linux kā darbstacija, X-logi, biroja programmatūra uz Linux, utml. Attālinātā darba virsma un VNC.
- 8. lekcija (Relāciju datubāzes, EJB)
- SQL pieprasījumi un JDBC. Datu piekļuve ar Hibernate vai Toplink; O2R attēlojumu teorija. JPA, datubāzes shēmas ģenerēšana no Javas anotācijām. JPA kā EJB tehnoloģija; sesijas EJB komponenti, lai piekļūtu datubāzēm.
- 9. lekcija (XML tehnoloģijas)
-
XML datu modelis. XML SAX un Apache Digester; XPath, XQuery, XSLT. Javas asinhronie servisi; atpakaļizsaukumi (call-backs), publish/subscribe. JMS, ziņojumu EJB komponenti un Web Servisi. XML Schema, XSLT, Web servisu standarti (SOAP, WSDL, UDDI), SOA tehnoloģiju steks (WS adapteri, ESB, BPEL, Portleti, JSF). Darbplūsmu (workflow) automatizācija ar BPEL.
- XML vingrinājumu saraksts
- Apache Digester lietojums XML datu parsēšanai no "meteo.ru".
- 10. lekcija (Aspektorientēta programmēšana)
- Aspektorientācija Spring ietvarā. Web aplikāciju žurnalēšana, programmētā piekļuves vadība (access control), internacionalizācija, datu konekciju dīķi, transakcijas, kešošana. (Priekšstats par lietojumprogrammu integrāciju URL līmenī. RSS/RDF un XML datu parsēšanas uzdevumi.)
- 11. lekcija (Infrastruktūras pārvaldība)
- Dinamiska IP adreses piešķiršana. DHCP protokols. (Dhcpcd serveris, dhclient klients. Maršrutēšana, statiskā maršrutēšana izmantojot iptables, privātie tīkli, NAT, un Masquerading. Ugunssienas, datortīklu drošība. Tīkla skenēšanas rīks Nessus.
- 12. lekcija (Ontoloģijas)
- RDF datu modelis. Ontoloģijas RDF datiem. OWL inference un RDF secināšanas likumi. Izveduma mašīnas (inference engines), Pellet. Lielāku ontologjiju veidošana un DL (Description Logic) uzdevumi - nepretrunīgums (satisfiability), apakšklases attiecība (subsumption), piederības attiecība un paplašinājums RDF modelim (entailment). Vehicle Management piemēra izveidošana - domēna modelis, Spring MVC šajā aplikācijā. Recepte, kā tukšā vietā uztaisīt vienkāršu Spring MVC.
- 13. lekcija (Drošība un piekļuves pārvaldība)
- Datu plūsmas šifrēšanas metodes. Publiskās atslēgas šifrēšanas metodes. Pakešu ošņāšana (sniffing), šifrētie protokoli ssh, https. JAAS, drošības politikas, Javas kriptogrāfijas API, daidžestu algoritmi.
- 14. lekcija (Izstrādes vide un programminženierija)
- Klienta-servera lietojumu ātrdarbības testēšana. Pirmkoda pārvaldība, Subversion serviss uz http://code.google.com/hosting/ infrastruktūras. Licenču nosacījumi (Licencing), copyright un copyleft. Programmatūras konfigurācijas pārvaldība un projektu būvēšanas rīki - salīdzinājums starp Ant and Maven. Konfigurācijas pārvaldības jautājumi OpenSource projektos. Skriptu valodu (JavaScript, Groovy) atbalsts Javā. JPA ieviešana studentu definētam klašu modelim; datubāzu gjenerēšana (HSQLDB u.c.); JUnit testu veidošana datu piekļuves slānim; demonstrēšana uz Spring MVC bāzes. Spring 2.5 piemēri un sarežģītāki Spring MVC lietojumi. Omondo spraudnis (plugin) Eclipse platformā; objektmodelis (Object Domain model), klašu diagrammas (Class diagrams in UML), TestDigester aplikācija - kā lietot JPA objektu saglabāšanai datubāzē. Kā nodarboties ar klašu diagrammām; kā UML iespējas atspoguļot Javas klasēs un pēc tam - objektu-relāciju attēlojumos.)
- 15. lekcija: Pakoto lietojumprogrammu izstrāde (packaged development)
- XWiki - saturpārvaldības sistēma Javas tehnologjijās (CMS). RICEF jēdziens (reports, integrations, customizations, extensions, forms). XWiki pielāgošana (customization) ar Velocity. TestDigester - kā parsēt RSS datus, kas publicēti uz XWiki servera. AJAX-veidīgi piemēri. Neliels pārskats par korporatīvām pakotajām lietojumprogrammām - Siebel, SAP, Oracle eBS.
- 16. lekcija (Web lietojumprogrammu savstarpējā integrācija)
- Projektu pārvaldība - uzdevumu pārvaldība (task management, XPlanner), prasību pārvaldība (XWiki, formas, custom-objekti, integrācija ar Subversion un pirmkodu), pieprasījumu pārvaldība (JTrac), resursu pārvaldība (Rapla), semantiskā meklēšana. Programmatūras izstrādes paradigma - Open Source ietaises (gadgets) un to savstarpējā integrācija. Mashup aplikācijas un XML/RSS/URL integrācija.