Technolog

Blogging over technologie.
Welcome to Technolog Sign in | Join | Help
in Search

Todotnet Blog

July 2005 - Posts

  • Windows Longhorn = Windows Vista?

    Zou dit serieus zijn. Volgens het verhaal wordt de Windows Vista de officiële naam van Windows nu bekend onder de codenaam "Longhorn". Ik kan het me bijna niet voorstellen. Niet alleen klinkt het vreemd, maar dit bedrijf zal er ook niet blij mee zijn. Of deze, of deze. Nee, het moet een grap zijn. Of toch niet...

    [update]

    Ik zie steeds meer berichten verschijnen dat het toch echt zo is. Microsoft NL wist het al een paar maanden geleden, getuige deze registratie van de domeinnaam in april.

  • Indigo bijna compleet in Longhorn-bèta

    "Volgens Ari Bixhorn, productmanager bij Microsoft, zal het Indigo-platform in de eerste Longhorn-bèta nagenoeg hetzelfde zijn als het platform dat eind volgend jaar in de winkel ligt. Microsoft wil dat ontwikkelaars zo vroeg mogelijk hun applicaties kunnen bouwen volgens het Indigo-model. " [bron: http://www.webwereld.nl/articles/36347]

    Er staan wel wat onjuistheden in het verhaal. Zo staat SOAP inmiddels niet meer voor Simple Object Access Protocol, d.w.z. volgens Microsoft niet meer ;-) Ook ligt de nadruk in het verhaal op webservices, en Indigo is ruim meer dan webservices.

     

  • Win 50.000 dollar met Visual Studio 2005

    Microsoft heeft een competitie gelanceerd. Je kunt 50.000 dollar, of één van de andere prijzen winnen. Zit je momenteel tussen twee banen of projecten, dan is dit misschien de kans om toch wat geld te verdienen. Uiteraard gaat het om oplossingen met Visual Studio 2005, SqlServer 2005 en BizTalk 2004/2006.
  • Interview met David Vaskevitch

    Na mijn post over de keynote speech van David Vaskevitch ging ik met enige spanning naar het interview. Gelukkig was ik tijdens  het interview niet de enige die zorgen had over de toekomst die hij gisteren schetste.

    Natuurlijk was het niet zijn intentie om een deprimerende toekomst te schetsen. Er worden door IT talloze kansen geschapen voor kleinere bedrijven en mensen in bedrijven. Maar er is weinig sympathie met mensen die momenteel vrij hersenloos werk doen. Het oplezen van informatie van een scherm bijvoorbeeld. Nu kan ik me daar ook wel in vinden, maar de consequenties van deze ideeën voor over 5, 10 of 25 jaar kan ik niet goed overzien. Het werk aan de lopende band is in de afgelopen 80 jaar ook veranderd, waardoor de zinvolheid van dit werk en de mensen die het uitvoeren toch zeker verbeterd is (of kan zijn). Dus misschien loopt het toch goed af.

    Wat ik jammer vond in het gesprek is dat David een meester is in het "management by example". Om zijn idee kracht bij te zetten weet hij telkens een blik anekdotes open te trekken. Het probleem is echter dat voor ieder voorbeeld dat hij gebruikt om zijn argument kracht bij te zetten er net zo goed één (of meer) kan zijn die het tegendeel bewijst. Natuurlijk zijn er talloze bedrijven die met de komst van nieuwe (internet-)mogelijkheden gigantische vooruitgang hebben geboekt. Ten koste van... dat wel. "Life's tough; get used to it"  Nee dat was geen uitspraak van hem, maar zo kwam het wel over.

    Afijn, ik ben blij even van gedachten gewisseld te kunnen hebben. Zo'n kans krijg je niet dagelijks. We moesten maar weer eens aan het werk.

  • Planning and Deploying Microsoft Operations Manager (MOM) 2005

    Deze sessie was anders in die zin dat iedereen achter een computer werd geplaatst met daarop Virtual PC waarin 3 instanties van een Windows 2003 server. Nu is de titel van de sessie wat misleidend. Mijn idee was dat dit een sessie was waarin het ontwerp werd vastgesteld en best practices worden overgebracht. In werkelijkheid doorliepen we in een periode van ca 1 uur een complete installatie van MOM 2005. Voor mij was dat eigenlijk wel zo prettig, want alhoewel ik over MOM heb gehoord en af en toe wat gezien, zie je door een installatie welke opties je hebt en hoe je MOM kunt gebruiken. Natuurlijk, gezien de tijd, slechts op een wat hoger en oppervlakkig niveau. Aan het eind hadden we wel een MOM draaiende met rules, alerts, reports etc. Mooi spul zullen we maar zeggen. Ik moet nog wel eens uitzoeken hoeveel netwerkbandbreedte zo'n MOM omgeving nu eigenlijk genereert. Vooral gezien de hoeveelheid informatie die je krijgt.

    Ik hoop dat dit soort sessies, hands-on, geen slides maar zelf aan de knoppen, in de toekomst wat vaker worden gedaan, ook voor ontwikkelaars.

  • Reguliere expressies

    Nee, het is gisteren niet zo laat geworden. Het Tech-Ed feestje was wel aardig, maar ik ben toch maar wat vroeger naar huis gegaan. Dus tijdens de sessie van Roy Osherove over reguliere expressies was ik redelijk wakker. En dat is, bij zo'n onderwerp, wel zo prettig.

    Nu is het geen geheim dat reguliere expressies erg krachtig zijn. Maar ook... onleesbaar. Dat wil zeggen, ik kan het bijna niet lezen. Ik gebruik het niet dagelijks, en opbouwen van een reguliere expressie 'from scratch' valt dan niet mee. André Obelink heeft er een artikel over staan.

    We gebruiken reguliere expressies voor:

    1. validatie van tekst
    2. manipulatie van tekst
    3. parsen van tekst (voor zoeken, screen scraping, gegevensverzameling)

    Een paar lijstjes van de slides.

    Enclosing Alternatives with []

    • [Cc]                     Capital or lowercase c
    • [A-Z]                   Any capital letter A through Z
    • [A-Za-z]              Any capital or lowercase letter
    • [0-9]                    Any digit 0 through 9
    • [A-Za-z0-9]        Any letter or digit
    • [0-9.+-&=%]      Any digit or special char listed

    frequency operators

    • ?             0 or 1
    • *             0 or more
    • +             1 or more

    Convenience expressions

    • \d             Any digit
    • \D             Any non-digit
    • \s             Any whitespace character (such as a space or tab)
    • \S             Any character other than a whitespace character
    • \w             Any number or letter
    • \W             Any character other than a number or letter

    Roy laat een aantal simpele, oké niet allemaal even simpel, maar doeltreffende demos zien. Waar het eigenlijk op neer komt is dat je reguliere expressies moet leren, zoals je een taal als SQL, XPath of XSLT leert. En zo beschouwd, is de drempel om reguliere expressies gebruiken niet meer zo hoog.

    Handige links:

     

  • Keynote speech: the future of ... ja wat eigenlijk

    Ik heb even getwijfeld of ik zo snel na de keynote van David Vaskevitch al een soort 'review' van zijn verhaal moet geven. Waarom... dat lees je zo. Om eerlijk te zijn, ik was ietwat te laat bij deze sessie, dus ik heb het begin gemist.

    Maar op het moment dat ik instapte, en de zaal zat vol, dus ik bleef maar even staan, had hij een naar mijn idee tamelijk deprimerend verhaal over "rewiring the economy". Er werden allerlei voorbeelden aangehaald van, inmiddels, megagrote ondernemingen (amazon, ebay, walmart) en waar zij hun succes aan te danken hadden. Maar waar het vooral op neer kwam was dat deze bedrijven er in geslaagd zijn om de 'human factor' zo veel mogelijk weg te automatiseren. En dat is een 'a good thing'? Ander voorbeeld: een vliegmaatschappij zou 17.000 mensen kunnen ontslaan door meer gebruik te maken van webservices, of andere vormen van connected systems. Meneer Vaskovitch weigert te tanken bij een pompstation waar je niet direct kunt betalen met een credit card.

    Nu ben ik een ontwikkelaar, en ik vind het geweldig om zaken te automatiseren. Maar liefst maak ik het leven van mensen, of het nu klanten, collega's of anderszins zijn, rijker met applicaties. Niet armer. Het verhaal ging verder door terug te gaan. Terug te gaan naar hoe het 'vroegah' was. En hoeveel we vooruit gekomen zijn. En laten we die lijn vooral doortrekken. Het idee ontstaat dat in het utopia alles is weggewerkt in systemen en applicaties. Je hebt nergens meer persoonlijke interactie nodig. Toegegeven, soms is interactie met medewerkers van een bedrijf niet de meest prettige ervaring. Maar om deze dan maar te vervangen door een invulscherm? Nou, dat toch liever niet. Niet overal. Hoe rijm je deze ideologie met het helpen om iemands potentie te onstluiten, da's toch het motto?

    Afijn, het verhaal sprak me niet aan. Het was weinig inspirerend of vernieuwend. Morgen heb ik, samen met een paar anderen, een persoonlijk gesprek met deze Senior Vice President, Chief Technical Officer for Business Platform. Heb jij bepaalde ideeën over dit onderwerp? Ben je het absoluut niet met mij eens, of juist wel, laat het weten en ik probeer de implicaties van hetgeen hij voorstelde op tafel te leggen. Ik ben erg benieuwd naar zijn, en jouw, reactie.  

  • ARC311 Event-driven Architectures

    Gregor Hohpe doet een sessie over Event-Driven architectures. Event-driven programmeren heb ik altijd een vrij lastig manier gevonden. Alhoewel erg krachtig, zit ik vaak met threading problemen en is het erg lastig te debuggen. Maar event driven ontwerpen kunnen erg handig zijn als je dingen parallel wilt uitvoeren, geen controle hebt over de volgorde, je niet weet wie een functie of service beschikbaar heeft of gedistribueerde schaalbaarheid wilt.

    De sessie begint eigenlijk over composability. Re-use, component-based, unit-testing en neem niet te veel vooraf aan over de manier waarop het wordt aangeroepen. Een beetje ontwikkelaar gebruikt deze principes al. Een belangrijk concept is het gebruik van channels. En daarin is de naamgeving, vanuit semantisch oogpunt, belangrijker dan je op het eerste gezicht zou denken. Je kunt het channel namen geven op basis van:

    • het doel - CreditService
    • de actie  - VerifyCreditCard
    • het bericht - PaymentInfo
    • de gebeurtenis - OrderReceived

    De keuze die je hierin maakt bepaalt de implementatie en vervolgens de mate waarin deze implementatie meer of minder 'loosely coupled' is. Je kunt je voorstellen dat in een event driven architectuur de laatste naamgeving, op basis van de gebeurtenis, de voorkeur heeft.

    Andere ontwerp beslissingen zijn:

    • Point-to-Point vs. Publish-Subscribe
    • Distributed vs. Distributable
    • Asynchronous vs. One-Way
    • Technology Specific vs. Technology Neutral
    • Routing by Channel Name vs. Hierarchy
    • Explicit Composition vs. Implicit Composition

    Ter afsluiting een vergelijking tussen callstack (of sequentieel) programmeren en event-driven programmeren:

    Call Stack Event Driven
    • Top-down
    • Design-time composition
    • Sequential
    • Synchronous
    • Predictive
    • Transactional (Pessimistic)
    • Centralized state
    • Error handling simple
    • Bottom-up
    • Run-time composition
    • Parallel
    • Asynchronous
    • Reactive
    • Compensation / Retry (Optimistic)
    • Distributed state
    • Error handling / diagnostics more involved

    Wat begon als een relatief herhalende sessie, veranderde in een hele interessante. Toch vraag ik me nog wel af of de load van een event-driven architectuur nog wel goed te beheersen is. Wanneer het aantal events oploopt en de eventhandler(s) hebben veel tijd nodig om e.e.a. uit te voeren, zie ik het gevaar dat het systeem als het ware 'op hol slaat'. Hoe voorkom je dat? Zijn channels in de vorm van queues de enige manier?

    Meer informatie op www.eaipatterns.com.

  • Even bijwerken

    De foto's hier laten misschien zien waarom ik gisterenavond weinig energie meer had om nog even een post te verzenden. Ik was om twintig voor één thuis. En om 6.30 ging de wekker weer...

    Maar goed, dan toch wat highlights van de sessies. Rob Howard had in zijn sessie over databeheer in een SOA omgeving wel wat interessante punten. Het is vooral belangrijk om vast te stellen wie de eigenaar is van een bepaalde entiteit. Dat mag er maar één zijn. Zijn suggestie voor het verbeteren van performance in een service oriented omgeving door gebruik te maken van caching vond ik wat mager.

    In een chalk & talk sessie met Clemens Vaster en Steve Swartz kwam die, inmiddels niet meer zo revolutionaire uitspraak, dat een service oriented architecture niet bestaat. Het belang wordt vooral gehecht aan een bepaalde vorm van service oriëntatie, uitgaande van de 4 fundamenten. Waneer deze uitgangspunten worden gehanteerd in een ontwerp kan iedere architectuur service oriented zijn. Een aardige discussie ontspon zich, zo ondervond Michiel ook..

    In(di)go Rammer en Steve Swartz doen ook een prima sessie over Indigo. Ingo laat een leuke demo zien over het gemak van configurable endpoints in Indigo. Ik hoop wel dat er een configuratietool komt om alle opties en mogelijkheden in te stellen.

    [update]
    Ingo heeft zijn samplecode online beschikbaar. Leuk om Indigo's mogelijkheden zelf te proberen 

  • The Fallacies of Enterprise Computing

    Ted Neward presenteert de 10 valkuilen voor een ontwikkelaar. Eh... geen commentaar.

    "Essentially everyone, when they first build an enterprise application, makes the following 10 assumptions. All turn out to be false in the long run and all cause big trouble and painful learning experiences."
    1) The network is reliable
    2) Latency is zero
    3) Bandwidth is infinite
    4) The network is secure
    5) Topology doesn't change
    6) There is one administrator
    7) Transport cost is zero
    8) The network is homogeneous
    9) The system is monolithic
    10) The system is finished

  • In(di)go?

    In de sessie "CTS366 Implementing Indigo Endpoints: Secure, Reliable, & Transacted" wordt Ingo Rammer een paar keer door Steve Swartz aangekondigd als Indigo Rammer...een freudiaanse verspreking?
  • Events website is traaag...

    Een van de handige dingen van de Microsoft events website voor Tech-Ed is dat je de powerpoints presentatie kan downloaden vóór de sessie. Zo kan je aantekeningen maken op je laptop bij de slides. Natuurlijk had ik al dit powerpoint bestanden al lang moeten downloaden, maar ja. Probleem nu.. de site is zooo traag.
  • Geïnterviewed door Ron Jacobs

    Zit ik nietsvermoedend, de slaap nog uit mijn ogen wrijvend, aan het begin van de 8:30 sessie door Ron Jacobs. En hij loopt rond met een microfoon, duwt 'm voor mijn neus en gaat allerlei vragen stellen. Daar was ik niet op voorbereid ;-) Nou ja, ik kon even DevTips.NET noemen. En ik maakte de blunder te vertellen dat we vorig jaar wel eens een bijeenkomst hebben gehad over de enterprise library. "Ja, maar dat was een jaar geleden".-" Hoe kan dat dan, want we hebben we pas een half jaar geleden uitgebracht". Oeps. Nou ja, ik heb vorig jaar een sessie gedaan voor de SDN over de Enterprise Development Reference Architecture (EDRA). Dat was rond dezelfde tijd als Entlib was uitgebracht. Het valt niet mee om de stroom van tools, patterns en practices echt goed bij te houden.

     

  • Kwaliteit van de sessies

    Michiel vraag zich af of hij te veeleisend is. Na een dag of wat Tech-Ed wordt al ge-evalueerd of de kwaliteit van de sessies wel goed is. Ik vind het nog een beetje kort dag om daar al een gewogen oordeel over te geven. De keynote speech was weinig enerverend, daar zijn de verschillende personen die ik sprak het wel over eens. De acteurs die de verschillende rollen in een it-omgeving moet voorstellen deden het wel leuk, maar je ligt er niet van in een deuk. Moet dat dan? Nee, dat ook weer niet. Moet het in-depth zijn? Nou, niet in een keynote. Het lijkt me lastig om content te bedenken voor een zaal met 7000 mensen. Je kunt niet iedereen op het puntje van hun stoel laten zitten. Het gevolg was echter een erg gematigde, oppervlakkige keynote. Voor iedereen wat, en tegelijkertijd weinigzeggend.

    Maar goed, de sessies zelf? Ik wacht nog even af.

  • What's the buzz: DSI

    Het thema van Tech-Ed is dit jaar: "inspiration shared". Nu kan ik me daar nog niet zo veel bij voorstellen, maar misschien heeft het te maken met DSI. Wat? DSI? Oké, weer een DLA. DSI staat voor Dynamic Systems Initiative. Niet schrikken als je op de link klikt. Hij verwijst naar een pagina op de Microsoft Windows Server website. Wat moet ik daar als een ontwikkelaar mee? Misschien is het ook de verkeerde plek waar DSI staat. Zoals ik het begrijp heeft het alles te maken met de communicatie tussen de verschillende partijen die van belang zijn bij het ontwerpen, bouwen, testen, runnen en gebruiken van applicaties. Daar zijn zo veel partijen bij betrokken dat het overleg en discussie tussen al die partijen zoveel tijd kost dat tegen de tijd dat de klant/gebruiker eindelijk heeft gekregen wat ze heeft gevraagd, ze die vraag al weer vergeten is.

     In een presentatie over Visual Studio 2005 Team Edition for Software Architects (die naam zal ik niet onthouden) ging het ook over de samenwerking tussen de solutions architect en operations, of de infrastructuur architect. Het is nogal vervelend als je een applicatie aan het ontwerpen en bouwen bent die allerlei technische requirements heeft die niet beschikbaar zijn in de infrastructuur waar de handel moet gaan draaien. Vervelend vooral als je op het punt staat de applicatie in produktie te brengen. Deze Software Architect editie heeft verschillende designers waarmee je kunt valideren of jouw oplossing wel een plekje mag krijgen. Het lastige in deze blijft dat je er veel voorbereiding voor nodig hebt om de infrastructuur goed in kaart te hebben. En dan gaat het niet enkel op machines en ip-adressen, maar vooral om policies. Wat mag je waar doen? Staat er eigenlijk wel Internet Information Server op? Is de SQL Server wel bereikbaar vanuit de buitenring? Goed inventariseren is de oplossing. Je wordt er wel bij geholpen, maar voorlopig kunnen enkel de IIS settings worden opgehaald.

    Heb je het plaatje compleet dan kan je de benodigde configuratie (software en hardware) uitdraaien in een html document. Nu, documentatie is mooi, en beheerders leven bij de aanwezigheid van documentatie, maar de output van deze configuratie in html beslaat tientallen pagina's, tot op individuele registry keys. Ik denk niet dat ik de it operations afdeling die ik ken erg blij maak met dergelijke uitdraaien.

    Tegen het einde van de sessie kreeg een Microsoft partner het woord. AVIcode levert functionaliteit in Visual Studio .NET om ook de 'gezondheid' van de applicatie te bepalen en te monitoren. Deze health-monitoring functies gaan vooral over excepties en performance. Je kunt aangeven wat de threshholds, of grenswaarden, zijn voor de duur van methoden en fouten in je applicatie. Zonder een regel code te genereren of te verplichten. Zodra er een probleem optreedt kan je via het zelf te bepalen notificatiemechanisme (WMI, mail, eventlog, etc.) een bericht afvuren met alle details rondom het probleem, de toen geldende parameterwaarden, tot op de coderegel waar het fout is begonnen. En niet, zoals vaak in applicaties, tot de plek waar de exceptie voor het eerst werd opgevangen. Volgens een recent verschenen artikel op eweek is dit de kern van DSI.

  • Toch weer naar de architectuur track

    Het kleine uitstapje naar de ASP.NET 2.0 track was toch niet zo'n succes. Jeff Prosise is een goede spreker, maar een opsomming en demonstratie van de nieuwe features van ASP.NET 2.0 kan ik ook wel lezen in de documentatie. De nieuwe APIs, Profiles, Membership, Login controls etc zijn zeker nuttig hoor.

    Maar goed, toch maar terug naar de architectuur track. Gelukkig is het nu wat praktischer. Hoe ze overigens de stap van high-level theorie naar de praktijk hebben gemaakt heb ik net gemist. Beat Schwegler gaf een presentatie van zijn Guidance Automation Toolkit. Een erg handige tool, werkend als add-in in Visual Studio, om de principes van SOA in de praktijk te brengen. Er zitten nog wel enkele bugs in. Ik had wel een kleine dejà vu ervaring met deze tool. Shadowfax, later bekend als de EDRA (enterprise development reference architecture) bevatte ook zo'n add-in. Probleem is dan echter: team weg, support weg. Ik ben benieuwd wat men qua support van deze GAT mag verwachten.

  • Ochtendsessie Architectuur

    Ik heb me voorgenomen vooral naar de architectuur tracks te gaan. Niet omdat dit mijn 'expertise' is, maar omdat de hierin besproken onderwerpen me interesseren.

    Vanochtend, in een pre-conference sessie over de architectuur van connected systems ging ik er dus eens voor zitten (en kwam tegelijkertijd Michiel tegen). Er zit naar mijn idee een behoorlijke kloof tussen de applicatie architect en de enterprise architect. Op grond van de tot nu gevolgde sessies, moet ik concluderen dat een enterprise architect geen it-er moet zijn, maar een business analist. Het is veel belangrijker om de business te begrijpen, en te vatten in modellen. Interessante stof, maar ja, ik ben en blijf voorlopig liever it-er. Om kort te zijn, het was me allemaal te abstract, of eigenlijk: te zweverig. Een tweede sessie introduceerde een business modeling methodiek bekend als Motion.

    Afijn, ik blijf liever met beide voeten op de grond. Vandaar dat ik eens switch naar de pre-conference track "The Zen of ASP.NET 2.0".

    Het valt overigens niet mee om de sessie goed te volgen. Het regent pijpenstelen buiten en dat rammelt op het dak van de RAI. Dan gaan ook nog eens de maandelijkse sirene-test van start. Gelukkig wisten genoeg Hollanders in de zaal het publiek te kalmeren: "no panic!".

  • En de kleur is...

    Zwart, en wat grijs. Waar hebben we het over? Over de tas natuurlijk. Altijd weer een heet onderwerp van iedere conferentie, hoe is de tas. Hij ziet er stevig uit en lijkt me praktischer dan die van vorig jaar. Wie weet hang ik mijn PDC 2003 tas nu echt aan de wilgen.

    TechEd Tas

  • Tech-Ed 2005 morgen van start

    Morgen begint de Tech-Ed 2005 Europe conferentie. De eerste dag wordt traditioneel gevuld met pre-conference sessies. Voor de puristen onder ons, vooruit, dinsdag begint de conferentie pas echt met de keynote van Andrew Lees (Corporate Vice President, Server and Tools Marketing Microsoft Corporation).

    Wil je het wel volgen, maar kan je er niet persoonlijk bij zijn, lees dan de voor de gelegenheid gegroepeerde weblogs van diverse Tech-Ed gangers. De weblogs leveren een persoonlijk verslag van hetgeen tijdens Tech-Ed aan de orde komt. Dat kan technisch zijn, maar hoeft natuurlijk niet. Je kunt je abonneren via de OPML lijst die Alex Thissen bijhoudt. Er loopt ook een directe RSS feed, vanaf DevTips.NET. Deze aggregeert de weblogs op basis van diezelfde OPML lijst.

    Wil je ook eens zien hoe e.e.a. er aan toe gaat, kijk dan op de RAI webcams (via André Obelink).

Powered by Community Server, by Telligent Systems