Ievērota aptuveni šāda secība: katrai lekcijai par operētājsistēmām, programmēšanas vidi, konfigurāciju vadību un rīkiem seko lekcija par Javas tehnologjijām.
- 1. lekcija
- Vispārīgs kursa apraksts, aptaujas lapu aizpildīšana.
Objektorientācijas pamati; visādu lietu iekapsulēšana; set/get pieejas. Polimorfisms un mantošana - daži piemēri saistībā ar Spring??
- 2. lekcija
- Javas objekti, klašu kontrakti. Komponenti (beans) un Spring konteiners, Spring komponentu dzīvescikls. Javas izņēmumi, žurnalēšana (logging). Javas kolekcijas (collections). JUnit testi. Testvirzīta programmēšana (test-driven development).
Turpinājums par objektorientāciju; JUnit testēšanu; Spring-IoC. Javas kolekcijas
- 3. lekcija
- Programmēšanas vides, valodas un Java. Virtuālās mašīnas un to veidi. Javas virtuālā mašīna (Javas programmēšanas platforma, JVM arhitektūra, drazu savācējs, classloader), Wine, VmWare, XenSource. Unix/Linux un Windows tīklošanās pamati - tīkla adrese, maska, tīkla un mezglpunkta adrese, fiksētās IP adreses. ping, traceroute, tcpdump, bwm-ng, ifconfig. VmWare virtuālās mašīnas pieslēguma veidi tīklam (bridged, NAT, host only). (Rīki pakešu (tcpdump) un TCP trafika vērošanai un kvantitatīvai analīzei. Varbūt arī Windows rīki Ethereal vai TCP sniferi...).
- Prezentācija: Virtuālās mašīnas
- Prezentācija: Tīklošanās
Virtuālas mašīnas; VMWare konfigurēšana; draiveri, virtuālas iekārtas; maršrutēšana un privātie tīkli. NAT un adresu translācija. DNS servisi. Kā tīkla datus pārvērš fiziskā līmenī ARP/RARP. OSI tīklošanās līmeņi (tos TSI zin parasti).
Literatūra:
- OSI tīkla slāņu standarts. TCP/IP standarts.
- TCP
- UDP
- ICMP
- 4. lekcija
- XML un RDF datu modeļi. XML SAX un Apache gremotājs (Apache Digester); XPath, XQuery, XSLT. Jena RDF Model. Ievade/izvade, TCP un UDP programmēšana ar Javu, daudzpavedienu programmas. Javas klienti priekš HTTP, FTP, SMTP (Commons HttpClient, Commons Net, HttpUnit). Javas atbalsts priekš SSL un HTTPS.
Stāsti par O2R mappings; JPA, datubāzes shēmas gjenerēšana no Javas anotācijām.
- 5. lekcija
- Linux/Unix tīkla servisi. Apache serveris un HTTP, un FTP protokoli, postfix serveris un POP3, SNMP protokols.
IPTables, TCP/IP protokolu steks. WireShark demonstrējumi.
- 6. lekcija
- 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/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 failu sistēma, montēšana. Tīkla failu sistēmas: NFS, SAMBA. (Džentelmeņu komplekts; MySQL vai PostgreSQL, vai Oracle XE konfigurēšana un administrēšana; Apache, PHP atbalsts un rīki).
Stāsti par XML parsēšanu (pēc OracleFM kursu materiāliem).
- 8. lekcija
- JDBC un SQL pieprasījumi. Datu piekļuve ar Hibernate. RDF datu pieprasījumi ar SPARQL. OWL inference un RDF likumi.
SOAP-veidīgi Web servisi; TcpMon izmantošana, lai skatītos paketes,kuras ceļo starp JDeveloper un OC4J. Pēc Oracle FM 2.moduļa kursu materiāliem. Sesijas EJB komponenti. (Web-Servisu un RPC stila integrācija starp lietojumprogrammām un attālinātām aplikācijām. SOAP/WSDL/UDDI protokolu steks un RPC-veidīgie sinhronie izsaukumi.)
- 9. lekcija
- Dinamiska IP adreses piešķiršana. DHCP protokols. Dhcpcd serveris, dhcpcd, dhclient klienti.
Demonstrācija ar postfix serveri, e-pasta sūtīšanu, WireShark demonstrējumi. Uz tekstu balstīti protokoli; HTTP, POP3/SMTP. Ping, DOS-uzbrukumi; aizsargāšanās. Javas analogs - asinhronie servisi; atpakaļizsaukumi (call-backs), publish/subscribe. JMS, ziņojumu EJB komponenti un Web Servisi.
- 10. lekcija
- 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.
TestDigester - parsing Jena data from RSS published on Ante XWiki server; parsing XML data extracted from Velocity-powered form. (Priekšstats par lietojumprogrammu integrāciju URL līmenī. RSS/RDF un XML datu parsēšanas uzdevumi.)
- 11. lekcija
- 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.
Omondo tool for Eclipse; Object Domain model (Class diagrams in UML), TestDigester application - to store stuff via JPA. (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.)
- 12. lekcija
- Ontologjijas un likumi secināšanai no RDF datiem. Jena rules, Pellet. Lielāku ontologjiju veidošana un Description Logic uzdevumi - satisfiability, subsumption, entailment.
Setup of Vehicle Management - Domain model; Spring MVC enablement on VehicleManagement application. (Kā tukšā vietā uztaisīt vienkāršu Spring MVC.)
- 13. lekcija
- Datu plūsmas šifrēšanas metodes. Publiskās atslēgas šifrēšanas metodes. Pakešu ošņāšana (sniffing), šifrētie protokoli ssh, https. Klienta-servera lietojumu ātrdarbības testēšana.
Subversion on Google; Licencing; Build scripts - comparison between Ant and Maven. Spring 2.5 sample applications. 1 student learned about Apache Digester (XML data parsing for "meteo.ru"). (Konfigurācijas pārvaldības jautājumi OpenSource projektos. Source management, build tools, etc.)
- 14. lekcija
- JAAS, drošības politikas, Javas kriptogrāfijas API, daidžestu algoritmi. 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. (Pilns priekšstats par Spring Web aplikācijām.)
- 15. lekcija
- 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, u.tml. Attālinātā darba virsma un VNC.
XWiki - packaged Java CMS. RICEF (reports, integrations, customizations, extensions??, forms) - Velocity un citi XWiki rīki. AJAX-veidīgu piemēru apskatīšanās. (Neliels pārskats par korporatīvām pakotajām lietojumprogrammām - Siebel, SAP, Oracle eBS.)
- 16. lekcija
- XML Schema, XSLT, Web Services (SOAP, WSDL, UDDI), SOA tehnologjiju steks (WS adapteri, ESB, BPEL, Portleti, JSF). Darbplūsmu (workflow) automatizācija ar BPEL.
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(?), semantiskā meklēšana. Jauna izstrādes paradigma - Open Source ietaises (gadgets) un to integrācija. (Mashup un URL-veidīgā integrācija.)