Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Tuesday, 29. August 2006


Nachlese zur ICE2006

Filed under: .NET,Security,Veranstaltungen,Windows Vista — Steffen Forkmann at 17:32 Uhr

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.

  1. Die Windows Workflow Foundation rockt!
  2. Entwickler sollten auf keinen Fall lokale Adminstratoren sein.
  3. Firmen-WLAN’s können viel stärker abgesichert werden als ich bisher angenommen habe.
  4. Windows Live bietet viele bekannte Dienste gesammelt in neuem Umfeld.
  5. Mit lose gekoppelter Software kann man zur Not auch 40.000 Clients bedienen.
  6. Microsoft tut alles um Software sicherer zu machen.
  7. Immer den Feedbackbogen abgeben.

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.

Workflow Foundation im Einsatz

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.

Michael Kalbe und Daniel Melanchthon zeigen sicheres WLAN

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:

  • Sichere Drahtlosnetzwerke mit Windows Server 2003 [Webcast]
  • Windows XP – Überblick über Technologien und Komponenten für die Bereitstellung drahtloser Netzwerke [Whitepaper]
  • Grundlagen IPsec
  • Grundlagen Infrastruktur öffentlicher Schlüssel (Public Key Infrastructure)
  • 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 🙁

    Alle Speaker auf ICE2006

    Bilder mit freundlicher Genehmigung von Frank Lüken

    Tags: , , ,

    Friday, 25. August 2006


    Navision: Tipp des Tages

    Filed under: Navision — Steffen Forkmann at 9:10 Uhr

    Wenn man im Navision in einer Textbox ein ? eingibt und Enter drückt öffnet sich ein Fenster mit den Standardtextcodes. Wenn man sich ein paar Standardtextcodes anlegt, dann kann man sich viele oft getätigte Eingaben beschleunigen.

    Wednesday, 23. August 2006


    From Greg’s Head

    Filed under: Blogs,Navision — Steffen Forkmann at 17:31 Uhr

    Unter http://www.fromgregshead.com/ blogt Greg Price einen interessanten Blog. Besonders die Navision-Kategorie ist empfehlenswert.

    Thursday, 17. August 2006


    Konfigurationsdateien schnell und flexibel

    Filed under: C# — Sebastian Wolf at 17:03 Uhr

    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.


    Visual Studio 2005 für lau

    Filed under: Visual Studio — Steffen Forkmann at 15:52 Uhr

    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.

    Monday, 14. August 2006


    Oracle Integration into Dynamics Nav

    Filed under: English posts,Navision,Oracle — Steffen Forkmann at 12:29 Uhr

    Today I want to describe a way to integrate Oracle into Navision. We use this way to migrate selected Tables and Views (rawdata) completely automatic into Dynamics Nav. This means we generate the Table-Structure (as a copy of the Oracle data dictionary) and import the data on the fly.

    Oracle Data Provider

    First of all one have to install the ODP.NET (Oracle Data Provider for .NET).

    Then create a new C# ClassLibrary-Project and add a reference to the installed OracleDataAccess-Assembly. (see Sample-Project as Reference)

    Install your COM-Object. (You can let Visual Studio do this for you)

    Then create a Navision-Object which connects to the ClassLibrary and interact with Oracle.

    IF g_MigrationHelper.OracleConnect( 
      g_ORAUserName,g_ORAPassword,g_ORADataSource) 
    THEN BEGIN 
      IF p_Test THEN BEGIN 
        MESSAGE('Connection open'); 
        g_MigrationHelper.CloseOracleConnection; 
      END 
    END ELSE 
      ERROR('Connection failed');
    Tags: ,