.
Anmeldung | Registrieren | Hilfe

.NET-Blogs Archiv März 2011

xtopia[kompakt] Roadshow 2011 – Die finale Agenda

31.03.2011 12:26:00 | Peter Kirchner

Xtopia-kompakt-Logo-schwarz 11 b

Nur noch 5 Wochen bis zum ersten Halt der xtopia[kompakt] Roadshow 2011. Das ganze xtopia-Team freut sich schon ungemein auf die sechs Stationen in Deutschland. Die Agenda steht nun komplett und es erwartet Sie eine Fülle an brandneuen Themen direkt von der MIX in Las Vegas sowie viele hilfreiche Tipps und Tricks rund um das Design und die Entwicklung von Client-, Web-, und Phone Anwendungen.

Jetzt heißt es wirklich schnell sein und einen der begehrten Plätze sichern.

Jetzt anmelden auf www.xtopia.de

Der Blick auf die Agenda:

image

Die Sessions:

Styleguide vs. Brand vs. User Experience?
Neue Geräte bringen oft neue User Interfaces mit sich… auch gelten auf unterschiedlichen Gerättypen unterschiedliche Styleguides, also Designregeln. Diese Guides sind sehr informativ wenn man wissen muss, was im UI erlaubt ist und wo die Freiheitsgrade im Design liegen. Ein Styleguide soll auf der anderen Seite aber auch das einheitliche Erlebnis über das ganze Gerät hinweg sicherstellen. Nun reibt sich dieser Anspruch nicht selten mit Aspekten der Markenpräsentation, der „Brand“ und dem entsprechenden corporate design. Wie kann man solche auseinanderstrebende Anforderungen aufarbeiten und lösen?
Und damit noch nicht genug. Der treibende Anspruch für Applikationen auf den unterschiedlichen Geräten ist, eine exzellente User Experience zu ermöglichen, also eine Strategie zu formulieren, die sowohl die Anleitungen des Styleguides, die Anforderungen des Markenauftritts wie auch die Regeln der Usability erfüllen kann. Jetzt kann man sich in die Tasche lügen und behaupten, das „Branded Design“ ist an sich ja so toll, dass es sozusagen alles andere mitbringt. Oder man hängt der irren Idee an, dass ein sklavisches Befolgen des Styleguides automatisch eine gute User Experience erzeugen wird. Warum ist die Antwort auf die Frage „Ich habe aber nun eine App gebaut, warum kann ich das Design nicht einfach auf dem Computer verwenden?“ immer wieder sein muss: „Weil der Computer eben kein Handy ist!“.
Wir schauen uns diese Aspekte des modernen User Experience Design an und begeben uns auf die Suche nach den Lösungsansätzen für Styleguide + Brand + UX.
Wir interpretieren diese Aufgabe im Licht der neuen UI Strategien von Microsoft: Windows Phone 7 Metro Design, Microsoft NUI / Surface Computing und auch Kinect.

Webentwicklung mit der Microsoft Web Platform
Was ist eigentlich Webentwicklung? Im Grunde lässt sich diese Frage gar nicht so einfach beantworten. Statische Webseiten, ein eigener Blog, ein professionelles CMS, ein Shop-System, eine unternehmensweite Intranet-Applikation, ein Web-Forum, ein Wiki, Social Networks, Chats und vieles mehr. Ein Webentwickler muss heute in vielen Projekten die unterschiedlichsten Technologien beherrschen, immer mit dem Fokus auf die individuellen Voraussetzungen und Wünsche.
Die Microsoft Web Platform ermöglicht einem Webentwickler hier aus dem Vollen zu schöpfen.
In dieser Session zeigen Dariusz Parys und Tom Wendel in einer Demo-Extravaganza die unterschiedlichsten Microsoft Web-Technologien und wie mit ihnen in kürzester Zeit eine professionelle Webseite entsteht. WebMatrix, Razor, ASP.NET, PHP, Open Source Frameworks, Internet Explorer 9, Silverlight und vieles vieles mehr!

„Windows Phone 7 – The Next Generation”
Abstract: „Windows Phone 7 war das heiße Thema der xtopia[kompakt] 2010 und ist in der Entwickler- und Designercommunity begeistert aufgenommen worden. Und wir setzen alles daran, diese Erfolgsgeschichte in diesem Jahr fortzusetzen – mit einem umfassenden Paket wichtiger und fundamentaler neuer APIs und Tools, die coole Apps noch leichter realisierbar und neue Szenarien möglich machen. Informieren Sie sich also vor Ort aus erster Hand über das große Update, das 2011 neue Features wie IE9 und Multitasking auf Windows Phone bringen wird!“

Der Sprung nach vorn mit Windows 7
Sie möchten, dass Ihre Anwendung Eindruck hinterlässt? Und Sie möchten auch erreichen, dass Ihre Software nicht aufgrund von Oberflächlichkeiten aussortiert wird, bevor Ihre Kunden überzeugt sind, dass Sie ohne Ihre Lösung nicht mehr leben können? Dann sollten Sie auf diese "Oberflächlichkeiten" achten und die vielen Integrationsfeatures von Windows 7 kennen und nutzen, um Ihre Anwendung zeitgemäß aussehen zu lassen. Seien es so augenfällige Punkte wie die Taskbar, Sprunglisten und die Verwendung von Bibliotheken oder eher verborgene APIs, um den Netzwerk- und Powerstatus des Systems intelligent in Ihre Lösung zu integrieren und dabei gleichzeitig die vorhandenen Ressourcen wie CPU und Akku zu schonen. Anhand einer fiktiven Anwendung zur Verwaltung von Bildern gehen wir in diesem Vortrag gemeinsam den Prozess, eine Anwendung ohne viel Aufwand mittels der neusten Windows 7-Features zu modernisieren.

Aller Anfang ist leicht - Microsofts Unterstützung für alle Fälle
Damit sich niemand alleingelassen fühlt unterstützt Microsoft mit den Spark Programmen und dem MPR verschiedene Gruppen bei der Realisierung ihrer Projekte. In dieser Session wird erläutert, für wen welche Programmatik gedacht ist und wie man am besten loslegt.

Die Sprecher:

Clemens_1b_small dparys Frank Prengel
Clemens Lutsch
User Experience Evangelist 
Microsoft Deutschland GmbH
Dariusz Parys
Technical Strategist Web Platform
Microsoft Deutschland GmbH
Frank Prengel
Technical Evangelist
Microsoft Deutschland GmbH
Peter Kirchner TomWendel_200x300 Capturefile: N:\Archiv\6702\6702.-003.tif
CaptureSN: BQ020026.094422
Software: Capture One PRO for Windows
Peter Kirchner
Program Manager ISV 
Microsoft Deutschland GmbH
Tom Wendel
Developer Evangelist
Microsoft Deutschland GmbH
Sebastian Grassl
Web Development Product Marketing Manager
Microsoft Deutschland GmbH

Umfrage: Visual Studio/ALM-Konferenz 2011 – Ihre Meinung ist gefragt!

30.03.2011 16:25:20 | Christian Binder

clip_image002

Microsoft beabsichtigt, in den nächsten 12 Monaten wieder eine Konferenz für Entwickler, Tester und IT-Entscheider und -Projektleiter mit Schwerpunkt Application Lifecycle Management mit Visual Studio und Team Foundation Server zu veranstalten. Diese Konferenz ist als Nachfolgerin der erfolgreichen TeamConf-Konferenzen gedacht – mit der Namensvereinfachung von Visual Studio Team System 2008 zu Visual Studio 2010 wird die Konferenz auch einen neuen Namen bekommen.

Bitte helfen Sie uns, auch die neue Konferenz zu einem Erfolg für Sie zu machen :  Lassen Sie uns  Ihr Feedback, Ihre Wünsche und Ihre Anregungen zu den Schwerpunkten Application Lifecycle Management, Teamzusammenarbeit und Testing/QS wissen.

Unter allen Teilnehmern der Umfrage wird ein Konferenzticket verlost, die Umfrage kann natürlich auch anonym ausgefüllt werden.

Direkt zur Umfrage: Was wünschen Sie sich auf der Microsoft Visual Studio ALM-Konferenz 2011?

xtopia[kompakt] Roadshow 2011 – Die finale Agenda

30.03.2011 15:55:28 | Oliver Scheer

Liebe xtopia-Freunde, nur noch 5 Wochen bis zum ersten Halt der xtopia[kompakt] Roadshow 2011. Das ganze xtopia-Team freut sich schon ungemein auf die sechs Stationen in Deutschland. Die Agenda steht nun komplett und es erwartet Sie eine Fülle an brandneuen Themen direkt von der MIX in Las Vegas sowie viele hilfreiche Tipps und Tricks rund um das Design und die Entwicklung von Client-, Web-, und Phone Anwendungen. Jetzt heißt es wirklich schnell sein und einen der begehrten Plätze sichern. Jetzt anmelden auf www.xtopia.de Der Blick auf die Agenda: Die Sessions: Styleguide vs. Brand vs. User Experience? Neue Geräte bringen oft neue User Interfaces mit sich… auch gelten auf unterschiedlichen Gerättypen unterschiedliche Styleguides, also Designregeln. Diese Guides sind sehr informativ wenn man wissen muss, was im UI erlaubt ist und wo die Freiheitsgrade im Design liegen. Ein Styleguide soll auf der anderen Seite aber auch das einheitliche Erlebnis über das ganze Gerät hinweg sicherstellen. Nun reibt sich dieser Anspruch nicht selten mit Aspekten der Markenpräsentation, der „Brand“ und dem entsprechenden corporate design. Wie kann man solche auseinanderstrebende Anforderungen aufarbeiten und lösen? Und damit noch nicht genug. Der treibende Anspruch für Applikationen auf den unterschiedlichen Geräten ist, eine exzellente User Experience zu ermöglichen, also eine Strategie zu formulieren, die sowohl die Anleitungen des Styleguides, die Anforderungen des Markenauftritts wie auch die Regeln der Usability erfüllen kann. Jetzt kann man sich in die Tasche lügen und behaupten, das „Branded Design“ ist an sich ja so toll, dass es sozusagen alles andere mitbringt. Oder man hängt der irren Idee an, dass ein sklavisches Befolgen des Styleguides automatisch eine gute User Experience erzeugen wird. Warum ist die Antwort auf die Frage „Ich habe aber nun eine App gebaut, warum kann ich das Design nicht einfach auf dem Computer verwenden?“ immer wieder sein muss: „Weil der Computer eben kein Handy ist!“. Wir schauen uns diese Aspekte des modernen User Experience Design an und begeben uns auf die Suche nach den Lösungsansätzen für Styleguide + Brand + UX. Wir interpretieren diese Aufgabe im Licht der neuen UI Strategien von Microsoft: Windows Phone 7 Metro Design, Microsoft NUI / Surface Computing und auch Kinect. Webentwicklung mit der Microsoft Web Platform Was ist eigentlich Webentwicklung? Im Grunde lässt sich diese Frage gar nicht so einfach beantworten. Statische Webseiten, ein eigener Blog, ein professionelles CMS, ein Shop-System, eine unternehmensweite Intranet-Applikation, ein Web-Forum, ein Wiki, Social Networks, Chats und vieles mehr. Ein Webentwickler muss heute in vielen Projekten die unterschiedlichsten Technologien beherrschen, immer mit dem Fokus auf die individuellen Voraussetzungen und Wünsche. Die Microsoft Web Platform ermöglicht einem Webentwickler hier aus dem Vollen zu schöpfen. In dieser Session zeigen Dariusz Parys und Tom Wendel in einer Demo-Extravaganza die unterschiedlichsten Microsoft Web-Technologien und wie mit ihnen in kürzester Zeit eine professionelle Webseite entsteht. WebMatrix, Razor, ASP.NET, PHP, Open Source Frameworks, Internet Explorer 9, Silverlight und vieles vieles mehr! „Windows Phone 7 – The Next Generation” Abstract: „Windows Phone 7 war das heiße Thema der xtopia[kompakt] 2010 und ist in der Entwickler- und Designercommunity begeistert aufgenommen worden. Und wir setzen alles daran, diese Erfolgsgeschichte in diesem Jahr fortzusetzen – mit einem umfassenden Paket wichtiger und fundamentaler neuer APIs und Tools, die coole Apps noch leichter realisierbar und neue Szenarien möglich machen. Informieren Sie sich also vor Ort aus erster Hand über das große Update, das 2011 neue Features wie IE9 und Multitasking auf Windows Phone bringen wird!“ Der Sprung nach vorn mit Windows 7 Sie möchten, dass Ihre Anwendung Eindruck hinterlässt? Und Sie möchten auch erreichen, dass Ihre Software nicht aufgrund von Oberflächlichkeiten aussortiert wird, bevor Ihre Kunden überzeugt sind, dass Sie ohne Ihre Lösung nicht mehr leben können? Dann sollten Sie auf diese "Oberflächlichkeiten" achten und die vielen Integrationsfeatures von Windows 7 kennen und nutzen, um Ihre Anwendung zeitgemäß aussehen zu lassen. Seien es so augenfällige Punkte wie die Taskbar, Sprunglisten und die Verwendung von Bibliotheken oder eher verborgene APIs, um den Netzwerk- und Powerstatus des Systems intelligent in Ihre Lösung zu integrieren und dabei gleichzeitig die vorhandenen Ressourcen wie CPU und Akku zu schonen. Anhand einer fiktiven Anwendung zur Verwaltung von Bildern gehen wir in diesem Vortrag gemeinsam den Prozess, eine Anwendung ohne viel Aufwand mittels der neusten Windows 7-Features zu modernisieren. Aller Anfang ist leicht - Microsofts Unterstützung für alle Fälle Damit sich niemand alleingelassen fühlt unterstützt Microsoft mit den Spark Programmen und dem MPR verschiedene Gruppen bei der Realisierung ihrer Projekte. In dieser Session wird erläutert, für wen welche Programmatik gedacht ist und wie man am besten loslegt. Die Sprecher: Clemens Lutsch User Experience Evangelist  Microsoft Deutschland GmbH Dariusz Parys Technical Strategist Web Platform Microsoft Deutschland GmbH Frank Prengel Technical Evangelist Microsoft Deutschland GmbH Peter Kirchner Program Manager für Softwarehersteller Microsoft Deutschland GmbH Tom Wendel Developer Evangelist Microsoft Deutschland GmbH Sebastian Grassl Web Development Product Marketing Manager Microsoft Deutschland GmbH...(read more)

Einfach mal abschalten

30.03.2011 12:03:00 | Jan Christian Selke

Es gibt etwas sehr wichtiges, dass vor einiger Zeit von mir viel zu sträflich vernachlässigt wurde: disconnecting.

Rob Conery und Scott Hanselman berichten über Ihre “ungewöhnliche” Erfahrung in This Developers Life. Jeder, der es noch nicht kennt und/oder von sich der Meinung ist, er arbeite (zu) viel, sollte es sich mal anhören. Ich für meinen Teil konnte mich in einigem davon wiederfinden…

Meiner Meinung nach wertvolle, auf jeden Fall aber auch unterhaltsame 54 Minuten.

Windows Azure Toolkit für Windows Phone 7

25.03.2011 07:17:51 | Oliver Scheer

Aus dem Blog von Holger Sirtl . Ab sofort ist die Release Version des Windows Azure Toolkit for Windows Phone 7 verfügbar. Es kann unter folgendem Link heruntergeladen werden: http://watoolkitwp7.codeplex.com/ Mit Hilfe dieses Toolkits können Windows Phone 7 Anwendungen entwickelt werden, die Services verwenden, die auf Windows Azure ausgeführt werden. Umfang des Toolkits Binaries für Windows Phone 7 Anwendungen Projektvorlagen für Visual Studio Beispielanwendungen in C# und VB.NET Dependency Checker das die Voraussetzungen des Toolkits prüft Dokumentation zu Setup und Konfiguration Voraussetzungen für das Toolkit Microsoft Visual Studio 2010 Professional (oder höher) oder sowohl Microsoft Visual Web Developer 2010 Express und Microsoft Visual Studio 2010 Express for Windows Phone Windows Phone Developer Tools (January 2011 Update) Silverlight for Windows Phone Toolkit – Feb 2011 Internet Information Services 7 (IIS7) Windows Azure SDK 1.4 (March 2011) Windows Azure Tools for Microsoft Visual Studio 2010 (March 2011) Sobald das Toolkit dann installiert ist, stehen unter Visual Studio neue Projektvorlagen zur Verfügung: Abb 1: Neue Projektvorlagen unter Visual Studio 2010 Weitere Informationen Original Blog Post der Azure Produktgruppe Windows Azure Toolkit for Windows Phone 7 Wade Wegner's Blog Post, " Windows Azure Toolkit for Windows Phone 7 " Getting Started with the Toolkit...(read more)

Advanced Developers Conference – C++

23.03.2011 14:16:35 | Christian Binder

Am 5. und 6. Mai 2011 findet in Prien am Chiemsee die Advanced Developers Conference speziell zum Thema "Native C++" statt. Mit von der Partie ist unter anderem  Boris Jabes, Senior Program Manager für Visual C++ bei Microsoft. Für alle C++ Entwicker eine gute Chance sich zum Thema zu informieren und zu diskutieren. Mehr direkt unter http://www.cpp.adc11.de

Schon gesehen?

C++ Renaissance: a Channel 9 Interview
Ein Interview mit Microsoft Technical Fellow Mohsen Agsen and Director PM Craig Symonds über die C++ Trends.

und natürlich der Visual C++ Team Blog

Team Build – Erster Eindruck

23.03.2011 03:34:03 | Jürgen Gutsch

Mein erster Eindruck vom Team Build des TFS 2010 ist leider sehr negativ.

Die Gründe sind zum einen die Umsetzung mit der Workflow Foundation 4.0 und die dadurch entstandene Komplexität, bzw. die verringerte Flexibilität. Selbstverständlich kann man Team Build auch weiterhin mit MSBuild nutzen, ist aber aus meiner Sicht genauso eingeschränkt wie in der Version 2008. Die Workflow Foundation hat Team Build nicht einfacher gemacht, sondern noch komplexer.

Natürlich lässt sich der Workflow mit eigenen Activities ergänzen und erweitern, allerdings müssen die erst Programmiert und getestet werden. Einen vorhandenen Build auf den neuen Team Build 2010 zu migrieren, ist aufgrund des zu hohen Aufwands eher unsinnig. Der Aufwand erhöht sich, wenn Microsoft-fremde Komponenten wie z. B: NUnit genutzt und ausgewertet werden sollen.

Fängt man mit einem komplett neuen Build-Prozess, einem neuen Projekt an und hat man bereits ausreichend Erfahrungen mit der Workflow Foundation 4.0 macht Team Build eventuell mehr Sinn und kann in diesem Fall auch relativ flexibel werden. Komplex bleibt es dennoch.

Die eigene Migration

Die Migration die ich jetzt vorgenommen habe, sieht lediglich so aus, dass ich die Sourcen statt von der alten Versionsverwaltung, nun vom TFS hole:

1. Continous Integration

Hudson der für die Continous Integration und die Nightly Builds zuständig ist, wurde lediglich um das TFS-Add-In erweitert. Die Sourcen werden nun vom TFS geholt, statt vom SVN. Das ist alles. Gebaut und getestet wird dann wie zuvor auch.

2. Release Build

Die Migration, des rein auf MSBuild basierende Release Builds war etwas kniffliger, da es keine vernünftigen MSBuild-Tasks gibt. Hier war der Weg über die tf.exe nötig sowie die Auswertung der Konsolenausgabe.

Folgende Anforderungen muss das Release Build erfüllen:

  • Unterscheidung zwischen Test-Build (für die Software-Tester) und Release Build.
  • Ermitteln der aktuellen Revisionsnummer, wenn keine übergeben wir.
    => Zugriff auf die Versionsverwaltung
  • Holen der aktuellen Sourcen
    => Zugriff auf die Versionsverwaltung
  • Updated die Versions-, Build-, und Revisionsnummer in den AssemblyInfos
  • Bauen der Anwendungen (4x Server; 8x Client)
  • Kopieren der Artefakte in die Zielverzeichnisse
  • Ermitteln der Revisionsinformationen seit dem letzten Build
    => Zugriff auf die Versionsverwaltung
  • Kopieren der Revisionsinformationen in die Zielverzeichnisse
  • Label im TFS setzen
    => Zugriff auf die Versionsverwaltung
  • Versandt der Erfolgs-E-Mail an alle beteiligten

Alle Zugriffe auf die Versionsverwaltung gehen nun über die tf.exe. Die Auswertung der Konsolenausgabe erfolgt per MSBuild-Taks (entweder mit den vorhandenen Tasks von Microsoft, den MSBuild Community Tasks oder dem MSBuild Extension Pack)

Den vorhandenen Build einfach umzubiegen war somit trotz einiger kleinen Hürden wesentlich einfacher als auf Team Build 2010 zu migrieren

Fazit

Team Build nutzen: Ja, wenn man Workflow Foundation 4.0 kennt und ein neues Projekt anfängt und Microsoft Technologie zum Testen der Software nutzt.

Team Build nutzen: Nein, wenn man migriert, Workflow Foundation 4.0 nicht kennt, Test-Frameworks nutzt die nicht von Microsoft stammen und/oder den Build einfacher anders machen kann.

Sehr gerne hätte ich Team Build genutzt, um auch hier den vollen Umfang vom TFS zu nutzen. Sehr gerne hätte ich die Testberichte aus den NUnit-Tests im TFS integriert gesehen. Aber der enorme Aufwand wäre einfach nicht vertretbar gewesen.

DotNetKicks-DE Image

Tools für den TFS

23.03.2011 02:42:05 | Jürgen Gutsch

Hier mal eine kurze und unvollständige Übersicht über Tools die für den TFS ganz nützlich sind:

Team Foundation Sidekicks

Aus meiner Sicht ist Sidekicks das wichtigste Tool für die Administration des TFS. Sidekicks ist sozusagen die schnelle Einsatzzentrale um eventuelle Probleme der Versionskontrolle zu beheben. Zum Beispiel, wenn ein Entwickler im Urlaub ist und vergessen hat Locks zu entfernen, kann das über Sidekicks erfolgen. Man kann es aber auch einfach nur nutzen um die Übersicht über die Versionskontrolle zu nutzen.

http://www.attrice.info/cm/tfs/

Team Foundation Server Power Tools

Um den TFs einzurichten, sind die Power Tools das wichtigste Werkzeug. Unter anderem können mit dem Power Tools die Prozess-, und Work Item-Templates angepasst werden und es gibt einige weitere Zugriffsmöglichkeiten (z. B. auf die Teammember, umfangreichere Suche in der Versionskontrolle, Quicklabel, etc.) auf den TFS die sonst nicht möglich sind.

http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

tf.exe

tf.exe ist der Konsolen-Client zum TFS. So lässt sich alles was über den Team Client im Visual Studio machbar ist, auch über die Kommandozeile machen. Interessant wird die tf.exe allerdings erst, wenn man seine Builds mit einem anderen Build-Tool als mit Team Build machen möchte. So habe ich mein Vorhandenes MSBuild-Script, das zuvor auf den SVN Server ging einfach auf den TFS umgebogen.

http://msdn.microsoft.com/en-us/library/z51z7zy0.aspx

Artiso Work Item Manager

Der Work Item Manager aus den ALM-Tools von der Artiso AG ist ein feines Tool, um schnell und bequem die Work Items zu verwalten. Hierarchische Ansichten von Work Items wurden schon unterstützt als es mit TFS 2008 noch gar keine Hierarchien gab. Als ich das Werkzeug das erste mal benutzte, habe ich ehrlich gesagt etwas mehr Features erwartet, aber dass Tool macht was es soll: Es erleichtert das managen der Work Items. Lediglich die Performance leidet bei langsamer Verbindung sehr. Dieser Work Item Manager ist als einziges Tool in dieser Auflistung nicht kostenfrei. Allerdings ist der Testzeitraum bei vollem Feature-Umfang groß genug um zu entscheiden ob er einem nützlich erscheint oder nicht.

http://www.almtools.de/Default.aspx?Page=50

AIT Task Board

Das Task Board stellt eine Art Scrum Board dar, über das die Work Items übersichtlich angeordnet werden. Bisher konnte ich es noch nicht wirklich selber testen, da AIT den versandt der Zugangsdaten (zum Downloaden muss man sich registrieren) scheinbar nicht automatisiert haben. Allerdings scheint der erste Eindruck über die Website schon recht vielversprechend.

(Sobald ich die Software getestet habe schreibe ergänze ich den obigen Absatz)

http://www.aitgmbh.de/ait_scrum_taskboard.0.html

Telerik Work Item Manager

Dieser Work item Manager umfasst scheinbar die Features des Artiso Work Item Manager und des AIT Task Board. Zusätzlich enthält es einen TFS Project Dashboard, dass allerdings völlig unsinnig ist, wenn man (wie ich) nicht den vollen Umfang des TFS nutzt, da über die hälfte der Dashboard-Items (für Builds, Tests, etc) unsinnige oder keine Daten enthalten. Das Tool sieht klasse aus und kann als gute Demo für die RadControls für WPF herhalten ;-)

http://www.telerik.com/.../tfs-work-item-manager-features.aspx

TFS Auto Shelve

Shelve-Sets der unvollständigen Arbeiten sind Pflicht. Wer seine unvollständige Arbeit regelmäßig im TFS sichern möchte ist mit dem Auto Shelve gut dran. Das Tool shelved alle Änderungen in einem angegebenen Intervall in den TFS ein. Ähnlich der VBScript-Datei die ich vor Jahren mal verwendet habe, um immer kurz vor Feierabend alle Änderungen als Shelve-Set zu sichern. Wer das nicht von Hand machen möchte sollte dieses Tool nutzen.

http://geekswithblogs.net/.../tfs-auto-shelve---new-visual-studio-2010--tfs.aspx

Search Work Items

Ein kleines aber feines Tool, dass standardmäßig Title, History und Description durchsucht. Die zu durchsuchenden Felder können allerdings auch konfiguriert und ergänzt werden.

http://geekswithblogs.net/.../search-work-items-for-tfs-2010---new-extension.aspx

SVN to TFS Migration Tool

Wer seine Codes von SVN zu TFS migrieren möchte kann sich demnächst das SVN to TFS Migration Tool auf Bitbucket herunterladen. Das Tool wird von mir entwickelt und im Auftrag der ASS.TEC GmbH als Open Source zur Verfügung gestellt. Aktuell sind noch ein paar Änderungen notwendig, bevor ich es publizieren kann. Das Repository ist allerdings schon eingerichtet:

https://bitbucket.org/asstec/svn2tfs-migration-tool

DotNetKicks-DE Image

DevConnections im Juni in Karlsruhe – Fachkonferenz für Entwickler und IT Professionals

22.03.2011 13:05:31 | Oliver Scheer

Weltweit bekannte Technologie-Experten wie Juval Lowy, John Papa oder Kimberly L. Tripp geben anlässlich der DevConnections , die Teil einer internationalen Veranstaltungsreihe ist, am 9. und 10. Juni 2011 in Karlsruhe ihr Wissen rund um die Technologieplattform von Microsoft weiter. Unter dem Motto "The Conversation Begins Here“ können Teilnehmern der Fachkonferenz zukünftige Technologien kennenlernen, detailliert in aktuelle Technologien einsteigen sowie Probleme und Fragen diskutieren. Die Agenda der DevConnections setzt sich aus acht verschiedenen thematischen Tracks für Entwickler und IT Professionals zusammen. Mit dabei in Karlsruhe sind Themenblöcke zu ASP.NET, Exchange, SharePoint Administration, SharePoint Development, Silverlight, SQL Server, Visual Studio und Windows. Neben den technischen Vorträgen dürfen sich die Teilnehmer auch über drei Keynotes von Dave Mendlen (Senior Director Developer Platform and Tools), Steve Fox (Director Developer and Platform Evangelism for SharePoint) und Scott Guthrie (Corporate Vice President .NET Developer Platform) freuen. Zusätzlich findet im Vorfeld der Konferenz am 8. Juni ein separater Tag mit acht verschiedenen Ganztages-Workshops zu den einzelnen Themenbereichen statt. Die Teilnahmegebühr für die zweitägige Konferenz liegt bei 1.199 Euro zzgl. MwSt. Bei einer Anmeldung bis zum 31. März 2011 können Interessierte dank des Super Early Bird-Tarifs rund 300 Euro sparen. Wer sich bis zum 13. Mai 2011 anmeldet, kann immerhin noch gute 200 Euro mit dem Early Bird-Tarif sparen. Die Teilnahme am Workshop-Tag kostet 499 Euro zzgl. MwSt. Auch hier besteht die Möglichkeit, bei einer Anmeldung bis zum 13. Mai mit dem Early Bird-Tarif 150 Euro zu sparen. Jetzt registrieren lohnt sich! Weitere Informationen unter: http://www.devconnections.com/germany/...(read more)

Service Pack 1 für Expression Web 4 ab sofort verfügbar: Volle HTML 5 Unterstützung!

22.03.2011 11:20:33 | Oliver Scheer

Ab sofort steht Service Pack 1 für Expression Web 4 kostenlos zum Download zur Verfügung. Neben Bugfixes und Verbesserungen an Stabilität und Performance wird Expression Web auch um eine Reihe interessanter neuer Features erweitert: HTML 5 Mit Service Pack 1 erhält Expression Web 4 Support für HTML 5: Im Code Editor können Sie dank IntelliSense die neuen HTML 5-Tags ohne Probleme in Ihren Code integrieren. In der Designansicht können außerdem Block- und Inline-Elemente direkt ausgerichtet und angepasst werden. CSS3 Dank Service Pack 1 unterstützt Expression Web 4 ab sofort Hunderte neuer Eigenschaften, die Teil der kommenden CSS3-Spezifikation sind. Konkret bietet Expression 4 SP1 Support für CSS3 über IntelliSense , das Fenster „ CSS-Eigenschaften “ sowie die beiden Dialoge „ Neue Formatvorlage “ und „ Formatvorlage ändern “. Erweiterte PHP-Unterstützung Weiterhin bietet Expression Web 4 IntelliSense für die neuesten Funktionen von PHP 5.3 sowie Unterstützung für mehr als 130 zusätzlicher PHP-Module. Die Tooltips der einzelnen Funktionen bieten ab sofort Informationen darüber, ab welcher Version diese von PHP unterstützt werden. Zu guter Letzt ist es dank des „ Open As PHP “-Features möglich, jede Datei (unabhängig von ihrer Endung) als PHP-Datei zu behandeln. IntelliSense für Sonderzeichen Über die so genannten IntelliSense Character Entities ist es nun möglich, schnell und einfach das passende HTML-Kürzel für Sonderzeichen zu finden. Sobald Sie im Code Editor „&“ eingeben, erhalten Sie eine Liste verschiedener HTML-Codes für Sonderzeichen, wie zum Beispiel – für einen Gedankenstrich. SuperPreview – Seiten mit Benutzerauthentifizierung Nach Installation von Service Pack 1 wird es außerdem auch möglich sein, Webseiten zu testen, die eine Benutzerauthentifizierung benötigen. Ein mögliches Szenario hier wäre zum Beispiel, dass Sie sich die Vorschau zur Administrationsseite eines Blogs anzeigen lassen möchten. Mit SP1 ist es möglich, sich einzuloggen und sich die gewünschte Seite in verschiedenen Browsern zu betrachten. Internet Explorer 9 Die finale Version des Internet Explorer 9 ist mit Service Pack 1 auch als lokaler Browser für SuperPreview und die Web Snapshot-Funktion von Expression verfügbar. Wenn Sie Internet Explorer 9 installiert haben, können Sie sich die Darstellung von Seiten in den Versionen IE6, IE7, IE8 und IE9 anzeigen lassen. Außerdem erkennt Expression Web SP1 weitere installierte Browser (z.B. Chrome, Firefox oder Opera) und zeigt diese unter der Funktion „Vorschau“ an. SuperPreview Online Service Der Expression Web SuperPreview Online Service, die sich noch im Beta-Zustand befindet, erweitert die Möglichkeiten von SuperPreview um zusätzliche Browser und Betriebssysteme – dazu gehören unter anderem Chrome, IE8, IE9, Safari 4 und Safari 5 auf Windows oder Mac. Den Download finden Sie hier....(read more)

dotnet Cologne 2011 fast ausgebucht

21.03.2011 19:10:00 | Stefan Lange

Nachdem letzte Woche Dienstag die Anmeldung für die dotnet Cologne 2011 freigeschaltet wurde, waren der Super Early Bird nach weniger als 5 Minuten und der Early Bird nach weniger als 3 Stunden weg. Auch das neu überarbeitete Anmeldesystem hat damit seinen ersten schweren Lasttest mit Erfolg bestanden.

Nun, eine Woche später ist die Konferenz schon fast ausgebucht – es sind nur noch 14 Plätze frei (Stand 19:00h). Heute haben wir die Sprecher und Vorträge nochmals aktualisiert, sodass sie nun fast komplett sind.

Wer also noch einen Platz bekommen möchte, sollte nicht mehr allzulange warten, sondern sich lieber gleich anmelden.

An dieser Stelle möchte ich auch allen Bewerbern für die zahlreichen Session-Vorschläge danken. Wir hatten sehr viel mehr Einreichungen als wir berücksichtigen konnten.

Alle Sprecher treten übrigens ohne Honorar an – auch dafür schon mal ein Dankeschön für das Engagement!

Insbesondere freut es mich, Bart De Smet als Speaker gewonnen zu haben. Bart ist Software Development Engineer im Cloud Programmability Team der Microsoft Corporation und wird Vorträge zum Reactive Extension Framework und zu LINQ halten. Ich habe ihn auf der VSone im Februar in München kennengelernt. Als wir ihm von der dotnet Cologne erzählten, war er sofort bereit seinen privaten Heimaturlaub Anfang Mai in Brüssel zu unterbrechen und zur Konferenz zu kommen.

Es ist schon toll zu sehen, wie gut das Konzept der Community Konferenz „von Entwicklern für Entwickler“ funktioniert.

Die letzte Anmeldungs-Chance zur dotnet Cologne 2011

21.03.2011 12:13:45 | Albert Weinert

Letzte Woche schrieb ich dass die Anmeldepforten zur dotnet Cologne geöffnet sind.

Pünktlich um 14:00:00 Uhr  ging es los, um 14:00:05 Uhr war die erste Anmeldung eingetroffen und die Anmeldung mit der Nummer 100 war dann um 14:04:05 Uhr eingetroffen. Um 16:48:52 hat es dann Nummer 200 geschafft die Anmeldung abzuschicken und somit das Ende des Early Birds einzuleiten. Danach kühlte sich das ganze Etwas ab. Doch, dies ist der schnellste Tickerverkauf den die dotnet Cologne je hatte. Somit ist mit einem baldigen Ausverkauf zu rechnen.

Doch dies ist Deine Chance!

Zum Stand jetzt (21. März 2011, 12:15 Uhr) gibt es noch 14 freie Plätze, jedoch zum Normalpreis von 55 €. Doch wenn man sich das Aufgebot der Sprecher und Sessions ansieht ist dies ein echter No-Brainer und man sollte sich die Chance auf keinen Fall entgehen lassen.

Also wer noch nicht angemeldet ist, sollte dies sofort machen.

Technorati Tags: ,,,

Der TFS ist klasse

20.03.2011 01:54:00 | Jürgen Gutsch

Meine gestrige Behauptung (im Beitrag Developement Infrastructure), den TFS klasse zu finden, stieß wohl auf einige Verwunderung:

Bjoern Rochel per Twitter:

Don't know what to think when I hear a dev say: "TFS is awesome". 2 me this feels like it is from a Fringe-esque parallel universe...

Auf meine Frage, was Björn den konkret am TFS schlecht findet erhielt ich folgende Punkte aufgezählt

  1. Die Versionskontrolle sei “ätzend” langsam (GetLatest?),
  2. der TFS pfuscht in den Projektdateien rum,
  3. Der TFS ist Solution-zentriert, für Micro-Workflows mit Feature-Branching ungeeignet.
  4. Vom Offline-Support will ich gar nicht erst anfangen.
  5. Es fehlt die Einfachheit von .gitignore
  6. Builds: TFSBuild.proj war nicht schön, aber Builds mit Workflows sind der Hammer -> Mit Kanonen auf Spatzen schiessen
  7. Darüber hinaus stört es wie geschlossen das System ist.
  8. Ist einfach ein alles oder nichts Ansatz.

Ein kleines Lob gab es von Björn immerhin:

Björn Rochel per Twitter

Ich find WorkItems und Reports darüber übrigens gar nicht schlecht. Leider vermiest der Rest mir das tägliche Arbeiten derart

Der wichtigste Kritikpunkt, der nicht nur von Björn genannt wurde, war der fehlende Offline-Support, bzw. die Tatsache, das es sich bei der Versionskontrolle des TFS um ein zentralisiertes System handelt und nicht um ein verteiltes System, wie z. B: das von Mercurial oder Git. Code kann mit dem TFS nicht lokal versioniert werden.

Zuerst…

… mal meine Sicht der obigen Kritikpunkte bevor ich schreibe, was ich am TFS so klasse finde:

  1. Kann ich innerhalb des Firmennetzes nicht nachvollziehen. Richtig ist, dass die Kommunikation des Team Explorers per Webservices stattfindet und über das Internet der SOAP-Overhead negativ spürbar ist. GetLatest ist dann allerdings IMO weniger langsam als alles was mit den Work Items zu tun hat.
  2. Ja, das ist ein Nachteil. Der gleiche Nachteil, den SVN mit den blöden .svn-Ordner hat
  3. Richtig, aber: In den meisten Produktentwicklungen die ich bisher gesehen habe, ist Feature-Branching kein Thema, auch da es isolierte Features voraussetzt. In Projekten die IMO in den meisten kleinen und mittleren Firmen entwickelt wird ist ein Feature mit der Anwendung verwebt. Die Entwicklung oder Änderung eines Features, setzt die Änderung des ganzen Produktes voraus. Das ist nicht schön, habe ich aber bisher – außer bei Projekten von Leuten die in der Community-Aktiv sind -  nicht anders erlebt.
  4. Richtig Offline Support gibt es nicht, da es wie gesagt, ein zentralisiertes System ist.
  5. Ehrlich gesagt, finde ich .gitignor nicht einfacher als der File Types Manager im TFS. .gitignore ist nur flexibler.
  6. Dem stimme ich 100%ig zu
  7. Ist es denn geschlossen? IMHO nein, allerdings wirkt es auf dem ersten Blick so. Der TFS lässt sich recht gut anpassen, erweitern und anprogrammieren. Wie alles bei MS ist das halt nicht gut Dokumentiert.
  8. Wie Punkt 7. wirkt es auf dem ersten Blick wirklich so. Aber wie ich gestern beschrieben habe, nutze ich weiterhin Hudson und MSBuild als Alternative zum Team Build.

DVCS vs. CVCS

Verteilte Versionskontrolsysteme (DVCS) haben selbstverständlich riesige Vorteile. Offline-Support und Feature-Branching wurden bereits genannt. Allerdings müssen die Vorteile auch erkannt, gekannt und akzeptiert werden. Die Arbeitsweise mit DVCS muss auch gelernt und verstanden werden.

Die Mehrheit der Entwickler kennen nur VSS, SVN, CVS und den TFS. Die Mehrheit der Manager sehen kein Vorteil, dass Ihr so wertvoller Sourcecode nicht zentral “kontrolliert” wird, sondern “unkontrolliert” auf unzähligen Repositories verteilt ist. Verteilte Systeme werden also – wenn nicht als Gefahr, dann doch - als zu Aufwendig und zu schwer zu kontrollieren angesehen.

In einem speziellen Fall wird es sogar als problematisch angesehen, dass die Softwareentwickler auf ihren eigenen Rechnern entwickel, statt in einer zentralisierten Entwicklungsumgebung ;-)

Verteilte Systeme sind im Firmenkontext noch nicht angekommen, bzw. auch nicht wichtig.

Aus dem Blickwinkel ist das zentralisierte System also kein Ausschlusskriterium des TFS für den Einsatz in einer Firma die Produktentwicklung macht.

Auch die verpfuschten das TFS-Binding in den Projektdateien ist kein Ausschlusskriterium, da der TFS für die Produktentwicklung in der Regel für längere Zeit eingesetzt wird, das System für alle Entwickler vorgeschrieben wird. Einmal eingerichtet, ist das TFS-Binding also kein Thema mehr.

Alle Entwickler haben mit dem gleichen Prozess und dem gleichen System zu arbeiten.

Nebenbei:

Ich schreibe hier aus der Sicht der Produktentwicklung, die länger als nur ein, zwei Jahre betrieben wird. Produktentwicklung kann auch mehr als 15 Jahre gehen, wie es bei meinem letzten Arbeitgeber der Fall war.

Projektarbeit und die Arbeit an Open Source Projekten ist kurzlebiger, hier wirkt sich ein starres System mit festen Prozessen negativer aus, als in der Produktentwicklung. Bei der Projektarbeit wechselt das Team eher als bei der Produktentwicklung. Im letzteren wechseln zwar vereinzelte Team.-Mitglieder, aber es ist dennoch immer über Jahre das Softwareentwicklungsteam.

Warum der TFS klasse ist:

Der TFS ist aufwendig einzurichten. Wenngleich die Installation und die Grundkonfiguration mit der 2010er Version so leicht wie die Installation des Visual Studio 2010 ist, kann es dennoch eine Woche oder mehr gehen, bis der TFS an die vorhandenen Prozesse angepasst ist. Die beiden vordefinierten Prozesse sind wohl in den seltensten Fällen einsetzbar.

Der TFS ist deswegen klasse, weil er nicht nur Versionskontrolle ist. Die große Stärke ist aus meiner Sicht, dass die Work Items stark mit der Versionskontrolle Verknüpft sind.

Hätte ich eine so starke Verknüpfung mit Mercurial und einem entsprechenden anderen Bug-Tracking, würde ich sofort dieses empfehlen. Auch wenn der Schulungs- und Akzeptanzaufwand für verteilte Versionskontrollen sehr hoch sein könnte .

Mit Kiln habe ich schon eine sehr starke Kombination, aber so intuitiv und so komfortabel wie im TFS ist es noch nicht.

Der TFS ist deswegen klasse, weil ich über die Work Items sofort sehen kann, welcher Code geändert worden ist. (Ja, das geht mit anderen Systemen auch) Der TFS ist klasse, weil ich in jeder Zeile Code sehen kann aus welchem Grund sie erzeugt oder geändert worden ist. Die Work Items sind klasse. Und der definierbare Prozess hinter den einzelnen Work Items ist klasse. Klasse ist auch, dass die Work Items von Leuten bedient werden können, die mit Web-GUIs nicht so zurecht kommen. Als Entwickler finde ich den TFS klasse, das Versionskontrolle und Work Items im Visual Studio integriert ist, das ich alles in einer Umgebung kompakt beisammen habe.

Wenn ich mich also in einer Umgebung befinde, die nicht der Firma FogCreek Software entspricht und dem entgegen einem Abbild von Roland Weigelts Community Pyramide entspricht, ist der TFS ideal: Einfach zu bedienen, einfach zu verstehen, feste Prozesse und alles ist integriert.

Community Pyramide:

Auf der dotnet Cologne 2010 zeigte Roland Weigelt in der Keynote eine Pyramide mit Softwareentwicklern, an deren Spitze sich diejenigen Entwickler befinden, die aktiv an der .NET-Community teilnehmen. Das sind zumindest auch diejenigen die auch den Begriff ALT.NET irgendwo mal gelesen haben. ;-)

Ich möchte die anderen Systeme nicht schlecht machen, …

…ganz im Gegenteil, aber ich sage auch nicht, dass der TFS generell auf keinen Fall genutzt werden sollte. Im Gegenteil sollte der TFS auch immer ernsthaft in Betracht gezogen werden. Nicht nur die Versionskontrolle ist wichtig, sondern auch das drum herum und abhängige Infrastruktur und die Leute die es nutzen sollen.

Ich verstehe, warum Björn, Stefan Lieser, Golo Roden und Ilker Cetinkaya den TFS ablehnen. Ich verstehe, warum DVCS als so wichtig angesehen werden.

Wie bereits geschrieben, nutze ich privat Mercurial und finde ihn und die Arbeit mit ihm ebenfalls absolut klasse.

Würde ich eine Versionskontrolle in einer Umgebung einführen, in der es nur Softwareentwickler gibt, hätte ich mich bei meinem Arbeitgeber möglicherweise nicht so schnell für den TFS entschieden. Aber bei der Produktentwicklung hängt noch etwas mehr dran als nur das schreiben von Code und dessen Versionierung: Supportabteilung, Testabteilung, Produktmanager. Klasse ist, dass man mit dem TFS alle schnell integrieren kann. Der Schulungsaufwand für alle beteiligten ist ebenfalls fast null.

Und Team Build?

Hierzu schreibe ich demnächst mehr in einem weiteren Beitrag.

DotNetKicks-DE Image

Nachlese zum Treffen der .NET Usergroup Dresden vom 17.03.2011

18.03.2011 19:13:00 | Martin Hey

Gestern gab es gleich zwei Premieren bei der .NET Usergroup Dresden.

Premiere 1: Wir haben das erste Mal ein Coding Dojo durchgeführt. 18:00 Uhr ging es los. Nachdem beim letzten Usergroup-Treffen die ein oder anderen Fragen auch in Richtung testgetriebene Entwicklung und die Sinnhaftigkeit gingen bin ich in ein paar einleitenden Worten darauf eingegangen, was testdriven eigentlich bedeutet und wie man dabei vorgeht.

Ausgehend davon wurde der Rahmen für den Abend gesteckt. Ich erklärte die Grundbegriffe von Coding Dojos und weil es für viele das erste Dojo war, begannen wir mit der recht einfachen Kata FizzBuzz. Im Vordergrund für diesen Abend stand einfach nur, allen ein Gefühl für TDD zu geben und die Angst vor dem Unbekannten "Coding Dojo" zu nehmen. Zweite Kata des Abends sollte nach einer Abstimmung Kata Potter sein, die aber nach unterschiedlichen Lösungsvorschlägen und Herangehensweisen irgendwann dann abgebrochen wurde.

Für mich war es das erste mal als Sensei und ich habe ein paar wertvolle Schlüsse ziehen können. Zunächst habe ich mich sehr gefreut, dass sich auch Usergroup-Teilnehmer, die eigentlich als Muttersprache VB.NET sprechen (wie sie es selbst genannt haben) in einem C#-Projekt mitgearbeitet haben, auch wenn "dieses komische Semikolon immer" gestört hat. Mir hat es sehr gut gefallen, dass eben nicht nur ein Vorturner da war, sondern dass wir die Gelegenheit hatten, vom Wissen aller zu profitieren, die sich freiwillig gemeldet haben, an der Kata mitzumachen. Und hier hat sich wieder gezeigt, dass es wichtig ist, nicht vorn still vor sich hin zu programmieren, sondern alle an den Gedanken teilhaben zu lassen.

Es gab aber auch ein paar Lehren für mich: Bei einer Gruppengröße von 20 Teilnehmern ist es recht kompliziert alle bei der Sache zu halten. Und, es hat sich herausgestellt, dass es wichtig ist, auch im Dojo die Schritte Red-Green-Refactor alle durchzuführen und es nicht auf Red-Green-Vielleicht-Refactor zu beschränken. Dem resultierenden Code merkt man nämlich an, dass er dringend ein Refactoring benötigt. Und zu guter Letzt ist es wichtig, nicht blind drauf los zu programmieren, sondern sich auch zu Beginn schon mal Gedanken darüber zu machen, in welche Richtung es gehen soll. Denn was nutzen 7 grüne Tests, wenn man der Lösung noch nicht wirklich näher gekommen ist und erst dann überlegt, wie man das Problem denn lösen könnte.

Zusammenfassend: Es war ein gelungener erster Dojo-Abend. Ich denke, wir werden das auch weiter fortführen und gelegentlich Dojo-Abende einstreuen und die Schlüsse die ich und auch die anderen aus diesem Abend ziehen konnten werden dann sicher auch Eingang finden. Die Resonanz war zumindest eindeutig positiv. Und nicht zuletzt habe ich mich auch sehr darüber gefreut, neben den vielen bekannten Gesichtern wieder mal ein paar neue Teilnehmer begrüßen zu dürfen.

Ach ja - Premiere 2: Das Treffen fand das erste Mal bei Saxonia Systems statt und es war ein guter Einstand. Offenbar können Softwareentwickler aber mit Gemüse nicht allzu viel anfangen, denn obwohl die freundlicherweise gesponserten belegten Brötchen im wahrsten Sinne weggingen wie warme Semmeln, war die Gemüseplatte fast unberührt.

Developement Infrastructure

18.03.2011 14:46:00 | Jürgen Gutsch

Meine heutigen Fragen und Anmerkungen auf Twitter, welche Team Build mit der Workflow Foundation betrafen und die problematische Migration von SVN zum TFS (die ich ebenfalls auf Twitter kommentiert habe) mag wohl den Eindruck gehabt haben, dass die von mir genutzte Developement Infrastructure nur auf Microsoft-Technologie basiert.

Weit gefehlt :-)

Developement Infrastructure

Aber fangen wir mal von ganz vorne an. Wie sieht eine Developement Infrastructure aus?

  1. Das wichtigste Werkzeug ist natürlich das Visual Studio 2010 mit allen seinen Plug-Ins (die bei mir mehrheitlich von JetBrains stammen)
  2. Als nächste kommt die Versionsverwaltung, wie z.. B: Git, Mercurial, SVN oder eben den TFS.
  3. Ebenfalls wichtig halte ich die Integration der Versionsverwaltung in das Visual Studio. Hier kommen z. B: die Tortoise-Varianten und eben der Team Explorer zum Einsatz
  4. Ebenfalls wichtig ist ein Build-Server der mit der Versionsverwaltung zurecht kommt, Änderungen mitbekommt und daraufhin einen sog. Continous Integration Build erzeugt und die automatisierten Tests ausführt. Optimaler weise ist der auch für den Nightly-Build zuständig, der die täglich, frische Version für die Tester oder den Kunden auswirft
    Als Buildserver wird Team City, Hudson, Cruis Control oder eben Team Build eingesetzt.

Idealerweise gibt es einen Server der für die Versionsverwaltung zuständig ist und einen der nur die Builds macht. Das gilt auch für den TFS: der TFS und Team Build sollten auf zwei verschiedenen Servern installiert werden.

Meihne Einstellungen zum TFS

Der TFS ist klasse. Ich habe seit der ersten Version des TFS mit diesem gearbeitet, aber ich nie Team Build als Build-Server verwendet. Der TFS ist eine ideale Versionsverwaltung für Firmen, die ein bisschen mehr Kontrolle wollen, als es andere Systeme bieten. Mit dem Integrierten Bug-Tracking funktioniert auch das Projektmanagement hervorragend. Agile Softwareentwicklung ist mit dem TFS hervorragend machbar, solange man die vorgegebenen Prozesse etwas anpasst oder sich an die Prozesse des TFS anpasst. Sobald der TFS allerdings mal eingerichtet ist, ist es aus meiner Sicht im Moment das beste System auf dem Markt. Mit Team Build und Lab Management bietet es einige weitere (im Prinzip) hervorragende Features, die ich bisher leider nie selber verwendet habe.

Wie Albert Weinert allerdings ganz richtig per Twitter eingewendet hat: “wenn du in der MS Welt bleibst mag es TFS ja nett sein”

Privat würde ich den TFS allerdings nie verwenden. Das liegt nicht nur an den Lizenzkosten, sondern auch am Overhead den der TFS mit sich bringt, der für einen alleine oder auch zu zweit einfach zu groß ist. Das geht nämlich auch einfacher und ohne dass man mehrere Tage damit verbringen muss, dass System anzupassen.

Private Infrastructure

Privat nutze ich aktuell vorzugsweise Mercurial als Versionsverwaltung. Für meine privaten Projekte auf meinem eigenen Server und Kiln, für öffentliche Projekte auf BitBucket.

Das Svn2Tfs Migration Tool wird ebenfalls auf BitBucket als Open Source zur Verfügung gestellt

Ich nutze auch Git unter GitHub um vorhandene Projekte zu Forken, zu beobachten oder mich daran zu beteiligen.

Als Buildserver kommt Hudson, das ich als schnellstes, einfachstes und bequemsten zu installierenden Buildserver kennengelernt habe. TeamCity hat mir von Anfang an zu viele Ressourcen benötigt, ist zwar zwar intuitiv und schnell eingerichtet, benötigt aber sehr viel Arbeitsspeicher, was allerdings auf einem privat gehosteten Server rar sein kenn. CruiseControl ist bei mir wegen der umständlichen Konfiguration gleich ausgeschieden.

Hudson dagegen kann erst mal fast nichts (aus .NET-Entwicklersicht, ist es fast nichts, wenn es nur Javaprojekte bauen kann), ist aber durch unzählige Plug-Ins erweiterbar, die direkt in der GUI aktiviert und konfiguriert werden können. Hudson belauscht alle meine Repositories und führt bei Änderungen sofort einen Continous Integration Build aus, führt alle Tests (mit NUnit) automatisiert aus und erstattet mir im Fehlerfall ausführlich Bericht.

Geschäftliche Infrastructure

Als ich im Geschäft angefangen habe gab es einen exotisch installierten SVN-Server… und immerhin gab es einen SVN-Server :-)

Hudson war schnell installiert und Continous Integration war somit eingerichtet. Release Builds wurden noch mit FinalBuilder gemacht, was bis dahin auch einigermaßen gut funktionierte…

Bis Jürgen kam… Und den Buildprozess (auch auf den Entwicklungsrechnern) beschleunigte, indem er alle Projektreferenzen durch Assembly-Referenzen ersetzte. Dadurch wurde nicht nur der Lokale Build beschleunigt, sondern theoretisch auch der Build unter FinalBuilder. Problem nur: Durch die fehlenden Projektreferenzen mussten die Projektabhängigkeiten von Hand gesetzt werden. Was Hudson und MSBuild mitmacht, wurde von FinalBuilder ignoriert, ganz egal ob der FinalBuilder per Visual Studio baut, oder per MSBuild. FinalBuilder war also für mich, unter anderem auch deswegen, für mich gestorben.

Hätte ich (wie es Stefan Lieser per Twitter anmerkt) die Build-Reihenfolge mit mehreren einzelnen Solutions vorgenommen, statt mit einer großen Solution, hätte ich den Build-Prozess im Final Builder unter Umständen immer wieder anpassen müssen, wenn sich die Projektstruktur ändert. In der aktuellen Entwicklung konnte sich die Struktur aber laufend ändern, da auch eine ganze Menge Testprojekte durch die neu eingeführten Unit-Tests hinzukamen oder die Unit-Tests zu Refactorings zwingen konnten.

Die Lösung war, den FinalBuilder-Prozess mit MSBuild sauber und generisch nachzubilden. Ein paar MSBuild-Tricks waren auch in den Projektdateien nötig und der Prozess war getan. Sehr Dankbar bin ich übrigens dem Thorsten Hans, der mich dabei mit wertvollen Tipps unterstützt hat.

Desweiteren war der Build mit MSBuild doppelt so schnell, als der mit FinalBuilder. Der Overhead der Überladenen GUI des FinalBuilder macht sich im Vergleich zur Konsole bemerkbar. Der Aufruf: “msbuild buildall.proj” erzeugt nun aus den Sourcen, in einer halben Stunde vier Server-Produktvarianten und sechs Client-Produktvarianten, inklusive WiX-Setup-Projekten.

Wir haben nun also einen exotischen SVN-Server, CI mit Hudson und MSBuild und einen Build-Prozess mit MSBuild.

Bleibt das Problem mit dem Bug-Tracking das irgendwie in einem Sharepoint zusammengebastelt war. Eine direkte Verknüpfung zwischen Änderungen am Code und Bug-Tracking gab es nicht. Im SVN wurde nur eine Ticket-ID mitgespeichert.

Die Lösung war der TFS, indem die komplette History aus dem SVN migriert werden sollte

Hier kommt das oben erwähnte Svn2Tfs Migration Tool zum Einsatz, das nacheinander alle Revisionen komplett mit Kommentaren vom SVN lädt und in den TFS einspielt.

Existierende Migrationstools funktionierten aufgrund des exotischen SVN-Servers nicht und brachen mit Fehlern ab. Woraufhin ich selber ein Migrationstool schrieb. Innerhalb von vier Tagen waren ca. 8100 Revisionen von 200.000 Dateien migriert.

Die Migration der alten Tickets als neue WorkItems erfolgte dann relativ stupide per Excel

Stand Heute: TFS als Versionsverwaltung, TFS als Bug-Tracking, Hudson für die CI-Builds und MSBuild für den komplett-Build.

Team Build

Jetzt wo der TFS installiert und eingerichtet ist, war die Überlegung, die CI-Builds auch per Team Build zu machen, was im ersten Schritt aber schon daran scheiterte, dass die Build-Prozesse mit der Workflow Foundation 4 so komplex sind, dass es auf die Schnelle nicht möglich war dem Team Build beizubringen, dass wir nicht MSTest, sondern NUnit als Unit-Test Framework verwenden.

Schade eigentlich, den ich verspreche mir von Team Build, dem Lab Management und den Codet-UI-Tests die Testabteilung stärker in den TFS-Prozess zu integrieren.

Es fehlt also eine Integration von Manuellen Tests, automatisierten Akzeptanz-Tests und UI-Tests

Das werde ich möglicherweise nun anders lösen müssen.  

Dafür war FittNesse eine Idee. Für weitere Ideen bin ich absolut offen. :-)

Fazit

Somit entwickle ich zwar auf Microsoft Plattformen, nutze aber nicht nur Microsoft Technologien.

Stichwort: ALT.NET (unter anderem das Motto der letztjährigen See# Party)

Microsoft entwickelt immer bessere Developement Infrastructure. Mit jeder Version wird der TFS besser. Mit jeder Version wird das Visual Studio und seine Tools besser. Aber im Moment ist man stellenweise immenroch besser mit alternativen Tools und Frameworks dran ;-)

DotNetKicks-DE Image

Das neue Visual Studio LightSwitch Beta 2 jetzt verfügbar und live auf Tour

17.03.2011 11:41:29 | Peter Kirchner

Microsoft Visual Studio LightSwitch, das neueste Mitglied der Visual Studio-Produktfamilie nähert sich der Fertigstellung: Ab sofort steht der Download für alle MSDN-Abonnementen zur Verfügung. Ab morgen, dem 17. März 2011 können dann alle Entwickler die Beta 2 Version auf der offiziellen deutschen Website herunterladen - und dank „Go-Live“-Lizenz bereits für erste Projekte produktiv nutzen! Ab dem 21. März stellt Microsoft das neue Tool auf  einer bundesweiten kostenlosen Launch-Roadshow der Entwicklergemeinde vor. 

image

Mit Visual Studio LightSwitch können maßgeschneiderte Geschäftsanwendungen für den Desktop, das Web und die Cloud einfach und schnell entwickelt werden.  LightSwitch steht dabei in der Tradition von Microsoft Access und FoxPro, und kombiniert das erprobte Konzept dieser Entwicklungssysteme mit aktuellen Technologien wie .NET,  Silverlight, Windows Communication Foundation und SQL Server.

Zentral sind dabei nach wie vor der flexible Zugriff auf zahlreiche businessrelevante  Datenquellen und die Erstellung von benutzerfreundlichen Eingabemasken und Auswertungen. Zudem bietet LightSwitch eine wesentlich höhere Flexibilität als bisherige Tools: Anwendungen können auf dem Desktop oder zentral auf einem Webserver ausgeführt werden. Auf Wunsch können LightSwitch-Applikationen zudem auf einfachste Weise in der Cloud betrieben werden – ein Deployment auf Microsofts Cloud-Angebot Windows Azure ist integriert. Damit können Entwickler hochskalierbare Anwendungen in kürzester Zeit weltweit bereitstellen.

Weitere Highlights sind der problemlose Zugriff auf SharePoint-Datenquellen,  der integrierte Export zu Office-Programmen wie beispielsweise Excel und die Integration der modernen Sourcecode-, Bug- und Aufgabenverwaltung Visual Studio Team Foundation Server. Mit eigenen Erweiterungen kann LightSwitch an spezielle Erfordernisse angepasst werden. Zudem lässt sich dank Silverlight das grafische Design der Anwendung flexibel modifizieren, um beispielsweise ein firmenspezifisches Look & Feel zu realisieren.

Wer gleich los legen möchte, kommt am besten auf eine der deutschen Launch-Veranstaltungen: Applikationsentwickler, Entwicklungsleiter, Freiberufler, Consultants und Access-Entwickler und Poweruser können sich auf einer Road-Show quer durch Deutschland (München, Köln, Hamburg, Bad Homburg, Karlsruhe) in praxisnahen Vorträgen informieren, wie sie Applikationen für ihre Kunden in kürzerer Zeit und mit weniger Stress entwickeln können. Weitere Informationen gibt es hier: www.microsoft.de/visualstudio/rad

Microsoft plant die Veröffentlichung der finalen Version von LightSwitch noch in diesem Jahr, Preise stehen noch nicht fest.

Das neue Visual Studio LightSwitch Beta 2 jetzt verfügbar und live auf Tour

16.03.2011 14:04:55 | Oliver Scheer

Microsoft Visual Studio LightSwitch , das neueste Mitglied der Visual Studio-Produktfamilie nähert sich der Fertigstellung: Ab sofort steht der Download für alle MSDN-Abonnementen zur Verfügung. Ab morgen, dem 17. März 2011 können dann alle Entwickler die Beta 2 Version auf der offiziellen deutschen Website herunterladen - und dank „Go-Live“-Lizenz bereits für erste Projekte produktiv nutzen! Ab dem 21. März stellt Microsoft das neue Tool auf  einer bundesweiten kostenlosen Launch-Roadshow der Entwicklergemeinde vor.  Mit Visual Studio LightSwitch können maßgeschneiderte Geschäftsanwendungen für den Desktop, das Web und die Cloud einfach und schnell entwickelt werden.  LightSwitch steht dabei in der Tradition von Microsoft Access und FoxPro, und kombiniert das erprobte Konzept dieser Entwicklungssysteme mit aktuellen Technologien wie .NET,  Silverlight, Windows Communication Foundation und SQL Server. Zentral sind dabei nach wie vor der flexible Zugriff auf zahlreiche businessrelevante  Datenquellen und die Erstellung von benutzerfreundlichen Eingabemasken und Auswertungen. Zudem bietet LightSwitch eine wesentlich höhere Flexibilität als bisherige Tools: Anwendungen können auf dem Desktop oder zentral auf einem Webserver ausgeführt werden. Auf Wunsch können LightSwitch-Applikationen zudem auf einfachste Weise in der Cloud betrieben werden – ein Deployment auf Microsofts Cloud-Angebot Windows Azure ist integriert. Damit können Entwickler hochskalierbare Anwendungen in kürzester Zeit weltweit bereitstellen. Weitere Highlights sind der problemlose Zugriff auf SharePoint-Datenquellen,  der integrierte Export zu Office-Programmen wie beispielsweise Excel und die Integration der modernen Sourcecode-, Bug- und Aufgabenverwaltung Visual Studio Team Foundation Server. Mit eigenen Erweiterungen kann LightSwitch an spezielle Erfordernisse angepasst werden. Zudem lässt sich dank Silverlight das grafische Design der Anwendung flexibel modifizieren, um beispielsweise ein firmenspezifisches Look & Feel zu realisieren. Wer gleich los legen möchte, kommt am besten auf eine der deutschen Launch-Veranstaltungen: Applikationsentwickler, Entwicklungsleiter, Freiberufler, Consultants und Access-Entwickler und Poweruser können sich auf einer Road-Show quer durch Deutschland (München, Köln, Hamburg, Bad Homburg, Karlsruhe) in praxisnahen Vorträgen informieren, wie sie Applikationen für ihre Kunden in kürzerer Zeit und mit weniger Stress entwickeln können. Weitere Informationen gibt es hier: www.microsoft.de/visualstudio/rad Microsoft plant die Veröffentlichung der finalen Version von LightSwitch noch in diesem Jahr, Preise stehen noch nicht fest....(read more)

Heiter bis wolkig: Microsoft TechSummit Cloud – die Roadshow für Entwickler & IT Professionals

15.03.2011 17:21:42 | Oliver Scheer

Registrierung & Informationen unter www.tech-summit.de Vom 28. März bis zum 8. April touren die Experten des Microsoft Developer Network und TechNet Deutschland durch sechs deutsche Metropolen, um im Rahmen der Microsoft-Roadshow "TechSummit Cloud" Best Practices und technische Hintergründe zu den neuesten Microsoft Cloud-Technologien zu vermitteln und Anwenderfragen zu beantworten. Es wird ein umfassender Überblick für Entwickler, Administratoren und IT-Manager über das komplette Cloud-Angebot von Microsoft gegeben und gezeigt, wie diese Cloud Services in bestehende Infrastrukturen integriert werden können sowie Software an die Cloud angepasst und in der Cloud bereitgestellt werden kann. Für Entwickler interessant sind bei den Ganztages-Veranstaltungen u.a. Vorträge zur "Migration von Anwendungen in die Cloud" (Dariusz Parys), zur "Entwicklung von SaaS Lösungen auf Basis der Windows Azure Platform" (Patric Boscolo) und zu "Betrieb und Entwicklung mit der Microsoft Cloud" (Holger Sirtl). Für IT-Professionals und Administratoren dürften die Vorträge "Windows InTune" (Ralf Schnell), "Office 365 für Administratoren" (Steffen Krause, Daniel Melanchthon) oder "Private Cloud selber aufbauen" (Frank Koch) mehr als interessant sein. Ein Blick in die tagesaktuelle Agenda verrät zudem, welche Themen in der Keynote und Closing Session vermittelt werden. Station macht die Roadshow in München (28.03.), Karlsruhe (30.03.), Frankfurt/M. (01.04.), Köln (04.04.), Hamburg (06.04.) und Dresden (08.04). Die Teilnahme kostet 79 Euro zzgl. MwSt.: Die Teilnahmegebühr umfasst den Zutritt zur Veranstaltung, die Verpflegung sowie unsere Specials, die Sie vor Ort erhalten (u.a. USB-Stick mit Präsentationen und dem Buch: Cloud Computing mit Windows Azure Platform; TechNet/MSDN Webcast DVD Jahresedition 2010; DVD zum Thema Virtualisierung). Weitere Events für Entwickler unter www.msdn-online.de/events Weitere Events für Entwickler unter http://www.microsoft.com/germany/technet/events/default.mspx...(read more)

WPF 4 und Silverlight 4 gegen Krebs!

15.03.2011 10:52:00 | Gregor Biswanger

(See English version below)


Leider gibt es keine Anwendung in WPF 4 und Silverlight 4, die diese Krankheit heilen könnte. Allerdings können wir mit finanziellen Mitteln helfen den Krebs zu bekämpfen. Deshalb starte ich eine Auktion auf eBay und versteigere die neue DVD „WPF 4 und Silverlight 4“. Bei dieser DVD handelt es sich nicht um die gewöhnliche Kaufversion, sondern um ein exklusives Stück. Die DVD wurde vom WPF-, Silverlight- und Expression Blend-Produktteam für diesen guten Zweck signiert. Der Erlös geht direkt an die Deutsche Krebshilfe e.V.

WPF 4 und Silverlight 4 - special edition

 

Warum gerade die Deutsche Krebshilfe e.V.?

Bei einem 16-jährigen Jungen aus meinem Verwandtenkreis wurde Leukämie diagnostiziert. Zuerst brach für uns die Welt zusammen. So eine Krankheit in so jungem Alter. In dieser Situation war die Deutsche Krebshilfe e.V. mit vollstem Einsatz eine perfekte Stütze. In so einem Fall ist man auf eine solche Organisation wirklich angewiesen, um die nächsten Schritte im Leben finden zu können. An dieser Stelle auch noch mal ein Dankeschön für den großen Einsatz der Deutschen Krebshilfe.

DKH_Logo

 

 

Was genau ist die Deutsche Krebshilfe e.V.?

Die Deutsche Krebshilfe e. V. setzt sich seit über 36 Jahren für krebskranke Menschen ein. Gegründet wurde die gemeinnützige Organisation am 25. September 1974. Ihr Ziel ist es, die Krebskrankheiten in all ihren Erscheinungsformen zu bekämpfen.

Jedes Jahr erkranken in Deutschland 450.000 Menschen neu an Krebs, davon 1.800 Kinder und Jugendliche unter 15 Jahren. Den Betroffenen und ihren Angehörigen zu helfen, ist das wichtigste Anliegen der Deutschen Krebshilfe.

Die Deutsche Krebshilfe e.V. finanziert ihre Aktivitäten ausschließlich aus freiwilligen Zuwendungen der Bevölkerung. Sie erhält keine öffentlichen Mittel.

Weitere Informationen zur Deutschen Krebshilfe e.V. unter: http://www.krebshilfe.de

 

Feste Unterstützung

Damit sicher schon mal etwas zusammen kommt haben folgende Personen sich entschlossen unabhängig der Auktion einen festen Betrag zu Spenden:

Dr. Holger Schwichtenberg  (.NET-Dozent und -Berater bei www.IT-Visions.de)                                 250 €
Microsoft Press Team   http://www.microsoft-press.de                                                                         200 €
Michael Ferschl             (Geschäftsführer von impuls Informationsmanagement GmbH)                     200 €
Microsoft Deutschland GmbH  (Developer Platform & Strategy Group )                                              100 €
Microsoft Deutschland GmbH  (Community Leader/Insider Program (CLIP))                                      100 €
Microsoft Deutschland GmbH   (MVP Awards Program)                                                                      100 €
.NET Day Franken         (http://www.dotnet-day-franken.de)                                                                100 €
Ruben Bonzanin            (http://www.techniker-support.de)                                                                   100 €
Ralf Schoch                    (CoDeSo)                                                                                                    77,77 €
Andreas Weizel              (http://www.awzhome.de)                                                                                70 €
Roland Schumacher    (http://www.EdelsteinKreationen.ch)                                                             66,66 €
Nico Franze                    (http://www.nfranze.de)                                                                                   60 €
Florian Seffert                (Flory IM | Your Windows Phone 7 Messenger)                                              50 €
Robert Walter                 (Softwareentwickler bei conplement AG)                                                        50 €
Mathias Schiffer                                                                                                                                         50 €
Enrico Gebauer             (http://silverlight-essentials.com/blog/)                                                             50 €
Peggy Reuter                 (http://peggy-reuter.net)                                                                                   50 € 
Gregor Biswanger        (Solution Architect bei impuls Informationsmanagement GmbH)                      50 €
Sebastian Geertsen     (Graf GmbH & Co. KG Ingolstadt)                                                                     50 € 
(Anonym)                                                                                                                                                   50 €

Vielen lieben Dank für die Unterstützung an alle festen Spender!

Zur Auktion

Wer also etwas ganz besonderes Zuhause haben möchte und dabei etwas Gutes tun will, sollte gleich mitbieten unter: eBay - WPF 4 & Silverlight 4 DVD - Special Edition

Ich freue mich, wenn die Community diese Aktion unterstützt. Bedenkt bitte, dass diese Krankheit jeden von uns oder jemanden in unserer Familie treffen kann und wir dank der Deutschen Krebshilfe eine Stütze und eine Motivation zum Weiterleben bekommen.

Nochmal vielen lieben Dank an die Produktteams bei Microsoft für ihre großartige Unterstützung:

Scott Hanselman   (Principal Program Manager Lead in Server and Tools Online)
Tim Heuer               (Program Manager for Microsoft Silverlight)
Rob Relyea             (Principal Program Manager Lead - Client Platform WPF & Silverlight)
Pete Brown              (Developer Division Community Program Manager - Windows Client)
Eric Fabricant          (Program Manager WPF)
Jeff Wilcox                (Silverlight Senior SDE)
Jeffrey R Ferman    (SDET Visual Studio Client Dev Tools)
Chan Verbeck         (Expression Blend Team)
Yaniv Feinberg        (Expression Blend Team)
Douglas Olson       (Director Dev Expression)
Samuel W. Bent     (Principal Software Design Engineer WPF)
John Papa               (Technical Evangelist for Silverlight)

WP_000456WP_000470WP_000474

WP_000477WP_000480WP_000515

--------------------------------------------------------------------------------------------------------

WPF 4 and Silverlight 4 against cancer

Unfortunately, there is no application in WPF 4 and Silverlight 4, to cure this disease. However, we can help defending cancer with financial means. Therefore I would like to start an auction on eBay and sell the new DVD "WPF 4 and Silverlight 4". This DVD is not about the ordinary version you can buy, but an exclusive piece. The DVD was signed by the WPF, Silverlight and Expression Blend product-team for this good cause. The proceeds go directly to the German Cancer Aid.

Why supporting the German Cancer Aid?

A 16 year old boy of my relatives was diagnosed with leukemia. First, the world collapsed. Such a bad disease at that young age. In this situation, the German Cancer aid association was a perfect support with strongest commitment. To find the next steps in life in this case really depends on such an organization. Again at this point a heardly thank you for the strong commitment of this organization.

Who is the German Cancer Aid?

For over 36 years the German Cancer Aid e. V. is committed to fight all manifestations of cancer. The non-profit organization was founded on the 25th of September 1974. Its ambition is to combat the cancer diseases in all their forms.

In Germany 450,000 people newly come down with cancer every year, including 1,800 children and young people under the age of 15. The most important concern of the German Cancer Aid is to help affected persons and their families.

The German Cancer Aid association is financing her activities exclusively from voluntary contributions of the population. It‘s receiving no public funding.

Learn more about the German Cancer aid association at: http://www.krebshilfe.de/english.html

 

Solid support

Make sure ever something along the following persons have decided the auction regardless a fixed amount to donate:

Dr. Holger Schwichtenberg     (.NET-Dozent und -Berater bei www.IT-Visions.de)                                  250 €
Microsoft Press Team       http://www.microsoft-press.de                                                                          200 €
Michael Ferschl                  (Managing Director by impuls Informationsmanagement GmbH)                   200 €
Microsoft Deutschland GmbH   (Developer Platform & Strategy Group )                                                  100 €
Microsoft Deutschland GmbH   (Community Leader/Insider Program (CLIP))                                          100 €
Microsoft Deutschland GmbH   (MVP Awards Program)                                                                           100 €
.NET Day Franken             (http://www.dotnet-day-franken.de)                                                                 100 €
Ruben Bonzanin                (http://www.techniker-support.de)                                                                   100 €
Ralf Schoch                        (CoDeSo)                                                                                                     77,77 €
Andreas Weizel                  (http://www.awzhome.de)                                                                                 70 €
Roland Schumacher         (http://www.EdelsteinKreationen.ch)                                                             66,66 €
Nico Franze                         (http://www.nfranze.de )                                                                                  60 €
Florian Seffert                     (Flory IM | Your Windows Phone 7 Messenger)                                              50 €
Robert Walter                     (Developer by conplement AG)                                                                        50 €
Mathias Schiffer                                                                                                                                              50 € 
Enrico Gebauer                 (http://silverlight-essentials.com/blog/)                                                              50 €
Peggy Reuter                     (http://peggy-reuter.net)                                                                                    50 €
Gregor Biswanger            (Solution Architect at impuls Informationsmanagement GmbH)                        50 €
Sebastian Geertsen         (Graf GmbH & Co. KG Ingolstadt)                                                                      50 €
(Anonym)                                                                                                                                                        50 €

Best thanks for the support to all solid donators!

 

About the auction

So, if you would like to have something very special at home and also want to do something good, immediately go bidding at:

eBay - WPF 4 & Silverlight 4 DVD - Special Edition

I’am happy if the community supports this action. Please consider that this disease can affect all of us or members of our families and we‘ll get support and motivation to continue our life. Thanks to the German Cancer Aid.

Thanks again to the product teams at Microsoft for their great support:

Scott Hanselman   (Principal Program Manager Lead in Server and Tools Online)
Tim Heuer               (Program Manager for Microsoft Silverlight)
Rob Relyea             (Principal Program Manager Lead - Client Platform WPF & Silverlight)
Pete Brown              (Developer Division Community Program Manager - Windows Client)
Eric Fabricant          (Program Manager WPF)
Jeff Wilcox                (Silverlight Senior SDE)
Jeffrey R Ferman    (SDET Visual Studio Client Dev Tools)
Chan Verbeck         (Expression Blend Team)
Yaniv Feinberg        (Expression Blend Team)
Douglas Olson       (Director Dev Expression)
Samuel W. Bent     (Principal Software Design Engineer WPF)
John Papa               (Technical Evangelist for Silverlight)

Mein Blog auf SQLServerBlogs.de

15.03.2011 09:24:00 | Martin Hey

Ende letzten Jahres hatte Constantin die Idee, dass auch für die deutschsprachige SQL Server Community eine Plattform ähnlich den DotNetGermanBloggers gut und sinnvoll wäre. Und diese Idee unterstütze ich.

Dank der Verwendung von von O/R-Mappern verschwindet der direkte Datenbankzugriff inzwischen mehr und mehr in der klassischen .NET-Entwicklung. Trotzdem gibt es auch immer wieder Fälle, in denen das Was-passiert-da-eigentlich oder das Warum-geht-das-jetzt-nicht Probleme bereitet. Und genau dann ist es gut, wenn man auch im deutschsprachigen Raum Hilfe findet.

Deshalb: Ab sofort finden sich meine Blogposts zum Thema SQL Server auch auf SQLServerBlogs.de.

Verwaiste Logins in SQL-Server-Datenbanken neu zuordnen

14.03.2011 15:56:00 | Martin Hey

In meinen Blogpost Verwaiste SQL-Logins auf einem SQL-Server ermitteln hab ich gezeigt, wie man mit Hilfe eines Skriptes ermitteln kann, welchen Logins gar keine Datenbanken mehr zugewiesen sind.

Aber das Thema der verwaisten Logins gibt es auch in umgekehrter Richtung: Jeder der bereits versucht hat, eine Datenbank von einem anderen Server wiederherzustellen und diese Datenbank verfügte über SQL-Benutzer, wird das Problem kennen: In der Datenbank gibt es unter dem Punkt Datenbank -> Security -> Users bereits mehrere Benutzer und diese sind unter Umständen auch mit Berechtigungen versehen, man möchte diese also nicht löschen. Die Benutzer existieren jedoch nicht als Logins unter Security -> Logins. Legt man dann gleichnamige Logins im SQL-Server an, so ist das auch noch recht unproblematisch - zumindest so lange bis man versucht, den neu angelegten Login auf der besagten Datenbank zuzulassen. Diesen Versuch quittiert der SQL-Server mit der Meldung, dass ein Benutzer mit diesem Namen in der Datenbank schon vorhanden ist - womit er ja grundsätzlich auch Recht hat.
Create failed for user 'SQLAdmin'. User, group or role 'SQLAdmin' already exists in the current database. (Microsoft SQL Server, Error 15023)

Allerdings bedeutet das nicht, dass das eben neu angelegte Login aufgrund dieser Tatsache auch automatisch mit Zugriffsrechten auf der wiederhergestellten Datenbank ausgestattet ist.
Die Ursache liegt darin begründet, dass der SQL-Server den Benutzern intern eine SID zuweist. Die SID des Benutzers in der wiederhergestellten Datenbank und die SID des eben erstellten Logins unterscheiden sich.

Abhilfe schafft hier die Systemprozedur sp_change_users_login. Mit dem Parameter 'report' aufgerufen erhält man zunächst eine Auflistung aller Benutzer, die über keine Zuordnung zu Logins verfügen.
exec sp_change_users_login 'report'

Nun steht also fest, dass es in der Datenbank fünf ungemappte Benutzer gibt. Mit Hilfe der gleichen Prozedur kann man nun auch gleich das Mapping vornehmen. Dazu übergibt man einfach als ersten Parameter 'update_one' und als zweiten bzw. dritten Parameter Benutzer und Login.
EXEC sp_change_users_login 'update_one', 'SQLAdmin', 'SQLAdmin'

Prüft man nun die verwaisten Logins erneut, wird man feststellen, dass dieser Benutzer hier nicht mehr erscheint und versucht man ein Login auf der Datenbank, wird man merken, dass das nun funktioniert.

Der Performance Wizard für Silverlight

14.03.2011 14:48:25 | Gregor Biswanger

Das kürzlich veröffentlichte Visual Studio 2010 Service Pack 1 erweiterte den Visual Studio Performance Wizard um die Unterstützung von Silverlight Anwendungen. Womit nun ein professionales Profiling von Silverlight Anwendung durchgeführt werden kann. Leider ist allerdings der Performance Wizard nur in den Visual Studio Versionen Premium und Ultimate verfügbar.

 

Profiling Beispiel

Als Beispiel wird ein neues Silverlight-Projekt mit dem Namen „SilverlightPerformanceWizard“ angelegt. In die Mitte der Oberfläche (MainPage.xaml) wird ein Button mit dem Text „Process start“ gesetzt.

 

SNAGHTML3e9bb3

Abbildung 1 – Oberfläche der Silverlight-Beispielanwendung.

 

Anschließend wird mittels Doppelklick auf den Button das Click-Event Abonniert, worin der Source-Code aus Listing 1 folgt.

 

 

   1:  private void Button_Click(object sender, RoutedEventArgs e)
   2:  {
   3:    const string text = "test";
   4:   
   5:    for (int i = 0; i < 10000000; i++)
   6:    {
   7:      string value = text.Replace('t', 'b');
   8:    }
   9:  }

Listing 1 – Source-Code zur Performance-Messung.

 

 

Nun ist die Beispielanwendung einsatzbereit. Der Performance Wizard wird unter dem Menüpunkt „Analyze“ – „Launch Performance Wizard…“ gestartet.

 

 

image

Abbildung 2 – Performance Wizard starten.

 

Der Wizard bietet nun unterschiedliche Profiling Möglichkeiten an. Dabei kann die CPU, Speicher, Threads und vieles weitere analysiert werden. Bei diesem Beispiel wird normal der CPU verbrauch analysiert, wobei der erste Punkt ausgewählt bleibt.

 

 

SNAGHTML40a0b2

Abbildung 3 – Auswahl eines Profiling-Profils beim Performance Wizard.

Beim nächsten Schritt muss die Silverlight-Anwendung ausgewählt werden. Das wäre bei diesem Beispiel der erste Punkt mit „SilverlightPerformanceWizard“. Der zweite Punkt wäre nur das Web-Projekt das die eigentliche Silverlight-Anwendung hostet.

 

 

SNAGHTML40e89a

Abbildung 4 – Silverlight-Anwendung auswählen.

Der letzte Schritt bietet lediglich das sofortige ausführen des Profiling an. Das bei diesem Beispiel auch geschehen soll.

 

 

SNAGHTML41363d

Abbildung 5 – Das Profiling soll anschließend gestartet werden.

 

Jetzt öffnet sich die Silverlight-Anwendung wobei einmal auf den Button geklickt wird. Zum Test kann gerne nach 1-2 Sekunden Pause wiederholt auf den Button geklickt werden. Nun wird die Silverlight-Anwendung durch schließen des Browsers wieder beendet. Das Profiling von Visual Studio analysiert nun die aufgezeichneten Daten und stellt sofort Visualisiert den gesamten Prozessablauf dar.

 

 

SNAGHTML417e63

Abbildung 6 – Der Profiling Report von Visual Studio.

In der Mitte des Reports bei „Hot Path“ wird sofort ersichtlich das von der gesamt Laufzeit die Methode System.String.Replace(char, char) bis zu 88% CPU last verbrauchte. Die Visualisierte Darstellung zu Beginn des Reports kann auch nochmal auseinandergenommen werden um weitere Details aufzuspüren.

 

Zum Beispiel ist ersichtlich dass die Kurve bei 3 – 5 Sekunden und bei 7 – 9 Sekunden aufschlägt. Hier kann jetzt mittels Klick auf 3 bis 5 der Bereich markeiert werden. Anschließend klickt man rechts daneben auf „Filter by selection“.

 

image

Abbildung 7 – Speziellen Bereich analysieren.

Nach dem aktualisieren des Reports, wird sofort bei „Functions Doing Most Individual Work“ ersichtlich das in diesem Bereich 91,44 % die CPU von der Methode System.String.Replace(char, char) beansprucht hat. Somit wird klar, dass genau an dieser Stelle der Kurve der Button geklickt wurde.

 

image

Abbildung 8 – Der Report im Detail.

Fazit

Das Profiling ist sehr angenehm und hat sich bei einigen Tests positiv ausgewirkt. Sehr angenehm ist auch der Performance Explorer (Menü: „View“ – „Other Windows“ – „Performance Explorer“), womit jederzeit bereits erstellte Profiling-Wizard-Einstellungen direkt ausgeführt werden können und bisherige Profiling Reports hinterlegt sind. Sollten Features vermisst werden und ein noch umfangreiches Profiling ermöglicht werden, kann ich auch den kostenpflichtigen ANTS Profiler von Redgate empfehlen.

Den HTML-Header in BlogEngine.NET optimieren

13.03.2011 18:36:08 | Klaus Bock

BlogEngine.NET

… und warum sollte ich das tun?
Weil die Reihenfolge der Tags im Header Einfluss auf das Ladeverhalten der Browser nimmt. Das Zauberwort hierbei ist: Progressive Page Rendering. Damit ist jenes Verhalten des Browsers gemeint, in dem er jeglichen Inhalt der vom Server übertragen wird unmittelbar rendert und darstellt.
Sollten sich im Header an erster Stelle Verknüpfungen zu JavaScript-Dateien befinden, wird die Verarbeitung solange gestoppt bis alle verknüpften JavaScript-Dateien heruntergeladen wurden. Erst dann werden weitere Ressourcen vom Server geladen. Wenn zu diesem Zeitpunkt noch keine Styling-Informationen bzw. kein CSS vorhanden ist, sitzt der Benutzer solange vor einem weißen Fenster, bis der Download der JavaScript-Dateien abgeschlossen ist. Demzufolge sollten die Verknüpfungen zu den CSS-Dateien an erster Stelle im Header platziert werden. Hierzu auch ein guter Artikel zu Performance and Load Testing in der MSDN Darin sind zwar die Bing Maps das vorherrschende Thema, aber durchaus auch sehr viele allgemeingültige Infos und Tipps enthalten.

Eine weitere Unart von BlogEngine.NET, seit der Version 2.0, ist das Laden der jQuery-Dateien in jedem Artikel und jeder Seite. Egal ob sie benötigt werden oder nicht. Ich für meinen Teil benötige jQuery nicht im normalen Betrieb. Lediglich im Admin-Bereich, zur Verwaltung des Blog, wird es benötigt. Also warum immer diese Last mitschleppen?
Soweit zur Theorie. Werfen wir nun einen Blick auf einen möglichen Lösungsansatz.

Der gesamte Header soll vor dem Senden zum Client untersucht, evtl. überflüssige Einträge entfernt und neu sortiert werden.
Dem Header werden in BlogEngine.NET an verschiedenen Stellen Elemente hinzugefügt. Unter anderem in der MasterPage des verwendeten Theme und im OnLoad-Ereignishandler der BlogBasePage. Somit wäre der am einfachsten zu erreichende, aber doch späteste mögliche Zeitpunkt um den Header mit allen Elementen zu verarbeiten, der PageLoad-Ereignishandler der Masterpage des verwendeten Theme. Der Aufruf sollte in besagtem Ereignishandler so spät als möglich, aber doch so früh erfolgen, dass er immer ausgeführt wird. Also noch vor evtl. bedingten Ausstiegen aus dem Ereignishandler.

Die Elemente im Header werden in Form verschiedener Controls in einer ControlCollection vorgehalten. Am häufigsten sind Controls der Typen HtmlGenericControl, HtmlLink und HtmlMeta anzutreffen. Für das title-Tag wird ein Steuerelement vom Typ HtmlTitle verwendet. Um die verschiedenen Einträge im Header zu Kategorisieren verwende ich fünf verschiedene Auflistungen vom Typ List<T>, wobei T vom Typ System.Web.UI.Control ist.

  1. cssTags für das Speichern der im Header enthaltenen Verknüpfungen zu CSS-Dateien.
  2. scriptTags für die Verknüpfungen zu JavaScript-Dateien.
  3. linkTags für andere benötigte Verknüpfungen
  4. otherTags für nicht zugeordnete Einträge
  5. metaTags für alle Einträge vom Typ HtmlMeta.

In folgender Methode wird der angegebene Header durchlaufen, die enthaltenen Elemente Kategorisiert, der vorhandene Header geleert und sortiert neu erstellt.

public static void OptimizeHeader(HtmlHead header, bool removeJQuery)
{
    var firstTag = header.Controls[0];

    if (firstTag is HtmlLink
        && ((HtmlLink)firstTag).Attributes["rel"].Equals(
            "stylesheet",
            StringComparison.OrdinalIgnoreCase))
    {
        return;
    }

    var title = new HtmlTitle();
    var cssTags = new List<Control>();
    var scriptTags = new List<Control>();
    var linkTags = new List<Control>();
    var metaTags = new List<Control>();
    var otherTags = new List<Control>();
    var allControls = new List<Control>[]
    {
        cssTags,
        scriptTags,
        linkTags,
        otherTags,
        metaTags
    };

    foreach (Control control in header.Controls)
    {
        switch (control.GetType().Name)
        {
            case "HtmlLink":
                ProcessHtmlLink(
					(HtmlLink)control,
					allControls);
                break;

            case "HtmlMeta":
                metaTags.Add(control);
                break;

            case "HtmlGenericControl":
                ProcessGenericControl(
					(HtmlGenericControl)control,
					allControls,
					removeJQuery);
                break;

            case "HtmlTitle":
                title = (HtmlTitle)control;
                break;

            default:
                otherTags.Add(control);
                break;
        }
    }

    header.Controls.Clear();

    foreach (var entry in allControls.AsQueryable()
			.SelectMany(list => list.AsQueryable()))
    {
        header.Controls.Add(entry);
    }

    header.Controls.Add(title);
}

Zunächst wird geprüft ob der angegebene Header bereits sortiert ist in dem überprüft wird, ob das erste Element im Header eine Verknüpfung zu einer CSS-Datei darstellt. Ist diese Bedingung erfüllt, wird die Methode beendet.
Die in den Zeilen 168 und 178 verwendeten Hilfsmethoden ProcessHtmlLink und ProcessGenericControl werden zur Verarbeitung der entsprechenden Steuerelemente benötigt.

private static void ProcessGenericControl(
					HtmlGenericControl htmlControl,
					List<Control>[] allControls,
					bool removeJQuery)
{
    if (htmlControl.TagName.Equals("script", StringComparison.OrdinalIgnoreCase))
    {
        if (removeJQuery
            && IsJQueryLink(htmlControl))
        {
            return;
        }

        allControls[1].Add(htmlControl);
        return;
    }

    allControls[3].Add(htmlControl);
}

private static void ProcessHtmlLink(HtmlLink link, List<Control>[] allControls)
{
    switch (link.Attributes["rel"])
    {
        case "stylesheet":
            allControls[0].Add(link);
            break;

        case "profile":
            allControls[1].Add(link);
            break;

        default:
            allControls[2].Add(link);
            break;
    }
}

Eine weitere Hilfsmethode IsJQueryLink überprüft lediglich, ob es sich beim angegebenen Steuerelement um eine Verknüpfung zu einer der jQuery-Dateien handelt.

private static bool IsJQueryLink(HtmlGenericControl control)
{
    var src = control.Attributes["src"];

    return src.EndsWith("jquery.js", StringComparison.OrdinalIgnoreCase)
        || src.EndsWith("jquery.cookie.js", StringComparison.OrdinalIgnoreCase)
        || src.EndsWith("jquery.validate.min.js", StringComparison.OrdinalIgnoreCase)
        || src.EndsWith("jquery-jtemplates.js", StringComparison.OrdinalIgnoreCase)
        || src.EndsWith("json2.js", StringComparison.OrdinalIgnoreCase);
}

Fazit:

Welchen Vorteil bringt mir der erbrachte Aufwand?
Die geschilderte Methode allein bringt mit Sicherheit keinen enormen Vorteil. In Verbindung mit weiteren kleineren und größeren Optimierungen und Anpassungen, sollte es jedoch ein Schritt in die richtige Richtung sein.

Technorati-Tags: | |

Remote Desktop Connection Manager

13.03.2011 12:02:00 | Martin Hey

Wer oft mit vielen Remote-Desktop-Verbindungen arbeitet kennt das Problem: Für jede Verbindung wird eine eigene *.rdp-Datei angelegt und diese Dateien schwirren dann irgendwo auf dem System herum. Nun bin ich letzte Woche dank eines Tipps über ein sehr nützliches Tool gestolpert, das es seit etwa 10 Monaten gibt und das auch schon öfter in diversen Blogs vorgestellt wurde (z.B. auch im Code-Inside Blog) - der Remote Desktop Connection Manager.

Hier lassen sich mehrere Remote Desktop Connections zu Gruppen zusammenfassen. Diesen Gruppen kann man gemeinsame Einstellungen verpassen, so dass beispielsweise alle Verbindungen der gleichen Gruppe mit identischen Credentials geöffnet werden, die man dann nur in den Gruppeneigenschaften pflegen muss. Diese Vererbung beschränkt sich aber nicht nur auf Credentials, sondern auch auf andere Eigenschaften wie Bildschirmauflösung, Audioeinstellungen usw. Natürlich lassen sich die Einstellungen auch pro Verbindung einzeln konfigurieren.

Im Gegensatz zu den *.rdp-Dateien können hier innerhalb der Datenstruktur auch Credentials gespeichert werden, was ebenfalls ein Vorteil ist. Die Import-Schnittstelle aus Textdateien ist inzwischen als deprecated gekennzeichnet, aber *.rdg-Dateien sind relativ selbsterklärende XML-Strukturen. Ist das Kennwort verschlüsselt abgelegt, so lässt es sich auf einem anderen Rechner nicht entschlüsseln, was aber aus meiner Sicht auch nicht weiter schlimm ist. Wenn man dieses Tool wirklich braucht, so ist man vermutlich häufig mit Admin-Rechten auf irgendwelchen Rechnern unterwegs und dann wäre es fatal, wenn man durch einfaches Kopieren der *.rdg-Datei die vollen Berechtigungen hätte, ohne Kenntnis vom Kennwort zu haben. Wie es aussieht, kann man das umgehen, indem man das Kennwort im Klartext speichert und dann sollte es problemlos möglich sein, eine *.rdg-Datei auch an Kollegen zu geben.

Internet Explorer 9 RTW

13.03.2011 10:30:39 | Damir Tomicic

Mozilla Foundation und Google legten vor und nun schreitet auch Microsoft im Browser-Rennen voran - die neuste Version 9 von Internet Explorer wird nun in einer finalen Version zum Download bereitgestellt. Unter den 39 Sprachen ist Deutsch natürlich auch dabei:

[1] http://www.beautyoftheweb.com/

Die interessanteste Neuerung betrifft die Hardware-Beschleunigung die genau vor einem Jahr im IE Blog vorgestellt wurde:

[2] http://blogs.msdn.com/b/ie/archive/2010/03/16/html5-hardware-accelerated-first-ie9-platform-preview-available-for-developers.aspx

Weiterhin spannend ist die Unterstützung der Geolocation API zur Standortbestimmung im Browser:

[3] http://msdn.microsoft.com/de-de/library/gg589502(v=VS.85).aspx

Persönlich finde ich die Integration von den Developer Tools (auf F12 drücken) im unteren Bereich praktisch. Hier kann man auch zwischen den verschiedenen Browser-Versionen des IE umschalten.

Umfrage: Visual Studio/ALM-Konferenz 2011 – Ihre Meinung ist gefragt!

11.03.2011 15:40:05 | Peter Kirchner

clip_image002

Microsoft beabsichtigt, in den nächsten 12 Monaten wieder eine Konferenz für Entwickler, Tester und IT-Entscheider und -Projektleiter mit Schwerpunkt Application Lifecycle Management mit Visual Studio und Team Foundation Server zu veranstalten. Diese Konferenz ist als Nachfolgerin der erfolgreichen TeamConf-Konferenzen gedacht – mit der Namensvereinfachung von Visual Studio Team System 2008 zu Visual Studio 2010 wird die Konferenz auch einen neuen Namen bekommen.

Bitte helfen Sie uns, auch die neue Konferenz zu einem Erfolg für Sie als Visual Studio-Anwender zu machen: Füllen Sie dazu Fragebogen aus und geben Sie uns Feedback, Wünsche und Anregungen zu einer Konferenz zu den Schwerpunkten Application Lifecycle Management, Teamzusammenarbeit und Testing/QS mit Visual Studio und Team Foundation Server.

Unter allen Teilnehmern der Umfrage wird ein Konferenzticket verlost, die Umfrage kann natürlich auch anonym ausgefüllt werden.

Direkt zur Umfrage: Was wünschen Sie sich auf der Microsoft Visual Studio ALM-Konferenz 2011

Die Anmeldepforten der dotnet Cologne 2011 öffnen sich

11.03.2011 01:23:34 | Albert Weinert

Am 6. Mai 2011 findet die .NET Community Entwickler Konferenz statt, die dotnet Cologne 2011.

Zum dritten mal findet sie nun statt und wir haben uns eurer Feedback zu Herzen genommen.

So gibt es dieses Jahr u.a. folgende Verbesserungen

  • 30 Minuten Pause für mehr Netzwerken, Diskussionen.
  • Wir haben ein paar, richtige, Deep Dives im Programm
  • Mehr Platz in den Pausen für Essen, Teilnehmer und Sponsoren
  • Zentral gelegen
  • günstige Parkmöglichkeiten für Teilnehmer

Auch in diesem Jahr erwartet euch ein ganzer Tag voll mit Themen rund um .NET - 25 Vorträge auf 5 Tracks, von der fundierten Einführung bis zum hin zum "Deep Dive" für Spezialisten.

Das Erfolgsgeheimnis: Eine Handvoll Software-Entwickler setzen sich zusammen und organisieren eine Konferenz, die sie selbst gerne besuchen würden.

Das heißt: Top-Sprecher in einer Top-Location, Versorgung mit Essen und Trinken den ganzen Tag über und das Ganze zu einem unschlagbaren Preis: nur 25,- im "Super Early Bird".

Anmeldung ab dem 14.3.2011 um 14:00 Uhr

Roland Weigelt hat dazu auch was in schön geschrieben Winking smile 

22.03.2011 Treffen der DNUG Braunschweig - Retrospektiven: Durch ständige Kurskorrekturen zum Projekterfolg

10.03.2011 11:23:00 | Lars Keller

Die DNUG Braunschweig trifft sich am 22.03.2011 um 19:00 im Restaurant Zucker (Tagungsraum). Uns kommt Jutta Eckstein mit einem Vortrag zur agilen Softwareentwicklung besuchen.

Retrospektiven sind eine Grundvoraussetzung für agiles Vorgehen. Mit ihrer Hilfe lassen sich Probleme frühzeitig erkennen und Korrekturen einfach vornehmen, beides ermöglicht letztendlich erst den Projekterfolg.
In diesem Vortrag werden Retrospektiventechniken vorgestellt und es wird erläutert, welche Arten von Retrospektiven es gibt und wann sie am erfolgreichsten eingesetzt werden.

Bio:
Jutta Eckstein (it-communication.com, je@it-communication.com), Partner von IT communication, arbeitet seit über zehn Jahren als Coach, Beraterin und Trainerin im In- und Ausland. Weltweit verfügt sie über eine einzigartige Erfahrung bei der erfolgreichen Umsetzung agiler Prozesse in mittleren bis großen, verteilten, unternehmenskritischen Projekten, wovon auch ihre Bücher ‚Agile Softwareentwicklung mit verteilten Teams‘ und ‚Agile Softwareentwicklung im Großen‘ handeln. Sie ist Mitglied der AgileAlliance und im Programmkomitee verschiedener europäischer und amerikanischer Konferenzen zu den Themen agiles Vorgehen, Objektorientierung und Patterns.

Wie immer ist dieses Event kostenlos und jeder .NET Interessierte ist herzlich willkommen!

Weitere Informationen zur DNUG Braunschweig findest du hier.

Released: VS/TFS 2010 SP1 und TFS-Project Server Integration Feature Pack

09.03.2011 08:43:40 | Christian Binder

Für MSDN Subscriber Hier zum Download:

image

Wer die Project Server Integration Live sehen möchte, empfehle ich die Session von der TechEd 2010. Aaron und Christophe zeigen in zwei Szenarien, wie die Integration für agil und formal arbeitende Teams funktionieren kann. SP1 ist die Voraussetzung für die Project Server Integration.

Mehr Details zum VS und TFS SP1 als auch zur Project Server Integration gibt’s hier.

Viel Spass

Update: Team Foundation Server Power Tools März 2011

09.03.2011 08:07:04 | Christian Binder

Die neuen Power Tools sind hier verfügbar. Im letzten Release war das Backup Tool in der TFS MMC neu hinzugekommen, was allerdings noch einige Bugs hatte. Allein für das Update des Backup Tools lohnt sich der Download.  Zusätzlich ist die Version Control Shell um einige Features, wie z.B. Shelves erweitert worden. Für Alle interessant, die mit TFS Version Control arbeiten und dies direkt aus Windows heraus.

image

Weitere Details gibt’s auf Brian’s blog.

Auch neu sind die Team Foundation Server Build Extensions Power Tool März 2011, welche Updates für die ANT und Maven2 Build Integration enhält. Als auch eine XML Transformation für Testergebnisse von JUnit, um diese im TFS nutzen zu können.

Viel Spass

NEW Version 3.8 TeamSpeak Sidebar Gadget für Windows Vista und Windows7

08.03.2011 19:48:00 | Andreas Mehl

I recommend you update to the latest version 3.8.

 

Screenshots can be found here: Screenshots

New Video can be found here: Video

Documentation can be found here: Documentation

Have fun Laughing

Download Sidebar Gadget Teamspeak 3.8

Neue Folge von Silverlight-Expertise: E-Mail versenden, Reactive Coding und WP7 Emulator mit Tastatur bedienen

08.03.2011 11:51:19 | Gregor Biswanger

dotnet-magazin-logo

In der aktuellen Ausgabe vom dot.net magazin gibt es eine neue Folge von meiner Silverlight-Kolumne “Silverlight-Expertise”:

Silverlight-Expertise - Die Crème de la Crème des Monats
Die Serie „Silverlight Expertise“ des dot.NET Magazins präsentiert monatlich zwei leckere Top-How-Tos zum Thema Silverlight von Gregor Biswanger (www.dotnet-blog.net), sodass Einsteiger und fortgeschrittene Silverlight-Experten durch geballtes Wissen gesättigt werden. Heute stehen auf der Menükarte „E-Mail versenden“ und „Reactive Coding“. Viel Spaß und einen guten Appetit.

 

Windows_Phone_Logo_Horizont

Mit dabei ist jeweils ein How-To zum Thema Windows Phone 7. Hier steht auf der Menükarte: “WP7 Emulator mit Tastatur bedienen”.

 

original4d74b43f3b9c5

 

Zu lesen sind die How-To´s beim dot.net magazin, Ausgabe 04/2011

Vom Visual Studio zum Wix Setup in 5 einfachen Schritten

08.03.2011 04:13:00 | Jürgen Gutsch

Der folgende Beitrag ist ein Gastbeitrag von Sebastian Seidel, Gründer und Inhaber der Firma Cayas (http://www.cayas.de/). Vor einigen Monaten hatte ich per Twitter die Frage gestellt, wie man aus einem herkömmlichen Visual Studio Setup-Projekt ein Windows Installer XML-Projekt (WiX) erstellt. Falls es weitere Fragen zu WiX gibt, ist Sebastian über seine Website oder per Twitter zu erreichen.

Von meiner Seite ein großes Dankeschön an Sebastian, dass er sich die Mühe gemacht hat hier eine Anleitung zur Migration zu schreiben und hier zu veröffentlichen :-)

--------------

Vom Visual Studio zum Wix Setup in 5 einfachen Schritten

Vor einiger Zeit wurde über Twitter die Frage gestellt, wie man ein bestehendes Visual Studio Setup-Projekt (vd-proj) in ein Windows Installer XML-Setup (wixproj) migriert. Ich möchte an dieser Stelle einen möglichen Weg aufzeigen, wie man dies erreichen kann.

Schritt 1: Vorbereitung

Um die Schritte nachvollziehen zu können benötigt ihr die aktuelle Version von Wix, die ihr unter http://wix.sourceforge.net herunterladen könnt. In diesem Artikel verwende ich die aktuelle Version 3.5 des Windows Installer XML Toolsets.

Nach dem alles installiert und ins Visual Studio integriert ist solltet ihr folgendes Bild haben, wenn ihr ein neues Projekt erstellen wollt.

Beginnen wir nun also mit der Konvertierung.

Schritt 2: altes Setup erstellen

Im eigentlichen ersten Schritt bleibt alles wie gehabt. Ihr erstellt also euer Setup über die VS-Setup Solution. Das Ergebnis des Builds ist eine Setup.exe und ein Setup.msi-Paket.

Schritt 3: altes Setup dekompilieren

Für das unter Schritt 2 erstelle msi-Paket erstellen wir uns einen Ordner WixTransform auf dem Desktop und kopieren unser msi-File dort hin. Anschließend öffnen wir eine Command-Box (cmd) und wechseln in das Installationsverzeichnis vom Windows Installer XML. Darin befindet sich eine Datei namens Dark.exe, die wir mit dem Parameter -h aufrufen. Im folgenden Bild sieht man einen Teil der ausgegebenen Parameter, die mit Dark verwendet werden können.

Uns interessiert nur der -o[ut] Parameter mit dem wir angegeben können, wohin wir den Output umgeleitet haben möchten.

Hinweis: Dark kann nicht mit Leerzeichen im Pfad umgehen. Ich behelfe mir damit, dass ich mein msi-Paket in einen Ordner auf dem Desktop kopiere und alle Leerzeichen entferne.

Wir haben nun alle Vorbereitungen erledigt und können mit der eigentlichen Konvertierung beginnen. Dazu geben wir folgenden Aufruf ein:

Dark.exe -nologo -o C:\Users\Sebastian\Desktop\WixTransform\mySetup.wxs C:\Users\Sebastian\Desktop\WixTransform\Setup.msi

Wenn der Vorgang erfolgreich durchgeführt wurde, finden wir in unserem Ordner - bei mir WixTransform - nun eine mySetup.wxs, die den kompletten Aufbau unseres alten Setups enthält.

Schritt 4: Neues Setup-Projekt erstellen

Wir haben in den vorherigen Schritten unser Setup erstellt und es anschließend wieder in eine Windows Installer XML Source Datei konvertiert. Im letzten Schritt geht es nun darum diese zu nutzen. Wir wechseln dazu ins Visual Studio und fügen unserer Solution ein weiteres Projekt hinzu. Dieses Mal allerdings eins vom Typ Windows Installer XML Setup Projekt.

Unser leeres Projekt besteht lediglich aus der Product.wxs, welche wir löschen bzw. durch unsere mySetup.wxs ersetzen.

Schritt 5: Aufräumen

Damit unser Setup nun wieder ordnungsgemäß erstellt werden kann müssen wir unsere mySetup.wxs noch aufräumen. Die folgende Beschreibung gibt meine Vorgehensweise wieder. Sicherlich gibt es verschiedene Wege das Ziel zu erreichen. Wenn Ihr also einen optimaleren Weg gefunden habt, so lasst es mich doch wissen, in dem Ihr einfach ein Kommentar schreibt.

Fangen wir also an in dem wir unsere mySetup.wxs von oben nach unten durchgehen. Zuerst entferne ich alle <Binary>, <CustomAction>, <CustomTable> und <Property> Elemente. Ausgenommen sind natürlich die CustomActions, die ich eventuell auch in meinem ursprünglichen VS-Setup eingebunden hatte sowie die folgenden und meine eigenen Properties:

<Property Id="ARPHELPTELEPHONE" Value="1234 1234567" />
<Property Id="ARPCONTACT" Value="Sebastian Seidel" />
<Property Id="ARPCOMMENTS" Value="Mein Produktname" />
<Property Id="ARPURLINFOABOUT" Value="http://www.cayas.de" />
<Property Id="ARPPRODUCTICON" Value="IconSource" />

Anschließend ändere ich die kryptischen <Component> IDs zu aussagekräftige ab. Da ich meine Dialoge in einer separaten Datei erstellt habe, lösche ich auch das <UI> XML-Node. Wer möchte kann an dieser Stelle noch Einfluss auf die Dialoge nehmen und diese entsprechend anpassen.

Zu guter Letzt entferne ich noch alle Nodes, die ein Sequence enthalten. Auch das kann wieder jeder halten wie er möchte. Grundsätzlich kann man mit diesen Sequenzanweisungen viel Einfluss auf das Ausführungsverhalten des Setups nehmen.

In einem letzten Durchgang passe ich dann alle Source-Elemente an, damit diese wieder die richtigen Dateien referenzieren.

DotNetKicks-DE Image

XHTML1.1 valide mit BlogEngine.NET

06.03.2011 17:59:35 | Klaus Bock

BlogEngine.NET

… ist es überhaupt möglich?
Ja; allerdings sind dazu einige “Kunstkniffe” nötig.
Als erstes müssen die diversen &–Zeichen im HTML durch die korrekte Entität &amp; ersetzt werden. Außer den eigenen Widgets, Benutzersteuerelementen oder Erweiterungen, bietet hier BlogEngine.NET noch jede Menge Vorkommen im Quellcode. Die meisten sind leicht mit Hilfe der Suche zu finden. Einige verstecken sich jedoch an ungeahnten Stellen. Folgend zwei Beispiele, für zwei üble Verstecke die leicht übersehen werden können.

Als erste das Benutzersteuerelement CommentView.ascx im jeweils verwendeten Theme-Ordner. Es stellt mit den jeweiligen Kommentaren auch die URL der Webseite des Kommentator dar. Darunter fallen auch die Webseiten von angegebenen Trackback oder Pingback-Kommentaren.
Diese enthalten oftmals Parameter und somit auch das &-Zeichen. Das Benutzersteuerelement stellt den Wert der Eigenschaft Comment.Website einfach in einer Verknüpfung mit dem Namen des Kommentators dar, ohne den Inhalt der Eigenschaft zu überprüfen. bzw. zu kodieren.
An dieser Stelle schafft ein einfaches Kodieren mittels HtmlEncode Abhilfe.

<div class="visitor">
	<%= Comment.Website != null
		? "<a href=\"" + this.Server.HtmlEncode(Comment.Website.ToString()) + "\" rel=\"nofollow\" class=\"url fn\">" + Comment.Author + "</a>"
		: "<span class=\"fn\">" + Comment.Author + "</span>" %>
    <%= Flag %>
    <div class="comment_date"><%= Comment.DateCreated %><a href="#id_<%=Comment.Id %>">#</a></div>
</div>

Ein weiteres Versteck ist die Klasse Avatar.cs im Projekt DotNetSlave.BusinessLogic.
Diese Klasse wird vom Benutzersteuerelement CommentView.ascx zur Darstellung des Avatar eines Kommentators verwendet. Dabei wird als src-Attribut des img-Tag die angegebene Track- oder Pingback Adresse verwendet, um mit websnapr.com eine Grafik als Avatar darzustellen.
Der Entwickler der Klasse Avatar.cs hat hier versucht die URL der Webseite via UrlEncode zu entschärfen. Doch leider wird bei der Kodierung mit UrlEncode das &-Zeichen nicht übersetzt. Hierzu muss HtmlEncode verwendet werden. Die betreffende Stelle ist im Quellcode der Datei Avatar.cs bei Zeile 92 zu finden.

url =
    new Uri(
        string.Format(
            "http://images.websnapr.com/?url={0}&amp;size=t",
            HttpUtility.HtmlEncode(website.ToString()))); //HttpUtility.UrlEncode(website.ToString())));

Soweit zu den Anpassungen in BlogEngine.NET.
Als nächstes muss eine Unart von ASP.NET beseitigt werden, ohne die eine Validierung höher als XHTML1.0 Transitional nicht möglich ist. Es geht dabei um das name-Attribute des form-Tags, das außer von ASP,NET von niemandem sonst benötigt wird. Nur so einfach wird man dieses Attribut nicht los. In der Deklaration einer Form in Visual Studio, ist das Attribute nicht vorhanden. Es wird erst beim verarbeiten der Form von ASP.NET hinzugefügt. Demzufolge muss das Attribut auch erst nach der Verarbeitung wieder Entfernt werden.

Die einfachste Möglichkeit um das ungeliebte Attribut loszuwerden, bietet die Verwendung eines HttpResponse.Filter, wie schon einmal im Artikel über das Entfernen von nutzlosen Whitespace zur Laufzeit gezeigt. So ein Filter ist nichts weiter als eine Klasse die von der abstrakten Klasse Stream erbt. In ihr wird in der Methode Write der form-Tag entsprechend bearbeitet.

public override void Write(byte[] buffer, int offset, int count)
{
    var sb = new StringBuilder(this.ResponseEncoding.GetString(buffer));
    sb.Replace("<form name=\"aspnetForm\"", "<form");
    HtmlOptimizationFilter.CorrectErrors(sb);

    foreach (var entry in this.CommentsToRemove)
    {
        sb.Replace(entry, null);
    }

    if (this.TranslateEntities)
    {
        HtmlOptimizationFilter.TranslateHtmlEntities(sb);
    }

    var outData = this.RemoveUnneededWhiteSpaces
        ? HtmlOptimizationFilter.RemoveWhiteSpaces(sb, this.ResponseEncoding)
        : this.ResponseEncoding.GetBytes(sb.ToString());
    this.sink.Write(outData, 0, outData.GetLength(0));
}

Hier ist nur die Zeile 284 von Belang. Der andere Code in der Methode kann ignoriert werden.
Damit der Filter auch verwendet wird, muss er natürlich auch irgendwo in die Anwendung eingebunden werden. Innerhalb von BlogEngine.NET bietet sich das enthaltene Kompressionsmodul CommpressionModule.cs im Projekt DotNetSlave.BusinessLogic an, da hier bereits ein eigener Filter verwendet wird. In der statischen Methode ContextPostReleaseRequestState kann der Filter folgendermaßen verwendet werden:

private static void ContextPostReleaseRequestState(object sender, EventArgs e)
{
    var context = ((HttpApplication)sender).Context;
    if (context.CurrentHandler is Page
        && context.Request["HTTP_X_MICROSOFTAJAX"] == null
        && context.Request.HttpMethod == "GET")
    {
        CompressResponse(context);

        context.Response.Filter =
            new HtmlOptimizationFilter(context.Response.Filter)
            {
                CommentsToRemove = new string[]
                {
                    "<!-- Start custom code -->",
                    "<!-- End custom code -->"
                },
                RemoveUnneededWhiteSpaces = true,
                TranslateEntities = true
            };

        if (BlogSettings.Instance.CompressWebResource)
        {
            context.Response.Filter = new WebResourceFilter(context.Response.Filter);
        }
    }
    else if (!BlogSettings.Instance.CompressWebResource
			  && context.Request.Path.Contains("WebResource.axd"))
    {
        context.Response.Cache.SetExpires(DateTime.Now.AddDays(30));
    }
}

In Zeile 134 wird der Filter verwendet und der bisherige Filter, der ja auch ein Objekt vom Typ Stream darstellt, an den Filter übergeben. Die an die verschiedenen Eigenschaften des Filter übergebenen Werte sind im Moment nicht weiter wichtig.

Jetzt muss nur noch der richtige Doctype in der Masterpage des verwendeten Theme eingesetzt werden und der Validierung nach XHTML1.1 steht nichts mehr im Weg.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Wahrscheinlich werden bei den ersten Versuchen noch ein paar Fehler oder Warnungen, betreffend des einen oder anderen übersehenen Steuerzeichens auftauchen. Die “gröbsten Schnitzer” sollten allerdings bereits beseitigt sein.
Interessierte können sich den verwendeten Filter gerne herunterladen.

HtmlOptimizationFilter.zip

Fazit:

Ist die Umstellung des Doctype von XHMTL1.0 Transitional auf XHTML1.1 überhaupt nötig?
Für den alltäglichen Gebrauch des Blog sicher nicht. Mit dem Fortschreiten der Entwicklung von (X)HTML5 gewinnt valider Code immer mehr an Bedeutung. Mich reizte der Gedanke, die Codebasis von BlogEngine.NET gegen den experimentellen HTML5-Validator zu testen. Das Ergebnis war überraschend:
Würde ich mich vom meta-Tag PICS-Label trennen, währe die aktuell von mir verwendete Codebasis valide nach dem jetzigen Stand des HTML5-Validator.
Es währe allerdings Unsinn, zum jetzigen Zeitpunkt auf XHTML5 umzustellen, da aus der Codebasis von BlogEngine.NET einfach zu wenig Semantik zu holen ist.

Technorati-Tags: | |

Wolkige Aussichten

03.03.2011 16:03:08 | Damir Tomicic

Ich kann mich noch gut an meinen Vortrag vor ca. zwei Jahren auf der ECM-Konferenz der Computerwoche in Frankfurt erinnern, wo ich das Thema "ECM in the Cloud" vorgestellt und mit dem Fachpublikum (überwiegend IT-Manager und technische Geschäftsführer) diskutiert habe. Damals war der Grundtenor des Publikums klar – noch mindestens 10 bis 15 Jahre müssen wir warten bis das Thema wirklich aktuell wird. Nicht viel anders klang es beim Treffen ded German Architects Councils. Wenn ich aber die aktuellen IT-Nachrichten betrachte, wundere ich mich wie diese 15 Jahren so schnell vergangen sind ..

Alles nur heiße Luft?


Wolkig ging es auch in Hannover zu - „Cloud Computing“ ist das große Leitthema der CeBIT 2011. Kaum eine Ecke der Ausstellung ist nicht mit irgendeinem Hinweis versehen, die Inhalte oder Services kämen „aus der Cloud“. Sogar die Besucher wurden kurzerhand „in die Cloud“ verschoben und mit diversen Services bedient.

Es freute mich sehr, als sich eine wirklich seltene und daher umso spannendere Gelegenheit für den Austausch zum Leitthema mit Jean-Philippe Courtois, President Microsoft International bei der Microsoft Corporation, Ralph Haupter, Geschäftsführer der Microsoft Deutschland und Dr. Said Zahedani, Mitglieder der Geschäftsleitung und Senior Director der DPE Gruppe, während der CeBIT ergab.



Denn auch Microsoft setzt auf die Cloud [1], sieht sich sogar als die „Cloud Company“ und bietet ein breites Portfolio an Lösungen in diesem Bereich an. Es war die richtige Zeit für die Frage „Quo Vadis Microsoft?“ in Sachen Cloud.

Wolkige Aussichten bei Microsoft

Gleich am Dienstagmorgen hat Jean-Philippe in Rahmen der CeBIT Global Confernce eine Keynote zum Thema Cloud Computing gehalten und eine Einführung in das Thema sowie in die Herausforderungen der heutigen IT-Welt.

Mit den Cloud-basierten Angeboten wird eine bereits vorhandene globale IT-Infrastruktur verwendet, die von einem externen IT-Team betrieben und auf dem letzten Stand gehalten wird. Die notwendige Skalierung, weltweite Zugänglichkeit und Verfügbarkeit wird on-demand bereit gesteellt und gehört zum Versprechen eines Cloud Angebots dazu – der Nutzer erhält nicht die Einsicht in die Welt hinter den Kulissen, jedoch die notwendige Leistung und die Skalierung, die er benötigt. Gleichzeitig entfällt die Notwendigkeit eigene Infrastrukturen aufzubauen, zu betreiben und zu administrieren. Damit wären die Themen Konsolidierung und Kosteneinsparrungen auch plausibel dargestellt, ohne weiter hier ins Detail zu gehen ..

Das wär’s auch, wenn Cloud Angebote nur die Basis der IT-Infrastruktur (Hardware, Betriebssystem und Server) zur Verfügung stellen würden. Schnell wird auch die Frage nach Flexibilität, Elastizität und Dynamik ins Spiel gebracht. Mit Windows Azure geht Microsoft den Schritt weiter und bietet neben der Infrastruktur auch die Entwicklungsplattform samt notwendigen Services in der und für die Cloud mit an. Damit wird umfassend für die Skalierung mit den Anwendungen, die bereits für die Verwendung in der Cloud-basierten Umgebungen erstellt worden sind, gesorgt. Vorausgesetzt natürlich es wird Service-orientiert gedacht und die Entwicklungsplattform sinvoll in die eigene Software-Architektur integriert.

Auf Basis dieser kurzen Ausführung ergeben sich schon die Vorteile der Verwendung der Cloud, bei Microsoft in diesem Fall der Windows Azure Plattform, bei großen Unternehmen, die vorwiegend global tätig sind und große Rechenzentren unterhalten. Es ist insofern auch nicht verwunderlich, dass ziemlich alle großen Firmen in Deutschland eine „Cloud-Strategie“ haben und viele mit innovativen Umsetzungen in der Öffentlichkeit glänzen. Auch Bitkom widmete einen großen Bereich der Halle 4 der Vorstellung diverser Cloud-Angebote hiesiger Unternehmen.

Daher wollte ich von den Herren wissen, ob die Cloud-Angebote von Microsoft auch für die andere Schicht der Wirtschaft, nämlich für die Start-Ups geeignet sei.

Cloud und die Start-Ups

Offensichtlich liegt das Thema Jean-Philippe Courtois am Herzen. Er erwähnte enthusiastisch die Microsoft BizSpark-Initiative (technische und finanzielle Unterstützung für die Start-ups, [2]) um gleich danach zu betonen, dass die Start-Ups von heute die perfekte Kunden für die Cloud-Angebote sind. Die Herausforderungen einer globalen IT können nur mit einer Anwendung basierend auf einer globalen IT-Infrastruktur bewältigt werden, kein Start-Up sei aber in der Lage diese Infrastruktur selbst bereit zu stellen. Klein anfangen und sehr schnell wachsen ist die Natur eines Start-Ups, in der IT-Welt ist dies aber nicht einfach realisierbar und zugleich mit signifikanten Investments verbunden. Hinzu kommt auch die Tatsache, dass die Start-Ups neu anfangen und in der Lage sind die neusten Entwicklungen zu nutzen. Bei größeren Unternehmen sind die sog. Legacy-Probleme, nämlich die Migration bestehender Strukturen und die Anbindung an diverse, teils veraltete Systeme eine der größten Herausforderungen. Alle diese Probleme sind bei einem Start-Up eben nicht vorhanden.

Microsoft versucht auch im Gegensatz zu Amazon und Google, zwei weiteren Cloud-Anbietern, auch die Aufgaben der Entwickler zu vereinfachen und mit vorgefertigten Applikationsbausteinen den Bau von Applikationen zu unterstützen. An der Kostenseite stehen auch seitens Microsoft neben Test-Accounts (die kräftig auf der CeBIT beworben wurden) auch diverse kostenlose Angebote für kleine Unternehmen.

Spannend war die Aussage, das von rund 35.000 Azure-Anwendungen rund ein Drittel von den Start-Ups entwickelt wurde und in den top 15 Applikationen auch einige Start-Ups vertreten sind.

Quo Vadis Microsoft?

Wenn wir schon dabei waren wollte ich wissen, ob die Cloud ein mit der Einführung des .NET Frameworks vergleichbar großer Schritt für die Entwickler darstellt.

Jean-Philippe bestätigte, dass die .NET Plattform die Herausforderungen der damaligen Zeit, nämlich der Übergang von monolitischen Desktop-Anwendungen hin zu vernetzten, Service-orientierten Anwendungen auf verschiedenen Gerätetypen ermöglichen sollte. Es hat Microsoft einige Jahre gekostet, die Vision hinter .NET in der realen Welt zu implementieren, aber heute sieht Microsoft diese Aufgabe als erfüllt an. Die .NET Plattform ist die Plattform der Wahl geworden und hat sich erfolgreich neben Java im Unternehmen und neben zahlreichen Web-Frameworks mit ASP.NET im Web etabliert.

Nun aber kommt eine nächste Herausforderung auf die Entwickler (und Microsoft) zu, die mit der Skalierung und fortschreitender Globalisierung zusammen hängt und bisherige Anforderungen bei weitem übersteigt. Und hier soll der Cloud-Ansatz helfen. Microsoft sieht aber hier nicht den nächsten getrennten Folgeschritt, vielmehr wird die bestehende .NET Plattform mit der Cloud erweitert – Windows Azure setzt auf bekannte Standards und wird von den gleichen Entwicklungstools unterstützt. Die Cloud seit eine logische Erweiterung der bisherigen .NET Plattform, die Entwickler bemächtigen soll neue Chancen zu nutzen.

Microsoft sei es sehr ernst in dieser Sache und die Investments in die Entwicklung der Plattform sollen es auch plausibel beweisen. Wenn man sich schon anschickt die Firma als die „Cloud Company“ zu bezeichnen, dann meint man es auch so. Dies soll sich in allen Angeboten wiederfinden – die zukünftige Microsoft-Strategie wird durch die Cloud geprägt und weiter geführt.

Er meinte in diesem Zusammenhang:
"Cloud Computing marks a major paradigm shift in the way companies and organizations access software and computing power. ICT creates cost and efficiency benefits which are available to organizations of all sizes, from the largest of enterprises to the smalles of start-ups, and even in the public sector in areas like health and education."

Zusammengefasst: die bessere Cloud


Die strategische Sicht: aus .NET wird .NET + Cloud geeignet für die kleinen und für die großen. Microsoft sieht die eigene Stärke in der einheitlichen Plattform, die sowohl die Anforderungen der IT-Pro Welt bedient als auch die Entwickler auf die nächste Stufe der Entwicklung bringt. Und dies, betonte Jean-Philippe am Ende, sei die bessere Cloud, die nicht nur die .NET Anwendungen unterstützt, vielmehr läuft auf der Azure Plattform eine Vielzahl an Programmiersprachen, darunter PHP, und Server-Anwendungen. Für jeden ist was dabei.

Nicht uneingenützig waren die Fragen, denn unser Investment in die Cloud-Version des AxCMS.net [3] wollte ich bestätigt bekommen. Und aufgrund des Gesprächs kann ich sagen .. die Zukunft der .NET Entwickler ist aus der Microsoft-Sicht offensichtlich in der Tat wolkig. :-)

[1] http://www.microsoft.com/germany/business/cloudservices/default.aspx
[2] http://msdn.microsoft.com/de-de/ff963029.aspx
[3] http://de.axcms.net/

Herzlichen Dank an Dorothea, Kay und Achim von Microsoft Deutschland für die Organisation des Treffens. Beste Grüße an Nicki ICE Wruck und Dr. Windows Martin Geuß sowie an das MSND Bus Team. :-)

Einladung zum Treffen der .NET Usergroup Dresden am 17.03.2011

02.03.2011 20:10:00 | Martin Hey

Am 17.03.2011 wird das nächste Treffen der Usergroup stattfinden. Dieses Mal kommen wir so denke ich allen Teilnehmern von der Altstadt-Seite etwas entgegen, denn das Treffen findet bei Saxonia Systems statt und beginnt um 18:00 Uhr. Wie beim letzten Treffen mit großer Mehrheit beschlossen wurde, wollen wir dieses Mal ein Coding Dojo durchführen.

Damit alle einen groben Einblick haben, wohin die Reise geht, werde ich die Gelegenheit nutzen und zu Beginn anhand eines einfachen Beispiels die grundlegende Herangehensweise an testgetriebene Entwicklung erklären. Das Beispiel wird wohl jedem bekannt sein und daher können wir uns hier auf das Wie und nicht so sehr auf das Was konzentrieren. Im Anschluss daran werden wir zunächst eine einfache Kata gemeinsam durchführen und so das eben gelernte Vertiefen. Ich werde noch ein paar schwierigere Übungen mitbringen, so dass wir dann darunter eine aussuchen können, die wir bearbeiten.

Der Abend soll den Auftakt dazu geben, zukünftig ab und zu das ein oder andere Dojo durchzuführen. Wer sein eigenes Notebook mitbringen möchte, um selbst an der Lösung der Aufgaben zu arbeiten, ist herzlich dazu eingeladen. Das Dojo selbst wird an einem zentralen Notebook durchgeführt, so dass alle Beteiligten an den Gedanken von Driver und Copilote teilhaben können. Ich bin schon sehr gespannt auf diesen Abend.

Damit wir besser planen können, bitte ich alle potenziellen Teilnehmer um Eintragung in die Teilnehmerliste.

März Update : Visual Studio ALM Pivot

02.03.2011 17:13:01 | Christian Binder

Folgende Neue Inhalte sind nun auch im Visual Studio ALM Pivot verfügbar:

Agile
Scrum mit dem MSF für Agile Template Teil 1
Scrum mit dem MSF für Agile Template Teil 2
Scrum mit dem MSF für Agile Template Teil 3

Version Control
Team Foundation Server 2010 Version Control
Team Foundation Server 2010 Arbeiten mit Branches

Test
Einführung Visual Studio Lab Management 2010

Development
Visual Studio 2010 Productivity Power Tools

Extensibility
Visual Studio 2010 Productivity Power Tools

Team Explorer Everywhere
Heterogene Entwicklungsumgebungen mit Team Foundation Server 2010

Viel Spass

Regeln | Impressum