TSI Lekciju pārskats

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...).
  1. Prezentācija: Virtuālās mašīnas
  2. 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:

  1. OSI tīkla slāņu standarts. TCP/IP standarts.
  2. TCP
  3. UDP
  4. 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.)