Die Architektur. der beteiligten Komponenten erreicht, wodurch sich Vorteile für Entwicklung,

Größe: px
Ab Seite anzeigen:

Download "Die Architektur. der beteiligten Komponenten erreicht, wodurch sich Vorteile für Entwicklung,"

Transkript

1 Ein Überwachungssystem auf Basis von WCF und CAB Server-Monitoring Die Aufgabe von Observar ist die automatische Überwachung von Computersystemen. Für das inzwischen erfolgreich realisierte Projekt wurden die Windows Communication Foundation (WCF), der Composite Application Block (CAB) sowie das Contract First Design in Verbindung mit einer Microkernel-Architektur verwendet. Observar überwacht Computersysteme automatisch und entlastet damit Administratoren von zeitraubenden Routinetätigkeiten. Aktuell erledigt das System die folgenden Monitoringaufgaben: Windows Eventlog-Analyzer, HTTP-Monitoring, Ping-Monitoring, Port-Monitoring. Observar wurde als Client-/Server-Anwendung, auf Basis der Windows Communication Foundation (WCF) und dem Composite Application Block (CAB) entwickelt. Die Verwendung von WCF erleichterte die Umsetzung der geforderten Flexibilität der Software wesentlich. Mit dem Einsatz von CAB, wurde der geforderten einfachen Erweiterbarkeit des Systems Rechnung getragen. Auf einen Blick Autor Matthias Bauernberger ist Softwareentwickler bei der GRZ IT Center Linz GmbH und arbeitet an mehrschichtigen Desktopund Webapplikationen sowie Services für österreichische E-Government-Projekte. dotnetpro.code A0711Observar Inhalt Lösung zur automatischen Überwachung von Computersystemen. Ein auf Basis von.net 3.0 mit WCF und CAB in C# realisiertes Projekt. Es erlaubt HTTP-, Ping- und Port-Monitoring und bietet einen Eventlog- Analyser. Abbildung 1 Die Observar-Architektur. Die Architektur Die Architektur von Observar, siehe Abbildung 1, folgt den grundsätzlichen Konzepten einer komponentenorientierten, mehrschichtigen Softwarearchitektur und ist wesentlich geprägt von WCF und CAB. Durch die für Observar gewählte Architektur wird eine weitgehende Entkopplung der beteiligten Komponenten erreicht, wodurch sich Vorteile für Entwicklung, Wartung und Softwareverteilung des Systems ergeben. Mit WCF wurde von Microsoft im Rahmen des.net Frameworks 3.0 eine Infrastruktur für die Entwicklung verteilter Anwendungen bereitgestellt. Technologien wie Remoting, XML-Webservices, Webservice Security Enhancements (WSE) oder.net Enterprise Services sind in WCF aufgegangen. Die Funktionalität aus den genannten Bereichen, steht nun einheitlich über die neue WCF-API zur Verfügung. Grundlegende Einführungen in die WCF-Technologie stehen beispielsweise unter [1], [2] und [3] zur Verfügung. Die angeführten Quellen beziehen sich noch auf Betaversionen, was aber aus konzeptioneller Sicht keine Rolle spielt. Die nachfolgende Liste führt die für das Projekt Observar relevanten WCF-Leistungsmerkmale auf: Die WCF stellt eine ganze Reihe an Transportbindings zur Verfügung. Die von Observar geforderte Flexibilität für die Kommunikation zwischen Observar-Console und Observar-Server, kann damit einfach bereitgestellt werden. Die bewährte und leistungsstarke Windows-Infrastruktur kann mit

2 Praxis Ein Überwachungssystem auf Basis von WCF und CAB geringem Entwicklungs- und Konfigurationsaufwand als Hosting-Infrastruktur für die Observar-Serviceschnittstelle verwendet werden. WCF baut auf ein vorwiegend deklaratives Entwicklungskonzept. Die WCF-Service-Endpunkte auf Basis von Kontrakten kommen dem für Observar definierten Contract First Design entgegen. Listing 1 Die erwähnte Flexibilität im Bereich der Transportbindings ist ansatzweise in Listing 1 zu erkennen. Es zeigt Konfigurationsfragmente der zum Observar-Server gehörenden Konfigurationsdatei app.config. Ohne am Quellcode Änderungen vornehmen zu müssen, kann in diesem Fall auf die veröffentlichte Serviceschnittstelle des Servers wahlweise über net.tcp oder basichttp zugegriffen werden. Das für den jeweiligen Service-Endpunkt gewählte Transportbinding ist über einen Konfigurationsabschnitt, welcher über das Attribut bindingconfiguration referenziert wird, vielfältig konfigurierbar. Eine vollständige Liste der Konfigurationsattribute ist unter [4] und [5] zu finden. Die WCF-Konfiguration kann auch mit grafischer Unterstützung erstellt und bearbeitet werden. Das dafür erforderliche Werkzeug steht nach der Installation der Visual Studio 2005 Extensions for.net Framework 3.0 (WCF & WPF) über den Menüeintrag Tools\WCF Service Configuration Editor innerhalb von Visual Studio 2005 zur Verfügung. Die in Listing 1 angeführten Transportbindings stellen lediglich zwei von neun WCF-Standard-Transportbindings dar, welche bei Bedarf per CustomBinding erweitert werden können. WCF-Hosting-Container WCF-Services können über unterschiedliche Container gehostet werden. Hier spannt sich der Bogen von der Windows- Dienste-Infrastruktur über Windows- Forms- oder Konsolen-Anwendungen, Transportbindings für die Kommunikation zwischen Observar- Console und Observar-Server. <! Konfigurationsfragment aus der Observar-Server app.config --> <system.servicemodel> <bindings> <nettcpbinding> <binding name = "ostcp" maxreceivedmessagesize =" "> <readerquotas maxarraylength="500000" /> </binding> </nettcpbinding> <basichttpbinding> <binding name = "oshttp" maxreceivedmessagesize =" "> <readerquotas maxarraylength="500000" /> </binding> </basichttpbinding > </bindings> <services> <service name="eu.bauernberger.observar.server.servicehost.businessdelegate"> <! Observar-Server-Service-Endpunkt über nettcp-transportbindig --> <endpoint address="net.tcp://osserver:7071/osbusinessdelegate" binding="nettcpbinding" name="ostcp" contract="eu.bauernberger.observar.contracts.ibusinessdelegate" bindingconfiguration ="ostcp" /> <! Observar-Server-Service-Endpunkt über basichttp-transportbindig --> <endpoint address="http://osserver:8080/osbusinessdelegate" binding="basichttpbinding" name="oshttp" contract="eu.bauernberger.observar.contracts.ibusinessdelegate" bindingconfiguration ="oshttp" /> </service> </services> </system.servicemodel> COM+, IIS/ASP.NET bis zur neuen Windows-Activation-Service-Infrastruktur (WAS), welche aber nur unter Windows Vista zur Verfügung steht. Observar-Server verwendet drei unterschiedliche Hosting-Container um den Serviceprozess zu hosten. Primär wird die Windows-Dienste-Infrastruktur verwendet. Zur Entwicklungszeit wird der Service über eine einfache Konsolen-Anwendung gehostet. Über welchen Modus der Observar-Server gestartet wird, hängt von den innerhalb der Prozedur Main() implementierten Präprozessor-Direktiven ab. #if (!DEBUG) OSServerBootstrap. StartOSServerWindowsService(); #else OSServerConsoleService. SartOSServerConsoleService(); #endif Nachdem ermittelt wurde, über welchen Hosting-Container der Serviceprozess gestartet werden soll, wird der Konfigurationsabschnitt <system.servicemodel> von der WCF-Infrastruktur automatisch ausgewertet. Die über das Attribut contract (siehe Listing 1) definierte Serviceschnittstelle ist ab diesem Zeitpunkt prinzipiell für entsprechende Zugriffe bereit. IIS als Hosting-Container Als dritter Hosting-Container kommt die IIS-Infrastruktur zum Einsatz. Die Möglichkeit WCF-Services auch über den IIS zu hosten, unterstreicht sowohl die Leistungsfähigkeit als auch die flexiblen Einsatzmöglichkeiten WCF-basierter Anwendungen. Die Bereitstellung einer WCF-Serviceschnittstelle, über den Microsoft IIS, erfolgt wie folgt: Über die IIS-MMC muss ein neues virtuelles Verzeichnis angelegt und als Webapplikation konfiguriert werden, siehe Abbildung 2. Eine Datei mit der Endung *.svc muss mit folgendem Inhalt erstellt und im Root-Verzeichnis der Webapplikation abgelegt werden: Service="Typ,Komponente" %> Typ steht dabei für die Klasse, über welche die Serviceschnittstelle implementiert wird. Komponente repräsentiert den Namen der Assembly, in welcher diese Klasse enthalten ist. Zudem muss eine Webkonfigurationsdatei im Root-Verzeichnis vorhanden sein. Die Datei web.config beinhaltet den

3 für WCF relevanten Abschnitt, siehe Listing 2. Im Unterschied zu der in Listing 1 angeführten WCF-Konfiguration, fällt auf, dass das Attribut address keinen Inhalt hat. Die normalerweise über dieses Attribut übergebenen Informationen, wie Service-URI und Port, sind durch den IIS- Kontext gegeben. Für die Veröffentlichung über die IIS- Infrastruktur wurde basichttpbinding als Transportbinding unter Verwendung von Transport-Security gewählt. Diese Konfiguration bedeutet konkret, dass die zwischen Client und Server stattfindende Kommunikation über Secure Sockets Layer (SSL) erfolgt respektive abgesichert ist. Die hierfür erforderliche Sicherheitsinfrastruktur wird von IIS auf Basis von X.509-Zertifikaten bereitgestellt. Weitere Details zum Bereich Transport-Security sind unter [8] verfügbar. Um die Veröffentlichung der Serviceschnittstelle unter Verwendung von IIS als Hosting-Container abzuschließen, muss die eigentliche Applikation im Verzeichnis bin unterhalb des Webroot-Verzeichnisses veröffentlicht werden. Ohne den Observar-Quellcode zu ändern, kann anschließend die Serviceschnittstelle wahlweise über den net.tcp-service-endpunkt oder über den basichttp-service-endpunkt, unter Verwendung von IIS als Hosting-Container, angesprochen werden. Contract Wie weiter oben bereits angeführt, wird die WCF-Services-Schnittstelle über das Attribut contract des Elements endpoint definiert. Technisch ist dieser Contract über ein Interface umgesetzt, welches die Serviceschnittstelle über spezielle WCF- Attribute beschreibt, wodurch ein weiteres Merkmal der WCF-Infrastruktur offensichtlich wird: In WCF ist alles explizit! Dieser Satz birgt eine der großen Stärken der WCF-Infrastruktur, nämlich die umfangreichen Möglichkeiten im Bereich der deklarativen Programmierung. Durch - Listing 2 Konfiguration von Service-Endpunkt und Transportbinding. <! Konfigurationsfragment aus der Observar-Server web.config --> <system.servicemodel> <bindings> <basichttpbinding> <binding name = "oshttps" maxreceivedmessagesize =" "> <readerquotas maxarraylength="500000" /> <security mode="transport"> <transport clientcredentialtype="windows" /> </security> </binding> </basichttpbinding> </bindings> <services> <service name="eu.bauernberger.observar.server.servicehost.businessdelegate"> <endpoint address="" binding="basichttpbinding" name="oshttps" contract="eu.bauernberger.observar.contracts.ibusinessdelegate" bindingconfiguration ="oshttps" /> </service> </services> </system.servicemodel> geführt wird diese über Codeattribute oder über Anpassung der relevanten Konfigurationselemente. Der folgende Codeabschnitt zeigt die konkrete Anwendung der angesprochenen WCF-Attribute im Kontext der Serviceschnittstelle: [ServiceContract] public interface IBusinessDelegate [OperationContract] [NetDataContract] Boolean DeleteOsJob(IOSJob osjob); [OperationContract] [NetDataContract] Boolean DeleteOsJobLog(IOSJobLog osjoblog); Abbildung 2 Die Observar-Serviceschnittstelle über die IIS-Infrastruktur veröffentlicht. Tabelle 1 erläutert die im Codefragment angeführten WCF-Attribute. Das Attribut [NetDataContract] ermöglicht die Verwendung von Interfaces als Parameter ohne die in Tabelle 1 beschriebenen zusätzlichen Konfigurationen. Unter [6] und [7] wird die diesbezügliche Problemstellung anschaulich diskutiert und die Funktionsweise der Klasse NetDataContract im Detail erläutert. Implementierung Damit die zwischen Client und Server zu transferierenden Objekte von der WCF- Infrastruktur für den Transport serialisiert werden können, müssen sowohl bei den Interfaces als auch bei den Klassen, die diese Interfaces implementieren, entsprechende WCF-Attribute gesetzt werden. Die konkrete Umsetzung wird über die folgenden Codefragmente beschrieben. In Abbildung 3 sind die maßgeblichen Visual-Studio-Projekte abgebildet: [DataContract] public class OSAlert : IOSAlert #region private members String id; String hostid; #endregion #region public members [DataMember] public String Id get return id; set id = value; //... [DataMember] public String HostID get return hostid; set hostid = value;

4 Praxis Ein Überwachungssystem auf Basis von WCF und CAB Tabelle 1 WCF-Attribute zur Konfiguration von Interfaces, welche als WCF- Contracts verwendet werden. Attribut Beschreibung ServiceContract Dieses Attribut ist dem Interface voranzustellen und teilt WCF mit, dass es sich bei Klassen, die dieses Interface implementieren, um WCF-Services handelt. OperationContract Dieses Attribut konfiguriert jene Methoden, welche im Kontext des WCF-ServiceContracts verwendet werden. NetDataContract Dieses Attribut ist kein WCF-Standard-Attribut. Es ermöglicht Interfaces als Parameter zu verwenden, ohne dass der ServiceContract explizit mit allen innerhalb des Interfaces verwendeten Typen konfiguriert werden muss. Voraussetzung für den Einsatz dieses Attributes ist, dass sowohl Service als auch Service-Consumer auf Basis von.net/wcf entwickelt wurden. Klick auf den Speicherbutton wie folgt verarbeitet: private void btninsertoshost_ Click(object sender, EventArgs e) presenter.insertoshost(oshost); Die Speicherung wird an den CAB- Presenter weiterdelegiert: internal void InsertOSHost(IOSHostosHost) /*Dynamische Erzeugung des Proxys auf Basis der *WCF-*ChannelFactory. Da diese *Methode global benötigt wird, *wurde diese in eine Library *(OSLib)ausgelagert. *Der Library-Methode wird zusätzlich *das Objekt ossvrlocation übergeben, *welches das *Transportbinding beinhaltet *und auf Basis dessen der jeweilige *Proxy erzeugt wird.*/ IBusinessDelegate proxy = OSLib. CreateOSLocationChannelFactory( ossvrlocation).createchannel(); //Speicherung des Host-Objekts. proxy.insertoshostentry(oshost); Abbildung 3 Visual-Studio-Projekte für Contract-, Core- und Servicelibrary. Das Attribut [DataContract] teilt der WCF-Infrastruktur explizit mit, dass auf diesem Typ basierende Objekte über den von.net speziell für WCF bereitgestellten DataContractSerializer zu serialisieren sind. Mit diesem Attribut sind neben zu serialisierenden Klassen auch Enumerationen und Strukturen, die serialisiert werden sollen, zu konfigurieren. Das Attribut [DataMember] zeigt dem erwähnten Serializer die zu serialisierenden Datenfelder an. Kommunikation Im nächsten Schritt wird die, über die Windows-Dienste-Infrastruktur gehostete, Observar-Serviceschnittstelle gestartet: protected override void OnStart(string[] args) if (osservicehost == null) osservicehost = new ServiceHost(typeof(BusinessDelegate)); osservicehost.open(); Das Hochfahren des Serverprozesses wird innerhalb der Methode OnStart vorgenommen. Hier wird die statische Mitgliedsvariable osservicehost, welche vom Typ System.ServiceModel.ServiceHost ist, mit der Übergabe des Typs der Serviceschnittstelle erzeugt und durch Aufruf der Methode Open() geöffnet. Nach dem erfolgreichen Start der Serviceschnittstelle, sind nun alle Voraussetzungen erfüllt und die Kommunikation zwischen Client und Server über die konfigurierten Service-Endpunkte kann stattfinden. Das nachfolgend angeführte Beispiel verdeutlicht die Kommunikation zwischen Client und Server. Das Beispiel zeigt den Speichervorgang eines Observar-Host-Objekts. Ausgangspunkt ist der Eventhandler, welcher den Durch die Ausführung der Insert- Methode, wird das Host-Objekt über den erwähnten NetDataContractSerializer serialisiert und auf Basis des von WCF nativ verwendeten SOAP-Protokolls der Serviceschnittstelle übergeben. Nach der Deserialisierung des Host-Objekts, wird dieses von der Serviceschnittstelle dem DB-Layer zum Speichern übergeben. Der Vollständigkeit halber wird an dieser Stelle vorab noch die relevante Stelle aus dem Interface der Serviceschnittstelle angeführt: [ServiceContract] public interface IBusinessDelegate [OperationContract] [NetDataContract] Boolean InsertOSHostEntry(IOSHost oshost); Im nachfolgenden Code ist die Verwendung der für Observar implementierten Microkernel-Funktionalität zu sehen. public Boolean InsertOSHostEntry(IOSHost oshost) IDBServices dbservices = (IDBServices)Microkernel.createInstance( typeof(idbservices)); (dbservices.insertoshostentry(oshost)) Um dieses Kapitel abzurunden, wird nun noch der für das Stoppen der Serviceschnittstelle erforderliche Code gelistet,

5 der hier ebenfalls im Kontext der Windows- Dienste-Infrastruktur ausgeführt wird. protected override void OnStop() if (osservicehost.state!= CommunicationState.Closed) osservicehost.close(); Console im Baukastensystem Der zweite Hauptbereich des Technologieportfolios für das Projekt Observar ist das von der Microsoft Patterns und Practices Group bereitgestellte UI-Framework Composite Application Block (CAB). CAB ermöglicht eine auf lose gekoppelte Komponenten aufgebaute Architektur der Benutzerschnittstelle. Um diese Technologie komfortabel nutzen zu können, wurde das in Visual Studio 2005 integrierbare Smart Client Software Factory (SCSF) Framework, welches auf CAB aufsetzt, von Microsoft bereitgestellt. SCSF tritt an, durch die automatische Generierung von Projektmodulstrukturen respektive darin enthaltenem Rahmen- und Beispielcode, den standardisierten Aufbau von CAB-Modulen über Wizards und Templates zu vereinfachen. Applikationen wie die Observar-Console bieten dadurch flexible Möglichkeiten in Bezug auf Erweiterungen und werden durch Entkopplung und Modularisierung besser wartbar. Dieses Framework wurde für das Projekt ausgewählt, um eine Plug-in-Schnittstelle zu schaffen, über die sich die Observar-Console um neue Monitoringjobs erweitern lässt. Um mit Visual Studio 2005 auf CAB basierende Applikationen entwickeln zu können, musste die Observar-Entwicklungsumgebung noch um eine ganze Reihe zusätzlicher Komponenten erweitert werden. Dies war umständlich und fehleranfällig. Die gute Nachricht an dieser Stelle: Mit der aktuellen SCSF-Version vom Mai 2007 [9], werden alle erforderlichen Komponenten wie die CAB-Bits, die Enterprise-Library sowie Guidance- Automation über die SCSF-Installation vollständig installiert, was den Einsatz dieser Technologie deutlich vereinfacht. Für den Einstieg in die CAB-Technologie ist die unter [10] angeführte Folge von dotnetpro.tv sehr gut geeignet. CAB-Module für die Console CAB-Module werden zur Laufzeit in den jeweiligen Shell-Workspace geladen. Shell-Workspaces agieren als Container und hosten die Module. Die Observar-Console nutzt den CAB-Standardworkspace DeckWorkspace sowie den nicht im Standard enthaltenen OutlookbarWorkspace [11]. Wie diese Workspaces verwendet werden zeigen die Abbildungen 4 und 5. Die Grundstruktur jedes auf CAB basierenden Business-Moduls, kann über das erwähnte SCSF-Framework automatisch erzeugt werden. Das generierte Modul wird hierbei als separates Visual- Studio-Class-Library-Projekt in die Solution integriert, siehe Abbildung 6. Die CAB-Infrastruktur wird mithilfe der im Programmverzeichnis der jeweiligen Applikation vorhandenen Katalogdatei ProfileCatalog.xml über alle generierten Module in Kenntnis gesetzt. Die Verwaltung dieser Datei erfolgt automatisch durch das SCSF-Framework. Listing 3 zeigt einen Ausschnitt der Observar-Console Katalogdatei. Im Rahmen dieses Artikels wird die Verwendung der CAB-Technologie anhand der dynamischen Integration einer Menüstruktur in die Menüleiste der Observar-Console sowie der Ausführung der an einen Menüeintrag gebundenen Funktion gezeigt. Über die dynamisch registrierte Menüstruktur (?/Information) wird der als CAB-Business-Modul implementierte Observar-Infodialog aufgerufen. Den vollständigen Code zeigt Listing 4. Die wichtigsten Stellen werden nachfolgend kommentiert. Die erwähnte Menüstruktur registriert die Methode ExtendMenu(), ohne dass dazu Änderungen am Quellcode der Shell notwendig wären. Dies ist ein wesentlicher Aspekt hinsichtlich der bereits erwähnten Plug-in-Schnittstelle. Um in weiterer Folge den Informationsdialog über einen Klick auf den angeführten Menüeintrag aufzurufen, kommt die CAB-Implementierung des Command-Patterns zum Einsatz. Hierfür wird der über das WorkItem angebotenen Command-Collection der Befehl für den Aufruf hinzugefügt und über AddInvoker mit dem relevanten Control respektive mit dem auslösenden Ereignis konfiguriert. Die bei diesem Beispiel auf Basis des Click-Ereignisses auszuführende Methode ist über das für CAB relevante Command- Attribut gekennzeichnet: Abbildung 4 Usercontrol mit den von der Observar-Console verwendeten Workspaces. Abbildung 5 Observar-Console mit geladenen Observar-Modulen

6 Praxis Ein Überwachungssystem auf Basis von WCF und CAB Listing 3 Module bei der CAB-Infrastruktur registrieren. <!-- Über die Datei ProfileCatalog.xml wurden alle für die Observar-Console erstellten Module bei der CAB-Infrastruktur registriert. --> <SolutionProfile xmlns="http://schemas.microsoft.com/pag/cab-profile/2.0">... <Modules>... <ModuleInfo AssemblyFile="OSPingHostConfigModule.dll" /> <ModuleInfo AssemblyFile="OSAboutModule.dll" /> <ModuleInfo AssemblyFile="OSTaskbarNotificationModule.dll" /> </Modules> </Section> </SolutionProfile> Listing 4 Aufruf des Observar-Informationsdialogs. // Initialisierung des OSAbout-Moduls public override void Run()ExtendMenu(); // Erweiterung des Observar-Console Main-Menüs private void ExtendMenu() // Erzeugen der Menüpunkte ToolStripMenuItem toolstripmenuitemhelp = new ToolStripMenuItem(menuItemHelp); ToolStripMenuItem toolstripmenuiteminformation = new ToolStripMenuItem(menuItemInformation); toolstripmenuiteminformation.image = Properties.Resources.icoinfo.ToBitmap(); WorkItem.UIExtensionSites[UIExtensionSiteNames.MainMenu].Add(toolStripMenuItemHelp); toolstripmenuitemhelp.dropdownitems.add(toolstripmenuiteminformation); // Das auszuführende Command wird über das WorkItem registriert WorkItem.Commands[loadAboutDialogCommand]. AddInvoker(toolStripMenuItemInformation, workitemcommandinvokerclick); // Die auszuführende Methode wird über das CommandHandler-Attribut markiert [CommandHandler(loadAboutDialogCommand)] public void LoadOSAboutDialog(object sender, EventArgs e) eu.bauernberger.observar.console.osaboutmodule.osabout osabout = WorkItem.SmartParts.AddNew<OSAbout>(); WindowSmartPartInfo windowsmartpartinfoosabout = new eu.bauernberger.observar.console.osaboutmodule.dialogsmartpartinfo(); windowsmartpartinfoosabout.title = observarabouttitle; // Anzeige des Informationsdialogs (Workspace für modale Dialoge) WorkItem.Workspaces[WorkspaceNames.ModalWindows].Show(osAbout, windowsmartpartinfoosabout); WorkItem.SmartParts.Remove(osAbout); [CommandHandler(loadAboutDialogCommand)] public void LoadOSAboutDialog() //... Anhand dieses einfachen Beispiels wurden bereits wesentliche Bereiche der CAB-Infrastruktur angesprochen. Weitere wichtige CAB-Funktionen sind: Ein über Attribute gesteuertes Eventmodell. Ein State-Mechanismus, der es erlaubt, Informationen zwischen CAB- Modulen auszutauschen. Eine Infrastruktur für Services, die es ermöglicht, dass zentrale Funktionalität über Modulgrenzen hinweg genutzt werden kann. Eine auf Basis des Designpatterns Model-View-Presenter (MVP) aufgebaute Userinterface-Architektur. Die Erweiterbarkeit und Quellcode- Verfügbarkeit der CAB-Komponenten. Im folgenden Abschnitt wird das von CAB über Attribute steuerbare Eventkonzept gezeigt und anhand einer konkreten Implementierung erläutert. Der umzusetzende Anwendungsfall dazu lautet: Bei der Aktivierung der Funktion Auto-Observar über diesen Mechanismus werden alle aktiven Observer-Standorte in Echtzeit überwacht muss der Fenstertitel der Observar-Console um eine entsprechende Zeichenfolge erweitert werden. Beim Einund Ausschalten dieses Modus (im Dialog) wird der Status über die bereits oben angeführte Command-Funktionalität gesetzt. Der Status muss aber auch dann korrekt gesetzt werden, wenn die Observar-Console neu gestartet wird und der zuletzt aktive Status der Funktion Auto- Observar aus den gespeicherten User-Settings wieder hergestellt werden muss. An dieser Stelle kommt nun der erwähnte Eventmechanismus in Form von Event- Publishern und Event-Subscribern zum Einsatz. Der Code in Listing 5 zeigt diesen Mechanismus anhand des in der Eventmethode OnViewReady() integrierten Codes. Wird nun beim Start der Observar- Console der zu aktivierende Auto-Observar-Status erkannt, wird diese Information über ein globales Ereignis publiziert. Eine in der Shell platzierte Methode hat dieses Ereignis abonniert und aktualisiert den Text im Fenstertitel entsprechend. Ein weiterer CAB-Eckpfeiler des Konzeptes ist die Implementierung des Entwurfsmusters Model-View-Presenter (MVP). Dabei handelt es sich um eine vereinfachte Variante des Entwurfsmusters Model- View-Controller (MVC). Die CAB-MVP-Implementierung sieht vor, dass jedes automatisch angelegte Modul neben einem Usercontrol, welches den View darstellt, auch eine Presenterklasse beinhaltet. Zusätzlich wird noch ein Interface angelegt, welches sowohl View als auch Presenter implementieren müssen. Hier wird bereits die angestrebte Entkopplung deutlich: Der View hat keine Abhängigkeit zum Presenter und stellt über die Implementierung des Interfaces sicher, dass alle über den Presenter angestoßenen View-Manipulationsmethoden eine Implementierung aufweisen. Abbildung 7 stellt dieses Prinzip schematisch dar. Die konkrete Umsetzung macht das nachfolgende Beispiel deutlich. Die in Abbildung 6 gezeigten Dateien werden dem MVP-Schema wie folgendermaßen zugeordnet:

7 Abbildung 6 Struktur des OSAbout- Moduls im Solution- Explorer von Visual Studio Abbildung 7 Schematische Darstellung des MVP-Entwurfsmusters. OSAbout.cs entspricht dem View aus Abbildung 7. OSAboutPresenter.cs entspricht der in Abbildung 7 angeführten Presenterklasse. IOSAbout.cs stellt das in Abbildung 7 ersichtliche Interface IView dar. Der relevante Code in der Datei IOS- About.cs lautet deshalb: public interface IOSAbout void FillAboutFields(); Der relevante Code in der Datei OS- AboutPresenter.cs lautet: public override void OnViewReady() base.onviewready(); //Der von SCSF generierte Code wird //um nachfolgende Zeile erweitert View.FillAboutFields(); View ist ein durch das angeführte Interface generisch typisiertes Property, der von CAB bereitgestellten Presenter- Infrastruktur. Durch diese generische Typisierung erhält man über dieses Property Zugriff auf die in der Schnittstelle definierten Inhalte und kann die Ausführung von View-Methoden aus dem Presenter anstoßen. Der View manipuliert sich dadurch auf Basis der, von der CAB-Infrastruktur ausgelösten Events selbst, wodurch das primäre Ziel des MVP-Patterns erreicht ist. Das angeführte Beispiel zeigt, dass die Umsetzung grundlegender Entwurfsmuster mittels der CAB-Infrastruktur sehr einfach möglich ist. Die nächste Evolutionsstufe der CAB-Technologie steht mit Acropolis [12] bereits in der Pipeline, wodurch die für den Einsatz in konkreten Projekten relevante Zukunftssicherheit gegeben ist. Fazit Durch die im Projekt Observar verwendeten Technologien WCF und CAB sowie der Umsetzung eines Contract First Designs unter Verwendung einer einfachen Microkernel-Implementierung wurde sichergestellt, dass dem für Observar geforderten flexiblen Einsatz einfach Rechnung getragen werden konnte. Entstanden ist dabei eine komponentenbasierte, lose gekoppelte und dadurch gut wartbare Codebasis. Die mit CAB und WCF gemachten Erfahrungen sind sowohl aus Entwicklungssicht als auch aus Sicht des bisher geleisteten Kunden-Supports überwiegend positiv. Speziell WCF hat sich durch die vielfältigen technischen und konfigurativen Möglichkeiten als technologischer Observar-Backbone herauskristallisiert. Listing 5 [1] Christian Weyer und Ralf Westphal, dotnetpro.tv, WCF, dotnetpro 6/2006, Heft-CD [2] Christian Weyer, Windows Communication Foundation, Bindings für Services, dotnetpro 12/2005, Seite 136 ff. [3] Christian Weyer, Windows Communication Foundation, Hosting und Nutzung von Services, dotnetpro 01/2006, Seite 121 ff. [4] Service Station, f dnplink SL0711Observar1 [5] NetTcpBinding, f dnplink SL0711Observar2 [6] Using Interfaces as Parameters, f dnplink SL0711Observar3 [7] WCF's NetDataContractSerializer, f dnplink SL0711Observar4 [8] HTTP Transport Security, f dnplink SL0711Observar5 [9] Smart Client Software Factory, f dnplink SL0711Observar6 [10] Mario Szpuszta und Ralf Westphal, dotnetpro.tv, WCF, dotnetpro 8/2006, Heft-CD [11] OutlookWorkSpace, f dnplink SL0711Observar7 [12] Acropolis, f dnplink SL0711Observar8 Ereignisse applikationsglobal veröffentlichen und abonnieren. // Die OnViewReady-Methode veröffentlicht // bei Bedarf den Event für die Ergänzung des Textes [EventPublication(EventTopicNames.OSTimerEnabledISTrue, PublicationScope.Global)] public event EventHandler<EventArgs> OSTimerEnabledISTrue; public override void OnViewReady() //Wenn die Bedingung erfüllt ist, wird das Event ausgelöst if (osautoobservar.enabled) OSTimerEnabledISTrue(this, null); // Eventsubscribercode innerhalb der Shell [EventSubscription(EventTopicNames.OSTimerEnabledISTrue, Thread = ThreadOption.UserInterface)] [CommandHandler(CommandNames.OSTimerEnabledTrue)] public void OSMapTimerEnabledTrue(Object sender, EventArgs e) Resource.Culture = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name); this.text += Resource.UIShellTitleEnableAutoObservar;

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

ELIS 2.6 WCF Schnittstellenbeschreibung

ELIS 2.6 WCF Schnittstellenbeschreibung ELIS 2.6 WCF Schnittstellenbeschreibung Einsatzleitinformationssystem 1 ELIS WCF Struktur ELISWCF ist als Modul von ELISService ausgeführt. Externe Anwendungen außerhalb von ELIS Service können die ELISWCF

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Valion Consulting AG Implementing Better Solutions Monbijoustrasse 20 CH-3011 Bern +41 (0)31 328 10 10 www.valionconsulting.ch

Valion Consulting AG Implementing Better Solutions Monbijoustrasse 20 CH-3011 Bern +41 (0)31 328 10 10 www.valionconsulting.ch Valion Consulting AG Implementing Better Solutions Monbijoustrasse 20 CH-3011 Bern +41 (0)31 328 10 10 www.valionconsulting.ch i ii iii 1 2 3 4 5 6 7 8 Presentation Reporting Business 9 Presentation Business

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaSbilität zu Standards (WS- I) Contracts

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Ein einfacher Server. .NET Remoting. Klassentypen

Ein einfacher Server. .NET Remoting. Klassentypen Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger

Mehr

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung Allgemeines Architektur der Anwendung Grundsätzlich führen viele Wege nach Rom bzw. es gibt nicht den einen Weg, wie die gestellte Aufgabe mit Magnolia gelöst werden muss. Es wäre problemlos möglich, eine

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

Mehr

Kommunikation ist alles

Kommunikation ist alles Kommunikation in verteilten Systemen mit Kommunikation ist alles >> alexander ziegler In einem verteilten System müssen die Anwendungsbestandteile miteinander interagieren nur so funktioniert ein großes

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

KompaRbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AWribuRerung. Mehr Spielraum auf Transportebene

KompaRbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AWribuRerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaRbilität zu Standards (WS- I) Contracts

Mehr

Installation DataExpert-Server

Installation DataExpert-Server Projekt IGH DataExpert Installation DataExpert-Server Datum: 05.04.2015 Version: 2.0.1.0 Inhaltsverzeichnis 1 Einleitung... 2 2 Voraussetzungen für die Installation von DataExpert 2.0... 3 3 Installation

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

SRH Hochschule Heidelberg

SRH Hochschule Heidelberg SRH Hochschule Heidelberg Fachbereich Informatik Vertriebssysteme / CRM Johannes Dipl. Inf. (FH) Hoppe Johannes Hoppe MSP WCF Vorlesung 25.03.2009 90 Minuten, 8 Teilnehmer Dipl. Inf. (FH) Johannes Hoppe

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Vorbereitung zu Praktikum 3

Vorbereitung zu Praktikum 3 Vorbereitung zu Praktikum 3 Menü-Toolkit und Command Pattern Fallstudie zu Vererbung und Polymorphie: "Menü-Toolkit" Anwenderfreundliche Programme werden mit Menüs gesteuert In objektorientierten Anwendungen

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Grundlagen und Best Practices bei der SharePoint Entwicklung

Grundlagen und Best Practices bei der SharePoint Entwicklung Grundlagen und Best Practices bei der SharePoint Entwicklung Peter Kirchner Consultant ITaCS GmbH Fabian Moritz Senior Consultant, MVP ITaCS GmbH Themen Entwicklungsumgebung vorbereiten SharePoint Objektmodell

Mehr

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs Der Aufbau der MS Outlook Integration orientiert sich stark an den SmarTeam Integrationen zu den MS Office Produkten, wobei

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Collax Monitoring mit Nagios

Collax Monitoring mit Nagios Collax Monitoring mit Nagios Howto Dieses Howto beschreibt die Konfiguration der Aktiven Überwachung auf einem Collax Server. Intern verwendet das System dafür Nagios. Primär wird Nagios zur Selbstüberwachung

Mehr

Wie konfiguriert man Microsoft Office Sharepoint Server 2007 für Ajax und Silverlight 2.0

Wie konfiguriert man Microsoft Office Sharepoint Server 2007 für Ajax und Silverlight 2.0 Wie konfiguriert man Microsoft Office Sharepoint Server 2007 für Ajax und Silverlight 2.0 Einführung Web Parts sind die zentrale UI-Komponenten auf einer Sharepoint Seite. Wie man ASP.NET Controls dort

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

enthaltenen Funktionen gekennzeichnet. Schwierig wird es besonders dann, wenn Anwendungsteile bzw. Module aus unterschiedlichen

enthaltenen Funktionen gekennzeichnet. Schwierig wird es besonders dann, wenn Anwendungsteile bzw. Module aus unterschiedlichen - 7 Ab heute steht CAB nicht mehr für ein veraltetes Dateiformat, sondern für Composite UI Application Block. Er stammt von der Patterns 8 Practices Group bei Microsoft, die auch die Enterprise Library

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH SERVER-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH SERVER-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH SERVER-INSTALLATION Lizenzvereinbarung Infomon Server-Installation Lesen Sie vorab die Lizenzvereinbarung, die in der Datei Lizenzvereinbarung.doc beschrieben ist.

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 Inhaltsverzeichnis Software ekey TOCAhome pc 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 3. MONTAGE, INSTALLATION UND ERSTINBETRIEBNAHME... 3 4. VERSION... 3 Version 1.5 5. BENUTZEROBERFLÄCHE...

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Web Client Software Factory

Web Client Software Factory 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

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache

Mehr

ORGA 6000 in Terminalserver Umgebung

ORGA 6000 in Terminalserver Umgebung ORGA 6000 in Terminalserver Umgebung Sie möchten das ORGA 6000 in einer Windows (Terminal) Server Umgebung betreiben. Wie gehen Sie dazu am besten vor? Sie haben drei Möglichkeiten das ORGA 6000 in einer

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Die Windows Workflow Foundation in Microsoft.NET 3.0

Die Windows Workflow Foundation in Microsoft.NET 3.0 Die Windows Workflow Foundation in Microsoft.NET 3.0 Klaus Rohe (klrohe@microsoft.com) Developer Platform & Strategy Group Microsoft Deutschland GmbH Agenda Was ist Windows Workflow Foundation? Microsoft

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Einsatzbedingungen FAMOS 4.0

Einsatzbedingungen FAMOS 4.0 Einsatzbedingungen FAMOS 4.0 Architektur FAMOS ist als Client-Server System konzipiert und voll netzwerkfähig. Alternativ kann die Installation als Einzelplatz-Lösung erfolgen. Einige Erweiterungen wie

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

1 Installationen. 1.1 Installationen unter Windows

1 Installationen. 1.1 Installationen unter Windows 1 Installationen Dieses Kapitel beschreibt die Installationen, die für die Nutzung von PHP und MySQL unter Windows, unter Ubuntu Linux und auf einem Mac mit OS X notwendig sind. 1.1 Installationen unter

Mehr

JobServer Installationsanleitung 08.05.2013

JobServer Installationsanleitung 08.05.2013 JobServer sanleitung 08.05.2013 Der JobServer ist ein WCF Dienst zum Hosten von Workflow Prozessen auf Basis der Windows Workflow Foundation. Für die wird das Microsoft.NET Framework 3.5 und 4.0 vorausgesetzt.

Mehr

MailStore Service Provider Edition (SPE)

MailStore Service Provider Edition (SPE) MailStore Solutions MailStore Service Provider Edition (SPE) E-Mail-Archivierung für Service Provider Mit Hilfe der MailStore Service Provider Edition können Sie Ihren Kunden moderne E-Mail-Archivierung

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Microsoft ISA Server 2006

Microsoft ISA Server 2006 Microsoft ISA Server 2006 Leitfaden für Installation, Einrichtung und Wartung ISBN 3-446-40963-7 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40963-7 sowie im Buchhandel

Mehr

IBM SPSS Collaboration and Deployment Services (C&DS) version 7

IBM SPSS Collaboration and Deployment Services (C&DS) version 7 Dieses Handbuch richtet sich an Systemadministratoren, die IBM SPSS Modeler Entity Analytics (EA) für die Ausführung mit einem der folgenden Produkte konfigurieren: IBM SPSS Collaboration and Deployment

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

Softwarewiederverwendung und Patterns

Softwarewiederverwendung und Patterns Begrifflichkeiten und Beschreibungssystematik Begriffe Literatur zu Patterns Übersicht über die behandelten Konzepte Beschreibungsschema 97 Begriffe Glossar Patterns (Muster) sind ein Mittel der Wiederverwendung

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Einsatzbedingungen FAMOS 3.10

Einsatzbedingungen FAMOS 3.10 Einsatzbedingungen FAMOS 3.10, Betriebssystem, Netzwerkintegration FAMOS ist als Mehrbenutzersystem konzipiert und damit voll netzwerkfähig. Die Integration in bestehende Netzwerke mit dem TCP/IP-Standard

Mehr

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF Mathias Slawik, SS 2009 Agenda Technologien Java RMI (Remote Method Invocation) Microsoft WCF (Windows Communication Foundation) Benchmark

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Die SharePoint-Welt für den erfahrenen.net-entwickler. Fabian Moritz MVP Office SharePoint Server ITaCS GmbH

Die SharePoint-Welt für den erfahrenen.net-entwickler. Fabian Moritz MVP Office SharePoint Server ITaCS GmbH Die SharePoint-Welt für den erfahrenen.net-entwickler Fabian Moritz MVP Office SharePoint Server ITaCS GmbH SharePoint Object Model IFilter Webpart Connections Webparts Web Server Controls Custom Field

Mehr

Anleitung. Handhabung des ftp-clients FileZilla. Copyright 2015 by BN Automation AG

Anleitung. Handhabung des ftp-clients FileZilla. Copyright 2015 by BN Automation AG Anleitung Handhabung des ftp-clients FileZilla Copyright 2015 by BN Automation AG Alle Rechte vorbehalten. Die Weitergabe und Vervielfältigung dieses Dokuments oder von Teilen davon ist gleich welcher

Mehr

Benutzerhandbuch für FaxClient für HylaFAX

Benutzerhandbuch für FaxClient für HylaFAX Benutzerhandbuch für FaxClient für HylaFAX Vielen Dank, daß Sie entschlossen haben, dieses kleine Handbuch zu lesen. Es wird Sie bei der Installation und Benutzung des FaxClients für HylaFAX unterstützen.

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

estos XMPP Proxy 5.1.30.33611

estos XMPP Proxy 5.1.30.33611 estos XMPP Proxy 5.1.30.33611 1 Willkommen zum estos XMPP Proxy... 4 1.1 WAN Einstellungen... 4 1.2 LAN Einstellungen... 5 1.3 Konfiguration des Zertifikats... 6 1.4 Diagnose... 6 1.5 Proxy Dienst... 7

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle ein Versandsystem das immer passt Dokumentation SAP-IDoc Schnittstelle Inhalt 1 HVS32 Anbindung an SAP mit IDocs...2 1.1 Integration...2 1.1.1 HVS32...2 1.1.2 HVS32-Gateway...2 1.2 Ablauf...3 2 IDoc Typen...4

Mehr

Programmierung einer Windows Store App mit C# und XAML

Programmierung einer Windows Store App mit C# und XAML Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung

Mehr

CAIRO if knowledge matters

CAIRO if knowledge matters CAIRO if knowledge matters Monitoring mit Microsoft Operations Manager 2007 Ein Überblick Johann Marin, Inhalt if knowledge matters Warum Monitoring? Was soll überwacht werden? SCOM Key Features Das SCOM

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration IBM SPSS Entity Analytics - Erweiterte Konfiguration Einführung Die vorgesehene Zielgruppe für dieses Handbuch sind Systemadministratoren, die IBM SPSS Entity Analytics (EA) für die Ausführung in einer

Mehr

Technische Beschreibung: Modul Datei und Ordnerverwaltung

Technische Beschreibung: Modul Datei und Ordnerverwaltung EPOD Encrypted Private Online Disc Technische Beschreibung: Modul Datei und Ordnerverwaltung Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Elektronische Vollmachten - Demonstrator

Elektronische Vollmachten - Demonstrator www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Elektronische Vollmachten - Demonstrator Version 1.0.0, 09.01.2007 DI

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

Mehr

White Paper - Integration von PRO Tips Recovery Tools in RiZone

White Paper - Integration von PRO Tips Recovery Tools in RiZone White Paper - Integration von PRO Tips Recovery Tools in RiZone Jörg Tonn (Hönigsberg & Düvel Datentechnik) Thorsten Weller Sarah Dietrich Copyright 2010 All rights reserved. Rittal GmbH & Co. KG Auf dem

Mehr

Einfache GUIs mit Python und Qt Qt lernt JavaScript

Einfache GUIs mit Python und Qt Qt lernt JavaScript Angriffe über USB: Der unsichere Serial Bus >>> S. 54 Deutschland 6,50 Österreich 7,00 Schweiz sfr 13,40 www.entwickler-magazin.de Juli/August 4.2011 Mai/Juni 3.2013 Qt Einfache GUIs mit Python und Qt

Mehr

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01 Installation, Konfiguration, Verwendung Version 1.01 Seite 2 von 20 OPC-Server VM OPC Revision Version Erstellt am Versionsnummer Bemerkung 1.00 26.07.2013 Erstellung 1.01 05.11.2013 2.14 - Reiter der

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Universal-Apps. Gordon Breuer Senior IT Consultant Software Engineer / Architect msg systems ag. activevb Workshop 2014 30.

Universal-Apps. Gordon Breuer Senior IT Consultant Software Engineer / Architect msg systems ag. activevb Workshop 2014 30. Universal-Apps activevb Workshop 2014 30. August 2014 Auszug aus dem Buch: Windows Phone 8.1 Kochbuch Erscheinungsdatum: Q4/2014 Autoren: Matthias Fischer, Gordon Breuer Gordon Breuer Senior IT Consultant

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

IBM SPSS Modeler Server 16 for Windows Installationsanweisungen

IBM SPSS Modeler Server 16 for Windows Installationsanweisungen IBM SPSS Modeler Server 16 for Windows Installationsanweisungen Inhaltsverzeichnis Installationsanweisungen....... 1 Systemanforderungen........... 1 Installation............... 1 Ziel................

Mehr

3M Helth Information Systems. 3M KAPS PEPP Simulation. Installationsanleitung

3M Helth Information Systems. 3M KAPS PEPP Simulation. Installationsanleitung 3M Helth Information Systems 3M KAPS PEPP Simulation Installationsanleitung 3 Funktionsweise der KAPS-PEPP-Simulation Die Simulation arbeitet nach dem Client-Server-Prinzip, d.h. neben der Installation

Mehr

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch ZMI Benutzerhandbuch Sophos Sophos Virenscanner Benutzerhandbuch Version: 1.0 12.07.2007 Herausgeber Zentrum für Medien und IT ANSCHRIFT: HAUS-/ZUSTELLADRESSE: TELEFON: E-MAIL-ADRESSE: Zentrum für Medien

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013 JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013 Jboss 7 AS... worum es in diesem Vortrag geht. Einführung Installation Konfiguration Management Deployment Betrieb

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Software-Aktivierung

Software-Aktivierung Software-Aktivierung Software-Aktivierung des FEC Secure IPSec Clients Benutzerhandbuch FEC Secure IPSec Client 1 Software-Aktivierung 2 FEC Secure IPSec Client Benutzerhandbuch Software-Aktivierung des

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr