|
LU Maģistratūras studiju kurss: Tīmekļa programmēšana
Anotācija
Studiju kursa mērķis ir iepazīties ar Web aplikāciju programmēšanas tehnoloģijām,
projektēt šādas aplikācijas, nodrošināt to platformneatkarību, dažādu aplikācijas
aspektu atdalīšanu pēc iespējas neatkarīgos moduļos, lietotāja ērtībām piemērotu dizainu
un piemērotāko rīku izvēli. Teorētiskajā jomā kurss satur Javas Web konteineru, izstrādes paraugu,
aspektorientētās programmēšanas un XML tehnoloģiju sistemātisku izklāstu.
Konkrēti apgūstamās lietas.
Analizēt Web aplikācijas prasības, projektēt tām
atbilstošu objektmodeli, izvēlēties un salīdzināt
dažādus lietotāja interfeisus no lietojamības viedokļa,
saprast Javas Web konteinera vispārīgo arhitektūru,
un kā tā izmantojama aplikāciju karkasos
(Struts, Spring, Tapestry). Attēlot informāciju platformneatkarīgi
ar XML un manipulēt ar to.
Izstrādāt Web aplikācijas Javā kā arī izmantot, pielāgot un integrēt atbilstošus
rīkus arī ne-Javas valodās, piemēram, PHP.
Prasības kredītpunktu iegūšanai
Jāpilda 4 praktiskie darbi Web programmēšanā - 60% no kopējā vērtējuma
(t.i. vai nu jāizvēlas 4 praktiskie darbi no 8 dotajiem praktiskajiem
darbiem ar formālākām prasībām;
vai arī jāprogrammē viens liels projekts, kurā prasības
ir definētas tikai neformāli.).
Kontroldarbs semestra vidū - 15% no kopējā vērtējuma (pārsvarā
pārbauda tehnoloģiskas zināšanas - to studenti pilda individuāli
mājās.). Rakstisks eksāmens kursa beigās -
25% no kopējā vērtējuma (teorētiskāks galaeksāmens - to pilda
klasē).
latvian university DatZ5008 fall2005 week2 presentation
Lekcijas
- 1.lekcija (2005-09-06). Javas ievads (
mStart,
mOOP,
mVar,
mExpr,
mArr,
mClass).
Rīki -
J2SDK,
Eclipse.
- 2.lekcija (2005-09-13). Javas turpinājums (
mAdvClass,
mExcept,
mInOut,
mSystem,
mCollections,
mJDBC).
Rīks -
MySQL RDBMS.
- 3.lekcija (2005-09-20). Hibernate O2R karkass
(
Chapter 2. Introduction to Hibernate), JUnit testēšanas karkass
(www.junit.org,
JUnit.ppt[FTP]). Rīks -
Ant.
- 4.lekcija (2005-09-20). JSP, servletu pamati,
Web aplikācijas standartkonfigurācija.
Rīks - Tomcat Web aplikāciju serveris.
- 5.lekcija (2005-10-04). JSTL pārskats un Web aplikāciju modelēšana ar UML. OO pamatprincipi un koda refaktorizācija.
Eclipse refaktorizācijas iespējas.
- 6.lekcija (2005-10-11). XML pārskats. XML validācija ar XML Schema. Validācijas rīki.
- 7.lekcija (2005-10-18). XSLT un XPath. RDF datu modelis. Transformācijas rīki un RDF parsētājs.
- 8.lekcija (2005-10-25). Spring karkass un MVC. Model-2 arhitektūra Web aplikācijām.
- 9.lekcija (2005-11-01). Zināšanu attēlošanas formāti: RDF un OWL.
- 10.lekcija (2005-11-08). HTTP sesiju uzturēšana, servletu filtri, tagu bibliotēkas, Web aplikāciju testēšana.
- 11.lekcija (2005-11-15). EJB aplikācijas.
- 12.lekcija (2005-11-22). XML prezentācijas formāti: SVG, MathML, WML.
- 13.lekcija (2005-11-29). Spring karkasa AOP. Ilustrācija: Simetriskas lauztas līnijas.
- 14.lekcija (2005-12-06). Ontoloģiju izstrādes šabloni ar Protégé.
- 15.lekcija (2005-12-13). Biezie klienti: AJAX Web aplikācijas, MIDlet aplikācijas.
- 16.lekcija (2005-12-20). Tēmu un vingrinājumu pārskats un atkārtojums
Praktiskie darbi
- ex01 - Datu piekļuve ar Hibernate
- ex02 - Spring MVC
- ex03 - XML Schema, XSLT, SVG, WML
- ex04 - Figūru simetrija: Ievads Spring komponentos un Javas kolekciju API
- ex05 - JSP tagu bibliotēku programmēšana
- ex06 - Maģistratūras studiju ontoloģija
- ex07 - Jebkura AJAX klient-servera aplikācija
- ex08 - Jebkura MIDleta kā HTTP klienta-servera aplikācija
Tēmas
- 1.Tēma: Web un standarti (IETF, W3C)
-
Webiskās komunikācijas standarti.
HTTP protokols un ar to saistītas lietas - URL adreses, MIME tipi,
kodējumi, valodu kodi, datumu un laika konvencijas, cepumiņi.
SSL un HTTPS protokoli.
- 2.Tēma: Marķēšanas valodas
- XHTML, CSS, JavaScript, XML, SVG un MathML.
Elektroniskie dokumenti un to marķēšanas alternatīvas.
- 3.Tēma: Web aplikāciju paveidi, lietojamība un dizains
- Web vietņu žanri (e-komercija, ziņu mozaīkas, firmu mājaslapas,
kopienu forumi, pašpārvalde un bezpeļņas organizācijas,
izglītības, mākslas un izklaides vietnes),
navigācijas rīki un lapas izvietojums,
satura pārvaldība, vietņu zīmoli jeb brendi.
- 4.Tēma: Objektmodelēšana Web aplikācijās
-
Web vietņu diagrammas un UML stereotipi.
Sadarbības diagrammas, lietojot Model 1 vai arī
Model 2 karkasus.
- 5.Tēma: JSP sintakses pamati.
Servleti un servletu konteiners; komponentu dzīvescikls
-
Skriptleti, izteiksmes, deklarācijas un direktīvas JSP lapās.
Mainīgo redzamība (application, session, request, page),
<jsp:useBean> utml. iebūvētie tegi.
Servletu sintakses pamati. JSP un servletu komponentu inicializācija
un dzīvescikls. Vienkāršākās konfigurācijas iekš
web.xml.
- 6.Tēma: Parametru konfigurācija, klausītāji, filtri
-
Servletu parametru konfigurēšana. Kļūdu lapu konfigurēšana.
Web aplikācijas notikumi un to klausītāji. Servletu filtri
un to lietošana - pārkodējumiem un autentifikācijai.
- 7.Tēma: Sesijas, Web aplikāciju drošība, plūsmas nodrošināšana.
-
Sesiju atbalsts Javas Web aplikācijās. Cepumiņu un sesijas IDu lietošana.
Bāzes autentifikācija, programmētā autentifikācija, CHAP protokols.
Uzbrukumi klientam: Session fixation, session highjacking, cookie theft.
Drošība Javas servletu aplikācijā - atļauju konfigurēšana.
Aplikācijas plūsmas nodrošināšana - vietnes lapu apmeklēšana noteiktā
secībā, izvairoties no "Back", "Refresh" un grāmatzīmju radītā sajukuma.
- 8.Tēma: Objektu-relāciju karkass Hibernate; tā integrēšana ar EJB
-
Hibernate O2R attēlojumu (mappings) pārskats.
Hibernate un vairāki veidi, kā tajā konfigurēt datubāzu konekciju fabrikas
vai DataSource.
JNDI un RMI pamati. Stāvokļa un bezstāvokļu sesiju EJB komponenti.
Sesijas EJB pārveidošana par Web Servisu.
- 9.Tēma: JSP tagu bibliotēkas, JSTL. Notikumu karkass Tapestry
-
Lietotāja definēto (custom) tagu ieviešana JSP. Tagu standartbibliotēka
JSTL. Karkass Jakarta/Tapestry.
- 10.Tēma: MVC paterns, Spring MVC. Izvietojums ar
Java Server Faces vai citu karkasu.
-
Jēdziens par Model 1 un Model 2 aplikācijām. Spring karkasa lietošana
MVC aplikāciju veidošanā. Aplikāciju izvietojums (layout); tā veidošana
ar Java Server Faces, Tiles vai citu karkasu.
- 11.Tēma: IoC paterns. Aspektorientētā programmēšana, Spring AOP.
-
Spring karkasa citi lietojumi un šajā karkasā
izveidoto aplikāciju testēšanas īpatnības.
- 12.Tēma: XSLT un dažādas XML tehnoloģijas Webā
-
Vispārīgi XML standarti: XML+DTD, XSLT, XPath, XQuery, XML Schema.
Bieži lietojamie prezentācijas standarti: XHTML, SVG, MathML, FO, WML.
XML datu parsēšana Javas programmās.
- 13.Tēma: Apleti. Mobilās un bezvadu aplikācijas - WAP un MIDP.
-
Apleti, Swing,SWT un cita klienta puses Java.
WAP protokola pamati. Web skatu filtrēšana ar XSLT par WML.
MIDP specifikācija un midletu programmēšana.
- 14.Tēma: PHP rīki - PHPNuke, PostNuke, Drupal, vBulletin, phpBB
- Satura pārvaldības sistēmas, forumi un citi gatavi PHP vietņu
veidošanas rīki. To integrēšana ar Javas aplikācijām.
- 15.Tēma: Community Web, portāli, blogi, Wiki, FOAF
- Satura sindikācija un RSS, agregatori, Wiki rediģēšana, semantiskais Web darbībā
Prezentāciju idejas
- HTTP and related standards (1.tēma)
- Cookies and privacy matters (1.tēma)
- SSL, HTTPS and authentication in the Web (1.tēma)
- Diskusija: Speciālsimboli DNS vārdos un URL adresēs?
Ko darīt ar Plūsmas izaicinājumiem -
'Refresh', 'Back', 'Forward', manuāliem URL izsaukumiem?
Vai visas HTTP iespējas ir nepieciešamas Web aplikācijās?
Kā Web-aplikāciju programmētājam (ne)vajag lietot cepumiņus? (1.tēma)
- HTML and CSS - appropriate level of markup,
separating markup and presentation (2.tēma)
- What is typical with JavaScript (2.tēma)
- SVG, MathML and ways to extend HTML (2.tēma)
- Diskusija: Vai vajag ievērot HTML standartus un validēt lapas?
HTML salīdzinājums ar drukaajamo dokumentu formātiem
LaTeX, FO, DocBook. (2.tēma)
- Informācijas grafiskais dizains (3.tēma)
- Web vietņu veidi un navigācijas modeļi (3.tēma)
- Dinamisks dizains (3.tēma)
- Diskusija: Vai lietot sarežģītas JavaScript konstrukcijas?
Freimu priekšrocības un trūkumi. Dizaina atdalīšana no
citiem Web izstrādes procesiem (3.tēma)
- UML diagrammas ar Web stereotipiem (4.tēma)
- Struts utml. MVC aplikāciju modelēšana (4.tēma)
- Tapestry utml. notikumbalstīto aplikāciju modelēšana (4.tēma)
- CVS, Subversion - configurations and version control systems (5.tēma)
- Apache Ant, XDoclet (5.tēma)
Teorētiskākas tēmas galaeksāmenam
- HTTP protokola iespējas
- HTTPS/SSL protokoli; Web lietotāju autentikācijas mehānismi
- Dažādu uz XML balstītu valodu vispārīgs raksturojums un iespējas
- CSS selektori (CSS v2.1)
- JavaScript/ECMAScript valodas vispārīgas īpašības
- DOM interfeiss
- O2R attēlošana, Hibernate kā objekt-relāciju attēlošanas rīks
- Servletu un JSP sintakse
- Web konteineri un
web.xml sintakse un īpašības
- Web un J2EE aplikāciju konfigurācijas, Apache Ant
- Atribūtorientētā programmēšana un XDoclet
- J2EE izstrādes paraugi un EJB izmantošana Web aplikācijās
- RDF datu modelis un tā attēlošanas veidi
Literatūra
Lapa mainīta 2005-12-30 16:39:30
|