-
ACHTUNG - NEUES BLOG
Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
|
.NET Framework zukünftig inklusive Sourcecode?
04.10.07 - .NET, Base Framework, Visual Studio Beitrag von Norbert Eder| | Scott Guthrie berichtet in seinem Blog darüber, dass Microsoft mit dem neuen Framework 3.5 und Visual Studio 2008 auch den Sourcecode mit ausliefern möchte - um das Debugging zu erleichtern. Konkret meint er:
"We'll begin by offering the source code (with source file comments included) for the .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows). We'll then be adding more libraries in the months ahead (including WCF, Workflow, and LINQ). The source code will be released under the Microsoft Reference License (MS-RL).
Na, da bin ich doch mal gespannt. Auf jeden Fall eine sinnvolle Idee mit der sicherlich kaum jemand gerechnet hat ...
| | | 2 Kommentare
- 362 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Bank-Gelaber
04.10.07 - Kunterbunt Beitrag von Norbert Eder| | Neuerdings werde ich bei sämtlichen Besuchen einer Bank permanent auf Fonds etc. angeschwatzt. Das ist echt unerträglich. Für 2 Minuten Bankweg benötigt man ca. 15 Minuten, wovon 13 Minuten dafür aufgewendet zu werden, den Bankbediensteten zu erklären warum man deren Angebot nicht annehmen will. Das nervt ...
Geht es Euch da auch so? Machen das derzeit alle Banken?
| | | 4 Kommentare
- 394 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Der neue Zune! Kommt er, oder kommt er nicht?
03.10.07 - Kunterbunt Beitrag von Norbert Eder| | Wie auch hier berichtet, mehren sich die Gerüchte über eine überarbeitete Version des Zune, quasi Version 2. Angeblich soll es dieser Tage eine zu einer Präsentation kommen. Da bin ich mal gespannt. Wenn sie jetzt auch noch kleiner sind als die erste Variante, mehr Speicher mitbringen, dann kann ich mir schon vorstellen, mein bisheriges Gerät zu ersetzen, vorausgesetzt, der neue Zune schafft es endlich nach Europa - den "alten" gibt es hier ja noch immer nicht.
Wirkliche Alternativen zum iPod sind meiner Ansicht nach durchaus notwendig (die billigen Nachbauten im iPod-Style sehe ich hier nicht als Alternativen an), damit ein wenig Schwung in den Markt kommt. Mal sehen was sich die nächsten Tage so tut ...
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
UML Modellierung mit Visual Studio
03.10.07 - Entwicklung, Patterns, .NET, Visual Studio Beitrag von Norbert Eder| | Wer auf der Suche nach einem UML Modelling-Tool für Visual Studio ist, dem sei eine weitere Variante durch tangible engineering geboten. Zusätzlich zum kostenpflichtigen Tool tangible architect 4.0 gibt es auch eine kostenlose Variante die folgende Diagramme unterstützt:
- Case Diagrams
- Component Diagrams
- State Charts
- Class Diagrams
- Activity Diagrams
- Persistent Object Models
Hier ein Screenshot:
Die erstellten Diagramme und Modelle sind mit der kostenpflichtigen Variante kompatibel.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Enterprise Library Contrib September 2007 verfügbar
02.10.07 - Entwicklung, Patterns, .NET, Allerlei Beitrag von Norbert Eder| | Seit gestern ist die Enterprise Library Contrib September 2007 auf CodePlex verfügbar. Was genau ist die EntLib Contrib?
"EntLib Contrib is a community-developed library of extensions to the patterns & practices Enterprise Library."
Folgende Features sind enthalten:
- Erweiterungen Data Access Application Block: Provider für MySql, SqLite und SqlEx
- Erweiterungen Exception Handling Application Block: SqlException Wrap Handler
- Erweiterungen Logging Application Block: LogParser
- Erweiterungen Policy Injection Application Block: PostSharp4EntLib, neue Matching-Regeln und neue Call-Handler
- Erweiterungen Validation Application Block: CollectionCountValidator, TypeValidator, ObjectValidator usw.
| | | 1 Kommentar
- 211 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
September 2007 im Rückblick
02.10.07 - Blog-Intern Beitrag von Norbert Eder
Silverlight Deployment
01.10.07 - .NET, ASP.NET, Allerlei Beitrag von Norbert Eder
WPF Teil 1: Die Windows Presentation Foundation aus der Sicht eines Unternehmens
01.10.07 - Entwicklung, Diskussionen, .NET, Grundlagen, WPF Beitrag von Norbert Eder| | Wie bereits angekündigt, werde ich hier eine Umsetzungs-Serie zum Thema WPF starten. Im Zuge dieser Serie werden einige interessante Themen besprochen.
Eine Einführung zum Thema Windows Presentation Foundation werde ich an dieser Stelle nicht bieten, hierfür müssen die beiden von mir erstellen Tutorials zu diesem Thema reichen:
Windows Presentation Foundation - Teil 1: Einführung
Windows Presentation Foundation - Teil 2: XAML und Layouts
Vielmehr möchte ich hinterfragen, welchen Stellenwert WPF in Unternehmen hat und welche Überlegungen mitspielen, um auf WPF umzusteigen.
Auch heute noch - WPF gibt es nun ja schon länger - wird die Windows Presentation Foundation als neue Technologie gehandelt. Beispiele gibt es dazu ja bereits einige und durch Silverlight hat XAML sicherlich einen neuen Hype erfahren. Dennoch scheuen sich sehr viele Unternehmen diese Technologie einzusetzen. Warum ist dem so?
Hier spielen sicherlich mehrere Faktoren eine wichtige Rolle:
Nicht jedes Unternehmen ist dazu gemacht, ein Innovator bzw. ein früher Adopter zu sein (siehe Erklärung). Dies bedeutet, nicht jede Firma setzt auf neueste Technologien. Aus unterschiedlichsten Gründen: Viele vertrauen auf Bewährtes. Es bestehen wenig Risiken (damit haben sich bereits Jahre zuvor andere auseinander gesetzt), Informationen sind breit verfügbar (Foren, Blogs, Bücher) und es gibt durchaus genügend Entwickler die sich mit Bestehendem auskennen und somit im Notfall eingesetzt werden können. Bei einem Innovator sieht es hingegen anders aus: Aktuellste Technologien werden eingesetzt um der Konkurrenz gegenüber einen technologischen Vorteil zu schaffen. Informationen sind rar (SDK Dokumentation, wenn verfügbar). Know-How-Träger müssen kostenintensiv aufgebaut werden, wodurch die Produktivität anfangs sinkt und natürlich das Risiko besteht, das vorgesehene Projekt nie abzuschließen.
Eng mit dem ersten Punkt ist die Tatsache, dass Zeit geschaffen werden muss, um sich eine Technologie anzueignen. In Zeiten wie diesen - Microsoft veröffentlicht laufend neue Technologien - ist es sehr schwierig mit den aktuellen Entwicklungen Schritt zu halten und am aktuellen Stand zu bleiben. Gefordert sind hauptsächlich Entwickler, denn diese müssen dem Unternehmen bzw. dessen Führung die Vorteile der neuen Technologien schmackhaft machen (und sie selbt auch erlernen). Unternehmen, die die Möglichkeit bieten auf neue Technologien umzusteigen können daraus sicherlich Vorteile generieren. Dennoch ist der Faktor Mangelware an dieser Stelle Zeit. Zeit ist eine große Hürde die es zu überwinden gibt. Neue Technologien stellen ein große Herausforderung an das gesamte Unternehmen, vor allem an das Entwicklerteam, welches unter Zeitdruck steht und dennoch Erfolge bieten muss.
Umstiegskosten: VIele Unternehmen setzen auch heute noch Visual Studio 2003 ein. Dabei ist Visual Studio 2005 fast ein Jahr alt und die 2008er wartet bereits darauf fertig zu werden, um auf den Markt geworfen zu werden. Die Produktzyklen werden immer geringer und immer weniger machen den Schritt tatsächlich mit. Aus Kostengründen, denn Visual Studio ist nicht billig. Und WPF ist nun in der 2003er nicht verfügbar, vorhandene Projekte wollen nicht umgestellt werden, auf zwei Schienen entwickeln ist auch nicht unbedingt das Wahre usw.
Die Überwindung: Schließlich muss man sich überwinden, um tatsächlich ein Projekt auf Basis WPF durchzuziehen. Klar, wunderschön, man kann klar zwischen Designer und Entwickler trennen. Oft kann diese Trennung jedoch nicht vollzogen werden - aus Mangel an Designern. Allrounder sind also gefragt und diese müssen oft erst dazu bewogen werden. Sind Designer vorhanden, müssen diese erst Grundlagen der WPF erlenen, denn ganz ohne geht es dann auch nicht.
Wahrscheinlich ließe sich diese Liste noch fortführen. Tatsache ist, dass es viele Gründe gibt, warum Unternehmen WPF nicht sofort einsetzen, sondern auf einen günstigen Moment warten, auf das richtige Projekt, die richtigen Entwickler, oder möglicherweise gar nie diesen Schritt wagen. Fakt ist, dass dieser Schritt irgendwann vollzogen werden sollte. Die Möglichkeiten sind groß, aber eine vorhandene Anwendung wird nun eben nicht von Heute auf Morgen umgestellt - wobei auch die Sinnhaftigkeit einer Umstellung hinterfragt werden sollte. Doch auch neue Projekte werden lieber mit Windows-Forms entwickelt. Und warum? Vermutlich weil es einfach an allgemein bekannten Anwendungen fehlt, die mittels WPF entwickelt wurden. Entsprechende Patterns sind ebenfalls Mangelware (dazu kommen wir in einem anderen Teil).
Was also sollte in meinem Unternehmen passieren um auf die neue Technologie zu kommen? Diese Frage ist immer schwer zu beantworten. Grundsätzlich sollte durch Visual Studio 2005 (bald 2008) die Grundlage gelegt werden. D.h. auf das .NET Framework 3.0 sollte umgestiegen werden. Diese muss nicht zwangsläufig für alle Anwendungen gelten. Es ist ok, sich nur eine kleine Anwendung (auf wenn diese nur für interne Verwaltungszwecke verwendet wird) heraus zu nehmen und diese quasi als Übung mit Hilfe der neuen Technologie umzusetzen. Mit den gewonnenen Erfahrungen kann man sich an größere Projekte wagen.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Technologie einmal umweltbewußter? Es wäre an der Zeit ...
01.10.07 - Entwicklung, Diskussionen, Kunterbunt Beitrag von Norbert Eder| | Technologie. Bei diesem Begriff denkt man unwillkürlich an Fortschritt, an vereinfachte Arbeitsabläufe (oft gar nicht der Fall) und an tolle Errungenschaften. Dabei auf der Strecke bleibt wohl großteils die Umwelt. Nicht nur, dass Tonnen von Rohstoffe für einen PC verbraucht werden, irgendwie muss das Teil auch Strom bekommen und hier sind wir natürlich auch noch lange nicht bei 100% Wasser-, Wind- bzw. Sonnenenergie angelangt.
Tatsache ist, dass in den letzten Jahren alles nur schneller und kleiner (bei manchen Geräten auch größer) sein musste. Man nehme das Thema Grafikkarten: Noch bessere Auflösungen, mehr Details, noch mehr Polygone. Wenn das nicht reicht, dann stecken wir einfach zwei Grafikchips auf eine Karte. Was wurde hier vergessen? Nun, der Stromverbrauch. Wozu bitte ein 1000 Watt Netzteil? Wieso wird nicht einmal versucht die aktuelle Leistung beizubehalten mit gleichzeitiger Senkung des Stromverbrauchs? Nicht nur, dass durch den erhöhten Bedarf an Strom die Kosten für eben diesen in die Höhe schnellen, auch schädigen wir damit unsere Umwelt.
Nächstes Thema - vielleicht jetzt weniger auf den IT-Sektor bezogen, aber dennoch ein schönes Beispiel: Milliarden werden beispielsweise in die Formel 1 gesteckt. Mit welchem Ziel? Nun, Fahrer können noch mehr Geld verdienen (wozu bitte??) und die Autos sollen schneller werden. Werden sie zu schnell, dann werden wieder Reglements getroffen damit die Motorenhersteller wieder von vorne beginnen können (und die Teams mit ihrer gesamten Technik). Wie wäre es einmal, wenn man die Formel 1 (und den Ralleysport etc.) um alternative Möglichkeiten zu entwickeln und zu testen? Das Geld wäre doch vorhanden und DAS würde nicht die Umwelt verpesten, nein, sondern die Menschheit vielleicht sogar wirklich einen Schritt weiter bringen.
Hierfür gibt es viele Beispiele. Technologie muss nichts Schlechtes sein. Sie muss nur richtig eingesetzt werden und manche Entscheidungsträger sollten einfach einmal genauer über die Sinnhaftigkeit ihrer (Nicht-)Entscheidungen nachdenken.
Und vielleicht sollte auch jeder von uns darüber nachdenken. Ewig kann es so nicht weitergehen und es liegt auch an uns Akzente zu setzen. Muss es wirklich die schnellste und beste Grafikkarte sein, um ein paar Zeilen Code zu tippen?
| | | 1 Kommentar
- 350 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Exception Handling und Security
01.10.07 - .NET, Grundlagen, Base Framework, WPF, ASP.NET Beitrag von Norbert Eder| | Zum Exception Handling habe ich bereits hier, hier und hier berichtet. Was aber bis dato gefehlt hat, war eine Aussage zum Thema Sicherheit bei der Behandlung von Ausnahmen.
Was also hat das Behandeln von Ausnahmen mit Sicherheit zu tun?
In den meisten Fällen wird bei einer Exception der Inhalt der Eigenschaft Message zurückgegeben und in der Hauptanwendung (egal ob Windows Forms, Web, WPF) zur Anzeige gebracht. Dadurch werden jedoch in manchen Fällen Daten zum Vorschein gebracht, die besser im Verborgenen bleiben sollten. Nehmen wir das Beispiel Webanwendung. Gehen wir weiters davon aus, dass diese eine Verbindung zu einer Datenbank benötigt. Nun wird hier im System ein ConnectionString hinterlegt (natürlich gilt es auch diesen abzusichern). Nun kann folgendes Problem auftreten:
Die Anmeldung auf den Datenbank-Server schlägt fehl. Daraufhin wird eine Exception geworfen, welche dann im User-Interface angezeigt wird (entsweder per eigener Fehlerseite oder überhaupt als Exception). Aus dem Message-Text ist nun ersichtlich, dass die Anmeldung scheitterte und mit welchem User die Anmeldung versucht wurde.
Ein potentieller Angreifer hat nun ein leichteres Spiel, da er einen User für die Datenbank definitiv kennt.
Dies ist nur ein einfaches Beispiel. Aus diesem Grunde sollten Exception-Messages niemals direkt an den User weitergegeben werden. Folgende Vorgehensweise ist hier empfohlen:
1. Jede Exception abfangen
2. Exceptions in eine Log-Datei loggen (Bei Webanwendungen sollte die Log-Datei in ein Verzeichnis geschrieben werden, welches nicht über das Web zugänglich ist)
3. Fehlertexte, die an den User gehen sollten unbedingt zuvor angepasst werden. D.h. ein eigener Wortlaut muss deklariert werden.
Schließlich bleibt noch zu erwähnen, dass dem User nicht jeder Fehler sichtbar gemacht werden muss. Mit vielen Fehlern kann der Unser ohnehin nichts anfangen und sie verwirren ihn nur. Ergo immer überlegen, ob die Benachrichtigung im speziellen Fall sinnvoll ist oder nicht.
| | | 2 Kommentare
- 345 mal angesehen
| 1 Trackbacks
| Permalink | Trackback-URL | Zurück Weiter
|
|
|
|
|
|
|