Mein Lieblingsplugin für VisualStudio 2005 “GhostDoc” hat nun auch den BASTA-Publikumspreis gewonnen – und das zu Recht. Herzlichen Glückwunsch.
In dieser Kategorie geht es um das Microsoft .NET Framework und damit zusammenhängende Technologien wie CLR, C#, ASP.NET, WCF, WF und WPF.
Mein Lieblingsplugin für VisualStudio 2005 “GhostDoc” hat nun auch den BASTA-Publikumspreis gewonnen – und das zu Recht. Herzlichen Glückwunsch.
| Comments (0) |
Oftmals steht man im Navision vor dem Problem einen Report in einem bestimmten Druckerfach auszugeben. Dafür muss man jedoch die RawKind-Property des Druckerfachs wissen und im Report als PaperSourceFirstPage bzw. PaperSourceOtherPages oder über CurrReport.PaperSource einstellen. Leider gibt es im Navision keine einfache Möglichkeit diese Property auszulesen. Mit dem folgenden Stück C#-Code kann man sich jedoch alle installierten Drucker samt unterstützten Druckerfächern anziegen lassen:
using System.Drawing.Printing; .. PrinterSettings ps = new PrinterSettings(); foreach (string name in PrinterSettings.InstalledPrinters) { listBox1.Items.Add(name); ps.PrinterName = name; foreach (PaperSource paperSource in ps.PaperSources) listBox1.Items.Add(ps); }
| Comments (0) |
Am 27. September findent im Leipziger Mercure-Hotel ein TechTalk mit Christian Weyer über die Windows Communication Foundation (WCF ehemals Indigo) statt. Organisiert wird das Event von der .NET User Group Leipzig.
Die Anmeldung und weitere Informationen gibt es hier.
| Comments (0) |
Laut Microsoft wird Navision 5 wohl im ersten Quartal 2007 kommen und damit die erste Welle der Umstellung zu einem einheitlichen Dynamics auf .NET-Basis darstellen. An dieser Stelle möchte ich einmal die bisher mehr oder weniger öffentlich gemachten Erkenntnisse darstellen und betone aber das dies eher Gerüchte sind, da es ja noch keine öffentliche Beta gibt.
| Comments (5) |
“Businesses depend on business processes” schreibt David Chappell als einleitenden Satz in einem viel zitierten Artikel über die Windows Workflow Foundation (WF). Dieser Satz zeigt meiner Ansicht nach sehr gut wie wichtig es für Unternehmen ist ihre Geschäftsabläufe zu standardisieren und zu automatisieren. Dabei gibt es zwei Welten die aufeinander prallen. Auf der einen Seite sind logische und streng geordnete Programme und auf der anderen Seite Menschen, die Ihre Arbeitsabläufe unterbrechen und einteilen wollen. Programme sind in der Regel so geschrieben, dass sie ihre Aufgaben schön sequentiell hinter einander abarbeiten. Menschen tendieren eher dazu angefangene Aufgaben erstmal ruhen zu lassen und bei Bedarf andere Aufgaben zwischen zu schieben. Man denke dabei an einen Angestellten der zur Mittagspause geht und unterwegs einen Kollegen trifft. Der Kollege erzählt ihm von einem wichtigen Auftrag und schon startet der Angestellte noch beim Mittagessen einen neuen Workflow.
Ein Workflow ist eine vordefinierte Menge an Aktivitäten die Menschen und/oder Software koordiniert zu einem bestimmten Ergebnis führen soll. Dabei unterscheidet man in sequentielle (FlowCharts) und zustandsbasierte Workflows (StateMachines).
Wie kann man solche Geschäftsabläufe jedoch unterstüzen und kontrollieren? Die Antwort lautet natürlich Windows Workflow Foundation.
Die WF ist ein zum .NET Framework 3.0 gehörendes deklaratives Programmierkonzept, das Entwicklern ermöglichen soll komplexe Workflow-Szenarien im Computer abbilden zu können. Besonderes Augenmerk wurde dabei auf die grafische Veranschaulichung des Workflows innerhalb des Visual Studio Designers gelegt, so dass man komplexe Arbeitsabläufe direkt mit den jeweiligen Workflow-Experten grafisch erfassen kann. Gleichzeitig wird eine RunTime-Umgebung zur Verfügung gestellt, die innerhalb eines Host-Prozesses den Ablauf des Workflows steuert.
Jeder Workflow braucht einen Host-Prozess, der die RunTime-Umgebung des Workflows instanziert. Dies kann jede .NET-Anwendung aber auch jeder Server sein. Die Windows Workflow Foundation-Technologie kommt übrigens ursprünglich aus dem BizTalk-Server und wurde von dort direkt ins .NET-Framework ausgelagert.
Prinzipiell ist die WF ein Programmierkonzept – jedoch wurde die WF bereits in die nächsten Versionen von SharePoint und Office integriert, so dass es durchaus möglich sein wird Workflows zu definieren ohne eine einzige Zeile Code zu schreiben. Dokumentenzulassungs-Workflows zum Beispiel kann man komplett im SharePoint Designer erstellen.
Im nächsten Teil der Serie werde ich einen einfachen Workflow und die Implementation mit der WF vorstellen.
| Comments (2) |
Unter http://msdn.microsoft.com/dotnetrocks/ gibt es ein Internetradio, dass alle paar Tage eine ca. einstündige Talk Show zu .NET-Themen sendet.
| Comments (0) |
Nachdem ich bisher nur Gutes vom Windows Live Writer gelesen habe, wollte ich das neue Tool auch mal ausprobieren.
Der erste Eindruck ist durchweg positiv auch wenn die Beta noch einige kleinere Schwachstellen hat.
Nach der Installation fragt Live Writer nach den LogIn-Daten des Blogs. Da ich Blogger benutze musste ich nur meinen Blogger-Account angeben und konnte dann direkt loslegen und mit Hilfe dieses Testposts Erfahrungen sammeln:
Wer mehr über den Windows Live Writer lesen will: http://windowslivewriter.spaces.live.com/
| Comments (0) |
Am Samstag war ich mit meinem Kollegen Jens Hesse bei der ICE2006 in Lingen.
An dieser Stelle möchte ich kurz einmal die wichtigsten Themen vorstellen die mich auf der ICE2006 bewegt haben.
Zu Punkt 1:
In einem Vortrag von Sebastian Weber wurde die Windows Workflow Foundation vorgestellt. Ich muss ganz ehrlich sagen, ich habe schon einiges darüber gelesen aber erst die Demo hat bei mir ein gewaltiges “Aha!-Erlebnis” ausgelöst. Die Einsatzmöglichkeiten der WF sind nahezu unbegrenzt. Einer der großen Vorteile die ich sehe ist, dass man mit dem Designer ein Tool in die Hand bekommt mit dem man zum Kunden gehen kann und gemeinsam mit ihm den Workflow baut. Wenn man dann nach Hause kommt muss man nur noch die freigelassenen Codeblöcke implementieren, der Ablaufplan steht dann jedoch schon.
Ich habe mir bereits die Beta herunter geladen und einige kleine Workflows implementiert und werde dem Thema eine eigene Blog-Serie widmen.
Zu Punkt 2:
In einem wirklich interessanten Vortrag zeigten die Security-Experten Michael Willers und Frank Solinske die Gefahr von Rootkits und wie leicht diese auf Rechnern mit Administratorbenutzern die Kontrolle übernehmen können.
Es wurde in einer Art Live-Hack gezeigt, dass Rootkits bis in den Kernelmode (Ring 0) eindringen können und dann dort einfach alles machen können. EventLog, Prozessanzeige usw. kann man ab dem Moment vollkommen vergessen. Selbst ein Neuformatieren der Festplatte hilft nicht das Rootkit los zu werden, da es die eigenen Speicherbereich als defekt markieren kann und somit vom Formatieren auschließen kann. Auch das Finden der Rootkits ist selbst für Experten ein Problem, da sich manche ins BIOS oder den Grafikkartenspeicher speichern oder sich teilweise als Gerätetreiber tarnen.
Die beiden Redner starteten deshalb einen energischen Aufruf, dass Firmen Entwicklern die Lokalen Adminrechte entziehen sollten – so wie bei Microsoft und einigen anderen Firmen schon geschehen.
Wer mehr darüber lesen will, kann sich die Vortragsfolien von Michael Willers als Einstiegspunkt ansehen oder unter www.rootkits.com einige Rootkits downloaden.
Zu Punkt 3:
Daniel Melanchthon und Michael Kalbe diskutierten in einem durchweg unterhaltsamen Vortrag wie man das firmeninterne WLAN sicherer konfigurieren kann.
Bei einer der interessanten Möglichkeiten wurde ein Kondom über die Antenne des Access-Points gezogen. Der Erfolg war jedoch eher bescheiden. Informationen zu besseren Ideen findet man unter:
Zu Punkt 4:
Oliver Scheer zeigte in seinem Vortrag einen Einblick in die Windows Live Beta. Aus meiner Sicht ist da nichts wirklich neues dabei – jedoch werden viele bekannte und beliebte Dienste in einem neuen programmierbaren Komplettmodell angeboten. Ob sich Windows Live wirklich gegen die erfolgreichen Einzeldienste durchsetzen kann wird sich erst noch zeigen. Schön bunt und interaktiv ist es jedoch jetzt schon.
Zu Punkt 5:
Shinja Strasser und Frank Eller zeigten ihrem Vortrag die Architektur ihres Frameworks, das angeblich so stark skaliert das auch 40.000 Clients bedient werden können. Viele der gezeigten Aspekte sind natürlich nicht unbekannt jedoch konnte man gut erkennen, dass die Basis für alle wirklich großen Anwendungen eine lose Koppelung der einzelnen Funktionalitäten sein muss. Wenn man diesen Punkt von Anfang an beherzigt, dann lassen sich weitere schwierige Aspekte wie z.b. Updates zur Laufzeit (ein System mit tausenden Clients kann kaum einfach angehalten werden) mit relativ wenig Aufwand realisieren.
Der zweite Teil des Vortrags sollte die neueste Version des Frameworks in Aktion zeigen, leider gab es da einige Probleme so dass dies sicher nicht so gelaufen ist wie von den Rednern gewünscht. Bei dem was man sehen konnte waren jedoch auch schon viele Prinzipien wie RemoteTransperancy usw. implementiert.
Zu Punkt 6:
Microsoft hat mit der Implementaton des Security Development Lifecycle ein System geschaffen um Ihre eigene Software auf ein wesentlich höheres Sicherheitsniveau zu befördern. Der Aufwand der dort betrieben wird ist absolut beeindruckend, aber offenbar auch nötig um das Vertrauen in Microsoft Software und Software im Allgemeinen zu stärken. besonders interessant ist, das nach Aussagen des Redners Sebastian Weber kein Microsoft Produkt mehr ausgeliefert wird, wenn es den abschließenden Security Review nicht besteht.
Zu Punkt 7:
Auf der ICE gab es am Ende so viele Bücher bei der Verlosung, so dass am Ende fast jeder der den Feedbackbogen abgegeben hatte auch eins erhalten hat. Jens und ich haben das natürlich vergessen 🙁
Bilder mit freundlicher Genehmigung von Frank Lüken
Tags: .NET, Security, Veranstaltungen, Windows Vista| Comments (1) |
Nini ist eine .Net Library mit welcher man besonders schnell hoch flexible Anwendungen mit Konfigurationsdateien erstellen kann. Die Anwendung ist denkbar einfach wie man im folgenden Beispiel sieht:
; MyApp.ini [Logging] File Name = MyApp.log MessageColumns = 5 MaxFileSize = 40000000000000
Und der C# Code zum einlesen sieht folgendermasen aus:
using Nini.Config; IConfigSource source = new IniConfigSource("MyApp.ini"); string fileName = source.Configs["Logging"].Get("File Name"); int columns = source.Configs["Logging"].GetInt("MessageColumns"); long fileSize = source.Configs["Logging"].GetLong("MaxFileSize");
Das war aber noch längst nicht alles. Noch mehr gibt es hier.
| Comments (0) |
Dank der “Watch & Win”-Kampagne von Microsoft habe ich jetzt für private Zwecke eine Visual Studio 2005 Standard-Version gewonnen. Dabei muss man sich einfach 5 kurze (Einsteiger-)Videos ansehen, die Gewinncodes notieren und dann einfach über das Gewinnformular an Microsoft schicken. Mitmachen lohnt sich da die Gewinner zusätzlich auch noch 6 Monate ASP.NET-Webhosting gewinnen.
| Comments (0) |