DM091 - 3. semester

Ugeplan for Softwarearkitektur og Distribuerede Programmer

Tema: Webservices og alm. web programmer - Gå til uge: 40, 41, 43, 44, 45

Sidst ændret: 2010.10.28

Adgang m.m. til webhotel: http://fronter.com/eal/links/files.phtml/141688873$61892152$/Kursist+bidrag/webhotel/WebHotel.mht

 

Uge 40
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag  08:30 - 11:50  Se ugeplan om remoting  
     
- 14:00 Se ugeplan om remoting
Tirsdag  08:30 - 10:00 Se ugeplan om remoting  
- 14:00 Se ugeplan om remoting
Torsdag  08:30 - 11:50  Introduktion til webservices

(remoting objekt med IIS - brugt som webservices - demo)

Remote Facade og DTO mønstere

 

 

 

 

 

 

Opgaver:
Afprøv service til at regne
Hent alle personer i et bestemt postområde
Hent alle personer i med et bestemt navn  (Der kan anvendes % for "joker")
Hent alle postdistrikter med et bestemt bynavn (Der kan anvendes % for "joker")

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

Slides til webservice
Eksempel på brug af webservice Calc

Hvad er webservices - IT & Telestyrelsen

Supplerende materiale fra Wikipedia
Om WebServices
Om XML Schema
Om SOAP protokollen
Om WSDL


http://www.webservicedemo.bjbu.dk/  indeholder 3 services, der kan afprøves tilgang til

- 14:00 Gennemgang af tidligere opgaver

Opgaver:
Afprøv service til at regne
Hent alle personer i et bestemt postområde
Hent alle personer i med et bestemt navn  (Der kan anvendes % for "joker")
Hent alle postdistrikter med et bestemt bynavn (Der kan anvendes % for "joker")

Afprøv eksisterende webservices med consol / windows form
- du kan fx. få oversat tekst med en webservice du kan finde via linket

 


http://www.webservicedemo.bjbu.dk/  indeholder 3 services, der kan afprøves tilgang til

 

Flere webservices:
- http://www.webservicex.net/WCF/default.aspx
Kommersielle:
- http://aws.amazon.com/
- http://www.krakwebservices.dk/
Gå evt. selv på jagt på Google eller Microsoft Live Search efter mere info / tilgænglelige Services

Afleveringsopgaver (obligatoriske) denne uge: Opgave R04
(*) Core C# and .NET, Stephen C. Perry - se Fronter
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter
(***) C# To the point -.., Hanspeter Mössenböck -   - se Fronter
 


 

Uge 41
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag  08:30 - 11:50 

 

Egenudviklede webservices

Webservices med state (session) og fællesdata

 

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

Slides til webservice

Eksempel med brug af  Application_og_Session
Eksempel på brug af Global.asax

 
- 14:00 Opgave: Ws01 - WebService Valuta
Opgave: Ws02 - VareFacade som webservice

Fortsæt herefter med at lave klient-programmer til afprøvning af flere eksisterende webservices

 


Flere webservices:
- http://www.webservicex.net/WCF/default.aspx
Kommersielle:
- http://aws.amazon.com/
- http://www.krakwebservices.dk/
Gå evt. selv på jagt på Google eller Microsoft Live Search efter mere info / tilgænglelige Services

Tirsdag  08:30 - 10:00 Fortsættelse fra mandag se mandag
  Opgaveløsning se mandag se mandag
Torsdag  08:30 - 11:50  Flere mønstre - programmering mod database

Flere mønstre
- Service layer
- Transaction scripting  (Person DB , Posdistrikt DB )
- evt. TableGateway
- Optimistic offline lock  

Se relevante mønstre fra Fowler

WebServicePostPerson - med database

Enkelt Console-eksempel på optimistic offline lock 

Video om oprettelse af database med Visual Studio (Vs2005 men brugbar)

  Opgaveløsning se mandag
Evt. opstart på Opgave: Ws03 - VareFacade som webservice - med database og transcation scripting
se mandag
VareadministrationDatabaseWebSolutionStart.zip
- 14:00 Opsamling på ADO.net herunder brug af factory og configurationsfiler,
suppleret med brug af database transaktioner
Evt. supplerende materiale om ADO.NET :
Slides om opsætning af connectionstrings og connection

BasicAdoExampleTransaction

Om Server Transaction
http://articles.techrepublic.com.com/5100-10878_11-5766653.html
Udvalgte slides fra "C# to the point" om ADO connections herunder transaction

Eksempler på Stored Procedures - sidste sider med transaction

Afleveringsopgaver (obligatoriske) denne uge: Opgave WS01 og WS02
(*) Core C# and .NET, Stephen C. Perry - se Fronter
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter
(***) C# To the point -.., Hanspeter Mössenböck -   - se Fronter
 

 

 

Uge 43
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag  08:30 - 11:50 

 

Opgaveløsning og selvstudie uden lærerstøtte
Ws03 - VareFacade som webservice - med database og transcation scripting

Introduktion til HTML (og statiske websider)
- præsentation på klient (browser)

 


Eksempler og en mulig opgave

Supplerende materiale fra w3school om HTML

 
- 14:00 Opgaveløsning og selvstudie uden lærerstøtte
Tirsdag  08:30 - 10:00 Introduktion til javascript (funktionalitet afvikles på klient)
- herunder en smule om idé bag AJAX
Slides kort om JavaScript - fra tidligere javascript-kursus
Eksempler og en mulig opgave

Eksempel på klientprogram i form i javascript:  program til test af mønstre i tekster - regulære udtryk

Javascript specifik læsestof fra diverse sider:
Variables, Functions, Operators, Conditionals
JavaScript Objects
JavaScript Object Examples
onMouseover: Your first Script

Mere avanceret læsestof for dem der har tid og gerne vil lidt dybere med selve javascript sproget

  Intro til ASP.NET webpages (gui) med VS2008 AspBeg(**) side 1-11 (lidt intro om web og dynamiske sider)
Slides om ASP.NET web sites, webkontroller m.m. (herunder åbning af ISS for extern adgang)
Demoer på klassen
Video med dagens eksempel
- Tilhørende solution
Onsdag  12:30 - 14:00 WEB-pages (gui) programmering

Debug, Trace af webapplikation

Pladsering og kommunikation af data til brug i dialoger
- Viewstate
- Session
- Application
- Cookies
- URL-parametre

 

Slides om ASP.NET web sites, webkontroller m.m. (herunder åbning af ISS for extern adgang)

Hvordan "huskes" data mellem metodekald:
Eksempel på webform med states (cookies, viewstate, session, application)

Om events og vedligeholde state
AspBeg(**) side 202-206 (Event-Driving & Post Back)
AspProf(***) side 132-134,142-143
AspBeg(**) side 381-430

Eksempel på brug af web datagrid (erstattes)
Eksempel på brug af web GridView
Eksempel på klasse med afsæt i WebServicePostPerson - med database
Video med dagens eksempel
- Tilhørende solution

Torsdag  08:30 - 11:50  WEB-pages (gui) programmering fortsat

Validering (klient versus server side)
Indbyggede kontroller (kod ASP.NET og C# og få resultat som javacript i html til afvikling på klient)

Opgave(r) aftales på klassen WS04? Projekt? - vedr. projektoplæg se nyhed på fronter

Slides om ASP.NET web sites, webkontroller m.m. (herunder åbning af ISS for extern adgang)
Demoer på klassen
 
- 14:00 WEB-pages (gui) programmering fortsat
  Hvis der herefter er overskud til at se på / diskutere flere generelt relevante mønstre i forbindelse med databaseprogrammering, kan vi se på følgende:

Mønstre
- Transaction scripting og  Domain model (og TableModule)
- Table Gateway, Row Data Gateway og Datamapper
- Pessimistic / Optimistic offline lock
- Identity map, Lazy load

Mere beskrivelse af relevante mønstre: se 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

Afleveringsopgaver (obligatoriske) denne uge: Opgave WS03 (mandag) og ??
(*) Core C# and .NET, Stephen C. Perry - se Fronter
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter
(***) C# To the point -.., Hanspeter Mössenböck -   - se Fronter
 

 

Uge 44

Projektarbejde - obligatorisk opgave projekt 2

 

Uge 45
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag  08:30 - 11:50  Projektarbejde (projekt 2) - grupperne præsenterer i løbet af dagen løsningen for Bjørk  
     
- 14:00 Projektarbejde (projekt 2) - grupperne præsenterer i løbet af dagen løsningen for Bjørk
Tirsdag  08:30 - 10:00 SE NYE UGEPLANER MED TEMA OM TRÆER OG GRAFER  
- 14:00 SE NYE UGEPLANER MED TEMA OM TRÆER OG GRAFER
Torsdag  08:30 - 11:50  SE NYE UGEPLANER MED TEMA OM TRÆER OG GRAFER  
- 14:00 SE NYE UGEPLANER MED TEMA OM TRÆER OG GRAFER  
Afleveringsopgaver (obligatoriske) denne uge: Projekt2 samt ??? (SE NYE UGEPLANER MED TEMA OM TRÆER OG GRAFER)
(*) Core C# and .NET, Stephen C. Perry - se Fronter
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter
(***) C# To the point -.., Hanspeter Mössenböck -   - se Fronter