Kristian Kristensen’s Blog


My Trip to Copenhagen

Posted in MSP, Microsoft, Misc by Kristian Kristensen on the June 20th, 2006

Late sunday I boarded a plane for Copenhagen; the serious purpose was to visit the American Embassy and get my Visa in place for my exchange trip to the US, the less serious to visit a friend of mine, who moved to Copenhagen 2 months ago. At 10 o’clock on Monday I had an appointment at the embassy, I arrived in appropriate time, got checked in, and got ready to wait. And wait I did! I sat for an hour until my name was finally called. The nice lady at the desk asked me 3 questions, and that was it! So now I have a Visa for my exchange trip. Super great!
After this more or less boring wait, I called Henrik W. from Microsoft Denmark, and asked if we should grab a cup of coffee. Henrik was up for it, and even upgraded the coffee to lunch at Microsoft in Hellerup :-) We chatted for a bit, and I got up to speed on some of the things happening in MS. I also met Rene Loehde – the architect evangelist – and we talked abit about his screencasts.
After this I met with Lars and we took a walk in the city, ending the day in Tivoli, where we had dinner at “Perlen“.

And today I got up at 4:30 AM (yawn) to catch a plane from CPH to AAL at 6:40AM.

All in all it was a great mini-trip, where I got my Visa fixed, got to see Lars’ new place, and visit the guys at Microsoft.

One Response to 'My Trip to Copenhagen'

Subscribe to comments with RSS or TrackBack to 'My Trip to Copenhagen'.


  1. on June 26th, 2006 at 1:07 pm

    [...] SĂĄ er mit seneste screencast kommet online – denne gang om hvordan man kommer fra xml schema til WSDL ved hjælp af Infostrukturbasens WSDL værktøj. I sidste uge havde vi her hos Microsoft besøg af en student partner fra Aalborg – Kristian – som var sĂĄ uforskammet ;-) at sige at jeg forsømte at fortælle hvorfor â€?Contract Firstâ€? er vigtigt. AltsĂĄ vigtig nok til at lave en hel webcast serie omkring. Damnit hvor jeg hader at fĂĄ kritik – specielt hvis den er berettiget! Hvad er â€?Contract Firstâ€?? I min optik er CF mere et koncept end det er metode og teknologi. For at CF skal blive praktisk anvendeligt er det naturligt at man forsøger at finde metoder og teknologi til implementering af konceptet. CF er ikke noget nyt begreb lavet specielt til en serviceorienteret IT verden – jeg har stødt pĂĄ begrebet i mødet med Component Based Development (CBD – hvor specificering og efterfølgende implementering af et interface i min optik ogsĂĄ er CF) og man kan garanteret finde en historik, som gĂĄr længere tilbage. Min udlægning af kontraktdelen af CF, i en service orienteret verden er følgende abstraktion: Aftaler omkring de â€?sovs og kartoflerâ€?-elementer som indgĂĄr i de beskeder, der sendes mellem to IT systemer: Strukturdefinitioner, datatypedefinitioner og eventuelt tilstand (hvilket er lidt noget fy! Men som mange vil hævde er uundgĂĄligt) – herunder ogsĂĄ aftaler for hvad man gør hvis noget gĂĄr galt Aftaler omkring hvordan beskederne sendes eller transporteres og hvor de sendes til Aftaler om hvordan man sikre pĂĄlidelighed, integritet, uafviselighed og fortrolighed I princippet kan systemejerne formulere dette i alment prosa i tekst dokumenter (kontrakten) og give det til deres respektive systemudviklere og forvente at systemerne kan kommunikere baseret pĂĄ det skrevne i kontrakten. SĂĄ â€?Contract Firstâ€? er basalt set at lave en systemintegration udfra en prædefineret â€?kontraktâ€?. Hvordan kontrakten er formuleret er i princippet underordnet, â€?bareâ€? de involverede parter er enige om en fælles sematik – har fælles forstĂĄelse om fortolkningen og udmøntning af kontrakten. NĂĄr kontrakten skal implementeres i IT bliver det et forretningskritisk punkt at kontraktens ordlyd kan efterkommes uden store tvivlsspørgsmĂĄl og andre fortolkningsissues. Derfor er det en vigtig del af hele â€?Contract Firstâ€? scenariet at kontrakten kan udtrykkes sĂĄ explicit sĂĄ muligt og meget gerne sĂĄ nagelfast og letforstĂĄelig at et IT system kan fortolke kontrakten uden menneskelig indblanding. For at imødekomme noget sĂĄdan bliver store dele af kontrakten typisk udtryk i maskinlæsbare Xml-vokabularier, som f.eks. Xml Schema, WSDL, SOAP, WS-Security etc. Beat – en af mine europæiske kollegaer – mener at hvis man starter med et Xml schema i kontrakt modelleringen – sĂĄ laver man â€?Schema Firstâ€? udvikling – en metode til implementering af CF. Jeg syntes det lyder, som en meget fornuftig udlægning fordi man dermed fĂĄr gjort CF teknolgi- og standardsneutral. Her følger to simple eksempel pĂĄ CF i to forskellige pardigmer: CBD: Business Concept Model (UML) -> Business Type Model (UML) -> … -> Object Constraint Language specificering -> Interface specification -> Interface implementering SO: Business Concept Model (UML) -> Business Type Model (UML) -> …. -> Datatyper og beskedsstrukturer i XML Schema -> WSDL og Policy dokument generering -> Webservice implementering Her kan den sidste siges at være det Beat refererer til som “Schema Firstâ€?, men for nu (og resten af denne post) er â€?Schema, WDSL, Policy …. firstâ€? det samme som â€?Contract Firstâ€?. Yderligere info om CF og SO modelling kan fĂĄes ved at læse denne artikel og part 2 (nĂĄr den kommer online), som giver et rigtigt godt overblik og indgang til at lave webservices CF. Hvorfor er â€?Contract Firstâ€? vigtig? Den typiske metode til generering af kontrakt dokumenter som f.eks Xml schemaer og WSDL’er er ved hjælp at IDE/RAD værktøjer. Systemudvikleren koder systemet ud fra en forventning om at IDE/RAD værktøjet vil generere kontrakt dokumenterne automatisk ud fra de kriterier udviklerne opstiller. For det meste sker det dog udviklerne overraskes af de genererede kontraktdokumenter – et er hvad udviklerne forventede ville komme ud af værktøjet – et andet er hvad der rent fakstisk kommer ud. Ved kommunikation mellem to systemer, hver især kontrolleret af to forskellige parter (forskellige programmeringssprog, platforme, verdensdele etc.) vil der opstĂĄ problemer nĂĄr de to IDE/RAD genererede kontrakt dokumenter sammenlignes og interoperabilitet kan og vil ikke finde sted. Derfor giver det meget god mening at lade de to systemkontrollerende parter blive enige om en fælles kontrakt (meget gerne en maskinlæsbar xmlbaseret kontrakt) inden system integration mellem de to systemer kodes. CF giver det bedste fundament for interoperable systemer og fejl og debugging bliver en anelse nemmere at pin-pointe. Derfor er Contract First vigtig! Har Microsoft support for â€?Contract Firstâ€? til Webservices? Microsoft har ikke dedikeret support for CF – faktisk kender jeg ikke til IDE/RAD værktøjer – i eller uden for Microsoft , som har CF support til udvikling – jeg vil gerne peges i retning af noget hvis andre kender til et produkt. Men det betyder ikke at CF for webservices ikke kan laves gennem f.eks Visual Studio se denne webcast, som omhandler CF med et gratis plug-in til Visual Studio. Er CF det eneste man skal bekymre sig om i en webservice â€?life cycleâ€?? Nope, men mere om det senere – CF er et rigtig godt udgangspunkt.      Published Monday, June 26, 2006 12:07 PM by renel [...]

Leave a Reply

You must be logged in to post a comment.