fredag, juni 08, 2007
MSAD Orlando lukker
Forude venter et antal flyture, hvoraf den første med lidt held (og sikkert en del bestikkelse), vil give mulighed for at se den kommende affyring af Atlantis fra Kennedy Space Center. Flyafgang er en time før countdown, så der bliver nok ikke tale om nogen kollision, men det er da interessant at man flyver i samme område og på samme tidspunkt :-)
Vi håber at kunne genåbne afdelingen den 9. - 13. juni 2008.
Fremtidig Sharepoint Udvikling
Why Software SUCKS
Der var som sådan ikke så meget nyt under solen:
- Udviklere synes det er sjovt at skrive fancy kode, men det er ikke sikkert at brugeren har et behov for denne funktionalitet - den kan snarere bidrage til forvirring og frustration.
- For ti-tolv år siden var kun en brøkdel af den nuværende brugerskare på nettet, og de, der var, var nørder, som tænkte på samme måde som de, der leverede inholdet/ydelserne. Siden da er brugerskaren mere end 500-doblet, men uden at man nødvendigvis tænker på at brugeren derved også er en anden.
Hans hovedpointe var "Kend din bruger for han er ikke dig" - en lille reminder til os nørder.
Et eksempel en god app var google, hvor man default får vist google i det sprog som IP-adressen tilhører, men hvor man meget nemt kan sætte en cookie, hvis man ønsker et andet sprog. Modsætningen hertil var UPS (amerikansk postselskab), hvor man på deres hjemmeside først skal vælge et land, før man overhovedet kan få noget funktionalitet. Og her var der da også muligt at sætte en cookie, men det skulle man selv vælge (hvilket brugeren først gør ved 2., 3. eller måske 4. besøg). Før der er valgt sprog, kan man ikke lave noget som helst, og hans pointe var, at man skal klikke en hel det, før man kan komme til f.eks. at søge via Track and Trace. I modsætning hertil, kunne han i google sætte et T&T-nummer ind i søgefeltet og herefter få vist et hit, der foreslog at gå direkte til UPS' T&T service. Altså meget hurtigere, end på UPS' site!
Windows Server Core
F.eks. kan man få en med IIS. Brugergrænsefladen består af en shell. Fordelen ved dette er at serveren kræver mindre og det gør dem ideelle til brug i virtuelle server farme.
torsdag, juni 07, 2007
Workflow til at styre forløbet i din applikation.
Ideen bag det er at i stedet for at skrive logik på sine sider, sender siderne events. Workflowet holder så styr på hvad der så skal ske. Man har i workflowet en klar model over hvordan brugergrænsefladen hænger sammen. Den enkelte side ved til gengæld ikke noget om de andre sider og kan fokuseres til kun at tage sig af visning.
Afkoblede brugergrænseflader med CAB
Det er lavet således at man laver en hoved applikation, og der i specificerer man nogle egenskaber alle klient applikationerne skal bruge. Det kan f.eks. være at specificere at der en flade til i applikationen de underliggende programmer kan udnytte. Derudover kan det være ressourcer der specificeres, som f.eks. hvad er valgt.
Alle de underliggende applikationer kan udvikles helt adskilt og kan kommunikere med hinanden uden at kende hinanden. Det goeres igennem de kanaler hovedapplikationen har specificeret.
Et eksempel på noget, der både skal anvendes af alle applikationer, men som samtidigt kan være nødvendigt at lægge ud som plugin, er sikkerhed. Hvis man udvikler en applikation, som kun skal anvendes af én kunde, kan man godt lægge sikkerhed ind som en del af hovedapplikationen, men hvis man udvikler produkter, som kan anvendes af flere kunder, kan man i stedet lægge det ned i en (flere) komponent, som kan udskiftes alt efter om kunden ønsker sikkerhed via certifikat, fingeratryk, password, etc.
Det hele saettes sammen runtime vha. Dependency Injection i en plugin arkitektur.
Til at understøtte det hele er der Smart Client Software Factory, der kan generere noget af det for en.
VS 2008 - forbedret support for web
I min includefile inc.js har jeg følgende kode:
myDate function() {
var myString = "string";
return new Date();
}
Når jeg koder min metode og anvender myString, vil der efter at variablen er erklæret være intellisense herpå, så man kan anvende de metoder en string tilbyder i JavaScript. Når så variablen senere i metoden evt. ændres til f.eks. en integer, vil der kun være denne klasses metoder og properties til rådighed. Det virkede ret stærkt.
Men det stopper ikke her. Jeg kan også dokumentere mine metoder ved at anvende
myDate function() {
///<summary>Gør noget</summary>
///<returns>Noget</returns>
}
Den vågne læser vil nok lægge mærke til at mine dokumentationstags står inden i metoden, og det var åbenbart den eneste måde det kunne gøres på. Men det positive er, at jeg nu i min hovedside vil have intellisense til den metode der ligger i en includefil.
Udover intellisense, er der meget overblik over den CSS man anvender - dels ved at HTML'en ikke bliver stylet direkte, men at det foregår i CSS-klasser og derudover findes der et utility der viser hvorfor et bestemt element bliver stylet som det gør.
tirsdag, juni 05, 2007
PowerShell: Linux, nu til Windows
PowerShell kommer til at blive understøttet af Microsofts server produkter og man kommer selv til at kunne integrere til den vha. Cmdlets (commandlets) fra .Net. Umiddelbart ser det ret fornuftigt ud til hvis man skal lave administrative værktøjer til at administrere sine applikationer.
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx
LINQ Framework: døden for foreach (og WM-BOF)
En lidt blæret ting, som meget kort blev demonstreret var, at et query på en flereprocesserarkitektur kan køre parallelt og dermed sikre hurtig afvilking. Der blev ikke gået i detalger med dette, men mon ikke der nok skal findes adskillige anvendelsesmuligheder i dette?
Hvis man anvender VB.Net, får man yderligere support for XML skrevet direkte i sin kode.
Agile development
En frokostsceance omhandlede Agile Development. Her blev Test driven development (TDD) og protoyping nævnt som elementer i en udviklingsmetode der blev præsenteret ved følgende manifest:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Det skal forståes ved at elementerne til højre er værdifulde, men at man tillægger elementerne til venstre mere værdi.
Der blev lagt vægt på principper om nærhed i projektet (specielt mellem udviklere og forretningsanalytikere/brugere), løbende evaluering, mange afleveringer, tidlig leverance af brugbar funktionalitet (’den nemmeste måde at spise en elefant på, er at dele den op i mindre bidder’), at give tillid og motivere den enkelte, åbenhed overfor ændringer i krav – også sent i udvilkingsforløbe og endelig løbende fokus på teknisk kvalitet og godt design.
WPF - Store muligheder til præsentation
- Forms (traditionelle Winforms)
- Gaming/3D (DirectX)
- Web (Ajax)
- Silverlight
- Smart Clients
Frameworket består af et antal typer af contents: panels, 2D grafik, 3D grafik, kontroller, imaging, flow documents, text mm. Disse er meget avancerede elementer, som har til formål at give en god brugeroplevelse. Et eksempel på hvad der gør en kontrol anderledes end det vi kender fra traditionelle kontroller, var at man kunne databinde hvad som helst til dem, f.eks. blev der i en listbox vist et antal objekter, f.eks. tekster og billeder. Det væsentlige er, at det hele er vektorbaseret, og at man derfor har rige muligheder for at lave zoom, rotation og andre fine finesser i sin brugergrænseflade. Et eksempel herpå er Seattle Post Intelligencer (Seattle PI Reader), som er en online-avis, hvor man har en langt bedre måde at læse avisen online (nemmere navigation mellem artikler, mulighed for zoom mv.).
Alt i alt er der store muligheder i dette - spørgsmålet er blot hvor moden brugerne er til at tage imod dette, men det vil tiden vise. Én ting er sikkert: Microsoft skal helt sikkert nok markedsføre det.
OR - mapning, nu også fra Microsoft
ADO.Net Entity Framework hedder det. Det opererer som de fleste andre persistens frameworks med en mapningsfil, hvor relationerne er defineret. Entity framework kommer til at arbejde godt sammen med LINQ, og kommer ikke til at være låst til SQL Server (under forudsætning af at der er andre der skriver providere til andre databaser).
Under demonstrationen var der flere ting der ikke kunne demonstreres endnu. Det er på nuværende tidspunkt kun muligt at mappe på grundlag af en eksisterende database.
I første version kommer Entity Framework ikke til at kunne operere på POCO objekter, men det er meningen det skal komme til det i fremtiden. Det er til at starte med heller ikke muligt at arbejde med persisterede objekter disconnected.
mandag, juni 04, 2007
WCF. Den nemme måde at lave service orienteret arkitektur.
En af de gode ting ved WCF er at man kan specificere kontrakter til kommunikation meget detaljeret, og vil derfor være en stor hjælp til at lave sin SOA bedre. En anden fordel ved WCF er at den platforms bevidst, og f.eks. ved hvilke datatyper der ikke virker på alle platforme. Alt i alt skulle WCF altså være ret godt for fremtidens SOA.
Keynote
Til at hjælpe sig havde Bob Muglia en række medtalere, og den bedste var nok vice precident i Gartner der fortalte om hvad der skal til for at en virksomhed klarer sig... Forandringsvillighed og ikke kun økonomiske hensyn og process som f.eks. CMMI.
Ellers var det meste en lang salgstale for en række nye produkter, bl.a. Windows Server 2008 og Silverlight - et stort show der desværre trak ud så man ikke kunne nå at være med til starten af de første sessioner.