IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Komponentbaseret serverprogrammering eksemplificeret med Java 2 Enterprise Edition 
Kursusnavn (engelsk):Component-based server programming exemplified using Java 2 Enterprise Edition 
Semester:Efterår 2000 
Udbydes under:cand. it, softwareudvikling (swu) 
Omfang i ECTS:0,00 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:16 
Formelle forudsætninger:Forudsætter et kursus i databasesystemer samt kurset i objektorienteret programmering med Java. Der max er plads til 16 personer på kurset. Det skal understreges, at man bør ’føle sig ret rutineret’ i Java, førend man får gavn af kurset (havde du problemer med oop, er dette ikke det rigtige kursus). Endvidere skader det ikke, hvis man har prøvet at arbejde lidt med Internettet før – fx lidt html – men det er ikke en forudsætning.  
Læringsmål:Dette kursus giver en introduktion til en teknologitype, man kan benytte sig af, når man laver store edb-systemer, som har mange brugere, som arbejder med kritiske data, og som skal kunne tilgås med forskellige klienttyper via netværk. Konkret bruger vi teknologien Java Enterprise Edition (J2EE), som repræsentant for en type servere kaldet applikationsservere – eller mere præcist: komponentbaserede transaktionsservere. Med kurset forsøger vi at give en introduktion til et meget omfattende område – idet vi introducerer centrale principper og teknologier, hvilket vil gøre det nemmere selv at skaffe sig mere viden om feltet – fx i forbindelse med et speciale. 
Fagligt indhold:NDKAPSLING AF FUNKTIONALITET OG MODULER


Et gennemgående tema for kurset vil være indkapsling på forskellige måder og niveauer. For det første, hvordan systemfunktionalitet er indkapslet i hhv. Java API’er og i Java Enterprise Servere, så det er nemt for os programmører at bruge dem. Og for det andet, hvordan man kan lave en modulært opbygget program-arkitektur, hvor moduler på forskellige niveauer er indkapslet på fornuftig vis. Sidstnævnte gør det nemmere at udvikle, fejlteste, vedligeholde og udvide systemet senere. Endvidere skal vi se, hvordan indkapsling gør det muligt, at folk kan specialisere sig i bestemte typer af problemer; og hvordan flere delgrupper kan arbejde parallelt med udviklingen af delelementer af store systemer.





GENERELLE VILKÅR FOR STORE SYSTEMER


I løbet af kurset vil vi opstille og diskutere de problemer, som man generelt står overfor, når man skal lave store edb-systemer. Vi skal også se på principper for hvordan man kan håndtere nogle af disse problemer – konkret eksemplificeret ved hvordan det er løses i Java Enterprise Edition servere. Der vil være meget praktisk arbejde med Java Enterprise teknologier (uddybes nedenfor).





GENNEMGANG AF KONKRET J2EE-TEKNOLOGIER


Dynamiske websider som front-end





·kortfattet om http, browsers og web-servers





·kortfattet om html (mest forms og tabeller)





·gennemgang af Java Servlet-API’et (indkapsling af http)





·gennemgang af Java-API til konstruktion af html (indkapsling af html)





·praktisk arbejde med en Tomcat Servlet-server





Brug at databaser til datalagring


·gennemgang af JDBC (opkobling til DB fra Java)





·konvertering ml. det objektorienterede - og det relationelle paradigme





·indkapsling af persistens (indkapsling af JDBC og SQL)





·praktisk arbejde med at koble en Oracle DB med Java





Brug af distribuerede objekter til kommunikation


·gennemgang af Java RMI (Remote Method Invocation)





·hvordan er RMI lavet (sockets, objektserialisering, distribuerede referencer)





·hvordan bruges RMI (naming, synkrone kald, by-copy eller by-ref)





·praktisk arbejde med objektkommunikation over Internet





Brug af komponentbaserede middle tiers


·gennemgang af Java EJB (Enterprise Java Beans)





·forholdet mellem en EJB-Server/containeren og en EJB-komponent





·EJB og transaktioner, persistens, flere brugere, adgangskontrol osv.





·praktisk arbejde med at køre EJB-komponenter i en EJB-container





Java 2 Enterprise Edition-arkitekturen


·Hvordan hænger de gennemgåede teknologier sammen?





·Hvordan kan de bruges i én samlet løsning?





·Hvordan opdeler man en løsning på de forskellige J2EE-teknologier?





·Generelle principper og teknologier i J2EE.





·Overordnet om andre teknologier i J2EE.





KURSUSFORM


Kurset kan følges i stedet for at skrive et projekt i projektperioden E2000. Kurset foregår alle hverdage i projektperioden – dvs. fra og med mandag 27/11 til og med fredag 22/12 – i alt 20 hverdage. En dag vil typisk have 1-2 timers teori først på dagen, hvorefter der arbejdes praktisk med enten øvelser eller en gennemgående case resten af dagen, hvor både Jakob og Rasmus som regel vil være til stede.. Der kræves godkendelse af ens praktiske arbejde som forudsætning for, at man kan få lov at gå til eksamen. Der vil endvidere være omkring 4 gæsteforelæsninger. Der vil være ca. 20 siders læsestof til hver dag (i alt ca. 400 sider – måske lidt mere), samt overheads med kommentarer, der supplerer litteraturen. 
Læringsaktiviteter:

Kurset kan følges i stedet for at skrive et projekt i projektperioden (se også ovenfor) 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Intern censur

Mundtlig eksamen i januar. Varigheden vil være ca. 20 min uden forberedelse. Der trækkes ét tilfældigt emne blandt ca. 8, som vil være velkendte.  

Litteratur udover forskningsartikler:NULL