HowTo: Microsoft Patterns & Practices Software Factories verstehen

Patterns Practices

In dieser HowTo-Serie geht es um Software Factories.
In dem ersten Teil geht es erstmal primär um das Verstehen, was Software Factories sind und was man grob mit ihnen anfangen kann – und was sie uns bringen.

Was ist denn eine Software Factory und warum sollte ich eine benutzen?

Wenn man sich grob mal das ganze Thema Software Factories anschaut und sich die unterschiedlichen Tools etc. installiert, ist man doch erstmal erschlagen. Der gemeine Hobbyentwickler gibt eigentlich an dieser Stelle auf. “Echte” Entwickler sollten sich aber durchkämpfen.

Ein kurzer Abriss in den Ablauf der Softwareentwicklung: Es gibt ein bestimmtes Problem und man hat bereits einen Lösungsansatz. Man bindet z.B. einen Webservice ein oder fragt eine Datenbank ab, als Programm soll dann ein Windows Programm dienen.
In der Regel fängt dannach der Entwickler an eine neue Solution zu erstellen und bastelt alles von Grund auf neu. Der Vorteil: Man ist Herr über seinen eigenen Code und denkt sich dabei was.
Das Problem: Nicht jeder ist Experte und hinterher ärgert man sich über bestimmte Codestellen oder fragt sich, wie man am besten, dies und jenes implementieren könnte – nun ist das Produkt vielleicht fertig, aber wartungsfreundlich ist es nicht und es gibt auch keine guten allg. Lösungsansätze, da es ja eine ganz individuelle Entwicklung war.
Nun wäre es doch schön, würde man bestimmte Standardsachen einfach schon erstellen können um ein gutes Grundgerüst zu bekommen.
An dieser Stelle setzen Software Factories an.

Wenn man rubuste Software schreiben möchte, welche mit bewährten Techniken ein Grundgerüst gestellt bekommen – der sollte die Software Factories mal anschauen.

Woher bekomme ich diese Software Factories und was gibts für welche?

Das Logo oben ist von Microsofts “patterns & practices” Team und ich beziehe mich bei dieser HowTo Serie nur auf das p&p Team von Microsoft mit ihren Software Factories – es gibt wahrscheinlich noch mehr, aber das würde den Rahmen sprengen und mehr Zeit kosten.

Es gibt momentan 4 Factories:

Was benötige ich für die Software Factories und wie ist der Ablauf von den Factories?

Um die Software Factories zu nutzen benötigt man die Guidance Automation Extensions. Software Architekten (oder die, die es werden wollen) können diese Pakete auch editieren mit dem Guidance Automation Toolkit.
Alle Software Factories sind in einzelne Pakete gegliedert und integrieren sich vollständig ins Visual Studio 2005 oder Visual Studio 2008 (Beta 2)).
Den direkten Ablauf werde ich dann im nächsten HowTo zeigen.

Soviel erstmal zum Ablauf:
Es wird ein Grundgerüst erstellt (direkte C# Projekte in einer Solution) und man hat zu jedem einzelnen Projekt (je nach zugewiesener Responsibility) Kontextmenüs oder zusätzliche Optionen welche man einstellen muss oder kann. Dadurch “klickt” man sich quasi die Software zusammen. Anpassungen können natürlich trotzdem genommen werden - es ist nur ein Grundgerüst, dass man nutzen kann, aber nicht muss.
Wenn man sich natürlich zu sehr davon entfernt wäre es günstiger direkt die Pakete zu bearbeiten oder sich eine andere Methode auszudenken ;)


Irgendwie kommt mir manches aus der Software Factory XY bekannt vor?

Die Service Factories bauen intern auf die Enterprise Library und auf einigen Application Blocks auf – beides einen Blick wert.

Gibts sonst noch gute Informationen oder Downloadlinks?

Die Links auf die jeweilige Software Factory in der MSDN Library (siehe oben) zeigen eigentlich schon viele Links, Samples und Dokumente etc.
Ansonsten verweisen die MSDN Library Seiten auch öfters auf Codeplex, wo das p&p Team (und die Community) einiges zum Download bereit hält.

In späteren HowTos werden wir das dann natürlich noch mehr Besprechen und wie die einzelnen Teile alle zusammenhängen.

Links:
Microsoft patterns&pratices Site @ MSDN
Microsoft patterns&pratices Site @ MSDN Library
Mobile Client Software Factory
Smart Client Software Factory (Codename Acropolis & Codename Acropolis Blog)
Web Client Software Factory
Web Service Software Factory
Guidance Automation Extensions & Toolkit Site
Guidance Automation Extensions Download
Guidance Automation Toolkit Download
Enterprise Library
Applications Blocks

Letzte Posts

  • image.png
    Wieviel Speicher belegt meine RavenDB? Und welchen Plan benötige ich bei CloudBird oder RavenHQ?

    Wer RavenDB nicht auf seinem eigenen Server betreiben möchte oder einfach wissen möchte wieviel Speicherplatz die eigentlichen Daten benötigen gibt es zwei Möglichkeiten: Falls es noch einen anderen Weg gibt: Immer her damit – aktuell hab ich nur die beiden Methoden gefunden und sie scheinen mehr oder weniger zu passen. RavenDB Storage per JSON über ...

  • image_thumb.png
    Powershell – Output “formatieren” und Details anzeigen

    Die Powershell ist ein prima Werkzeug und immer mehr System-Tools und Dienste stellen Powershell Module zur Verfügung. Da ich aber nur “am Rande” mit Powershell zutun habe bin ich auf ein nettes Detail gestossen, welches vermutlich bei den erfahreneren Powershell Usern maximal ein müdes Lächeln hervorruft: Ps-Cmd | Format-List etc. Um den Text-Output zu formatieren ...

  • clip_image002.jpg
    Rabatt-Code & Freiticket für die Developer Week 2013

    Nach langer Zeit haben wir mal wieder ein kleines Angebot für euch: Wir sind Medienpartner der Developer Week 2013 und über uns könnt ihr günstiger an Tickets herankommen. Mit dem Code DWX13coi könnt ihr von Sonderkonditionen profitieren (= Ticketpreise werden niedriger & keine bösen Überraschungen). Die Developer Week (DWX) bündelt vom 24.-27. Juni 2013 in ...

  • image.png
    IIS & Windows Authentication – Troubleshooting mit Negotiate & NTLM

    Windows Authentifizierung ist eine einfache (und naheliegende) Authentifizierungs-Option für “Haus-interne” Webapplikationen. Setup Im IIS selbst kann man die Windows Authentifzierung sehr leicht anschalten: Natürlich kann man dies auch über die web.config steuern: <system.web> ... <authentication mode="Windows"/> ... </system.web> ... Fehlermeldung “HTTP Error 401.2 – Unauthorized”: Dies kann (wie fast immer) viele Gründe haben, z.B. weil ...

  • image.png
    Json-Online-Tools: Viewer & Json2Csharp Generator

    Wo APIs im Spiel sind, ist das JSON Format nicht weit. Da ich immer mal wieder zwei Tools benutze, möchte ich diese hier auch mal kurz würdigen. JSON Viewer Wer nur den JSON-Text vor sich hat sieht meist die Struktur nicht. Über JSON Viewer kann man sich recht einfach einen Überblick verschaffen: [URL] JSON2CSharp Der ...

Support us!