DM072 - 3. semester       til andre ugeplaner

Ugeplan for Softwarearkitektur og Distribuerede Programmer

Tema: Repetion

Sidst ændret: 2008.12.11

 
Uge 49
Dag Tidspunkt Emne Litteratur / Opgaver
Tirsdag (bjbu)
(fælles)
08:30 - 11:50 
DM071 og DM072
Tråde og synkronisering

Focus:

Trådsikre klasser
- synkronisering
- resource monitor
- tråd som

Observer mønster
- delegate / event

Om tråde og GUI - Invoke

Producer-Consumer mønsteret:
- guarded suspension
- early-/missed notification

 

 

 

.Net app(**) kap 4.3.1-4.3.3 (kopi)
C#(*) kap 13.1 & 13.2 (aynkron delegat - tråd)
C#(*) kap 3.7 (Delegater)
C#(*) kap 13.3 (Tråde)
C#(*) kap 13.4 (Tråd synkronisering)

Udvalgt materiale (findes på DM072's tidligere ugesedler)

Slides om tråde og synkronisering

Trådeksempel7_MonitorSynk
Trådeksempel8_SecureStop
Trådeksempel10_TrådOgResourceMonitor
TrådEksempel9_ProducerConsumer_Buffer
Trådeksempel_Parkeringshus_wait_notify (guarded suspension)

WindowsFormWithThreads
ObserverPattern_Tråde_og_Gui

Parkeringshuset med både tråd, resource-monitor og GUI med observer
ObserverPattern_Parkeringshus

Opgaver:
Opgave 9 - termometer med alarm-event
Opgave 10 med øl-sodavand soteringsanlæg

Løsningsforslag (nogle lidt udvidet i forhold til opg. krav:
TermoMeterMedAlarnOgTråde_V01_V05
TrådProducerConsumer_ØlSodavandSimulering.zip

Supplement fra internettet:
Non-Blocking synchronization
Locking and thread safety

     
Torsdag (bjbu)
(delt)
  klasser delt - se skema  
12:30- 15:00
DM072
Fremlæggelse og tilbagemeldinger på projekt 3  Allans vejledende løsning - RKP_graf_AHNI.zip

Fredag (ahni)
(fælles)
08:30 - 11:50 
DM071 og DM072
Socket Net app(**) kap 4.4 (kopi)
C# Network programming
s. 354-358 (kopi)
.Net app(**) kap 4.3.1-4.3.3
(kopi)

Slides om socket part 1 (nokn)
Slides om socket part 2 multitrådet (nokn)

Eksempeler på socket echo servere og klient

SocketEchoComandBased (eksempler med opdeling i kommunikation og behandling - herunder også eksempler på styring af session / single call der ligger lidt ud over hvad vi har realiseret med socket i øvelserne)
Indeholder tekstfil med indholdsbeskrivelse og PowerPoint
- SocketServerCmdBasedStatic
- SocketServerCmdConnected
- SocketServerCmdDisconnected_V01
- SocketClientMedRemoteFasade_ConsolApplikation
- SocketClientMedRemoteFasade_WindowsApplication
- SocketServerCmdSessionOnOff

Opgaver:
Opgaver med socket server og socket-klient

(*) Core C# and .NET, Stephen C. Perry
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se BlackBoard

 
 
Uge 50
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag (bjbu)
(delt)
08:30 - 13:15
DM072
Prøveeksamen - SDP

Herefter opsamling på Projekt3 - herunder ser vi på dele af en løsning

Se Meddelelser på BlackBoard kl. 8:30

Opdelt løsning for ruteplan funktioner baseret på tekst i EBNF format

- Scanning / Leksikalsk analyse:
EBNF_StringTokenizer_Simple - gennerel løsning for opdeling af tekst
EBNF_Ruteplan_LexAnalyzer_Simple - annalyse og bestemmelse af tokens

- Parsing med opbygning af syntakstræ:(model)
EBNF_Ruteplan_Parser_Regelbaseret - parsing af tokens og opbygning af syntakstræ (model)

- Graf funktioner baseret på syntakstræ (model)
Graf_Matrix - gennerel graf baseret på matrix med vægte
EBNF_Ruteplan_GrafControler_Matrix - opbygning af graf ud fra syntakstræ (model), samt udførsel af konkrete grafopgaver på rutegrafen

- Samlet løsning - fra EBNF-tekst til graf-funktioner:
EBNF_Ruteplan_Total - samlet løsning med scanning, parsing og grafopgaver på ruteplan

- 14:30 Opgaveløsning  
Onsdag (ahni)
(fælles)
08:30 - 14:30 
DM071 og DM072
CDS - repetion af Allan's emner

BEMÆRK sluttidspunkt!!
 
Torsdag (bjbu)
(fælles)
08:30 - 14:30 
DM071 og DM072
Remoting, webservice og web

 

Focus:

Remoting
- opgaver og løsningseksempler.
- MBVO, MBVR, SAO, CAO
- proxy

Webservice
- opdeling på server og klient
- Service layer
- Proxy, Remote facade, SOAP
- DTO, XML
- WSDL, SOAP

Web
- http - request - response
- Serverside, klientside
- stateless, statefull, session

 

Flere mønstre vedr. persistens
- Domænemodel og Active record
- Transaction scripting
- evt. Table Gateway og Row Data Gateway
- Optimistic offline lock

 

 

 

Remoting

C#(*) kap 14.1 (skim - app-domains) & 14.2 (remoting)

Slides om remoting
Slides om Proxy mønster

Eksempel der demonstrerer Server og Client med både MBVR og MBVO objekter
evt. Eksempler på remoting server og klient med Client Activated Object(CAO)

Opgaver:
R01 - remote vare (MBRO)
R02 - remote varesamling (MBRO) - hvor de enkelte varer også er MBRO
R03 - remote vare (MBRO) - med bevægelser som MBVO
R04 - remote varefacade med DTO objekter

Løsningsforslag (nogle lidt udvidet i forhold til opg. krav):
Remoting_Vare (R01)
Remoting_Varekatalog (R02)
Remoting_VareMedBevaegelser (R03)
Remoting_VareCaoFacade (R04)
--------------------------------------------------------------------------------

Webservice

C#(*) kap 18 (web-service)
Slides til webservice

Eksempel med brug af  Application_og_Session

WebServicePostPerson - med database

Multisupport kernen (Domain model) med webgrænseflade

Opgaver:
Ws02 - VareFacade som webservice
Ws03 - VareFacade som webservice - med database og transcation scripting
WS04 - Webgrænseflade med webserice som facade og datalag

Løsningsforslag
Weservice_VareserviceSessionDomainModel  (WS02)
WebService_Varesystem_TransactionScripting (WS03)

--------------------------------------------------------------------------------

Web - ASP.NET

C#(*) kap 16.1, 16.2 om webform kontroller

Intro om at vedligeholde session state (kort - vi vender tilbage til dette næste uge):
- s 744-746 om view state
- s 893 om cookies
- kap 17.4 om application og session state

Slides om ValidationControls m.m.

Underliggende detaljer:
Slides om ASP.NET arkitekturen med oversigt over kontroller (Olle Brüggert)
Slides om ASP.NET kodeafviklingen (Joe Hummel & Niels Otto Knudsen)

Operation til at finde en medarbejder ud fra medarbejdernr (løsning)
Eksempel på webform med states (cookies, viewstate, session, application)

--------------------------------------------------------------------------------

Flere mønstre - udskydes evt. til mandag uge 51

Se relevante mønstre fra Fowler

Eksempel på Domain Model med Active Record og Table Gateway som datamapper, interface som facade, optimistic ofline lock, laizy load og dictionary som registry/cache
- ForeningSolution_V09_Database_Cache_OptimisticOfflineLock
Eksempel på Domain Model med Active Record og Table Gateway som datamapper
- Multisupport klasserne
- Multisupport kernen Vs2005 solution

Supplerende eksempler fra Peter Kjærsgaard:
- Bud på brug af transaction script og row data gateway
- Bud på brug af transaction script og row data gateway og optimistic offlinelock
- Bud på brug af domain model og active record

 

12:30 - 14:30
DM071 og DM072
Undervisning fortsat  
Fredag (ahni)
(fælles)
08:30 - 14:30 
DM071 og DM072
Grafer, Træer og Sproglære

BEMÆRK sluttidspunkt!!
 
(*) Core C# and .NET, Stephen C. Perry
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se BlackBoard

  
 
Uge 51
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag (bjbu)
(fælles)
08:30 - 14:30 
DM071 og DM072
SDP - repetion - alle emner Dijkstra - simulator:
http://www.dgp.toronto.edu/people/JamesStewart/270/9798s/Laffra/DijkstraApplet.html
12:30 - 14:30
DM071 og DM072
Undervisning fortsat  
(*) Core C# and .NET, Stephen C. Perry
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se BlackBoard