Thursday, March 19, 2009

Das MSDN Lizenzmodell als Golfclub erklärt

Ich habe jetzt schon sehr oft das Problem gehabt, das MSDN Lizenzmodell verständlich zu erklären. Microsoft macht es einem da ja auch nicht leicht. Daher habe ich jetzt lange überlegt wie man es besser erklären kann und bin auf ein witzigen Vergleich mit einem Golfclub gekommen. Da es auf die MSDN Team Suite gemünzt ist, finde ich auch, dass es ein gediegenes Produkt ist, was zu einem edlen Golfclub passt ;)

Eintritt in den MSDN Golfclub

Die MSDN Lizenz ist beim ersten Kauf für den Entwickler teuer. Das nennt man dann die Eintrittsgebühr. Diese Eintrittsgebühr muss jeder Entwickler zahlen, wenn er in unseren MSDN Golfclub eintreten will. Zusammen mit der Eintrittsgebühr muss man auch den ersten Jahresbeitrag für Platznutzung und Greenfee zahlen. Je nach Vertrag (Open, Select oder Einzellizenz) kann es auch sein, dass man gleich bis zu 3 Jahresbeiträge zahlen muss.

Verlängerung und Kündigung

Bei den anderen Golfclubs verlängert sich der Vertrag immer automatisch. Bei dem MSDN Golfclub ist dies anders. Man muss sich hier aktiv kümmern, um im Verein bleiben zu dürfen. Sprich man verlängert den Vertrag um ein weiteres Jahr (Bei Open / Select bis zu 3 Jahren). Diese Zeit ist man weiter im Club und darf auch alle neuen Plätze mit nutzen, die in dem Zeitraum gebaut werden ;) (neue Software).

Sollte man vergessen den Vertrag zu verlängern, darf man zwar auch weiter spielen, aber alle neuen Plätze sind tabu und auch die alten Plätze werden nach und nach geschlossen (keine neue Software mehr zum Download). Somit wird man bald zum Außenseiter in unserem MSDN Golfclub und ist gezwungen entweder ganz auszusteigen oder darf mit der Zahlung der voller Eintrittsgebühr wieder zurück zum Geschehen kommen.

Nutzung (Software und so...)

Mit dem Jahresbeitrag darf ich dann alle Plätze, Spielzeuge und Anlagen des Vereins nutzen. Nur die Flugsimulatorabteilung bleibt unseren Mitliedern vorenthalten (Microsoft Games). Toll ist auch, dass man kein Handicap braucht. Somit darf jeder eintreten, ob er nur vollblut Informatiker oder Hobbyentwickler ist. Nur das nötige Kleingeld muss er halt mitbringen!

Verrechnung der Gebühren für die Beruhigung der Golf spielenden Controller

Der Controller will jetzt noch den Mitgliedsbeitrag absetzen. Hierzu muss ich ihm die Eintrittsgebühr aufschlüsseln. Die Eintrittsgebühr selbst ist eine Invest Position und kann aktiviert (Abschreibung über 5 Jahre als Software) werden. Die Anteile der ersten Abogebühr und auch die folgenden Abogebühren ist Verwaltungsaufwand und können nicht aktiviert werden.

Vereinsheim (Der Team Foundation Server)

In unserer Edlen MSDN Lizenz ist noch kein Vereinsheim (Quellcodeverwaltung) enthalten. Man muss sich also mit dem Team Foundation Server selbst eines bauen. Dies ist zwar nicht teuer, aber es kostet viel Zeit. Man kann das Vereinsheim sozusagen nur in Eigenleistung erstellen oder einen Dienstleister beauftragen, der einem zeigt, wie man es bauen kann.

Ausrüstung (Mäuse hoffentlich ohne Bälle, Laptops und Co.)

In unserem MSDN Golfclub braucht man keinen Schläger, aber einen Computer mit Maus und Tastatur. Bälle werden bei uns heute meist durch Laser oder wenigstens die Optik der Maus ersetzt. Die, die immer noch mit Bällen im MSDN Golfclub antreten tun mir da schon etwas leid.

Trainerstunden (Oder auch Schulung genannt)

Im MSDN Golfclub sind Supportcalls enthalten. Hier kann man also bei den besten Trainern der Welt nachfragen, was man falsch gemacht hat und seinen Fehlschlag analysieren lassen. Diese Trainer verlangen jedoch, dass man den Schlag immer genau reproduzieren kann. Und man darf meist nur 4 Schläge (Fehler) pro Jahr kostenlos analysieren lassen. Möchte man mehr, so kann man auch Trainerstunden buchen. Hier sind zum Beispiel Gruppentrainings wie die BASTA oder auch die Team Conf zu empfehlen.

Andere Golfplätze (Die Konkurrenz und Billigmitgliedschaften für Schnorrer *g*)

Die Konkurrenz bietet auch Golfplätze an. Diese sind meist so wie diese Internetmitgliedschaften. Man zahlt deutlich weniger, muss dann aber kämpfen überhaupt einen Golfplatz zu finden auf dem man spielen darf. An so tolle Trikots (Steuerelemente), wie von Infragistics ist dann da nicht zu denken. Auch ein so tolles Vereinsheim, wie den Team Foundation Server, haben die wenigsten zu bieten. Für Leute, die gar nicht selbst entwickeln, sondern nur testen und administrieren, hat Microsoft den TechNet Golfclub im Angebot. Sozusagen etwas für passive Mitglieder. Auch die MSDN Team Edition steht zur Wahl bereit. Hier zahlt man nur die Hälfte, darf dann aber nur auf einem Platz spielen. Dies ist dafür jedoch der größte und somit eine denkbare Alternative für Leute die sparen wollen. Vielleicht kann man sogar günstige Angebote beim Discounter um die Ecke finden ;)

Fazit

Bitte nicht alles so ernst nehmen, was ich es hier geschrieben habe. Aber ich muss sagen, dass 100% zu der MSDN Team Suite passt. Die Leute, denen ich die MSDN Lizenz so oder so ähnlich erklärt habe, fanden es lustig, spannend und die haben es noch dazu verstanden!!! Sonst habe ich immer 3-4 Anläufe gebraucht ;)

 Monday, November 24, 2008

.NET 3.5, 64 Bit Vista und SQL (Express)

Verwendet man einen Server 2008 oder Vista in der Variante 64BIT, so bekommt man beim Aufrufen von Funktionen aus dem Visual Studio 2008 auf den SQL Server (Express) "häufig" eine Fehlermeldung, dass die DLL's für den Zugriff nicht installiert sind!

Was kann man hier tun?

Aktuell ist die Lösung beim Debug und Release auf X86 als Umgebung explizit umzustellen...

Keine gute Lösung wie ich finde - aber sie tut. Wenn jemand eine bessere Lösung hat, wäre eine Rückmeldung klasse.

 Sunday, February 24, 2008

Hyper-V Migration -> Kein virtuelles Clustering eines Guests über Shared Disk möglich?!

Problem:

Beim VMWare Server oder Virtual Server war es möglich einen lokalen (internen) Testcluster zu erstellen. Dies ging intern über einen SCSI Adapter mit einer Shared Disk. Diese Shared Disk wurde dann bei beiden Cluster Nodes hinzugefügt. Über die Clustereinrichtung konnte man so zum Test sehr einfach einen kompletten Cluster aufbauen.

Alternativen unter Windows:

Nur ISCSI kann man ohne Probleme für einen Cluster unter Hyper-V nutzen. So kann man versuchen ein Windows Target als Demo zu nehmen. Bei allen kostenlosen Testversionen ist allerdings leider nach 30 Tagen Schluss :(.

Alternativen unter Linux:

Man könnte auch noch eine Virtuelle Maschine mit einem Linux Openfiler installieren und hieraus SCSI betreiben. Die Performence ohne aktuelle Guest Tools ist allerdings mehr als schlecht und daher auf dem gleichen System wahrscheinlich nicht die beste Alternative.

Fazit:

Aktuell ist es nach meinem Stand der Technik nicht möglich ohne SCSI oder richtige SAN einen virtuellen Guest Cluster zum Test unter Hyper-V zu installieren. Dies ist der erste deutliche Nachteil gegenüber den anderen Virtualisierung Plattformen. Bleibt zu hoffen, dass es hier bis zur RTM noch Änderungen gibt oder ich vielleicht doch noch einen Workaround übersehen habe.

Bitte:

Sollte jemand ein kostenloses oder günstiges ISCSI Target kennen, was unter Windows Server 2008 läuft und hier Volumes einfach bereitstellen kann, so wäre ich über eine Rückmeldung dankbar!

 Saturday, February 23, 2008

Cluster -> Überlegungen zu Hyper-V im Cluster (gilt auch für andere hochverfügbare Systeme)

Hyper-V Cluster erstellen

Ich bin gefragt worden, wie ein Cluster vom Hyper-V erstellt werden kann. Die Vorstellung, dass man einfach zwei Server installiert und sich die VHD's synchronisieren ist zwar echt verlockend, doch geht das leider nicht so einfach. Eine solche kontinuierliche Replikation ist mit dem SQL Server 2005 oder dem sonst so altmodischen Lotus Notes möglich, aber nicht mit dem normalen Windows Cluster Dienst vereinbar.

Alternativen

1.       Double Take

Das Programm Double Take ist nicht günstig, kann aber einen Rechner 1 zu 1 online klonen und immer Syncrhron halten. Die Software ist für Server 2003 zertifiziert. Ob oder wann der Hyper-V Clusterdienst unstützt wird ist hier aber vollkommen unklar, auch wenn die Lösung bereits auf einfacher Hardware laufen sollte!

2.       Veritas Cluster

Eine Replikation wie oben beschrieben kann mit dem teueren aber guten Veritas Cluster erreicht werden. Mir ist aber nicht bekannt, ob Server 2008 und Hyper-V von Veritas unterstützt werden oder für wann die Unterstützung avisiert wird.

3.       Microsoft Cluster

Die zur Zeit einzig "richtige" Möglichkeit ist den Microsoft Cluster Dienst zu verwenden. Hierzu installiert man den ersten Server, dann den zweiten. Nun weißt man dem ersten die SAN oder auch ISCSI Festplatten zu. Danach wird der Cluster über die Windows Boardmittel eingerichtet. Erst nach dieser Einrichtung darf der zweite Server die Platten sehen, da bei NTFS im Gegensatz zu Linux nur ein Server exklusiv auf so einen Clusterdatenträger schreiben darf. Das hat Vor- und Nachteile. Ein Streaming wie beim VMWare ESX wird durch diese Architektur ausgeschlossen, dafür wird aber die Sicherheit by Default deutlich erhöht. Danach kann nun  der zweit Clusterknoten auch mit Clusterdienst in den neuen Cluster hinzugenommen werden. Was sich einfach anhört ist in der Praxis zwar mit dem Server 2008 wesentlich einfacher geworden, doch ist es immer noch nicht trivial. Denn Erfahrung mit dem Thema und zertifizierte Hardware sollte hier selbstverständlich sein. Erfahrung kann man hier auch mit einem internen Cluster im Hyper-V sammeln!

Clusterhardware

Die ideale Clusterhardware ist natürlich ein redundantes SAN, aber das kostet sehr viel Geld. Daher kann man auch ein ISCSI San verwenden, wenn man günstig einsteigen möchte. Hier empfiehlt sich zum Beispiel Promise VTrak als Speicher ISCSI Target. In diese Promise Racks können 8-16 Festplatten gesteckt werden. Somit wären bei 750GB Festplatten und RAID 1 Spiegelung rund bis zu 5 TB (mit einer Hot Spare Platte) möglich. Um den Server gegen Überspannung oder Brand abzusichern sollte diese Hardware auch noch mal in ein zweites Rechenzentrum gestellt werden. Die Verbindung zu den Servern sollte über ein eigenes Netzwerk gemacht werden und es empfiehlt sich 10GBit LAN separat ohne Anschluss an die normale LAN zu verwenden. Die beiden Geräte untereinander werden ebenfalls verbunden. Womöglich sogar doppel über einen zusätzlichen Switch!!! Eine solche Lösung kostet ohne die notwendigen Netzwerkkabel rund 10000 für beide Systeme. Da der Kabelweg unterschiedlich lang sein kann, muss hier besonders auf die Gegebenheiten des Rechenzentrums geachtet werden!

Openfiler als Open-Source Software

Als Alternative kann man sich auch noch den Openfiler anschauen, der auf Linux / Open Soruce Basis auch ein SCSI Target bereistellen kann. Der Support und die Zuverlässigkeit würde ich aber im Vergleich zum Promise als deutlich kritischer sehen.

Software auf Windows Basis / Windows Storage Server

Auch für Windows gibt es diverse ISCSI Software. Da die Software aber sehr teuer ist und Microsoft selbst eine Lösung davon aufgekauft und in den Storage Server ingegriert hat bleibt nur die Empfehlung den Windows Storage Server mit ins Auge zu nehmen. Auch hier gibt es sehr gute Lösungen für Storage, die im bezahlbaren Rahmen bleiben. Die Administration ist mit der Windows Oberfläche für einen "normalen" Windows Admin besonders einfach und effizient. So kann hier ein Clusterpaar für ISCSI Target mit SQL, Exchnage, Hyper-V und auch für den normalen NAS Storage mit Speicherkontingenten der Windows File Services genutzt werden.

 Thursday, February 14, 2008

kostenlose EBooks - unter anderem mit neuen zum .NET 3.5

Zu den .NET Framework 3.5 gibt es 3 kostenlose Ebooks von Microsoft in Englisch. Diese umfassen die Themen LINQ, ASP AJAX und Silverligt.

http://csna01.libredigital.com/?urvs5cn3s8

-----

Auch das .NET Blog Book ist absolut empfehlenswert! Es umfasst die besten Tipps aus den Blogs und ist sogar in Deutsch.

http://www.dotnetcasts.com/Static.aspx?=dotnetblogbook

-----

Auch die Openbooks von Galileocomputing sind noch absolut empfehlenswert. Die Bücher Microsoft Netzwerke, Praxis OO, VB2005, c# 2005, Java und Excel 2007 sind absolut empfehlenswert.

http://www.galileocomputing.de/katalog/openbook

-----

Das VB2005 Microsoft Press Buch aus der Weihnachtsaktion gibt es auch noch und jetzt auch mit beiden Teilen frei zum Download.

http://www.microsoft.com/germany/msdn/aktuell/news/MicrosoftVisualBasic2005DasEntwicklerbuch.mspx

 Thursday, December 06, 2007

Mein Interview zum Thema Karriere mit .NET in der Computerwoche

Microsoft .NET ist extrem gefragt, wenn es um Softwareentwicklung geht. Dies schlägt sich nicht nur auf die Anzahl der Anwendungen, sondern auch auf den Arbeitsmarkt nieder. Für die Computerwoche habe ich hier zusammen mit 3 anderen Kollegen (autoscout24, jobscout24, WestLB und ich für meinen Arbeitgeber, die LBBW) ein Interview zum Thema .NET auf dem Arbeitsmarkt gegeben.

Der Artikel findet sich hier:

http://www.computerwoche.de/job_karriere/arbeitsmarkt/1849357/

Aktuell ist der Artikel nur online zu finden. Er wird aber im Januar auch in der Print Ausgabe zu finden sein.

 Tuesday, October 30, 2007

Connection String vom DataSet dynamisch Ändern mit Tücken...

Lange habe ich rumsuchen dürfen, wie ich den ConnectionString von einem Dataset dynamisch in der Anwendung ändern kann und nun habe ich eine Lösung:

Was will ich denn eigentlich genau?

In der app.config wird die Einstellung zum Connection String abgelegt. Dieses ist prima, da man dieses manuell ändern kann, wenn dies notwendig ist. Nur kann es aber sein, dass der User einen von drei DB Servern beim Start auswählt (Test, Entwicklung, Produktion) und man dann den Connection String dynamisch ändern muss, da man bei dem Dataset nur eine Variable aus dem My.Settings hart verdrahten kann.

Wieso ist das ein Problem?

Nun stößt man erst darauf, dass die Settings unter My.Settings readOnly sind, wenn sie für eine Applikation deklariert sind. Einen Connection String kann man aber nur für eine Anwendung deklarieren und er ist somit IMMER ReadOnly.

Die Lösung

Tja daher muss man den Workaround von der folgenden Seite nehmen, um das Problem zu Lösen. Für meine Anwendung hat das ohne Probleme Funktioniert : http://www.mycsharp.de/wbb2/print.php?threadid=16723&page=1 . Hier kann dann der User den ConnectionString abändern aus der Anwendung per Funktion. Die My.Settings werden nach der Änderung neu geladen. Ob dieses bei häufigem Wechseln und eine großen Userzahl Probleme macht kann ich nicht sagen, da 99% der Zugriffe Produktion sein werden und hier der Server bis zu einer Migration sicher nicht geändert wird...

 Tuesday, August 28, 2007

Config Dateien im selben Namensraum

Ich habe eine EXE Datei ein 2 DLL's die im selben Verzeichnis liegen. Die beiden DLL's haben je 2 Konfigurationswerte "Test1" + "Test2" / "Test3" + "Test4". Die Werte werden in der DLL beim kompilieren als Standardwerte eingebrannt. Nun habe ich nur die DLL Dateien und will die Werte Ändern... Wie geht das?

Unter der Voraussetzung, dass DLL's und EXE den selben Namensraum haben, kann man einfach "Test1", "Test2", "Test3" und "Test4" in der Config Datei der EXE angelegt werden. Die dort gesetzten Standardwerte überschreiben dann die kompilierten Standardwerte der DLL's.

Daher sollte in den DLL's unbedingt dokumentiert werden, welche Config Werte gesetzt werden müssen / können. Kommen hier Werte hinzu, so muss, man diese auch in die EXE einbauen.

Sind die Werte nicht im gleichen Namensraum vorhanden, muss ein Verweis auf den anderen Namensraum gesetzt werden, wie es Thomas Schissler in seinem Blog macht. Man beachte, dass sein Tipp nur für c# gilt und unter vb.NET ein anderer Zweig angelegt werden muss. Nämlich der im My.Settings Bereich.

Hier der Link zu Thomas Schisslers Artikel: http://www.artiso.com/ProBlog/PermaLink,guid,8c0f402f-5186-4b31-aaa1-778f57082fb9.aspx

 Thursday, August 16, 2007

MSDTC und Windows Workflow Foundation

2 Tage Arbeit hat mir eine Fehlende Exception in der Windows Workflow Foundation gebracht!

Ich habe einen einfachen Workflow gebaut und ihn mit SQL Persistence und SQL Tracking an einen SQL Server 2005 angebunden. Die Datenbank blieb jedoch manchmal leer und wurde nur in seltnene Fällen gefüllt. Wo sucht man da, wenn das Programm erfolgreich durchläuft und kein Fehler gemeldet wird? Im Quellcode. So habe ich 2 Tage gesucht und nichts gefunden. Doch wie durch ein Zufall habe ich die Bedingung Runtime.StopRuntime mitten drin als Auslöser für eine Exception gesetzt und diesmal kam auch eine, die mich zur Lösung des Rätsels brachte...

MSDTC nicht auf Server blub Verfügbar...

Tja, dann habe ich geschaut und den MSDTC Dienst eingeschaltet. Er war hier gestoppt worden. Tja, nachdem der Dienst lief, war erstens die Fehlermeldung weg und zum zweiten wurden nun immer alle Events geloggt. Daher bleibt nur die Frage, wo die Microsoft Entwickler die Exceptions für die WF versteckt haben. Für Tracking und Persistence sind sie auf jeden Fall zu sparsam gewesen und ich würde es gar als Bug bezeichnen.

FAZIT: VOR der Benutzung der Persistence und Tracking Services in der Windows Workflow Foundation MSSTSC Dienst starten!!! MSDTC steht übrignes nicht für Distributed Transaction Controller...

 Friday, August 10, 2007

Erfahrungen zum SQL Server 2008 Katamai July CTP

Ich hab den SQL Server 2008 installiert und habe keine großen Probleme bei der Installation gehabt. Der SQL Server 2008 ist nur eine Evolution zum SQL Server 2005 und auf den ersten Blick findet man keine großen Neuerungen.

  • Was mir sehr gut ins Auge gestochen ist, ist dass auch weiterhin DTS Packages wohl unterstützt werden. Dies sollte ja eigentlich nicht mehr der Fall sein, aber es gibt ja noch haufenweise solche alten Packete. Hoffentlich bleibt das dann auch in der Final so!
  • Was mir sehr negativ ausgefallen ist, dass der SQL Server 2008 sich nicht in das Visual Studio 2008 einklinckt, sondern das Visual Studio, was man gerade deinstalliert hat wieder installiert. Schlimmer noch ist aber, dass danach einem vom Windows Update wieder das SP1 um die Ohren bekommt. Das ist schade, denn das macht die Installation nicht kürzer. Dieser Punkt wird sich aber hoffentlich noch mit der nächsten Version ändern?!
  • Im Inneren ist die XML Unterstützung aufpoliert worden, was nun die Nutzung alle XML Daten ermöglicht. Bisher war die XML Unterstützung ja noch nicht vollkommen ausgereift.
  • Deutliche Verbesserung der Offline Fähigkeiten in Zusammenarbeit mit unterschiedlichen Clients und der Programmierung mit .NET 3.5 - in der Offiziellen Beschreibung steht zwar .NET 3.0 - aber das glaube ich nicht so ganz :)
  • Die BI Funktionen haben sich laut Beschreibung deutlich erweitert. Dies ist aber nicht der Focus meines Tests gewesen.
  • Das Policy Based Management von dem neuen SQL Server habe ich bisher noch nicht ausprobiert, es würde mich aber freuen, wenn die Berechtigungen noch weiter in ADS Kompatibilität gehen würden.

Alles in allem hat der SQL Server 2008 bis auf das XML noch keine "MUST HAVE" Features eingebaut. Aber vielleicht sehe ich das auch aktuell noch nicht so, wie man es schon bei der nächsten Beta sehen könnte :)

 Monday, July 30, 2007

Neue Tools für das Visual Studio 2005

Zu meiner ausführlichen Liste der Visual Studio 2005 Tools gesellen sich nun noch 3 weitere. Eines hatte ich vergessen und 2 sind seit den letzten Tagen neu dazu gekommen.

Visual Studio for Database Pro Trial ist das erste, was nur mit der Testversion vom VSTS Suite funktioniert. Es muss die gleiche Sprache vorhanden sein, wie für die Trial der Team Suite. Wer die volle Suite sein Eigen nennt, kann gerne auch die Version plus Database Tool von der MSDN Seite laden.

Jetzt gibt es ein Service Release für das Database Tool nicht ganz frisch dazu.

Auch neu ist eine Erweiterung der Visual Studio Tools for Office SE

Viele Spaß auf jeden Fall schon mal beim Testen und installieren!!!

 Wednesday, July 25, 2007

Ganz viele Links zu Software rund um .NET

Das Visual Studio 2005 ist nicht mehr ganz frisch und braucht einige Extensions um auf den aktuellsten Stand zu kommen. Ich suche dann immer bei einer Installation mir die Tools zusammen. Als Merker habe ich diese Tools einfach mal in einen Blog Eintrag mit Links zusammen gefasst:

Visual Studio 2005

·         Vollversion nur für MSDN Subscriber (über MSDN Anmeldung im geschützten Bereich)

·         Testversion 180 Tage

·         Express Editions (kostenlos, geeignet kleine Programme oder „Einsteiger“)

Extensions für die neuen Techniken:

·         Visual Studio 2005 SP1

·         Visual Studio 2005 SP1 Vista Patch

·         Windows Workflow Foundation

·         Visual Studio Tools for Office Second Edition

·         Extensions for WCF und WPF CTP (EN)

·         Extensions for Sharepoint 3.0 (EN)

·         Microsoft Expression Blend für die WPF Animationen und Co

·         Microsoft Sandcastle für automatische Dokumentation (EN)

·         ASP.NET Ajax Extensions (EN)

·         ASP.NET Ajax Toolkit (EN)

Auch ein paar Tools von Drittherstellern können sehr nützlich sein:

·         #ZipLib (EN, kostenlos, Zippen mit .NET)

·         Sandcastle GUI (EN, einfach und kostenlos, Autodokumentation GUI mit .NET)

·         Sandcastle Help File Builder (EN, komplex und kostenlos, Autodokumentation GUI mit .NET)

·         Sparx Enterprise Architect (EN, DEMO, UML Tool)

·         Sparx MDG Plugin for Visual Studio 2005 (EN, DEMO, UML Plugin)

·         Refactor! (EN, kostenlos, Refactoring for VB.NET)

·         PDFSharp (EN, kostenlos, PDF mit .NET)

·         SharpPDF (EN, kostenlos, PDF mit .NET)

·         iTextSharp (EN, kostenlos, PDF mit .NET)

·         Snippet Editor (EN, kostenlos, VB.NET Snippet Editor)

·         Interop Tools for Windows Forms (EN, kostenlos, Anbindung von VB6 Forms)

·         Codeplex (EN, viele weitere Shared Source Programme)

Wer nicht so viel installieren und zusammensuchen will, kann auch gerne das neue Visual Studio Orcas Downloaden. Dieses enthält alles wichtige, was sonst per Extension installiert wird und bietet darüber hinaus noch LINQ und weitere Features samt .NET 3.5 an.

·         Visual Studio Team Suite Orcas Beta 1 (EN)

·         Visual Studio Team Foundation Server Orcas Beta 1 (EN)

·         Visual Studio Express Editions Orcas Beta 1 (EN)

Auch als Virtuelle Maschine sind diese Betas zu haben!

·         Visual Studio Team Suite Orcas Beta 1 VHD (EN)

·         Visual Studio Team Foundation Server Orcas Beta 1 VHD (EN)

Alle Links werden ohne Gewähr und ohne Haftung für den Inhalt angeboten!!!

 Wednesday, July 18, 2007

Ist .NET Sicher? Argumentationshilfen…

Gestern wurde mir gesagt, dass das .NET Framework aber noch nicht ganz ausgereift / sicher ist. Diese Frage konnte ich nicht wirklich glauben, möchte aber nach guter Überlegung für den Fall, dass diese Frage erneut gestellt wird, die passenden Fakten zur Hand haben.

.NET ist Sicher, weil…

·         Das .NET Framework ist eine der am weitest Verbreitesten Anwendungen überhaupt.

·         In aller Welt sollen mehr als 250 Millionen Installationen gezählt sein.

·         Höchstverfügbarkeitslösungen wie die NASDAQ setzen mit Ihren Systemen komplett auf .NET.

·         Das Sicherheitskonzept CAS von .NET ist die breiteste Sicherheitsbarriere aller Softwarearchitekturen auf dem Markt.

·         Per Default ist das .NET Framework sicher, was auch zeigt, dass es bisher nur für ein Framework ein einziges Service Pack in 6 Jahren gibt.

.NET ist ausgereift, weil…

·         Die Releases von Anfang an wie bei JAVA im 1,5 Jahres Rhythmus erschienen sind

·         .NET die einzige Plattform der Welt ist, mit der man zertifiziert MMCI 5, also den höchst möglichen Entwicklungslevel der Prozesssicherheit, erreichen kann. (Microsoft)

·         Die Verbreitung von .NET Applikationen seit 2004 bei Neuentwicklungen vorne liegt und seit 2006 auch bei dem Bestand .NET an JAVA vorbei gezogen ist. (Technokrati)

·         Laut INETA noch kein PC auf Basis eines fehlerhaften RTM Frameworks abgestürzt ist.

·         Die Unterstützung der Plattform extrem breit aufgestellt ist und jeden Tag neue Entwickler hinzukommen.

.NET ist die Plattform für…

·         Aufwendige, Barriere freie GUI Applikationen mit der Presentation Foundation

·         Office Basierende Lösungen mit VSTO

·         Höchstkritische Datenbanklösungen mit dem SQL Server

·         Workflow Lösungen mit der Workflow Foundation

·         Webservice mit der ECMA Standardisierung der WCF die Plattform für Webservices

 Monday, June 04, 2007

Neuer Server mit 8GB Ram im Einsatz

Der alte Dual Opteron mit 2x Dual Opteron 242, 4GB Ram, 320 GB HD und so gut wie lautlos ist Geschichte.

Der neue Server ersetzt Ihn und auch meinen alten Desktop Rechner!

  • Seit 10 Jahren ist es erstmal wieder ein Intel Rechner und die ersten Erfahrungen ist absolute Extraklasse. Die virtualisierten Maschinen darauf sind derart schnell, dass man sagen kann, dass die Hardwarevirtualisierung mit Vanderpool sein Geld schon alleine Wert ist.
  • Auf dem Server ist nun ein Windows Vista Ultimate Edition 64 Bit installiert. Dieses läuft absolut stabil und kann die 8GB Ram komplett und einwandfrei verwalten!
  • Das Gerät ist trotz seiner Leistung nahezu geräuschlos und die Temperaturen liegen durchweg unter 40°C

Er hat folgende technische Daten:

  • Intel Core2Duo 6420
  • 8GB Ram von G.Skill 4x 2 GB DDR2-800
  • 1 Terrabyte Festplatte von WD 2x 500GB SATA-300, 7200 UMin, 16 MB Cache
  • ASUS Silent Geforce 8500 GT mit 512 MB Ram
  • ABIT Fatal1ty SLI 650 Board
  • Chieftech DX Dragon gehäuse Silber komplett gedämmt und Artic Fans 2x von Netzteil 80mm TC / Mainboard gesteuert 120mm

Fazit:

BÄRENSTARK und EXTREM leise. Weitere Berichte zur Software und zur Virtualisierung werden folgen...

Der alte Dual Opteron und der Athlon 1800 stehen übrigens zum Verkauf...

TEST: Visual Studio for Database Pro

Dies ist ein recht umfangreicher Testbericht der neuen Funktionen der MSDN Rolle für Database Professionals.

Kurze Anmerkungn von Microsoft: Dieses Produkt ist auch außerhalb der MSDN zu erhalten. Doch lohnt sich der geringe Abschlag meist nicht. Für Professionelle Entwicklung sollte man sowieso auf das MSDN Abonnement setzen.

TestberichtVSDB.pdf (331,17 KB)

 Wednesday, February 07, 2007

Mehrere SQL Befehle in einem Typed Dataset Verknüpfen um z.B. Views zu aktualisieren

Ein Select Befehlt auf ein Typed Dataset ist ein Kinderspiel, doch wie Thomas Schissler (http://www.artiso.com/problog) richtig schreibt ist das ganze Dataset eine V Technologie... Am Anfang Freude, dann Ernüchterung und am Ende wieder sehr viel Freude...

So ging es mir auch und ich habe mir 2 Fragen gestellt:

  • Wie kann ich eine View mit einem Typed Dataset updaten?

Das ist nicht automatisiert per klicken möglich heißt die ernüchternde Antwort. Doch hat das auch seinen Grund. Zwar kommt bei meiner View immer eine Datenzeile raus, die man sicher updaten kann, aber das ist ja nicht immer so. Von daher muss man das händisch machen. Dies ist notwendig, da man hiermit selbst zeigt, dass man weiß, was man tut. Man geht also im Typed Dataset hin, legt einen neuen Update Befehl an und los geht's mit der Aktualisierung

  • Wie kann ich zwei Tabellen Updaten mit einem Event vom Typed Dataset?

Nun möchte ich aber nicht nur eine Tabelle der View updaten sondern sogar 3 :( Es war ein harter Kampf das rauszufinden, aber es ist total einfach. Man setzt ein Updatestatement für die 1. Tabelle, eines für die 2. Tabelle und noch ein Update für die Log Tabelle hintereinander in den SQL String beim Typed Dataset... Doch wie trenne ich diese Anweisungen? Bei T-SQL geht das einfach mit ner neuen Zeile anfangen. Hier bringt das leider nur einen dummen Fehler. Nach Tagelangem verzweifeln hatte ich es aber dann endlich:

";"

Ist zum Trennen von mehreren SQL Strings notwendig. Wie einfach, oder?! Also mein Tipp daher: Wenn ich mitloggen will, was beim Update passiert, so mache ich bei nem Dataset einfach zwei Update Anweisungen rein. Das sollte sogar revisionssicher sein!!!

 Tuesday, December 05, 2006

Großbanken und Börsen lösen Ihre Großrechner ab!

Lange haben Sie gehalten, lange haben die Anwender mit Userunfreundlichen Benutzeroberflächen im Grün-Schwarz Look gearbeitet und nun merken die wichtigen Großbanken, dass es Sinn macht die Großrechner zu überdenken. Zwar sind die Umstellungskosten immens, aber danach geht's richtig fix weiter. Der Schwenk musste ja irgendwann kommen!

Nach der Norisbank, was eher ein kleiner Fisch ist, hat die NASDAQ als die größte Börse der Welt Ihre Großrechner durch SQL Server 2005 mit .net ersetzt. Diese wickeln insgesamt 5.000 Transaktionen pro Sekunde und 100.000 parallel ab. Es kommen 8 Cluster Systeme von Dell zum Einsatz. Die Betriebskosten konnten so um Faktor 10 gesenkt werden und die Neuentwicklungen gehen so meist in Tagen von der Hand. 1,3 Mio Institutionelle Kunden sind direkt angebunden und das Reporting ist ohne Locks der Datenbank in Echtzeit möglich!

http://go.microsoft.com/?linkid=5233610

Auf Basis der extrem guten Erfahrungen stellt auch die London Stock Exchange auch auf Windows Server mit SQL Server um.

http://download.microsoft.com/download/7/7/e/77e15b39-fef7-4eb2-95ef-b9b7b0691444/CS604_LSE_fin_211106.pdf

Mal sehen, wann die nächsten Banken folgen. Der Großrechner ist Geschichte, es lebe der SQL Server und seine Kollegen von Oracle und Co., die man auch nicht unterschätzen sollte.

 Tuesday, November 28, 2006

Integration Services (SSIS) - SkriptTask - VB.net Skripte für Transformationen

Die SSIS Integration Services beim SQL Server 2005 bringen echt was. Ich kann nun mit VB.net eine Konvertierung von Daten machen und somit die Daten, die ich z.B. aus einer Textdatei bekomme sehr leicht anpassen.

Die Integration Services wandeln die Daten extrem einfach um, jedoch ist zu überlegen, wie komplex die Umwandlungen werden. Sollte das ganze doch zu komplex werden, wäre ein .net Programm als Transformation sicher der beste Weg, um Daten von A nach B zu schrieben.

In diesem Fall ging es aber gut mit den SSIS Script Tasks. Ich bekomme Daten aus einer Textdatei und muss diese in den SQL Server importieren. Diese dürfen allerdings nie NULL sein, sondern müssen immer numerisch 0 sein. Hier gehe ich so vor:

  • Source auswählen... z.B. Textdatei
  • Daten soweit nötig als Dateityp konvertieren
  • SkriptTask einfügen
  • Transformation als SkriptTask Art auswählen
  • Der Input steht fest. Nun die Variablen auswählen, die in den Output müssen (im zweifel alle)
  • Dann die Daten die in dem Skript geändert werden als ReadWrite markieren oder einen Output Alias angeben
  • Nun auf den SkriptDesigner gehen und siehe da, Visual Basic .net öffnet sich.
  • Wo Code einfügen steht kommt der Code rein. Die Variablen können über "Row.Variable" geprüft werden.
  • Bei mir wars:
    if row.spaltenname_isNull = true then
      row.spaltenname = 0
    end if
  • Nach dem man das fertig hat, einfach das Visual Studio Fenster schließen und fleißig testen...

Viel Erfolg mit eigenen VB.net Skripten dann im SSIS!