PreConference og velkommen til L.A


Velkommen til Daniel's PDC og velkommen til L.A 🙂

Jeg sidder lige pt. i et kølerum i Los Angeles Convention Center. Jeg er ikke alene i rummet. Der sidder faktisk 600-700 mennesker sammen med mig, og vi fryser alle sammen. Jeg har aldrig helt forstået konceptet med air condition, det er utroligt ubehageligt, både for min hals og resten af mine åbne huller på kroppen (skal ikke misforståes). Derfor ved jeg med 100% sikkerhed, at jeg bliver syg inden jeg kommer hjem til Danmark igen.

Jeg ankom igår aftes og havde de to tosser med på slæb: René og Henrik that is. Vi skulle alle have været indlogeret på Hotel Roosevelt på Hollywood Boulevard (ja, vi er superstjerner), men René havde dummet sig og kunne ikke få et værelse pga. en indtastningsfejl på hotelets hjemmeside. Så René og jeg fik et værelse på et meget finere og bedre hotel end Henrik, og fik endda lige en kold øl inden vi smuttede til køjs.

Jeg vågnede imorges kl. 7, helt væk og jetlaget. Et hurtigt bad gjorde underværker, også ned til en gang amerikansk morgenmadsbuffet med alt hjertet begærer. Jeg var nu klar til PreConference med Juval Lowy og Ron Jacobs. Juval snakker faktisk WCF mens jeg skriver dette.

WCF er det nye .NET (ihvertfald hvis du spørger Juval).

Er det tid til et platform skift ? Hvad gjorde vi før .NET ? Hvordan blev .NET brandet i 2001 ?

WCF er en SOA platform som bygger på CLR data typerne. De fleste der tænker på ordet SOA er Service Oriented Architecure (Hvad fanden skal det nu betyde ?) (Du skal tænke interoperabilitet, service oriented applications, ikke architecure). Interoperabilitet betyder at vi kan snakke med hinandens applikationer på tværs af platforme og teknologier - basta! I WCF betyder det, at vi f.eks sender en SOAP besked til en klient, som oversætter den til den teknologi klienten nu engang kender. Klienten snakker ikke direkte med servicen, men med en proxy klasse som klienten selv kan udvikle eller få genereret. Der er en masse "plumbing kode" imellem et request og et response. Beskeden skal igennem et lag af channels inden den bliver sendt videre til klienten eller servicen (sker begge veje). De her channels behøver vi ikke bekymre os for meget om, de er lavet for os og er umiddelbart ikke synlige for hverken klienten eller service udvikleren (du kan godt implementere dine egne). Service channels er en af grundene til, at vi ikke behøver at bekymre os så meget om "plumbing kode" for det tager frameworket sig selv af.

SOA har intet med arkitektur at gøre...giv mig nu bare den metode!

Du skal ikke tænke på WCF som en "fluffy" arkitekt platform - det er det ikke! WCF har flere formål hvor interoperabilitet selvfølgelig er det vigtigste. WCF tillader en anden måde at udvikler sine applikatiner på end det man er vant til i .NET. Jamen er WCF ikke .NET ?

   1:  using System.ServiceModel;
   2:  using System;
   3:   
   4:  namespace WcfService3
   5:  {
   6:      [Serializable]
   7:      public class Service1 : IService1
   8:      {
   9:          public string GetData( int value )
  10:          {
  11:              return string.Format( "You entered: {0}", value );
  12:          }
  13:   
  14:          public CompositeType GetDataUsingDataContract( CompositeType composite )
  15:          {
  16:              if( composite.BoolValue ) {
  17:                  composite.StringValue += "Suffix";
  18:              }
  19:              return composite;
  20:          }
  21:      }
  22:  }

Nej, WCF er ikke .NET!

I .NET arbejder vi med objekter, i WCF arbejder vi med services. Ovenstående er ikke .NET, det er WCF :0)

Jamen er det ikke lige meget om vi arbejder med objekter eller services...vi skal jo bare have en metode til at lave noget arbejde ? Skal alt nu til at være service baseret istedet et gode gammeldags CLR objekter ? Havde vi ikke funktioner før objekter ?

Rolig nu...

Jeg ved godt ovenstående var lidt "blurry", men helt ærligt, hvis du ikke er gået i WCF mode endnu, så skal du altså se at komme ind i kampen :0). WCF er ikke blot super fedt at arbejde med, det virker også over hele .NET stakken. Så hvis du allerede kender .NET er WCF noget nemmere at komme igang med.

Juval Lowy er en super fed taler, er blevet udråbt til at være en "software legend", og har skrevet et par bøger om interoperabilitet på windows platformen. Hvis du vil læse noget han har skrevet kan du købe hans nyeste bog på amazon her.

Nu skal jeg ud af den her køle boks og have mig en varm "et eller andet" og en cigaret.


Comments (1)
  1. Bare for at være irriterende som jeg jo altid skal være 🙂

    Du sætter lighedstegn mellem SOA (begrebet) og WCF(teknologi), er du sikker på du vil det. Hvis ja har vi ihvertfald helt sikkert et livligt emne til næste gang vi støder hovederne sammen.

    Du beskriver WCF som en ny version af .NET som du fremstiller som "arbejde med objekter" og WCF som "arbejde med services". Men reelt ser er dine services jo bare objekter med en forskellig afgrænsning af ansvarsområder og så er vi jo netop tilbage til den Service Orienterede Arkitektur du så gerne vil undgå?

    Hvis vi skal være helt pedantiske er .NET nu heller ikke specielt objektorienteret i sig selv især ikke efter F# og dennes IronXxxx forfædre kom på banen. Rent faktisk findes der efterhånden sprog til alle paradigmer til .NET platformen, dog ikke nogle "service orienterede sprog" så vidt jeg ved men at kalde WCF for det er også i min bog en fejl

    Men jeg håber da at du fik noget ud af præsentationen og ikke missede nogle af de ting jeg beskriver her fordi du sidder og blogger 🙂

Comments are closed.

Skip to main content