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

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln Version: 0.1 Autor: Anja Beuth Inhaltsverzeichnis 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

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

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

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

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

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

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

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS)

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS) Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Automatisierung, Betrieb, Middleware Einleitung Der Oracle Fusion Middleware Stack beinhaltet eine leistungsstarke

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

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

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann Einführung in das Microsoft.NET-Framework Programmiersprache C# 02: Visual Studio / Hello World Boris Hülsmann 23.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

Arbeitsblatt: Aufgaben zur Vorbereitung

Arbeitsblatt: Aufgaben zur Vorbereitung Arbeitsblatt: Aufgaben zur Vorbereitung Dieses Arbeitsblatt enthält Aufgaben, die der Vorbereitung auf das Praktikum dienen. Die Aufgaben müssen bis zum 09.03.2011 bearbeitet werden. Die Ergebnisse werden

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

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15 Plugins entwickeln für den VM Slide Explorer 2010 Daniel Heim, 17.08.2011 Seite 1/15 Inhaltsverzeichnis 1 Allgemeines... 3 2 Ein Plugin schreiben... 4 3 Ein Plugin registrieren... 11 4 Aktivieren von Plugins...

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

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

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

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

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

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

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

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

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

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens 11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter

Mehr

Model-View-ViewModel (MVVM)

Model-View-ViewModel (MVVM) 1 Model-View-ViewModel (MVVM) Grundlagen und Einsatz des GUI-Architekturmusters W3L AG info@w3l.de 2011 2 Agenda Motivation Architekturmuster MVVM-Pattern Fazit Aufbau & Komponenten Technische Grundlagen

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

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

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi Service Component Architecture Ein Vergleich zwischen SCA,JBI und WCF Marcello Volpi Agenda Einführung Service Component Architecture (SCA) Java Business Integration (JBI) Windows Communication Foundation

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

InfoPoint vom 9. November 2011

InfoPoint vom 9. November 2011 InfoPoint vom 9. November 2011 Was ist Joomla? Theorie Installation Extensions Administration Demo Joomla ist ein modulares content management system (CMS) Es ermöglicht eine Website zu erstellen und online

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

Inhaltsverzeichnis. Matthias Fischer, Jörg Krause. Windows Communication Foundation (WCF) Verteilte Systeme und Anwendungskopplung mit.

Inhaltsverzeichnis. Matthias Fischer, Jörg Krause. Windows Communication Foundation (WCF) Verteilte Systeme und Anwendungskopplung mit. sverzeichnis Matthias Fischer, Jörg Krause Windows Communication Foundation (WCF) Verteilte Systeme und Anwendungskopplung mit.net Herausgegeben von Holger Schwichtenberg ISBN: 978-3-446-41043-5 Weitere

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

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

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OPC UA Client Stack... 5 1.3 OPC UA Server

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

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

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

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

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

TwinCAT HMI Application

TwinCAT HMI Application New Automation Technology TwinCAT HMI Application 08.05.2010 1 Überblick Einleitung Übersicht Möglichkeiten der Applikation Struktur und Komponenten Komponenten für das Microsoft Visual Studio Anleger

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

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

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

Benutzerverwaltung mit ASP.NET Membership

Benutzerverwaltung mit ASP.NET Membership Benutzerverwaltung mit ASP.NET Membership Dieser Artikel soll zeigen, wie man ASP.NET Membership einsetzt, um Benutzer einer Web Anwendung zu authentifizieren. Es werden sowohl Grundlagen wie die Einrichtung

Mehr

Administrator-Anleitung

Administrator-Anleitung Administrator-Anleitung für die Typ 2 Installation der LEC-Web-Anwendung auf einem Microsoft Windows Server Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger

Mehr

How To: Windows Imaging mithilfe von DSM7

How To: Windows Imaging mithilfe von DSM7 Page: 1 How To: Windows Imaging mithilfe von DSM7 Basierend auf Best Practice Erfahrungen Copyright 2012 by Aton Consult. Alle Rechte vorbehalten. Diese Unterlagen dürfen ohne vorherige schriftliche Genehmigung

Mehr

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors Installation und Konfiguration des Outlook Connectors Vertraulichkeit Die vorliegende Dokumentation beinhaltet vertrauliche Informationen und darf nicht an etwelche Konkurrenten der EveryWare AG weitergereicht

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

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

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

Tutorial. Tutorial. Microsoft Office 2010 Standard Edition verteilen. 2011 DeskCenter Solutions AG

Tutorial. Tutorial. Microsoft Office 2010 Standard Edition verteilen. 2011 DeskCenter Solutions AG Tutorial Microsoft Office 2010 Standard Edition verteilen 2011 DeskCenter Solutions AG Inhaltsverzeichnis 1. Einführung...3 2. Office 2010 Ressourcen bereitstellen...3 3. Anpassung der Office Installation...4

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

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

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

SPECTRUM 4.0 Netzwerk-Installation

SPECTRUM 4.0 Netzwerk-Installation SPECTRUM 4.0 Netzwerk-Installation Allgemeines zu SPECTRUM 4.0 - Lieferumfang - Lizenzrechner + CodeMeter-Stick - Programmversion - Einzelkomponenten - Begriffe Basisdaten, Projektverzeichnis 1. Einrichten

Mehr

Massively Scalable Enterprise Applications. Chris Bernhardt

Massively Scalable Enterprise Applications. Chris Bernhardt Massively Scalable Enterprise Applications Chris Bernhardt Allgemein Einsatzgebiete BizTalk Server Engine Management Enterprise Single Sign-On Neuheiten und Beispiele Quellen Agenda 28.01.2010 Microsoft

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

Oracle, Datenbank, PowerPoint, Dokumente, PPTX, Automatisierung, Prozess-Automatisierung, smaxt

Oracle, Datenbank, PowerPoint, Dokumente, PPTX, Automatisierung, Prozess-Automatisierung, smaxt Automatische Generierung serialisierter, individualisierter PowerPoint-Präsentationen aus Oracle Datenbanken Andreas Hansel Symax Business Software AG Parkstrasse 22, D-65189 Wiesbaden Schlüsselworte Oracle,

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

OTRS-TFS-Konnektor. Whitepaper. Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg

OTRS-TFS-Konnektor. Whitepaper. Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg OTRS-TFS-Konnektor Whitepaper Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg Tel: 0391 59801-0 Fax: 0391 59801-10 info@advanto-software.de Stand: Mai 2015 Inhaltsverzeichnis 1 Idee... 3 2

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

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

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

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

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

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

Mehr

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files 7 Assemblies 8 Virtual Execution System VES Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files Teil der CLR Class Loader Metadaten (Manifest) zur Selbstbeschreibung

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

Microsoft Office 2010

Microsoft Office 2010 Microsoft Office 2010 Office-Anpassungstool Author(s): Paolo Sferrazzo Version: 1.0 Erstellt am: 15.06.12 Letzte Änderung: - 1 / 12 Hinweis: Copyright 2006,. Alle Rechte vorbehalten. Der Inhalt dieses

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Good Dynamics by Good Technology. V1.1 2012 by keyon (www.keyon.ch)

Good Dynamics by Good Technology. V1.1 2012 by keyon (www.keyon.ch) Good Dynamics by Good Technology eberhard@keyon.ch brunner@keyon.ch V1.1 2012 by keyon (www.keyon.ch) 1 Über Keyon Experten im Bereich IT-Sicherheit und Software Engineering Als Value added Reseller von

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

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

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

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

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

So geht s Schritt-für-Schritt-Anleitung

So geht s Schritt-für-Schritt-Anleitung So geht s Schritt-für-Schritt-Anleitung Software WISO Mein Büro inkl. Modul Arbeitsplatz+ Thema Netzwerkinstallation Version/Datum 15.00.03.100 Modul Arbeitsplatz+ Zur Nutzung der Netzwerkfähigkeit ist

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

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

Hivemind Ein leichtgewichteter Container

Hivemind Ein leichtgewichteter Container Hivemind Ein leichtgewichteter Container Manfred Wolff, wolff@manfred-wolff.de, www.manfred-wolff.de Container sind Laufzeitumgebungen für Objekte. Der mächtigste Container im Java-Umfeld der EJB Container

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

Parallels Mac Management 3.5

Parallels Mac Management 3.5 Parallels Mac Management 3.5 Deployment-Handbuch 25. Februar 2015 Copyright 1999 2015 Parallels IP Holdings GmbH und Tochterunternehmen. Alle Rechte vorbehalten. Alle anderen hierin erwähnten Marken und

Mehr

IBM SPSS Data Access Pack Installationsanweisung für Windows

IBM SPSS Data Access Pack Installationsanweisung für Windows IBM SPSS Data Access Pack Installationsanweisung für Windows Inhaltsverzeichnis Kapitel 1. Übersicht.......... 1 Einführung............... 1 Bereitstellen einer Datenzugriffstechnologie.... 1 ODBC-Datenquellen...........

Mehr

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration I

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration I Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle Application Server 10g R2: Administration I Beschreibung: Der Teilnehmer ist in der Lage den Oracle Application Server 10g zu

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

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

Visual Studio LightSwitch 2011

Visual Studio LightSwitch 2011 1 Visual Studio LightSwitch 2011 Vereinfachte Softwareentwicklung im Eiltempo W3L AG info@w3l.de 2012 2 Agenda Motivation Softwareentwicklung im Eiltempo Was ist LightSwitch? Merkmale Zielgruppe LightSwitch

Mehr

Collaboration Manager

Collaboration Manager Collaboration Manager Inhalt Installationsanleitung... 2 Installation mit Setup.exe... 2 Security Requirements... 3 Farmadministrator hinzufügen... 3 Secure Store Service... 3 Feature-Aktivierung... 5

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

HANDBUCH LSM GRUNDLAGEN LSM

HANDBUCH LSM GRUNDLAGEN LSM Seite 1 1.0 GRUNDLAGEN LSM 1.1. SYSTEMVORAUSSETZUNGEN AB LSM 3.1 SP1 (ÄNDERUNGEN VORBEHALTEN) ALLGEMEIN Lokale Administratorrechte zur Installation Kommunikation: TCP/IP (NetBios aktiv), LAN (Empfehlung:

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr