Web Client Software Factory



Ähnliche Dokumente
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Lizenzen auschecken. Was ist zu tun?

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Lokale Installation von DotNetNuke 4 ohne IIS

Eine Anwendung mit InstantRails 1.7

5.2 Neue Projekte erstellen

Thema: Microsoft Project online Welche Version benötigen Sie?

Sehr geehrte Faktor-IPS Anwender,

Design Patterns 2. Model-View-Controller in der Praxis

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Microsoft Update Windows Update

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

ERSTELLEN VON INCENTIVES IM ZANOX NETZWERK

Microsoft SharePoint 2013 Designer

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Step by Step Webserver unter Windows Server von Christian Bartl

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Produktvariationen Informationsblatt für Lieferanten

Übung: Verwendung von Java-Threads

Wie richten Sie Ihr Web Paket bei Netpage24 ein

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Professionelle Seminare im Bereich MS-Office

Workflow Systeme mit der Windows Workflow Foundation

Der große VideoClip- Wettbewerb von Media Markt.

Installation und Inbetriebnahme von Microsoft Visual C Express

Leitfaden zur Installation von Bitbyters.WinShutdown

Kompatibilitätsmodus und UAC

Content Management System. «Rainbow Basis» Grundlagen. Einfache Kursverwaltung

etermin Einbindung in Outlook

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Schnittstelle DIGI-Zeiterfassung

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Einfach wie noch nie. Der mypackage-ansatz. Ihre Lösung zur automatisierten Client-Bereitstellung. mypackage im Überblick

Lieber SPAMRobin -Kunde!

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Patch Management mit

Internet Explorer Version 6

1. Einführung. 2. Weitere Konten anlegen

SMART Newsletter Education Solutions April 2015

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Geld Verdienen im Internet leicht gemacht

Installation und Test von Android Apps in der Entwicklungs- und Testphase

estos UCServer Multiline TAPI Driver

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Anleitung Typo3-Extension - Raumbuchungssystem

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

XPERT.NET REPORTING CLIENT INSTALLATION. Einrichten von Visual Studio 2005 und 2008 für die Reporting-Erstellung

Urlaubsregel in David

IBM SPSS Statistics Installationsanleitung

PC-Kaufmann 2014 Neues Buchungsjahr anlegen

Verwendung des Terminalservers der MUG

Lizenzierung von SharePoint Server 2013

VB.net Programmierung und Beispielprogramm für GSV

Download, Installation und Autorisierung der Lasergene Software. Bitte unbedingt beachten!

Workshop: Eigenes Image ohne VMware-Programme erstellen

Anleitung zur Webservice Entwicklung unter Eclipse

12. Dokumente Speichern und Drucken

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Drägerware.ZMS/FLORIX Hessen

Checkliste zur Planung einer Webseite

Qt-Projekte mit Visual Studio 2005

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

eduroam mit SecureW2 unter Windows 7 Stand: 27. Januar 2015

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Mit jedem Client, der das Exchange Protokoll beherrscht (z.b. Mozilla Thunderbird mit Plug- In ExQulla, Apple Mail, Evolution,...)

teischl.com Software Design & Services e.u. office@teischl.com

Kleines Handbuch zur Fotogalerie der Pixel AG

License Management SDK

Installation der SAS Foundation Software auf Windows

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Anzeige von eingescannten Rechnungen

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Leitfaden zu Jameica Hibiscus

Windows 10 - Clean Install und Aktivierung

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Lizenzierung von System Center 2012

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

GS-Programme 2015 Allgemeines Zentralupdate

6 Das Kopieren eines bereits bestehenden Inhaltselements

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Transkript:

Web Client Software Factory Das Pattern & Practice Team vom Microsoft ist im Vergleich zu anderen Produktteams des Redmonder Konzerns wesentlich unbekannter. Ein Grund hierfür dürfte mitunter darin zu finden sein, dass es keine fertigen Produkte wie z.b. Visual Studio veröffentlicht. Dennoch sind die Veröffentlichungen dieses Teams gerade für mittlere bis größere Softwareprojekt wegweisend. Dieser Artikel gibt einen kleinen Überblick über eine der Veröffentlichungen dieses Teams: Die Web Client Software Factory, die vor kurzem in der Version 2.0 erschien. Von Tobias Müller Zu Beginn eines jeden neuen Projekts stellen sich meist dieselben Fragen: Wie soll die Architektur der Anwendung aussehen? In welche Teilprojekte kann die Solution aufgeteilt werden? In welcher Granularität kann die Anwendung modularisiert werden? Können einzelne Module autonom entwickelt werden? Welche Pattern bieten sich für den konkreten Anwendungsfall an? Wenngleich diese Liste über mehrere Seiten fortgeführt werden könnte, so reichen diese fünf Fragen für den Kontext des Artikels vollkommen aus. Selbst wenn nach der ersten Planungsphase eine grundlegende Architektur vorgegeben ist, so sind immer noch Feinheiten zu beachten: Die Antwort auf die Frage, ob einzelne Module autonom entwickelt werden können, wird im Normalfall noch mit einer gewissen Leichtigkeit zu beantworten sein, die Frage der Zusammenführung autonom entwickelter Module wird diese Antwort jedoch sehr wahrscheinlich nicht abdecken. Genau an diesem Punkt setzen Software Factories an. Abbildung 1: Zusammensetzung einer Software Factory Software Factory Dokumentation Tools Quellcode Patterns Designers Referenz Umsetzung Architektur Beschreibungen Visual Studio Templates und Recipes Application Blocks und Libraries QuickStarts und How Tos 40

WCSF SOFTWARE FACTORIES Aus Abbildung 1 ergibt sich, dass eine Software Factory im Allgemeinen aus den Bereichen Dokumentation, Tools und Quellcode besteht. Jede Software Factory bezieht sich hierbei auf eine Gruppe, oder auch Familie, von unterschiedlichen Einzelanwendungen. Das Interessante an einer Software Factory kristallisiert sich erst nach genauerer Betrachtung heraus. Durch das Wissen aus vielen Projekten in einem Spezialgebiet ergeben sich Best Practices, bestehend aus empfehlenswerten Patterns und Beschreibungen. Zu dieser Dokumentation werden eine oder mehrere entsprechende Referenzanwendungen umgesetzt. Die Erkenntnisse und Anforderungen aus dieser Referenzumsetzung wiederum führen zum einen zur Isolation häufig genutzter Quellcodeabschnitte, zum anderen zur Erweiterung der Dokumentation. Um was also handelt es sich bei der Web Client Software Factory? Die Microsoft WCSF fasst Dokumentation, Tools und Quellcode zur Umsetzung von transaktionsverarbeitenden Web Clients, die auf ASP.NET basieren, zusammen. Beispiele hierfür sind: e-banking/e-commerce-seiten Supply-Chain-Management-Webanwendungen Customer-Relationship-Management- Webanwendungen An der Entwicklung eines Projekts partizipieren die unterschiedlichsten Stakeholder. Im Rahmen dieses Artikels wollen wir uns etwas einschränken und konzentrieren uns auf die zwei, die für das Gelingen des Projekts aus technischer Sicht am wichtigsten sind: Architekten Als Architekt möchten Sie sicherstellen, dass Webanwendungen aus Ihrem Hause auf eine starke, qualitativ hochwertige und praxiserprobte Basis aufbauen. Entwickler Als Entwickler möchten Sie sich auf die Umsetzung der Geschäftslogik und die User Experience konzentrieren. Um mögliche technische Herausforderungen erkennen zu können, nehmen wir folgende Projektbeschreibung als Grundlage: Eine weltweit agierende Bank möchte eine neue, webbasierte Kundenanwendung veröffentlichen, die sowohl Geschäftsinformationen aus dem Investment Banking als auch dem Wealth Management bereitstellen Abbildung 2: Dependency Check soll. Für die Umsetzung dieses Projekts benötigen wir mindestens ein Architekturteam und, aufgrund der vollständig voneinander getrennten Geschäftsvorfälle, jeweils ein Programmierteam des Investment-Banking- sowie des Wealth- Management-Bereichs. Aus dem Anwendungsfall und der Anwendungsumgebung lassen sich einige technische Herausforderungen extrahieren: Modularität Testbarkeit Navigation Datensicherheit Authenifizierung Autorisierung Überprüfung von Eingabewerten Verteilung der Anwendungslogik Diese Auflistung dürfte Ihnen bekannt vorkommen. Für jene Anwendungsfamilie, die durch die WCSF abgedeckt Listing 1: Ergänzung des Interfaces für den DefaultView des Moduls SimpleTime public interface IDefaultView event EventHandler UpdateNowClicked; void UpdateNowTextBox(string currenttime); 41

Guidance Automation Extensions für VS2008 Guidance Automation Toolkit Enterprise Library for.net Framework (optional) wird, scheint es wahrscheinlich, dass sich ab einer gewissen Projektgröße die Herausforderungen angleichen. Bevor im weiteren Verlauf des Artikels auf die WCSF gezielt eingegangen wird, soll nicht verschwiegen werden, dass es sich bei der WCSF nur um eine von vier Software Factories im Rahmen der sogenannten Client Baseline Architectures handelt. Ergänzend werden für andere Clients angeboten: Smart Client Software Factory Web Service Software Factory Mobile Client Software Factory Abbildung 3: Guidance Navigator INSTALLATION Die Installation der Web Client Software Factory 2.0 setzt folgende Komponenten auf dem Zielsystem voraus: Guidance Automation Extensions und Toolkit können unter [3] heruntergeladen werden. Die Abhängigkeiten können im Installationstool der Version 2 bereits vor Installation manuell überprüft werden (Abbildung 2). Nach der Installation steht Ihnen unter dem Punkt Guidance Packages / Web Client Development February 2008 im Dialog New Project mögliche Web Client Solutions zur Verfügung, aufgeteilt nach Wunschsprache der Code-Behind-Dateien sowie der Zielplattform. Nach dem Start eines Projekts mit Unterstützung der WCSF steht Ihnen im Guidance Navigator sofort eine interaktive Hilfe zur Verfügung, die sich den aktuellen Schritten anpasst, zu jedem Schritt ausführliche Informationen gibt sowie die weitere Vorgehensweise beschreibt. Abbildung 5: Zusammenspiel CWAB, Webanwendung Modul 1 Webanwendung Modul 2 Composite Web Application Block Modul n Microsoft Visual Studio 2008 Microsoft.NET Framework Guidance Automation Extensions für VS2008 Object Builder Enterprise Library Abbildung 4: Orientierung Web Client Software Factory ARCHITEKTUR In der Standardauslieferung setzt die WCSF den Fokus wie in Abbildung 4 hervorgehoben auf die Bereiche Userinterface, Validation & Geschäftslogik. Selbstverständlich lassen sich weitere Module nachladen und in das Guidance Automation Toolkit einbinden. Wie bereits eingangs erwähnt und im Anwendungsfall umrissen, eignet sich die WCSF speziell für die modulare Entwicklung von Webanwendungen durch verschiedene Teams. Mit der WCSF werden Bundles (ehemals Application Blocks) mitgeliefert, die aus Dokumentation, Quellcode, Binärdateien, einem Guidance Package und einer Referenzimplementation bestehen. Sie können aus einem Repository heruntergeladen werden. Hiervon stehen folgende bereit: 42

WCSF AutoComplete Composite Web Client Automation Composite Web Client Libary Model-View-Presenter Modularity Responsive Composite Web Client Reference implementation Search Validation Abbildung 6: Aufbau Webanwendung APPLICATION BLOCKS Die WCSF verzichtet seit Version 2.0 auf den Page Flow Application Block. Beim Durchstöbern des Forums findet man jedoch schnell heraus, dass der mit Version 1.1 mitgelieferte Block auch unter Version 2.0 verwendet werden kann. Dieser Artikel beschränkt sich daher auf die Beschreibung des Composite Web Application Blocks. COMPOSITE WEB APPLICATION BLOCK Größere Line-Of-Business-Anwendungen (LOB) bestehen aus einzelnen in sich abgeschlossenen Funktionseinheiten. Abbildung 5 zeigt die Module. Aufgabe des Composite Web Application Blocks (CWAB) ist die Zusammenführung der einzelnen Module in eine Gesamtanwendung. Der CWAB baut auf dem Object Builder Framework auf, um einen Dependency Injector Container bereitzustellen. Hierdurch werden View, Businesslogik und Aufbereitung der Daten getrennt. Dies umgeht eine der größten Fallen der ASP.NET-Entwicklung bei größeren Objekten, die Vermischung von Businesslogik und View. Der Composite Web Application Block unterscheidet zwischen Business-Modul und Foundational-Modul. Ein Business-Modul bezeichnet hier eine abgeschlossene Einheit, die eine Menge von Anfragen beantworten können soll und eine eigene Webseite bereitstellt. Business-Module enthalten keine geteilte Funktionalität und verlinken sich entsprechend auch nicht gegenseitig. Basisfunktionalität, die über mehrere Module genutzt werden soll, wird in Foundational -Modulen bereitgestellt, die zwar Logik, aber keine eigene Webseite enthalten dürfen. Im Normfall wird Ihre Webanwendung so aufgebaut sein, dass sie eine Standardwebseite beinhaltet, die nicht Teil eines Business-Moduls ist. Wenn nun eine Anfrage eines Benutzers eintrifft, leitet der Web Application Block diese an das Business-Modul weiter, das die angefragte Webpage enthält. Das Business- Modul selbst kann auf Funktionalitäten eines oder mehrer Foundational-Module zugreifen. Im Normfall ist die Darstellungskomponente innerhalb eines Business-Moduls über das MVP-Pattern (Model View Presenter) separiert. Die Aufgaben des Application Blocks können zweigeteilt gesehen werden: Anwendungsstart Erzeugen der notwendigen Services: SiteMap Service, Authorization Service, SessionStateService, HttpcontextLocator Service Auffinden aller Business-Module Initialisierung der gefundenen Business-Module Anwendungslaufzeit DependencyInjection mithilfe von ObjectBuilder Abbildung 7: Beispielmodul 43

Listing 2: DefaultViewPresenter für Modul SimpleTime public class DefaultViewPresenter : Presenter<IDefaultView> private ISimpleTimeController _controller; public DefaultViewPresenter([CreateNew] ISimpleTi mecontroller controller) this._controller = controller; public override void OnViewLoaded() View.UpdateNowClicked += new EventHandler (View_UpdateNowClicked); void View_UpdateNowClicked(object sender, EventArgs e) View.UpdateNowTextBox (this._controller.getnowasstring()); Listing 1 zeigt IDefaultView, das von der Page Default.aspx implementiert wird. Der Presenter für diesen View, DefaultViewPresenter, erhält im Rahmen des CWAB über Dependency Injection eine Referenz auf den View und ebenso im Constructor eine Referenz auf den Controller (das Attribut [CreateNew] weist darauf hin). Wie in Listing 4 zu sehen ist, löst ein Klick auf den Button einen Event aus, der über OnUpdateNowClicked seinerseits einen Event auslöst. Dieser Event wurde in der Initia_lisierung (OnViewLoaded ist überschrieben) von DefaultViewPresenter abonniert. Er kann von hier über die Referenz auf den im Modul hinterlegten Controller (SimpleTimeController) an diesen weitergereicht werden. Die Referenzen zwischen diesen Ebenen sind über die jeweiligen Interfaces entkoppelt, was dazu führt, dass dem Presenter auch ein anderer Controller untergeschoben werden kann. Im Beispiel (Listing 3) gibt der Controller Date- Time.Now.ToLongTimeString() zurück und würde im Normalfall an dieser Stelle den entsprechenden Datenzugriff starten (siehe auch das MVP-Beispiel im Rahmen des mitgelieferten Quellcodes). Der DefaultViewPresenter wiederum ruft die im Interface IDefaultView definierte und in Default.aspx.cs des Modules SimpleTime implementierte Methode UpdateNowText- Box()auf (siehe Abbildung 8). Aufgabe des Views ist es nun, den erhaltenen Datenwert anzuzeigen. Listing 3 : SimpleTimeController und entsprechendes Interface PATTERNS Die Web Client Software Factory bietet Unterstützung bei der Einhaltung folgender Patterns: Application Controller Dependency Injection Inversion of Control Model-View-Presenter Module Interface Separation Responsiveness Patterns Service Locator Die Beschreibung aller Patterns würde den Rahmen dieses Artikels sprengen, daher konzentrieren wir uns im Folgenden auf das Model-View-Presenter Pattern und sehen in den Codelistings teilweise den Einfluss weiterer Patterns. MODEL-VIEW-PRESENTER Unser Beispiel kommt ohne echte Datenquelle aus und hat ausschließlich die Aufgabe, die Serverzeit in einer Textbox anzuzeigen. Das Modul wird über den ModuleInitializer in die zentrale Sitemap eingebunden und präsentiert dem Benutzer bei Auswahl in der Sitemap einen Button und eine Textbox. Beim Klick auf den Button wird die aktuelle Serverzeit in die Textbox eingetragen (siehe Abbildung 7). public interface ISimpleTimeController string GetNowAsString(); public class SimpleTimeController : ISimpleTimeController public SimpleTimeController() #region ISimpleTimeController Members public string GetNowAsString() return DateTime.Now.ToLongTimeString(); #endregion 44

WCSF Die kurzen Listings 1-4 zeigen die Kette der Abhängigkeiten, die über Dependency Injection aufgelöst wird. Dem View wird ein Presenter zugewiesen, dem zuvor noch ein Controller zugewiesen werden. Beides ist jeweils über das Attribute [CreateNew] erkennbar. ERWEITERBARKEIT DER WCSF Bei der WCSF handelt es sich um eine von der Community erweiterbare Basis einer Software Factory, die von Microsoft bereitgestellt wird. Bereits heute können weitere Application Blocks respektive Bundles ergänzt werden. Ebenso können im Rahmen des Guidance Toolkits neue Templates und Recipes, d.h. benutzerdefinierte Aktionen, in Visual Studio eingebunden werden. TESTBARKEIT DES CODES Aufgrund der Trennung im Rahmen des Model-View- Presenter Patterns kann die einem Modul zugrundliegende Businesslogik automatisiert bzw. mit Mock-Objekten getestet werden. Im Rahmen eines Entwicklungsleitfadens könnte auch festgelegt werden, dass jedes Business Modul entsprechende Testviews bereitstellen muss, über die semiautomatisch die Businesslogik getestet werden kann. DEPLOYMENT Das Deployment einer Webanwendung, die mithilfe der WCSF erstellt wurde, gestaltet sich denkbar einfach: 1. Kopieren der benötigten Assemblies auf den Ziel Webserver (Tabelle 1) 2. Kopieren der Module Abb. 8: A Wenn keine Services aus dem GAC genutzt werden, können die Assemblies per XCopy in das BIN-Verzeichnis der Webpage kopiert werden B Wenn Sie auf die Assemblies gemeinsam zugreifen wollen, installieren Sie diese in den GAC (entweder mit dem MS Installer, gacutil.exe oder mscorcfg.msc) ZUKUNFTSAUSSICHTEN Viele der fehlenden Features aus Version 1 und 1.1 sind mittlerweile mit der Version 2.0 nachgeliefert worden. In der Community schmerzlich vermisst wird der PageFlow Application Block, bei dem auf die Variante aus Version 1.1 zurückgegriffen werden muss. Einer etwas älteren Roadmap war zu entnehmen, dass Complex Page Flows nachgeliefert werden soll. Mit der erfolgten Auslieferung des Release 1.0 von Unity ist damit zu rechnen, dass auch die WCSF auf diesen Application Block umgestellt werden wird. Dem Blog einer der Entwickler ist zu entnehmen, dass bereits an dieser Umstellung gearbeitet wird; So finden sich heute bereits entsprechende Quellcodebeispiele für die Einbindung von Unity im Blog unter [05]. Ebenfalls bereitgestellt mit Version 2.0 wurde nunmehr eine lang gewünschte Referenzanwendung, die eine Einbindung von ASP.NET AJAX, ehemals Atlas, zeigt. In diesem Bereich dürften weitere Ergänzungen zu erwarten sein. ZUSAMMENFASSUNG Durch die konsequente Anwendung einer Software Factory lässt sich einfacher die Konsistenz des produzierten Codes innerhalb von unterschiedlichen Applikationen sicherstellen. Durch das Einhalten von Standards und die Anwendung der bekannten Patterns wird eine höhere Gesamtqualität erreicht. Weiterhin wird die Produktivität durch schnelle Einarbeitung von Teammitgliedern optimiert und die Projekt- und Codegenerierung vermeidet Fehler. Somit können sich die Entwickler voll auf die Umsetzung LINKS [1] Web Client Software Factory Community www.codeplex.com/websf/ implementiert [2] Enterprise Library Community www.codeplex.com/entlib/ [3] Guidance Automation Extensions and Guidance Automation Toolkit http://msdn2.microsoft.com/en-us/ teamsystem/aa718949.aspx [4] Guidance Bundles http://www.codeplex.com/websf/wiki/ View.aspx?title=bundles&referringTitle=Home [5] Blog Michael Puleio http://blogs.msdn.com/mpuleio/ 45

Tabelle 1 Bei Verwendung des CWAB müssen folgende zwei Assemblies kopiert werden: Microsoft.Practices.CompositeWeb.dll Microsoft.Practices.ObjectBuilder.dll Bei Verwendung der Enterprise Library (wenn Sie eines der Guidance Packages verwendet haben), sind folgende Assemblies betroffen: Microsoft.Practices.CompositeWeb.EnterpriseLibrary.dll Microsoft.Practices.EnterpriseLibrary.Common.dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.dll Microsoft.Practices.EnterpriseLibrary.Logging.dll Microsoft.Practices.EnterpriseLibrary.Security.dll Abbildung 9 Deployment Guide der geschäftsspezifischen Anforderungen und Regeln konzentrieren. Die WCSF zielt hierbei auf mittlere bis große Applikationen ab und unterstützt die unabhängige, modularisierte Entwicklung im Team. Durch die konsequente Einhaltung des MVP Patters erhöht sich die Testbarkeit der Businesslogik. Erwähnenswert bleibt die nahtlose und hilfeunterstützte Integration in Visual Studio 2008 dank des Guidance Toolkits sowie die Erweiterbarkeit durch die Community. Fazit: Selbst ausprobieren! Listing 4:Ergänzungen aus Default.aspx.cs zur Implementation des IDefaultView aus Listing 1 public event EventHandler UpdateNowClicked; public void UpdateNowTextBox(string currenttime) CurrentTimeBox.Text = currenttime; void OnUpdateNowClicked(EventArgs e) if (UpdateNowClicked!= null) UpdateNowClicked(this, e); protected void GetTimeButton_Click(object sender, EventArgs e) OnUpdateNowClicked(e); Tobias Müller arbeitet als Consultant bei der Trivadis AG. Als Entwickler für Microsoft-Technologien liegen seine Schwerpunkte zurzeit in der Architektur und Umsetzung von Frameworks und Referenzanwendungen. Sie erreichen ihn unter tobias.mueller@trivadis.com. 46