DM1402DK - 3. semesterUgeplan for Programmering
|
Sidst ændret: 2015.11.04
Uge 39 | |||
Målsætning for denne uge:
Forberedelse: Se nedenfor i planen for tirsdagen
|
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Tirsdag | 08:30 - |
Forbered dig ved at læse
materialet til
venstre igennem og få fat på
begreberne Vi vil ikke gennemgå begreberne, men alene samle op på nogle uklarheder samt evt. kort diskutere disse. Intro til webservice |
Distributed object communication (Wikipedia) C#(*) kap 18.3 (side 884-885) (web-service) .NET app (**) - Side 403-409 kap 7.1 Overview - Side 413-415 kap 7.3 SOAP (intro) - Side 415-417 kap 7.3.1 SOAP formats - Side 429-430 kap 7.4.4 Life Cycle of a Web Services (session) - Side 430-433 kap 7.5 WSDL - Side 433-434 kap 7.6 UDDI / DISCO Supplerende materiale fra Wikipedia Om WebServices Om XML Schema Om SOAP protokollen Om WSDL Mønstret Remote Facade er også relevant i denne
sammenhæng
Slides til undervisningen: |
Kort demo: Vi skal afprøve nogle webservices (wcf og de ældre asmx) - med WcfTestClient.exe - med Windows klient program Video fra undervisningen (tidligere forløb) til evt. repetition |
Pp_WCF_Basic_Client.ppt Webservices til afprøvning - brug for klient: - http://webservicedemo.datamatiker-skolen.dk/ - http://wcfdemo.datamatiker-skolen.dk/ Nyttig "link": WcfTestClient er et program der ud fra WSDL beskrivelserne kan gør det muligt at afprøve en WCF-service uden at programmere. Det kan normalt findes her: "C:\Program Files (x86)\Microsoft Visual Studio nn \Common7\IDE\WcfTestClient.exe" |
||
Øvelser:
Prøv at hente data fra følgende WcfService (webservice) der kan returnere objekter - PersonWcfService.svc
1) Du kan starte med at prøve at hente data med
WcfTestClient.exe programmet og kan vise data direkte.
|
|||
2) Hvis du er færdig kan du fortsætte med at lave et par små windows programer der anvender nogle af det webservice der er på det 3 sites | Webservices til afprøvning - brug for klient: - http://webservicedemo.datamatiker-skolen.dk/ - http://wcfdemo.datamatiker-skolen.dk/ |
||
Kort intro WCF service metoder - endpoint(.svc) - interface (ServiceContract og OperationContract) - samt implementering (code behind) Kort demo: Vi skal herefter prøve selv at lave en simpel WcfService (webservice) Video fra undervisningen (tidligere forløb) til evt. repetition C# SDP14F uge11On WCF intro opret simpel service og klient der bruger den Tilhørende solution: 201403120912_ServerSolutionMedConsoleKlient.zip en video mere om behov C# SDP12E - WcfService - del1 |
Pp_WCF_Basic_Server.ppt
|
||
Øvelser: 1) Lav et tomt web projekt og opret en wcf service med navnet CirkelSevice, der har følgende tilgængelige metoder ---- BeregnDiameter - der tager en radius som input og returnerer diameteren ---- BeregnOmkreds - der tager en radius som input og returnerer omkredsen ---- Lav et lille windows program, som anvender din CirkelService |
|
||
Kort intro WCF service hvor der udveksles objekter - Data Transfer Object (serialisering med DataContract og DataMember) Kort demo: Vi ser eksempel på service med udveksling af objekter |
Mønstre: - Data Transfer Object http://msdn.microsoft.com/en-us/library/ff649585.aspx
|
||
12:30 - 14:00 | Opgaveløsning uden støtte fra underviser - diskuter og sammenlign, samt hjælp hinanden, men sørg for også selv at kode individuelt Opgave WCF-Valuta opgave a+b+c Løs opgaven så simpelt som muligt - der er i opgaven ingen opdateringer og man kan derfor også ignorere mulige tråd problemer ved tilgang til fælles ressourcer. Afleveringsopgaver denne uge Valutaopgave a+b+c - se frontermappe Du skal aflevere til tiden sammen udfyldelse af reflektionsfelter, hvor du dels skriver om det virker og hvis ikke hvad der kan være galt, og dels om du har haft let eller svært ved opgaven |
MsVC#(*) Microsoft Visual C#.NET Programming, af Doyle AspBeg(**) Beginning ASP.NET 1.1 with Visual C#.NET 2003, af Ullman et al. AspProf(***) Professional ASP.NET 1.1, af Homer AspNet(****) ASP.NET, af Schmidt |
Uge 40 | |||
Målsætning for denne uge:
Forberedelse: se nedenfor i planen |
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - |
Forbered dig ved at læse
materialet til
venstre igennem og få fat på
begreberne WCF Service fortsat (Statefullnes og offline concurency) Serversiden (og krav på klientsiden): Vi skal se på hvordan vi kan have data til at "overleve" i memory på vores WCF service: - For den enkelte klient (PerSession / ASP.NET Session) - For hele applikationen - fælles for alle klienter (Single / ASP.NET Application) - pas på!! trådsikring Vi vil nøjes med ASP.NET Session/Application som valg og det andet som orientering Klientsiden: Fra tidligere undervisningen: |
Slides: Pp_WCF_Session.ppt Eksempel på en wcfservice med en bruger-session (ASP.NET) fra tidligere undervisning: Video - Vs_WcfSolution_ASPNET_SESSION_20111125.zip
Slides: Pp_WCF_Async_Client.ppt
Vi vil anvende ASP.NET Session, men hvis nogle aligevel gerne vi
se en løsning uden, hvor der bruges WCF instanstyperne (Single,
PerSession og PerCall) |
Forbered dig ved at læse
materialet til
venstre igennem og få fat på
begreberne WCF Service fortsat |
Relevante mønstre fra Fowler - Om service layer: http://martinfowler.com/eaaCatalog/serviceLayer.html - Om Optimistic Offline Lock: http://martinfowler.com/eaaCatalog/optimisticOfflineLock.html - Om Pessimistisk Offline Lock: http://martinfowler.com/eaaCatalog/pessimisticOfflineLock.html |
||
Evt. hvis vi kan nå det - ellers må
du klare dig efterfølgende med videoen - Simpel optimistic offline lock i forbindelse med database - Service med databasetilgang C# SDP12E - WcfService og transaction scripting |
Løsning ved brug af database: - Enkelt Console-eksempel på optimistic offline lock (database) - Eksempel på WCF service med databasetilgang: WcfService_SimpelPersonService_MedDatabase_Solution.zip |
||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser Opgaveløsning uden støtte fra underviser Hvis du er færdig kan du evt. prøve at lave en løsning med service med samme metoder, men hvor der anvendes en database i stedet for at data holdes i memory.
|
Hvis du går helt i stå bruger du selvfølgelig først din
studiegruppe, men hvis det ikke er nok kan du som nødløsning få
gennemgået en løsning og så efterfølgende starte forfra et antal
gange på egen hånd til du kan selv uden at se på denne: - https://www.youtube.com/watch?v=GCE86ZSFfew&list=PLWg7ytE2Y07INpj9JGa61pFBh5DPa0r_M Husk det er ikke løsningen der er det vigtige, men at du får lært det du skal og ikke mindst får rutine så du kan løse opgaven på kort tid. Det betyder nogle gange du må løse opgaven forfra flere gange for at få træningen.''
Vs_ValutaSolution_20141023.zip (lagt op uge 41) |
|
|
Uge 41 | |||
Målsætning for denne uge:
Forberedelse: Se i planen |
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - | Opsamling på WCF service
Vi vil starte dagen op med lidt samtale om begreberne og herefter vil dagen gå med at Forbered dig ved at
se første del om hvad det går ud på og tag nogle noter. Introduktion til WebApi - herunder
også noget om REST Den næste tutorials kan supplere hvis du har behov |
Gennemgang af en løsning på
valutaopgaven: - https://www.youtube.com/watch?v=GCE86ZSFfew&list=PLWg7ytE2Y07INpj9JGa61pFBh5DPa0r_M En løsning: - Vs_ValutaSolution_20141023.zip (lagt op uge 41)
evt. suplement til uddybning om REST Tool for se og debuging af HTTP - bruges til test af WebApi |
Demo med simpel Web API - test client for GET med browser - test client med brug af Fiddler - C# client med WebClient Routning ? - det er ikke sikkert vi tager det før senere - fredag ? eller næste uge ? |
Pp_WebApi_Basic_Server_og_Client.ppt
|
||
Lav webservice til Valutakurser - denne gang med WebApi - og
aftest med Fidler Drop opgaver der fordrer Session, da man normalt ikke vil have det med REST / Web API |
|||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser Lav webservice til Valutakurser - denne gang med WebApi - og aftest med Fidler |
Uge 42 (efterårsferie) |
Målsætning for denne uge:
|
Uge 43 | |||
Målsætning for denne uge:
Forberedelse: Arbejd med toturials fra uge 41 |
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - | Opsamling på WCF Session og
Application - vi skal se på løsningen af valutaopgaven WebApi fortsat |
Se tidligere specielt uge 40 Se uge 41 for mere materiale
Routing in ASP.NET Web API |
Evt. mere læsestof til yderlig
fordybelse om attribut routing - http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 |
|||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser Samme som uge 41 |