In het zog van de langverwachte nieuwe Windows- en Office-versies heeft Microsoft 2007 uitgeroepen tot een jaar vol innovatieve nieuwe software. Na de eindgebruikers zijn nu de professionals aan de beurt. Op 13 en 14 juni krijgen zij op de DevDays 2007 in de RAI de nieuwe ontwikkelingen voorgeschoteld. Computable geeft een vooruitblik.
Microsoft toont op de DevDays, volgende week in de RAI te Amsterdam, zijn nieuwe en komende software voor ontwikkelaars, systeembeheerders, infrastructuurexperts, beveiligingsspecialisten en andere ict’ers. Belangrijk is de door ceo Steve Ballmer in Nederland onthulde beheer- en beveiligingssoftware System Center 2007 en Forefront. Eerstgenoemde is de volgende versie van de Microsoft-tools voor infrastructuurbeheer, met – voorlopig nog bètaversies van – de Configuration Manager, Operations Manager, Virtual Machine Manager en Data Protection Manager. Microsofts portfolio van de tegenwoordig essentiële beveiligingsproducten krijgt een flinke oppepper met Forefront Security.
Aan de technische kant is er versie 3.0 van het .NET Framework, dat verbinding biedt met de nieuwe Vista-technieken Windows Communication, Workflow en Presentation Foundation. Ook belicht worden de Visual Studio Tools for Office 2007, die bieden ontwikkelaars nieuwe mogelijkheden voor uitbreidingen. Interessant is ook de PowerShell, het langverwachte antwoord van Microsoft op de krachtige command-line consoles van de Linux- en Unix-wereld.
Verder is er Expression, de gemeenschappelijke noemer voor het aanbod creatieve producten waarmee websites ontworpen en opgesmukt kunnen worden. Die software belooft een gestroomlijnde wisselwerking tussen de pure ontwikkelaars die voor de functionaliteit moeten zorgen, en de grafische ontwerpers die er de nodige aantrekkingskracht aan dienen te geven.
Zeker met de komst van Windows Vista is de kwestie ‘thin client versus fat client’ weer erg actueel geworden en daar moet de software van het overgenomen Softgrid een nieuw perspectief op bieden. En dan is er natuurlijk Windows Server 2008 (codenaam Longhorn Server), dat eind dit jaar uit moet komen. Computable belicht uit deze overvloed aan bèta’s, aankondigingen en ander marketinggeweld enkele producten die al concrete vormen aannemen.
POWERSHELL
Microsoft geeft met PowerShell toe aan de wens van veel systeembeheerders, voor wie de oude vertrouwde command-line commando’s een must zijn. Daarmee is in een mum van tijd een stortvloed aan systeeminformatie te verkrijgen. Bovendien laten commando’s zich veel makkelijker automatiseren in scripts en andere opvolgers van de polyvalente batchbestanden van weleer.
PowerShell staat voor een geheel van zo’n 130 commando’s met een consistente syntax, met erachter weer evenveel hulpmiddelen. Hiermee valt het systeembeheer te controleren van Windows XP, Vista, Server 2003, Server 2008, Exchange Server 2007, System Center Operations Manager, Data Protection Manager en Virtual Machine Manager 2007.
Gratis download
Deze krachtige commando-software is gratis te downloaden van de Microsoft-website. Het manifesteert zich na installatie als een command-line schil rond één van die nieuwere Windows-versies. Eigenlijk de omgekeerde wereld, zou je kunnen zeggen: aanvankelijk ontstond Windows juist als een grafische schil rond de command-line wereld van MS DOS.
Maar PowerShell gaat veel verder dan dat. Het doelpubliek is niet langer elke gevorderde gebruiker van het besturingssysteem, maar juist de systeembeheerder. Bovendien is het gebouwd bovenop de Common Language Runtime (CLR) van het .NET platform en het .NET Framework. Dit houdt in dat het resultaten niet als tekst weergeeft, maar als .Net-objecten. Dat staat in tegenstelling tot de meeste ‘tekstschilproducten’, zoals CMD.EXE onder Windows, maar ook SH, KSH, CSH en BASH onder Unix.
De ingebouwde commando’s hebben allemaal een consistente interface. Bovendien gebruiken ze allemaal dezelfde verwerkingscomponent (parser), zodat het gebruik veel sneller is aan te leren. Zoals zoveel schilproducten geeft ook PowerShell toegang tot het bestandsysteem op de computer, maar ook andere gegevensbronnen, zoals het register of opgeslagen certificaten van digitale handtekeningen.
Command-let
Het concept van een cmdlet (spreek uit: ‘command-let’) wordt geïntroduceerd. Dit is een eenvoudige command-line tool binnen de schil, die één enkele functie aankan. Deze tooltjes kunnen ieder op zich gebruikt worden, maar hun kracht komt pas ten volle tot uiting als ze in combinatie met elkaar worden gebruikt om complexe taken te vervullen. Ook zijn ze allemaal erg eenvoudig, dit in tegenstelling tot bepaalde tegenhangers in andere shells (denk maar aan NETSH.EXE). Een cmdlet bestaat uit een werkwoord, een streepje en een naam: Get-Help, Start-Service. Informatie over het gebruik is te vinden met ‘Get-Help’, gevolgd door de naam van het cmdlet, eventueel nog gevolgd door ‘-detailed’. Bovendien hebben de tooltjes allemaal een verkorte vorm of alias, waarvan sommige vertrouwd voorkomen: zo volstaat ‘del’ voor ‘Remove-Item’ of ‘kill’ voor ‘Stop-Process’. Het is ook mogelijk eigen aliassen aan te maken.
Een van de grote voordelen van de resultaatweergave als .Net-objecten, is het gemak waarmee die output van het ene commando kan dienen als input voor het andere commando. Dit pipelinen gebruikt de vertrouwde rechte streep (‘|’) als symbool: zo geeft een bevel als ‘ipconfig | findstr ‘Address’’ alleen de regels waarin ergens het woordje ‘Address’ voorkomt.
Het illustreert ook de kracht van het rechtstreeks omgaan met objecten: om bijvoorbeeld bestanden in een map te sorteren op hun grootte, hoef je niet te weten dat deze tekstuele informatie zich in de vijfde kolom bevindt en numeriek geïnterpreteerd moet worden. Het volstaat te weten dat ‘length’ een van de eigenschappen is van het object dat het Get-ChildItem (kortweg ‘ls’) cmdlet als resultaat oplevert, en dit aan het Sort-Object cmdlet mee te geven.
Volwaardige scripting
Ook de stap naar een volwaardige vorm van scripting is erg klein: daartoe volstaat een bestand met de gewenste opeenvolgende commando’s, met als extensie ‘.ps1’. Om beveiligingsrisico’s te voorkomen, kan een uitvoeringsbeleid (policy) bepalen of de commando’s uitgevoerd mogen worden, en of ze een digitale handtekening moeten bevatten. Daarnaast is PowerShell-standaard zo geconfigureerd dat het alleen op een interactieve manier (lees: van de commando-prompt) kan worden gebruikt. En PS1-scripts worden nóóit uitgevoerd door een simpele dubbelklik.
SYSTEM CENTER
De talrijke modules uit de System Center-familie zijn gericht op het oproepen en aggregeren van informatie uit de ict-infrastructuur. Dat is inclusief alles wat daarbinnen draait of gedefinieerd is. Het ultieme doel is het verbeteren van de beschikbaarheid van de applicaties en dus het optimaliseren van de algemene dienstverlening. Uiteindelijk moet dit natuurlijk ook het kostenplaatje ten goede komen.
De diverse componenten van de System Center-familie kunnen veel voordelen brengen voor de vele bedrijven die zich met handen en voeten vastgeklonken hebben aan SQL Server als database, volledig afhankelijk zijn van Exchange Server als centrale voor alle e-mail, en Office als overheersend kantoorpakket op elk werkstation hebben. Die ondernemingen staat een beter beheer, beveiliging, schaalvergroting, betrouwbaarheid en efficiëntie te wachten. Daarvoor moeten zij wel eerst goed een keuze maken uit het forse en steeds verder groeiende aanbod dat System Center is. Hier zijn de belangrijkste onderdelen op een rij:
SC Operations Manager 2007, alweer toe aan de derde versie, waakt over de duizenden operationele evenementen. Het houdt een oogje op het prestatieniveau van alle servers, applicaties en clients die deel uitmaken van de algehele ict-infrastructuur van het bedrijf. Centraal staan end-to-end service management en een verhoogde efficiëntie en controle door nieuwe technologie. Dat laatste omvat het System Definition Model (SDM) en de PowerShell script engine (zie elders in deze preview).
De SC Configuration Manager was vroeger beter bekend als System Management Server. Die software moet de handmatige taken reduceren en kwetsbaarheden opsporen. Mogelijke zwakke plekken zijn verkeerde instellingen, foutgelopen installaties, onnodig draaiende services, automatische updates, of een teveel aan lokale beheerders voor een bepaalde pc.
De SC Data Protection Manager 2007 zorgt voor een gecentraliseerde back-up en herstel, een consistente gegevensbescherming. Datawijzigingen worden om de vijftien minuten gesynchroniseerd in plaats van met de gebruikelijke nachtelijke frequentie. Herstel van Exchange-, SQL- en SharePoint-servers is hiermee mogelijk zónder constante replicatie en de daarbij horende complexiteit. Het herstel komt neer op het doorbladeren van een gedeelde schijf en het kopiëren van het Data Protection Manager-platform terug naar de productieomgeving. Eindgebruikers kunnen dit dus desnoods zélf doen.
System Center Essentials is een proactieve, integrale beheeroplossing voor middelgrote bedrijven. Zij kunnen hiermee vanuit een centrale console alle servers, clients, hardware, software en ict-diensten in het oog houden, terwijl systeemupdates en gegevenscollectie geautomatiseerd worden.
De SC Virtual Machine Manager 2007 is een op zichzelf staande beheerapplicatie voor een virtueel datacenter. Het kan werklasten identificeren die in aanmerking komen voor consolidatie op virtuele machines. Daarbij houdt de beheersoftware zelfs rekening met historische fluctuaties; zo komt een belasting van 100 procent die slechts één maal per maand voorkomt minder in aanmerking dan één die permanent 5 tot 10 procent van de fysieke middelen (resources) in beslag neemt. Vervolgens neemt VMM ook de daadwerkelijke conversie voor zijn rekening.
De SC Capacity Planner tenslotte biedt de nodige begeleiding, hardwarespecifieke kennis en ‘wat als?’-scenario’s voor het uitrollen van Exchange Server en Operations Manager.
VISUAL STUDIO TOOLS
De ‘Visual Studio 2005 Tools for the 2007 Microsoft Office System’ of kortweg VSTO 2005 SE is een gratis toevoeging aan ontwikkelpakket Visual Studio 2005. Deze aanvulling biedt extra mogelijkheden voor ontwikkelaars die oplossingen ontwerpen voor Office 2007. De programmeur krijgt binnen Visual Studio 2007 een extra ‘Office 2007’-vertakking om nieuwe Visual Studio-projecten aan te maken. Daarin staan dan add-in templates voor de betrokken modules; Word, Excel, PowerPoint, Outlook, InfoPath en Visio.
VSTO genereert bij keuze voor één van die modules alle basiscode op projectniveau. Het uitvoeren van die code leidt weer tot de aanmaak van de benodigde invoegingen in het systeemregister en de vereiste beveiligingsvoorzieningen. Dit vereenvoudigt het ontwikkelen en lokaal testen van applicaties. De ontwikkelaar krijgt kant-en-klare stukken code aangereikt die uitgevoerd worden tijdens het opstarten en afsluiten van de add-in binnen de doelapplicatie: de ‘ThisAddIn_Startup’ en ‘ThisAddIn_Shutdown’ subroutines.
‘Loodgieterscode’
Binnenin het project beschikt de ontwikkelaar bovendien over automatische aanvulling van de gebruikte objecten. Dit is het Visual Studio-equivalent van wat in een Office-module IntelliSense heet. Het komt er op neer dat bij het intikken van een instructie als ‘MessageBox.Show (this.Application’ (om een berichtje te tonen in een dialoogvenster) er bij het plaatsen van de punt na ‘Application’ een lijst opduikt van alle toegestane vervolgelementen. Daarbij wordt natuurlijk rekening gehouden met de doelapplicatie. VSTO neemt dus het genereren van de ‘loodgieterscode’ geheel voor zijn rekening, zodat de ontwikkelaar zich kan concentreren op het toevoegen van de zakelijke logica.
Een van de meer geavanceerde functionaliteiten van het ontwikkelproduct is het creëren van een add-in die een extra taakvenster op maat genereert binnen de Office-module. Zo kan de Office-ontwikkelaar bepalen wat er gebeurt als een toekomstige gebruiker klikt binnen het taakvenster.
Office 2007-lintje
Een nieuwe, typische Office 2007-functionaliteit is de zogeheten ‘ribbon’. Dat is een groepje functioneel bij elkaar horende knoppen die gebundeld wordt aangeboden bovenaan de werkruimte van een Office-applicatie. Aan elke deelknop is eigen functionaliteit te koppelen, gebruikmakend van het desbetreffende objectmodel. Zo’n eigen ribbon is zelfs te synchroniseren met het eigen taakvenster. Dit biedt veel perspectieven voor bedrijven die Office 2007 functioneel willen uitbreiden.
Kortom, VSTO geeft aan het programmeren van add-ins een gevoel dat ontwikkelaars vooral gewend zijn van RAD-omgevingen (Rapid Application Development). Dat zou zonder een hulpje als VSTO op de achtergrond een zeer complexe operatie zijn, uitsluitend weggelegd voor doorgewinterde, ervaren programmeurs.
Virtualisatie
Microsoft springt met SoftGrid (van het in 2006 overgenomen Softricity) in op het steeds populairder wordende virtualisatie. Dit betekent applicaties die nooit geïnstalleerd worden, maar onmiddellijk en op aanvraag ter beschikking staan van hun gebruikers, waar die zich ook mogen bevinden. De programma's worden losgekoppeld van het besturingssysteem en uitgevoerd als een netwerkdienst (service). De virtuele applicatieomgeving SystemGuard zorgt ervoor dat elke toepassing draait in een afgeschermd deel (sandbox) op de client-computer, zodat er geen afhankelijkheid is van of gevolgen voor de configuratie van de onderliggende machine.
Forefront security
ForeFront verhoogt de veiligheid van de Microsoft besturingssystemen door er bijkomende veiligheidslagen aan toe te voegen, waardoor informatie beschermd wordt en de toegang tot bedrijfskritieke toepassingen en gegevens onder controle gehouden wordt. Dit wordt verder versterkt door een robuust ‘digital rights management' (DRM). ForeFront dekt alweer een hele familie producten, gaande van Client Security, over ForeFront Security for Exchange, SharePoint & Office Communication Server (het vroegere Antigen gamma van het in 2005 overgenomen Sybari) tot Internet Security and Acceleration Server (ISA) en de Intelligent Application Gateway (IAG).
Orcas, de volgende Visual Studio
Details over de volgende versie van Visual Studio zijn al bekend. De geïntegreerde ontwikkelomgeving gebruikt de Windows Presentation Foundation (WPF, zie elders in dit overzicht) en kan dus ook WPF-projecten aanmaken en er fouten in opsporen. Daarnaast krijgt het pakket een XAML Editor (extensible application markup language) met ondersteuning voor IntelliSense. Het LINQ-project (Language Integrated Query) voorziet Visual Basic 9 en C# versie 3 van een syntax voor queries en klassenbibliotheken om deze mogelijkheden maximaal te benutten. Er komt een aparte debugger voor XSLT (Extensible Stylesheet Language Transformations) en een naadloze aansluiting tussen de XML Editor en de XSD Designer (XML Schema Definition). De nieuwe ontwikkelsoftware maakt het ook mogelijk verschillende applicatie-uitvoeringen te maken speciaal voor parallelle of multicore processoren. Tot slot zijn er veel nieuwe voorzieningen voor gebruik in groepsverband.
Windows Cardspace
CardSpace (oorspronkelijk InfoCard geheten) is een nieuw identiteitssysteem dat onderdeel is van het .NET Framework 3.0. Het laat om het even welke Windows-applicatie, inclusief webbrowser Internet Explorer, omgaan met digitale identiteiten en ondersteunt daarbij diverse digitale identiteitssysteem, waaronder (Active Directory, X.509, Kerberos en SAML. Gebruikers krijgen hiermee een vervanging voor het wachtwoordensysteem voor inloggen op websites. Dit moet phishing-technieken nutteloos maken en eindgebruikers meer vertrouwen geven in online-applicaties en de beveiliging van hun digitale identiteit.
Longhorn, de nieuwe server
Het is nog vroeg, maar een aantal details van de nieuwe Windows Server-versie zijn al duidelijk. Zo besteedt Microsoft veel aandacht aan het omgaan met identiteit, toegang en beveiliging, ondermeer met de nieuwe Read-Only Domain Controller (RODC) binnen de Active Directory Domain Services. Het clusteren van servers wordt eenvoudiger en stabieler, en kan dankzij de nieuwe Cluster Validation Tool op diverse niveaus getest kan worden. Daarbij zijn natuurlijk de meeste voordelen te behalen in combinatie met de Longhorn-clientuitvoering: Windows Vista. Dat moet overstappen naar Vista een extra stimulans geven.