Konzepte, Werkzeuge und Ideen aus der Praxis für bessere und erfolgreichere .NET-Softwareprojekte.
* Klassen/Objekte/Komponenten
* Mehrschichtige .NET-Anwendungen
* Bibliotheken und Pattern
* Frameworks und Tools
* Unit Testing und Codeanalyse
* Continous Integration und Versionsverwaltung
* Dokumentation und Instrumentation
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
1. .NET und jetzt!
"C# in 21 Tagen
oder doch besser Best Practices"
Konzepte, Werkzeuge und Ideen aus der Praxis für bessere
und erfolgreichere .NET - Softwareprojekte
2. Über den Referenten
Peter Hecker ist Geschäftsführer der Firma
MARTINSFELD GmbH & Co. KG aus Köln. Er
arbeitet seit über 20 Jahren als IT-Berater,
Programmierer und Trainer.
Die MARTINSFELD GmbH & Co. KG bietet
maßgeschneiderte Beratung, Konzeption und
Entwicklung rund um IT- und Softwareprojekte
an.
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 2
5. Warum wurde .NET entwickelt
• Unzulänglichkeiten des Component Object
Model (COM)
• Scheitern der zweifelhaften Windows-Java-
Strategie (J++)
• Bedarf an einer modernen
Programmiersprache
• Bedarf an einem modernen Komponenten-
Framework
• Steigerung der Entwicklerproduktivität
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 5
6. Merkmale .NET Framework
• Durchgängige Objektorientierung
• Wieder verwendbare Softwarekomponenten
• Plattformunabhängigkeit (IL, JIT => WORA)
• Verschiedene Typen von Anwendungen
• Sprachunabhängigkeit (> 30)
• Einheitliche Laufzeitumgebung
• Umfangreiche Klassenbibliothek
• XML-basierte Konfiguration von Anwendungen
• Codesicherheit durch Sandbox-Konzept
• XCOPY-Deployment
• Interoperabilität zu COM, WIN32, XML-WS
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 6
7. Bausteine des .NET Framework
• Laufzeitumgebung
– Common Language Runtime (CLR)
• Zwischensprache
– Microsoft Intermediate Language (MSIL)
• Sprachunabhängiges Typkonzept
– Common Language Specification (CLS)
– Common Type System (CTS)
• C#, Managed C++, VB.NET, JScript.NET etc.
– .NET-fähige Programmierhochsprachen
• Klassenbibliothek
– .NET Framework Class Library (FCL)
• Anwendungen
– WinForms, WebForms, WebServices, MobileComputing
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 7
8. Ausführungsmodell
VB C# VC++
Unmanaged
Compiler Compiler Compiler
Component
IL-Code
IL- IL-Code
IL- IL-Code
IL-
Just in Time (JIT) Compiler
CLR
Managed Managed Managed Unmanaged
Code Code Code Code
Common Language Runtime (CLR)
Betriebssystem
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 8
9. Plattformen und Versionen
• Microsoft .NET Framework
– Windows-Varianten: 98/ME, NT/2000/XP/2003, CE
– 01/2002 – .NET 1.0
– 04/2003 – .NET 1.1 (Everett)
– 10/2005 – .NET 2.0 (Whidbey)
– 12/2006 – .NET 3.x (Orcas)
– xx/20xx – .NET 4.x (Hawai)
• ECMA SSCLI (Rotor)
– Windows XP, FreeBSD 4.5, Mac OS/X
– Version 1.0 (.NET 1.0/1.1)
• Novell Mono
– Linux, Mac OS/X, Solaris, BSD, Windows
– Version 1.1 (.NET 1.0/1.1)
– Version 1.2 (.NET 1.0/1.1 + WinForms, VB.NET)
– Version 2.0 (.NET 2.0)
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 9
10. Infrastruktur und Werkzeuge
• .NET Framework Redistributable 2.0
– Laufzeitumgebung
• J# Redistributable 2.0
– Java für .NET
• .NET Framework SDK 2.0
• Visual Studio 2005
• Visual Studio Express-Editionen (Freiverfügbar)
• SharpDevelop (Open Source)
• MonoDevelop (Open Source)
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 10
11. Infrastruktur und Werkzeuge
• .NET Framework Redistributable 2.0
– Laufzeitumgebung
• J# Redistributable 2.0
– Java für .NET
• .NET Framework SDK 2.0
• Visual Studio 2005
• Visual Studio Express-Editionen (Freiverfügbar)
• SharpDevelop (Open Source)
• MonoDevelop (Open Source)
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 11
12. Infrastruktur und Werkzeuge
• .NET Framework Redistributable 2.0
– Laufzeitumgebung
• J# Redistributable 2.0
– Java für .NET
• .NET Framework SDK 2.0
• Visual Studio 2005
• Visual Studio Express-Editionen (Freiverfügbar)
• SharpDevelop (Open Source)
• MonoDevelop (Open Source)
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 12
13. Entwicklungsmodelle
• Rapid Application Development (RAD)
– Entwickeln per Drag & Drop
– Entwickeln mit visuellen Designern
– Automatische Codegenerierung
– Stark erweitert in .NET 2.0 / VS2005
• Enterprise Application Development (EAD)
– Mehrschichtigkeit
– Klassendesign
– Objektpersistenz
– Komponentenorientierung
– „Application Server“
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 13
15. Klassen im .NET Framework
System.Web System.Windows.Forms
Services UI Design ComponentModel
Description HtmlControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text
System.Data System.Xml
ADO SQL XSLT Serialization
Design SQLTypes XPath
System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 15
16. Klassen im .NET Framework
.NET Version
System.Web Anzahl Klassen
System.Windows.Forms
Services UI Design ComponentModel
.NET 1.0
Description HtmlControls
2246
.NET 1.1
Discovery WebControls 2303
Protocols System.Drawing
.NET 2.0 4528
Caching Security Drawing2D Printing
.NET 3.0 Ca. 9000
Configuration SessionState Imaging Text
System.Data System.Xml
ADO SQL XSLT Serialization
Design SQLTypes XPath
System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 16
17. Klassen im .NET Framework
.NET Version
System.Web Anzahl Klassen
System.Windows.Forms
Services UI Design ComponentModel
.NET 1.0
Description HtmlControls
2246
.NET 1.1
Discovery WebControls 2303
Protocols System.Drawing
.NET 2.0 4528
Caching Security Drawing2D Printing
.NET 3.0 Ca. 9000
Configuration SessionState Imaging Text
Programmiersprachen
System.Data System.Xml
A#, Abstract State Machine Language, Active Oberon for .Net, Boo,
ADO SQL XSLT Serialization
Chrome, Comega, CSharp, CULE.NET, Delphi .NET, Delta Forth .NET,
Design SQLTypes XPath
DotLisp, Dyalog.Net, eXtensible C#, Fortran for .NET, FSharp, FTN95 for
Microsoft .NET , Gardens Point Component Pascal , Hugs98 for .NET,
System
IronPython, ISE Eiffel Studio, JScript.NET, JSharp, Lua.NET,
Collections IO Security Runtime
Mercury.NET, MixNet, Mondrian for .NET, MonoLOGO, Multi-Target
Configuration Net ServiceProcess InteropServices
Pascal, Nemerle, NetCOBOL, NetRuby, P#, PerlNet, PHP_Sharp, Python
.NET, Ruby Reflection Text Remoting
forDiagnostics .NET, Scheme.NET, Sharp Smalltalk, SmallScript.NET,
Globalization Resources Threading Serialization
Squeak .NET, Standard Meta Language, Visual Basic, Visual C++/CLI,
Visual RPG for .NET, Vulcan.NET ... GmbH & Co. KG
26.09.2006 (c) MARTINSFELD 17
18. Klassen im .NET Framework
.NET Version
System.Web Anzahl Klassen
System.Windows.Forms
Services UI Design ComponentModel
.NET 1.0
Description HtmlControls
2246
.NET 1.1
Discovery WebControls 2303
Protocols System.Drawing
.NET 2.0 4528
Caching Security Drawing2D Printing
.NET 3.0 Ca. 9000
Configuration SessionState Imaging Text
Programmiersprachen
System.Data System.Xml
A#, Abstract State Machine Language, Active Oberon for .Net, Boo,
ADO SQL XSLT Serialization
Chrome, Comega, CSharp, CULE.NET, Delphi .NET, Delta Forth .NET,
Design SQLTypes XPath
DotLisp, Dyalog.Net, eXtensible C#, Fortran for .NET, FSharp, FTN95 for
Microsoft .NET , Gardens Point Component Pascal , Hugs98 for .NET,
„The language doesn‘t matter!“
Collections IO
System
IronPython, ISE Eiffel Studio, JScript.NET, JSharp, Lua.NET,
Security Runtime
Mercury.NET, MixNet, Mondrian for .NET, MonoLOGO, Multi-Target
Configuration Net Dan Appleman ServiceProcess InteropServices
Pascal, Nemerle, NetCOBOL, NetRuby, P#, PerlNet, PHP_Sharp, Python
.NET, Ruby Reflection Text Remoting
forDiagnostics .NET, Scheme.NET, Sharp Smalltalk, SmallScript.NET,
Globalization Resources Threading Serialization
Squeak .NET, Standard Meta Language, Visual Basic, Visual C++/CLI,
Visual RPG for .NET, Vulcan.NET ... GmbH & Co. KG
26.09.2006 (c) MARTINSFELD 18
19. Design Guidelines for Class Library
Developers
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/
cpconNETFrameworkDesignGuidelines.asp
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 19
20. FxCop – der .NET Polizist
• Prüft .NET –Anwendungen via Reflection
auf Einhaltung der Design Guideslines
– http://www.gotdotnet.com/team/fxcop
• Bibliothekdesign
• Lokalisierung
• Namenskonventionen
• Geschwindigkeit
• Sicherheit
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 20
21. FxCop – der .NET Polizist
• Prüft .NET –Anwendungen via Reflection
auf Einhaltung der Design Guideslines
– http://www.gotdotnet.com/team/fxcop
• Bibliothekdesign
• Lokalisierung
• Namenskonventionen
• Geschwindigkeit
• Sicherheit
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 21
22. Komponentenorientierung
• Softwarekomponentenmodell ist integraler
Bestandteil des .NET Framework
– Cross-Language-Calls
• Gegenseitiger Aufruf von Unterroutinen
– Cross-Language-Inheritance
• Gegenseitige Vererbung
• Einheitliche Erstellung von Komponenten
• Einheitliche Nutzung von Komponenten
• Softwarekomponente = Assembly = .DLL/.EXE
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 22
23. .NET Application Services
• Was ist ein Application Server?
– Web-Server
– „Scripting“-Fähigkeit
– Komponenten-Laufzeitumgebung
• Wer hat‘s erfunden?
– Windows NT.4.0
– Internet Information Services (IIS)
– Microsoft Transaction Server (MTS)
• COM+ für Windows 2000/XP/2003
– „.NET Enterprise Services“ (basiert noch auf COM)
• Yuhana Project (Open Source)
– http://yuhana.sourceforge.net/
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 23
24. .NET Enterprise Services
• Transaktionen
– Verteilte Transaktionen
über unterschiedliche
Datenbanken
• Skalierbarkeit
– Just-in-Time-Activation
– Object Pooling
– Queued Components
• Sicherheit
– Rollenbasierte
Sicherheitseinstellung auf
Methodenebene
• Anwendungskopplung
– Bereitstellung von
Komponenten als
• als Windows-Dienste
• zum Aufruf via HTTP/SOAP
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 24
25. Daten – Objekte - Persistenz
• Datenformat zwischen den Schichten
– ADO.NET (DataSets, DataTable)
– Typisierte DataSets
– XML
– Objekte
• Darstellung von Relationen (Tabelle, SQL) und
Hierarchien (Baum, XML) in Objekte
• Object Relational Mapping (ORM)
– .NET-Klassen auf relationale Datenbanktabelle
– .NET-Typen auf Spaltentypen
– .NET-Objekte auf Zeilen
– Flüchtiger Speicher auf Persistenter Speicher
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 25
26. ORM für .NET
• Bisher keine Lösung von Microsoft
– Projekt „ObjectSpaces“ aus .NET 2.0 gestrichen
– In .NET 3.x: Language Integrated Query (LINQ)
• Vielzahl von Lösungen von Drittanbietern, z.B.:
– Gentle.NET (Open Source)
– DomainObjects for .NET 2 (OJB.NET) (Open Source)
– NHibernate (Open Source)
• Übersicht und Vergleich
– „Object Relational Tool Comparison Dot Net“
– „Ask TheServerSide: Which .NET ORM is best?“
• Techniken und Methoden
– Code-Generierung, Reflection, Enhancer
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 26
27. .NET Pattern und Practices
• Pattern & Practices-Gruppe bei Microsoft
– http://msdn.microsoft.com/practices/
• Handlungsrichtlinien für den Einsatz von
.NET-Technologien bei der Entwicklung von
Enterprise-Anwendungen
• Fertige Lösungen für typische Entwicklungs-
aufgaben in mehrschichtigen, verteilten
Anwendungen
– Anleitungen
– Referenzimplementierungen
– Application Blocks
– Software Factories
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 27
28. .NET Enterprise Library
• Im Quellcode verbreitete Klassenbibliothek
unterhalb des Community-Web-Servers
gotdotnet.com:
– http://practices.gotdotnet.com/projects/entlib/
• Versionen für .NET 1.1 und .NET 2.0
• Sehr stark zu Laufzeit konfigurierbar
• Installationspakete mit Quellcode,
Dokumentation, Beispielen und
Konfigurationsprogramm
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 28
29. .NET EntLib – Application Blocks
• Caching Application Block
– Zwischenspeichern von Daten im Speicher oder in
Datenbanken
• Configuration Application Block
– Lesen und Schreiben von Konfigurationsdateien
• Cryptographie Application Block
– Anwendung von Hashing und Verschlüsselung
• Data Access Application Block
– Zugriff auf Datenbanken
• Exception Handling Application Block
– Richtlinienbasierte Behandlung von Ausnahmen
• Logging and Instrumentation Application Block
– Protokollierung und Anwendungsüberwachung
• Security Application Block
– Authentifizierung, Autorisierung, Rollen und Profildaten
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 29
32. Weitere Application Blocks - UIP
• User Interface Process Application Block (UIP)
– Wieder verwendbare WebForms und WinForms-
Anwendungen nach dem MVC-Konzept
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 32
33. Weitere Application Blocks - CAB
• Composite UI Application Block (CAB)
– Entwicklung komplexer, komponentenbasierter
WinForms-Anwendungen für .NET 2.0
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 33
34. Weitere Application Blocks - CAB
• Composite UI Application Block (CAB)
– Entwicklung komplexer, komponentenbasierter
WinForms-Anwendungen für .NET 2.0
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 34
35. Weitere Application Blocks – GAT/GAX
• Guidance Packages
– Anleitungen für Entwickler bestehend aus
• Rezepten, Aktionen, Textvorlagen, Assistenten,
Typenkonverter, Visual Studio Templates
• Guidance Automation Toolkit (GAT)
– Erweiterung von VS2005 um Anleitungen
zu erstellen
• Guidance Automation Extensions (GAX)
– Erweiterung von VS2005 um Anleitungen
auszuführen
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 35
36. Software Factories
• Strukturierte Sammlung zusammenhängender
Softwarebausteine
• Integration in VS2005 zur Unterstützung der
Softwareentwicklung
• Verfügbar für unterschiedliche
Softwarearchitekturen
– Smart Client Software Factory
– Mobile Client Software Factory
– Web Service Software Factory
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 36
37. Smart Client Software Factory
• CAB + EntLib + GAX + GAT
• Rich User Interfaces auf
Basis von Microsoft
Windows Desktop
• Datenaustausch mit
unterschiedlichen Back-End-
Systemen
• Einheitliche Präsentation
von Daten aus unter-
schiedlichen Quellen in
einer einheitlichen
Benutzerschnittstelle
• Lokale Datenhaltung und
Datenverarbeitung mit der
Unterstützung zeitweiliger
Verbindungslosigkeit
• Einfache Verteilung und
Konfiguration
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 37
38. Mobile Client Software Factory
• CAB + DAAB + GAT
• Rich User Interfaces auf
Basis von Windows Mobile
5.0 Geräten
• Unterschiedliche
Kommunikationswege
• Datenaustausch mit
unterschiedlichen Back-End-
Systemen
• Lokale Datenhaltung und
Datenverarbeitung mit der
Unterstützung zeitweiliger
Verbindungslosigkeit
• Einfache Verteilung und
Konfiguration
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 38
39. Web Service Software Factory
• Definition von
Nachrichten und
Dienstschnittstellen
• Ausnahmebehandlung
• Definition von
Geschäftsobjekten
• Nachrichtenübermittlung
• Datenzugriff
• Migration nach Windows
Communication
Foundation (WCF)
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 39
40. Unit Tests
• Ein Unit Test ist ein Verfahren, um die
Korrektheit eines einzelnen Codeblocks zu
testen.
• Ein Unit Test wird für jede Prozedur, Funktion,
Methode geschrieben
• Ein Unit Test erlaubt die automatisierte,
wiederholbare, kontinuierliche Prüfung
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 40
41. NUnit – Unit Tests unter .NET
• NUnit
– http://www.nunit.org
– Ursprünglich eine
Portierung von JUnit
– In C# geschrieben und
arbeitet für alle .NET-
Sprachen
– Hauptautor ist James W.
Newrik
• Jetzt bei Microsoft im
VSTS-Projekt
– Add-In für VS.NET
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 41
42. Zusatzwerkzeuge zu NUnit
• TestDriven.NET
– VS-Add-in für NUnit
• NUnitAsp
– Testen von Web Forms-GUIs
• NUnitForms
– Testen von Windows Forms-GUIs
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 42
43. TestDriven.NET (AKA NUnitAddIn)
• Add-In für Visual Studio
– http://sourceforge.net/projects/nunitaddin/
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 43
44. NUnitAsp – Web Forms unit testing
• Erweiterung von NUnit für Web Forms
– http://nunitasp.sourceforge.net
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 44
45. NunitForms – Windows Forms unit
testing
• Erweiterung von NUnit für Windows Forms
– http://nunitforms.sourceforge.net
– Zusätzlich „Recorder Application“
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 45
46. Subversion (SVN)
• Quellcodeversionsverwaltung
– http://subversion.tigris.org/
• Nachfolger von CVS
• Verschiedene Plattformen
– Windows, Linux, Unix, Mac
• Zugriff via
– Dateisystem, TCP, HTTP/WebDAV
• Platzsparende Verwaltung von Binärdaten
• Zahlreiche Werkzeuge
– TortoiseSVN (Client für Windows-Explorer)
• http://tortoisesvn.net/
– AnkhSVN (Add-In für VS 2002/2003/2005)
• http://ankhsvn.tigris.org/
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 46
47. Subversion (SVN)
• Quellcodeversionsverwaltung
– http://subversion.tigris.org/
• Nachfolger von CVS
• Verschiedene Plattformen
– Windows, Linux, Unix, Mac
• Zugriff via
– Dateisystem, TCP, HTTP/WebDAV
• Platzsparende Verwaltung von Binärdaten
• Zahlreiche Werkzeuge
– TortoiseSVN (Client für Windows-Explorer)
• http://tortoisesvn.net/
– AnkhSVN (Add-In für VS 2002/2003/2005)
• http://ankhsvn.tigris.org/
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 47
48. Subversion (SVN)
• Quellcodeversionsverwaltung
– http://subversion.tigris.org/
• Nachfolger von CVS
• Verschiedene Plattformen
– Windows, Linux, Unix, Mac
• Zugriff via
– Dateisystem, TCP, HTTP/WebDAV
• Platzsparende Verwaltung von Binärdaten
• Zahlreiche Werkzeuge
– TortoiseSVN (Client für Windows-Explorer)
• http://tortoisesvn.net/
– AnkhSVN (Add-In für VS 2002/2003/2005)
• http://ankhsvn.tigris.org/
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 48
49. Automatisierung mit NAnt
• “NAnt is a free .NET build tool. In theory it is
kind of like make without make's wrinkles. In
practice it's a lot like Ant.”
– http://nant.sourceforge.net/
• Versionen für
– Microsoft .NET Framework 1.0/1.1/2.0
– Mono 1.0
• Basis für Vielzahl von Werkzeugen
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 49
50. CruiseControl.NET
• Automatisierung der Softwareerstellung
– http://confluence.public.thoughtworks.org/display/CCNET/
• Bestandteile
– Automated Continuous Integration Server
– CCTray
– Web Dashboard
• Funktionen
– Kontrolle der Versionsverwaltung
– Automatische Ausführung von Build / Test
– Unterstützung unterschiedlicher Versionsverwaltungen
– Integration von NAnt und Visual Studio
– Unterstützung von mehreren Projekte je Server
– Remote Management und Reporting
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 50
51. CruiseControl.NET
• Automatisierung der Softwareerstellung
– http://confluence.public.thoughtworks.org/display/CCNET/
• Bestandteile
– Automated Continuous Integration Server
– CCTray
– Web Dashboard
• Funktionen
– Kontrolle der Versionsverwaltung
– Automatische Ausführung von Build / Test
– Unterstützung unterschiedlicher Versionsverwaltungen
– Integration von NAnt und Visual Studio
– Unterstützung von mehreren Projekte je Server
– Remote Management und Reporting
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 51
52. CruiseControl.NET
• Automatisierung der Softwareerstellung
– http://confluence.public.thoughtworks.org/display/CCNET/
• Bestandteile
– Automated Continuous Integration Server
– CCTray
– Web Dashboard
• Funktionen
– Kontrolle der Versionsverwaltung
– Automatische Ausführung von Build / Test
– Unterstützung unterschiedlicher Versionsverwaltungen
– Integration von NAnt und Visual Studio
– Unterstützung von mehreren Projekte je Server
– Remote Management und Reporting
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 52
53. CruiseControl.NET
• Automatisierung der Softwareerstellung
– http://confluence.public.thoughtworks.org/display/CCNET/
• Bestandteile
– Automated Continuous Integration Server
– CCTray
– Web Dashboard
• Funktionen
– Kontrolle der Versionsverwaltung
– Automatische Ausführung von Build / Test
– Unterstützung unterschiedlicher Versionsverwaltungen
– Integration von NAnt und Visual Studio
– Unterstützung von mehreren Projekte je Server
– Remote Management und Reporting
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 53
57. CLR Profiler 2.0
• Analyse des Speicherverhalten einer .NET-
Anwendung
– http://msdn.microsoft.com/netframework/downloads
/tools/
– Speicher je Objekt, Objektbesitzer, Anzahl Aufrufe
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 57
58. CLR Profiler 2.0
• Analyse des Speicherverhalten einer .NET-
Anwendung
– http://msdn.microsoft.com/netframework/downloads
/tools/
– Speicher je Objekt, Objektbesitzer, Anzahl Aufrufe
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 58
59. CLR Profiler 2.0
• Analyse des Speicherverhalten einer .NET-
Anwendung
– http://msdn.microsoft.com/netframework/downloads
/tools/
– Speicher je Objekt, Objektbesitzer, Anzahl Aufrufe
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 59
60. CLR Profiler 2.0
• Analyse des Speicherverhalten einer .NET-
Anwendung
– http://msdn.microsoft.com/netframework/downloads
/tools/
– Speicher je Objekt, Objektbesitzer, Anzahl Aufrufe
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 60
61. CLR Profiler 2.0
• Analyse des Speicherverhalten einer .NET-
Anwendung
– http://msdn.microsoft.com/netframework/downloads
/tools/
– Speicher je Objekt, Objektbesitzer, Anzahl Aufrufe
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 61
62. CLR Profiler 2.0
• Analyse des Speicherverhalten einer .NET-
Anwendung
– http://msdn.microsoft.com/netframework/downloads
/tools/
– Speicher je Objekt, Objektbesitzer, Anzahl Aufrufe
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 62
63. NDoc
• Erstellung von Dokumentationen für .NET
– http://ndoc.sourceforge.net/
• Arbeitet auf Basis von .NET Assemblies und
durch Compiler generierte XML basierten
Dokumentationsdateien
• Erstellt unterschiedliche Formate (Stile)
– MSDN-Style HTML Help format (.chm)
– VS.NET Help format (HTML Help 2)
– MSDN-Online Web-Seiten
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 63
64. NDoc
• Erstellung von Dokumentationen für .NET
– http://ndoc.sourceforge.net/
• Arbeitet auf Basis von .NET Assemblies und
durch Compiler generierte XML basierten
Dokumentationsdateien
• Erstellt unterschiedliche Formate (Stile)
– MSDN-Style HTML Help format (.chm)
– VS.NET Help format (HTML Help 2)
– MSDN-Online Web-Seiten
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 64
65. Was ist mit .NET 3.0!
"... The Microsoft .NET Framework 3.0 (formerly known as
WinFX), is the new managed code programming model for
Windows.
It combines the power of the .NET Framework 2.0 with new
technologies for building applications that have visually
compelling user experiences, seamless communication across
technology boundaries, and the ability to support a wide range of
business processes.
These new technologies are
Windows Presentation Foundation,
Windows Communication Foundation,
Windows Workflow Foundation, and
Windows CardSpace (formerly code named "Infocard").
Microsoft plans to ship .NET Framework 3.0 as part of the
Windows Vista operating system. ...“
– http://www.microsoft.com/germany/msdn/library/net/Einfuehrun
gInNETFramework30.mspx
26.09.2006 (c) MARTINSFELD GmbH & Co. KG 65