Remoting zwischen Mono + Linux und.net + Windows

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Remoting zwischen Mono + Linux und.net + Windows"

Transkript

1 Remoting zwischen Mono + Linux und.net + Windows Dieter Bremes 4. Juni 2005 Lizenzbestimmungen Dieser Beitrag ist unter der UVM Lizenz (unveränderte Inhalte) <http://www.uvm. nrw.de/kunden/uvm/www.nsf/0/ecd5adafff804489c1256d dd5?opendocument> lizensiert. Zusammenfassung Das Open-Source-Projekt Mono bietet dem Linux-Programmierer ähnliche Vorteile wie Java, neben einer umfassenden Infrastruktur mit einheitlichen Lösungsmustern vor allem Plattformunabhängigkeit und Sicherheit, ist aber technisch einfacher und sprachunabhängig..net ist Microsofts Implementierung derselben Standards und setzt bei der Windows- Programmierung neue Produktivitätsmaßstäbe. Der Einsatz von Mono und.net schafft deshalb ideale Voraussetzungen, um verteilte Programme in den üblichen heterogenen IT-Welten zu realisieren - beispielsweise mit Linux-Servern und Windows-Clients. Die Kommunikation zwischen den Programmteilen kann so die Nachteile anderer Standards wie Web Services oder COR- BA vermeiden und das sogenannte Remoting einsetzen: Eine in die Plattform integrierte und leicht erweiterbare Infrastruktur, die beliebige Datentypen zwischen beliebigen Plattform-Implementierungen performant überträgt. Nach einer kurzen Einführung in die technischen Grundlagen des Remoting demonstriert dieser Vortrag anhand praktischer Beispiele, mit welcher Performance beim Remoting zwischen einem Server mit Linux und Mono sowie seinen Clients mit Windows und.net zu rechnen ist. Er zeigt außerdem Tuning-Möglichkeiten und zieht einen Vergleich zu Alternativen wie Web Services und Terminal Servern. Etwas Grundwissen zu.net, TCP/IP und verteilten Anwendungen wäre optimal, die technischen Grundlagen des Remoting werden erläutert.

2 1 Remoting zwischen Mono und Linux sowie.net und Windows Das Open-Source-Projekt Mono bietet dem Linux-Programmierer ähnliche Vorteile wie Java: neben der Produktivitätssteigerung durch eine umfassende Infrastruktur mit einheitlichen Lösungsmustern vor allem Plattformunabhängigkeit und Sicherheit; es ist aber technisch einfacher und sprachunabhängig..net ist Microsofts Implementierung derselben Infrastruktur und setzt bei der Windows- Programmierung neue Produktivitätsmaßstäbe. Der Einsatz von Mono und.net schafft deshalb ideale Voraussetzungen, um verteilte Programme in den üblichen heterogenen IT-Welten zu realisieren - beispielsweise mit Linux- Servern und Windows-Clients. Die Kommunikation zwischen den Programmteilen kann so die Nachteile anderer Standards wie Web Services oder CORBA vermeiden und das sogenannte Remoting einsetzen: Eine in die Plattform integrierte und leicht erweiterbare Infrastruktur, die beliebige Datentypen zwischen beliebigen Plattform-Implementierungen performant überträgt. Nach einer kurzen Einführung in Mono und die technischen Grundlagen des Remoting demonstriert dieser Vortrag anhand praktischer Beispiele, mit welcher Performance beim Remoting zwischen einem Server mit Linux und Mono sowie seinen Clients mit Windows und.net zu rechnen ist. Er zeigt außerdem Tuning-Möglichkeiten und zieht einen Vergleich zu Alternativen wie Web Services und Terminal Servern. 1.1 Was ist Mono? Die Frage Was ist Mono? beantwortet das Projekt am besten selber; von der Mono-Website (www.monoproject. com/main Page): Mono is a platform for running and developing modern applications, based on the ECMA/ISO Standards. Mono can run existing programs targeting the.net or Java frameworks. Mono is an open source effort led by Novell and is the foundation for many new applications. Hinter Mono steht also ein Java-ähnliches Plattformkonzept - man schreibt Programme für die Plattform und nicht mehr für ein bestimmtes Betriebssystem oder eine bestimmte Hardware-Architektur: write once, run everywhere. Für diesen Zweck bietet Mono eine Laufzeitumgebung, eine Klassenbibliothek und einen Compiler für die neue Sprache C#. Ein großer Teil dieser Implementierung beruht auf entsprechenden ECMA- und ISO-Standards, die auch die Grundlage von Microsofts.NET bilden. Das Mono-Projekt wurde im Jahr 2001 von Miguel de Icaza gegründet, in der Linux-Welt als Vater des Gnome-Projekts und Gründer der Firma Ximian bekannt. Im Jahr 2004 erschien

3 die Version 1.0 des Projekts, aktuell (Mai 2005) sind die Versionen (Stable) sowie (Development) und für September 2005 ist die Version 1.2 geplant. Mono bietet eine vollständige Programmier-Infrastruktur für Fat Clients und Web-Anwendungen. Es enthält dazu neben entsprechenden Oberflächenelementen beispielsweise auch eine Unterstützung für Datenzugriff und -darstellung. Seine Klassenbibliothek und Laufzeitumgebung übernehmen darüber hinaus Aufgaben wie Threading und Sicherheit und definieren auch das vollständige und damit sprachunabhägige Typsystem der Plattform. Mono-Binaries sind unter <http://www.mono-project. com/downloads> für SUSE- und Redhat-Linux sowie für OS X und Windows erhältlich; durch den ebenfalls verfügbaren Quelltext lässt sich Mono außerdem für andere Betriebssysteme, wie FreeBSD, übersetzen. 1.2 Warum Mono? Sowohl als Anstoß für die Entwicklung als auch bei der Argumentation zum Einsatz von Mono kristallisieren sich drei Gründe heraus: produktiveres Entwickeln, Plattformunabhängigkeit und erhöhte Sicherheit. Bestehende Lösungsansätze wie Java, GTK und QT bieten oft nicht die gewünschten Vorteile - und schließlich profitieren nicht nur in der Natur alle Beteiligten von konkurrierenden Alternativen. Sehr prägnant beschreibt der Vater des Mono-Projekts seine Motivation: Life is too short for debugging C code! Und schließlich soll Mono nicht nur die Entwicklung unter Linux angenehmer machen - hinter allen Überlegungen steht natürlich auch das Ziel, Linux auf den Desktop zu bringen Produktiveres Entwickeln Mono ermöglicht produktiveres Entwickeln durch die standardisierte Infrastruktur, die Sprachunabhängigkeit und Komponentenunterstützung, das vereinfachte Erstellen von Webseiten und Web Services sowie das Ende der DLL-Hell (DLL = Dynamic Link Library, entspricht Shared Object unter Linux). Die standardisierte Infrastruktur bietet zum einen Funktionalität, die in anderen Bibliotheken nicht enthalten ist - beispielsweise XML-Unterstützung oder moderne Sicherheits- Features. Sie befreit zum anderen vom Zwang, sich betriebssystemspezifische Details merken zu müssen, wie die unterschiedliche GUI-Programmierung unter Windows, OS X und Linux. Mono unterstützt verschiedene Compiler und bietet dadurch Sprachunabhängigkeit. Diese erhöht vor allem das Angebot an Komponenten und anderen Bibliotheken, denn der Anbieter muss nicht mehr Bindungen oder sogar Implementierungen für einzelne Sprachen liefern. Sie vereinfacht außerdem, sich in beliebige Mono-Programme einzuarbeiten - die

4 benutzte Infrastruktur mit ihrem Objektmodell bleibt ja gleich, und es ändert sich nur die Syntax wie geschweifte Klammern oder Semikolons. Weil Mono auch die Infrastruktur für Webseiten und Web Services enthält, muss man sich für solche Anwendungen weder in neue Lösungsmuster einarbeiten, noch sich mit den Details von HTTP und HTML auseinandersetzen. Unter Mono kann man problemlos verschiedene Versionen einer Bibliothek (.DLL bzw..so) installieren. Welche Bibliotheksversion ein Programm verwendet, lässt sich sowohl beim Übersetzen des Programms als auch später durch den Administrator konfigurieren. Die insbesondere unter Windows gefürchtete DLL-Hell, die durch unbeabsichtigtes Überschreiben einer von anderen Programmen genutzten Bibliothek entsteht, ist damit Geschichte Plattformunabhängigkeit Die Plattformunabhängigkeit ergibt sich aus der von Mono-Compilern generierten plattformunabhängigen Zwischensprache (Intermediate Language), die erst zur Ausführungszeit in eine maschinenspezifische Sprache übersetzt wird (just-in-time kompiliert). Mono- Programme laufen also auf jedem Betriebssystem, für das eine entsprechende Laufzeitumgebung existiert. Die Laufzeitumgebung ist entweder Mono selber oder das dazu kompatible.net von Microsoft. Mono-Programme laufen damit auf Linux, OS X und Windows; durch den frei verfügbaren Quelltext lässt sich Mono außerdem für andere Betriebssysteme übersetzen Erhöhte Sicherheit Mono bietet erhöhte Sicherheit vor allem durch Programmausführung in einer virtuellen Maschine, durch automatische Speicherverwaltung und durch das neue Konzept der Codezugriffssicherheit. Jedes Mono-Programm läuft innerhalb einer virtuellen Maschine - durch dieses Sandbox- Prinzip kann Code nicht direkt auf Betriebssystem oder Hardware zugreifen. Zusätzlich schützt die automatische Speicherverwaltung sowohl vor ungewollten Speicherlecks und daraus resultierender Programm-Instabilität als auch vor böswilligen Buffer-Overrun-Angriffen. Schließlich bietet Mono als Ergänzung der bekannten rollenbasierten Sicherheit ein völlig neues Sicherheitskonzept: die Codezugriffssicherheit (Code Access Security). Dieses Konzept knüpft bestimmte Rechte an den Code selber - unabhängig von den Rechten des angemeldeten Benutzers. Dadurch hat beispielsweise Code, der aus dem Internet kommt, automatisch nur stark eingeschränkte Rechte - selbst wenn der Benutzer als root bzw. Administrator angemeldet ist. Rechte und Codegruppenzugehörigkeit lassen sich sehr feingranular konfigurieren, insbesondere kann der Administrator entsprechende Festlegungen auch später noch ändern.

5 1.3 Was ist Remoting? Remoting ist der Begriff für jede Kommunikation zwischen Programmteilen in Mono - auch für die Intra-Prozess-Kommunikation. Um maximale Sicherheit bei bester Performance zu erreichen, verwendet Mono innerhalb eines Prozesses sogenannte Anwendungsdomänen (Application Domains). Diese Anwendungsdomänen schirmen Programmteile ähnlich voneinander ab wie eine Prozessgrenze, kosten aber weniger Performance bei der Datenübertragung und weniger Ressourcen. Während das Remoting innerhalb eines Prozesses hauptsächlich bei Web-Anwendungen auftritt, ist es beim Datenaustausch zwischen Mono-Anwendungen über Prozess- oder Rechnergrenzen die Regel. In jedem Fall geschieht es völlig automatisch. Im Gegensatz zu den meisten anderen Kommunikationslösungen ist Remoting sehr gut konfigurierbar und erweiterbar. So lässt sich beispielsweise festlegen, ob die Daten per TCP, HTTP oder über ein anderes Protokoll übertragen werden sollen. Ebenso kann man das Datenformat und Zusatzfunktionalität wie Kompression und Verschlüsselung frei bestimmen. Verglichen mit Web Services bietet Remoting neben den schon genannten Freiheiten insbesondere eine höhere Performance und es ist nicht auf XML-Datentypen beschränkt. Dafür fehlt die Plattformunabhängigkeit - um beispielsweise mit einem C-Programm über Rechnergrenzen zu kommunizieren bietet sich also nach wie vor ein Web Service an. 1.4 Wie funktioniert Remoting? Sobald zwei Anwendungsdomänen miteinander Daten austauschen, beginnt automatisch das Remoting. Die folgenden Abschnitte beschreiben die zentralen Bestandteile der dabei verwendete Infrastruktur sowie die gängigsten Konfigurationsmöglichkeiten Formatierer und Kanäle Die Remoting-Infrastruktur serialisiert zunächst mit sogenannten Formatierern die zu übertragenden Daten. Sie benutzt dazu normalerweise einen der beiden eingebauten Formatierer, die wahlweise das standardisierte SOAP-Format oder ein kompakteres Binärformat erzeugen. Danach erfolgt die eigentliche Datenübertragung über sogenannte Kanäle; Mono bringt dazu einen HTTP- und einen TCP-Kanal für die entsprechenden Netzwerkprotokolle mit. Schließlich stellt die Remoting-Infrastruktur auf Empfängerseite automatisch die Ausgangsdaten wieder her. Welche Formatierer und Kanäle verwendet werden sollen, konfiguriert man über XML- Dateien. Außerdem lassen sich eigene Formatierer und Kanäle einbinden, um beispielsweise Verschlüsselung zu realisieren oder einen Message Queue Server einzubinden.

6 1.4.2 Übertragen als Wert oder als Referenz Ähnlich wie der Datentransport lässt sich auch das Verhalten der zu übertragenden Objekte bzw. Klassen konfigurieren. Zum einen kann man Objekte als Wert übertragen (Marshal-byvalue, MBV) oder als Referenz (Marshal-by-reference, MBR). Beim Übertragen als Wert wird normalerweise das gesamte Objekt kopiert, einschließlich privater Felder. Dazu muss die zugrunde liegende Klasse entweder mit dem Attribut SerializableAttribute gekennzeichnet sein oder die Schnittstelle ISerializable implementieren, außerdem lassen sich Felder auch explizit vom Serialisieren ausschließen. Diese Übertragungsvariante ist sinnvoll, wenn danach viele Mitgliedszugriffe erfolgen; große Objekte zu kopieren belastet natürlich Rechner und Netzwerk. Die zweite Übertragungsvariante, das Übertragen als Referenz, kopiert nicht das Objekt selber sondern nur die Parameter- und Rückgabewerte entsprechender Mitgliedsaufrufe. Dieses Paradigma ist beispielsweise von Microsofts COM / DCOM (Distributed Component Object Model), von Java RMI (Remote Method Invocation) oder von Web Services bekannt. Damit eine Klasse an dieser Übertragungsvariante teilnehmen kann, muss sie von MarshalByRefObject abgeleitet sein - die Remoting-Infrastruktur generiert dann automatisch Proxies. Diese Variante bildet den Normalfall der Übertragung, für die Parameterwerte selber gelten natürlich die Regeln des Übertragens als Wert Aktivierungsverfahren Für Objekte, die als Referenz übertragen werden sollen, kann man verschiedene Aktivierungsverfahren wählen. So kann entweder der Client (Client-activated-object, CAO) oder der Server (Server-activated-object, SAO) das Objekt aktivieren. Beim Konstruktor-Aufruf eines Client-aktivierten Objekts entsteht dieses sofort auf dem Server, außerdem wird am Client ein entsprechender Proxy mit Referenz auf das Objekt erzeugt - aus diesem Vorgehen resultiert natürlich ein Round-trip zwischen Client und Server. Weil das Objekt dem erzeugenden Client exklusiv zur Verfügung steht und seinen Zustand auch über mehrere Methodenaufrufe erhält, bieten Client-aktivierte Objekte ein von lokalen Objekten gewohntes Programmiermodell. Dazu gehört auch, dass der Client beliebige Konstruktoren aufrufen kann. Weil Client-aktivierte Objekte zustandsbehaftet sind, eignen sie sich nicht für Server-Farmen und schränken dadurch die Skalierbarkeit der Anwendung ein. Bei Server-aktivierten Objekten entscheidet der Server, wann das Objekt tatsächlich erzeugt wird - dementsprechend entsteht die Instanz nicht beim Konstruktor-Aufruf, sondern erst beim Zugriff auf eine Methode oder Eigenschaft. Außerdem ruft der Server immer nur den Standardkonstruktor auf. Server-aktivierte Objekte existieren wiederum in zwei Varianten: Singleton-Objekte und Single-call-Objekte. Von einem Singleton-Objekt existiert immer nur eine Instanz, die sich alle Clients teilen - mit ähnlichen Vor- und Nachteilen wie bei den Client-aktivierten Objekten. Dagegen erfolgt jeder Methoden- oder Eigenschaftszugriff auf ein Single-call-Objekt

7 über eine eigene Instanz. Das hört sich zwar sehr nach Ressourcenverschwendung an, ist tatsächlich aber das am besten skalierende Verfahren. Denn weil die Objekte nicht zustandsbehaftet sind, kann der Server zum einen Objekte recyceln (Object-pooling). Zum anderen ist die Sitzung nicht an einen bestimmten Server gebunden, jeder Zugriff kann problemlos von einem anderen Server erledigt werden Lebensdauerverwaltung Während Single-call-Objekte per Definition sofort freigegeben bzw. recycled werden, ist für die Lebensdauerverwaltung von Client-aktivierten und Singleton-Objekten ein sogenannter Lease Manager zuständig. Dieser begrenzt die Lebensdauer (Lease) normalerweise auf fünf Minuten bzw. zwei Minuten nach jedem Zugriff. Beide Werte lassen sich konfigurieren; zusätzlich kann man sogenannte Sponsoren einrichten, die der Lease Manager konsultiert, bevor er ein Objekt freigibt. In keinem Fall sollte man im Client-Code aber davon ausgehen, dass ein als Referenz übertragenes Objekt beim nächsten Aufruf noch existiert Konfiguration In den meisten Fällen werden Client und Server durch je eine XML-Datei konfiguriert; Kanal, Formatierer und ähnliche Festlegungen müssen natürlich in beiden übereinstimmen. Diese Art der Konfiguration hat zum einen den Vorteil, dass man eine Anwendung nicht neu kompilieren muss, um beispielsweise Verschlüsselung hinzuzufügen oder einen anderen Server anzusprechen. Ein weiterer Vorteil besteht darin, dass die Programmlogik nicht durch Infrastruktur-Code verwässert wird. In komplexeren Problemszenarien wird man statt Konfigurationsdateien oft die verschiedenen Methoden der Activator-Klasse benutzen müssen. Das ist beispielsweise nötig, um Server dynamisch einzubinden oder um den Clients ein bestimmtes, vorkonfiguriertes Objekt zu übergeben Host-Anwendungen Prinzipiell kann jede ausführbare Datei als Remoting-Server dienen. Zusätzliche Anforderungen, wie Sicherheit und Skalierbarkeit, machen aber im allgemeinen eine sogenannte Host-Anwendung nötig. Die Host-Anwendung bildet den von außen ansprechbaren Teil des Servers, die eigentliche Funktionalität steckt dabei in einer Bibliothek. Als Host-Anwendung eignet sich prinzipiell jede ausführbare Datei, diese Variante wird man aber nur zu Testzwecken während der Entwicklungsphase nutzen.

8 Ein Dienst bzw. Dämon bildet die zweite Variante der Host-Anwendung; sein einziger Vorteil gegenüber anderen ausführbaren Dateien liegt aber darin, dass kein Benutzer angemeldet sein muss. Erst die dritte Variante der Host-Anwendung, ein Web- oder Anwendungs-Server, erfüllt zusätzliche Anforderungen nach Sicherheit und Skalierbarkeit. Unter Windows dienen dazu die integrierten IIS (Internet Information Services), eventuell In Kombination mit den Enterprise Services. Für Linux-Server bietet sich der Apache- sowie der Mono Application Server an; beide sind zusätzlich für Windows verfügbar. Je nach Host-Anwendung kann diese zusätzliche Funktionalität bieten, wie Load-balancing oder verteilte Transaktionen. Andererseits kann eine Host-Anwendung auch Einschränkungen mit sich bringen, so unterstützen die IIS nur den HTTP-Kanal. 1.5 Remoting im Test Im Server-Bereich hat Linux bereits deutlich an Boden gewonnen; während es dort inzwischen auch Windows-basierte Server verdrängt, dominiert dieses Betriebssystem auf absehbare Zeit noch den Desktop- bzw. Client-Bereich. Für verteilte Programme bietet sich in diesem Szenario natürlich eine Mono- und.net-basierte Lösung an: man muss sich nur in eine Plattform einarbeiten und kann deren spezialisiertes und entsprechend performantes Kommunikationsverfahren nutzen. Gegen den Einsatz von Mono auf dem Client spricht heute vor allem noch die nicht abgeschlossene Entwicklung der GUI-Bibliotheken und der Entwicklungswerkzeuge. Den besten Eindruck vom Nutzen einer Lösung mit Mono auf dem Linux-Server und.net auf den Windows-Clients verschafft ein Test, der zum einen ihre Performance mit der einer reinen, Windows-basierten.NET-Lösung vergleicht. Zum anderen sollte dieser Test einen Vergleich mit der Standardlösung beim Verbinden von Plattformen, einem Web Service, bieten Test-Aufbau Der Server des Test-Aufbaus besteht Software-seitig zum einen aus einer Bibliothek, deren sechs Methoden verschiedene Datenmengen und -arten senden und empfangen. Übertragen werden dabei zwei verschiedene Tabellen aus Microsofts Northwind-Beispieldatenbank in DataSet-Instanzen mit einem Umfang von bzw Zeichen netto sowie eine benutzerdefinierte Objektliste mit Zeichen netto. Weil Methoden zum Senden und Empfangen vorhanden sind, lässt sich sowohl das Remoting vom Server zum Client als auch die umgekehrte Richtung testen. Den zweiten Teil des Servers bildet ein einfaches Kommandozeilenprogramm als Host- Anwendung. Es unterstützt zum einen die performanteste Kommunikationsvariante, also TCP-Kanal und Binärformatierer. Um vergleichsweise die Performance eines Web Service zu simulieren, unterstützt die Host-Anwendung außerdem das Remoting mit HTTP-Kanal und

9 SOAP-Formatierer - denn in die Performance eines richtigen Web Service würde natürlich auch die des Web Servers eingehen. Den Client bildet ebenfalls ein Kommandozeilenprogramm, das beim Aufruf der Server- Methoden die benötigte Zeitspanne misst und in einer Datei protokolliert. Dabei lässt sich konfigurieren, wie oft jede Methode nacheinander aufgerufen wird und welche Wartezeit zwischen diesen Aufrufen vergehen soll. Außerdem kann man diese Aufruf-Folgen über einen einstellbaren Zeitraum wiederholen, um beispielsweise Speicherproblemen auf die Spur zu kommen. Gemessen wird zur Vereinfachung des Test-Aufbaus nur die reine Zeit, nicht die Netzwerk-, CPU- und Speicherbelastung. Außerdem erfolgt der Test nur mit einem Client. Der Server wird beim Test zunächst unter Windows 2000 und.net 1.1 ausgeführt. Vergleichsmessungen erfolgen dann mit derselben Hardware unter SUSE Linux 9.2 sowohl mit Mono als auch mit Mono Der Client läuft immer unter Windows 2000 und.net 1.1. Client- und Server-Rechner sind miteinander über einen Switch ohne externe Netzwerkbelastung verbunden. Client- und Server-Programme werden unter Windows 2000 und Visual Studio.NET 2003 kompiliert, der Mono-Compiler geht also nicht in das Ergebnis ein Test-Ergebnisse Die Test-Ergebnisse sind in Abbildung 1 bis 3 zusammengefasst. Dabei zeigt Abbildung 1 den Vergleich zwischen Remoting und Web Services. Ein Web Service, simuliert durch HTTP-Kanal und SOAP-Formatierer, kann demnach durchaus 50 % Performanceverlust gegenüber der Remoting-Variante (TCP-Kanal und Binärformatierer) verursachen.

10 Abbildung 1: Remoting- gegen Web Service -Performance In Abbildung 2 ist das Zusammenspiel von.net 1.1 unter Windows und Mono (in SUSE Linux 9.2 enthalten) unter Linux zu sehen; als Vergleichskriterium dient hier wie in Abbildung 1 eine reine.net-lösung mit TCP-Kanal und Binärformatierer. Die Get-Methoden, also die Übertragung vom Server zum Client, sind 30 % bis 50 % langsamer als bei einer reinen.net-lösung, liegen aber zumindest noch im Performance-Bereich der Web Service -Lösung. Dagegen schleppen die Take-Methoden einen Overhead von rund 200 Millisekunden mit sich - diese Zeitspanne würde reichen, um die gesamte Orders- Tabelle zu übertragen. Abbildung 2: Mono gegen.net 1.1-Performance Erfreulicherweise zeigt Abbildung 3 enorme Entwicklungsfortschritte bei Mono in der (bis Anfang Mai 2005) aktuellen Development-Version Die Performance-Unterschiede bei den Get-Methoden sind auf rund 10 % geschrumpft und die Performance der Take-Methoden ist jetzt wenigstens besser als die der Web Service -Lösung.

11 Abbildung 3: Mono gegen.net 1.1-Performance Dieser Test kann natürlich nur als Gerüst und Anregung für eigene Tests dienen, in denen man seine Lösung und mögliche Alternativen möglichst genau nachbildet. Beispielsweise könnte man durch neugierige Firewalls gezwungen sein, den HTTP- statt den TCP-Kanal zu benutzen - wie weit senkt das die Performance der Anwendung? Relativ statische Daten könnte man auch komprimieren; das liegt insbesondere bei DataSet-Instanzen nahe, die auch über den Binärformatierer ein unnötig geschwätziges Serialisierungsformat erzeugen - ist die gesparte Bandbreite die zusätzliche Prozessorbelastung wert? 1.6 Alternativen zum Remoting zwischen Mono und Linux sowie.net und Windows Die folgenden Abschnitte beschreiben kurz bestehende Alternativen zum Remoting zwischen Mono und Linux sowie.net und Windows. Betrachtungsschwerpunkt ist dabei, inwieweit die Lösung zur Überwindung von Plattformgrenzen beiträgt - auch im Hinblick auf den Lernaufwand Java Als Alternative bietet sich zunächst natürlich eine Java-Lösung an, diese Plattform verfolgt ja exakt das gleiche Ziel wiemono und.net. Dementsprechend hat auch diese Lösung den Vorteil, dass der Entwickler sich nicht in unterschiedliche Paradigmen, Objektmodelle und Infrastrukturen verschiedener Server- und Client-Plattformeneinarbeiten muss. Client-seitig kranken Java-Lösungen aber immer noch an der fehlenden RAD-Unterstützung (Rapid Application Development); VEP (The Eclipse Visual Editor Project) bietet hier nur

12 einen Anfang, und die Datenbindung fehlt immer noch. Außerdem erfordert die generell höhere Komplexität einer Java-Lösung einen entsprechend höheren Einarbeitungs- und Implementierungsaufwand. Die meisten Unternehmen haben sich aber ohnehin schon grundsätzlich für oder gegen Java entschieden, so dass diese Alternative meistens keine Rolle mehr spielt Web Service Die Alternative Web Service hilft dagegen nur, Plattformgrenzen zu überwinden. Der Entwickler muss sich also trotzdem in verschiedene Plattformen einarbeiten, dazu kommt der im Test demonstrierte Performance-Verlust sowie die Einschränkung auf XML-Datentypen. Außerdem ist die Definition der entsprechenden Standards noch nicht abgeschlossen, beispielsweise fehlen Festlegungen zu Transaktionsbehandlung und Verschlüsselung Web Anwendung Eine Web Anwendung ist von Hause aus plattformübergreifend nutzbar - von Browser- Inkompatibilitäten abgesehen. Außerdem ist sie skalierbar und erledigt ihr Rollout sozusagen selber, ein weiterer nicht zu unterschätzender Vorteil. Trotzdem finden Server- und Client-Entwicklung auch in aktuellen Implementierungen wie ASP.NET noch in völlig unterschiedlichen Welten statt, mit entsprechendem Lernaufwand für den Programmierer. KO-Kriterium ist aber meistens die fehlende Funktionalität und Performance interaktiver Oberflächen, praktisch realisierbar sind zur Zeit nur relativ einfache Eingabefenster. Diese Einschränkungen werden in Zukunft sicher durch Standards wie XForms und SVG entfallen, zur Zeit unterstützt sie aber noch keiner der üblichen Webbrowser Terminal Server Je nach Sichtweise ändert sich für den Entwickler durch den Einsatz eines Terminal Servers alles oder auch nichts: ein verteiltes Programm ist nicht mehr nötig, ebensowenig die Überwindung einer Plattformgrenze - beides erledigt der Terminal Server bzw. seine Client- Software. Nachteilig sind an dieser eher administrations- als architekturbasierten Lösung neben der Abhängigkeit von einem bestimmten Hersteller vor allem die erhöhten Hardware-Kosten durch die größere Serverlast sowie die begrenzte Skalierbarkeit einer Zweischichtanwendung. Zum anderen besteht das Problem, auf jedem Client spezielle Software installieren zu müssen. Im Allgemeinen verwendet man Terminal Server deshalb nur für standardisierte Arbeitsplätze, wo Diskless-Workstations durch gesparten Administrationsaufwand die erhöhten Serverkosten wettmachen. Ein weiterer Anwendungsfall besteht in Not- und Übergangslösungen

13 - z. B. um bei der Linux-Migration ein Windows-Programm, das nicht unter einem Emulator wie Wine läuft, trotzdem auf einem Linux-Client nutzen zu können. 1.7 Fazit Mono und.net sind inzwischen zum ernsthaften Java-Konkurrenten geworden, wobei die Kombination aus Mono und.net durch geringen Lernaufwand und hohe GUI-Produktivität punkten kann. Die anderen Alternativen für plattformübergreifende Programme eignen sich entweder nur für bestimmte Anwendungsfälle, bieten nur Teillösungen oder erfordern die Einarbeitung in mehrere Plattformen. Der Test zeigt, dass auch die Performance einer verteilten Anwendung mit Linux-Server und Windows-Clients vom Einsatz von Mono und.net profitiert - ein Web Service wäre wesentlich langsamer. Ebenso zeigt der Test, dass auch in der aktuellen Mono-Version noch Überraschungen lauern, die man beim Lösungsdesign berücksichtigen sollte. Und schließlich wird deutlich, dass Mono mit jedem Release noch besser wird - die Entwickler empfehlen übrigens inzwischen den Einsatz der Develpoment-Version.

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

DocuWare unter Windows 7

DocuWare unter Windows 7 DocuWare unter Windows 7 DocuWare läuft unter dem neuesten Microsoft-Betriebssystem Windows 7 problemlos. Es gibt jedoch einige Besonderheiten bei der Installation und Verwendung von DocuWare, die Sie

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet;

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet; Homepage von Anfang an Herzlich Willkommen! Caroline Morhart-Putz caroline.morhart@wellcomm.at Inhalt und Ziele!! HTML Grundlagen - die Sprache im Netz; HTML Syntax;!! Photoshop - Optimieren von Bildern,

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Installation des Zertifikats am Beispiel eines Exchange-Mail-Servers. Voraussetzungen. Zertifikate importieren. Outlook-Webaccess

Installation des Zertifikats am Beispiel eines Exchange-Mail-Servers. Voraussetzungen. Zertifikate importieren. Outlook-Webaccess HS-Anhalt (FH) Fachbereich EMW Seite 1 von 6 Stand 04.02.2008 Installation des Zertifikats am Beispiel eines Exchange-Mail-Servers Bedingt durch die verschiedenen Transportprotokolle und Zugriffsmethoden

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

1 Änderungen bei Windows Server 2008 R2

1 Änderungen bei Windows Server 2008 R2 1 Änderungen bei Windows Server 2008 R2 1.1 Der BranchCache Eine völlig neue Möglichkeit, auf Ressourcen zuzugreifen, bietet der BranchCache. In vielen Firmen gibt es Zweigstellen, die mit der Hauptstelle

Mehr

Informatives zur CAS genesisworld-administration

Informatives zur CAS genesisworld-administration Informatives zur CAS genesisworld-administration Inhalt dieser Präsentation Loadbalancing mit CAS genesisworld Der CAS Updateservice Einführung in Version x5 Konfigurationsmöglichkeit Sicherheit / Dienstübersicht

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Whitepaper. Produkt: combit Relationship Manager. Einrichtung für Remotedesktopdienste (Windows Server 2008 R2)

Whitepaper. Produkt: combit Relationship Manager. Einrichtung für Remotedesktopdienste (Windows Server 2008 R2) combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einrichtung für Remotedesktopdienste (Windows Server 2008 R2) Einrichtung für Remotedesktopdienste (Windows Server

Mehr

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones Seite 1 von 5 Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones von Robert Panther Mobile Devices auf Basis von Windows CE haben sich inzwischen fest am Markt etabliert. Nach dem Siegeszug

Mehr

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist Collax SSL-VPN Howto Dieses Howto beschreibt wie ein Collax Server innerhalb weniger Schritte als SSL-VPN Gateway eingerichtet werden kann, um Zugriff auf ausgewählte Anwendungen im Unternehmensnetzwerk

Mehr

peer-to-peer Dateisystem Synchronisation

peer-to-peer Dateisystem Synchronisation Ziel Realisierungen Coda Ideen Fazit Literatur peer-to-peer Dateisystem Synchronisation Studiendepartment Informatik Hochschule für Angewandte Wissenschaften Hamburg 30. November 2007 Ziel Realisierungen

Mehr

Hyper-V Server 2008 R2

Hyper-V Server 2008 R2 Hyper-V Server 2008 R2 1 Einrichtung und Installation des Hyper-V-Servers 1.1 Download und Installation 4 1.2 Die Administration auf dem Client 9 1.3 Eine VM aufsetzen 16 1.4 Weiterführende Hinweise 22

Mehr

Durch Standardisierung können Webservices von jedem Cluster verwendet werden, unabhängig von Betriebssystem und verwendeter Sprache.

Durch Standardisierung können Webservices von jedem Cluster verwendet werden, unabhängig von Betriebssystem und verwendeter Sprache. Service Oriented Architecture einfach nutzen RPG in der modernen Software-Architektur Die technologische Entwicklung hat uns ein neues Konzept beschert: SOA Service Oriented Architecture. Dabei handelt

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

C++ mit. Microsoft Visual C++ 2008. Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.

C++ mit. Microsoft Visual C++ 2008. Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows. Richard Kaiser C++ mit Microsoft Visual C++ 2008 Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.NET-Programmierung Mit CD-ROM Geleitwort Wenn man heute nach Literatur über Programmiersprachen

Mehr

Bibliographix installieren

Bibliographix installieren Bibliographix installieren Version 10.8.3 Inhalt Inhalt... 1 Systemvoraussetzungen... 1 Download... 2 Installation der Software... 2 Installation unter Windows... 2 Installation unter Mac OS X... 3 Installation

Mehr

6 NetWare-Clients. 6.1 Native File Access für Windows. Novell NetWare 6.0/6.5 Administration (Grundlagen)

6 NetWare-Clients. 6.1 Native File Access für Windows. Novell NetWare 6.0/6.5 Administration (Grundlagen) 6 NetWare-Clients Als Microsoft 1993 die ersten eigenen Betriebssysteme für Netzwerke (Windows for Workgroups und Windows NT) vorstellte, wurde die LAN-Industrie von Novell NetWare beherrscht. Um erfolgreich

Mehr

File Sharing zwischen Mac OS X und Windows XP Clients

File Sharing zwischen Mac OS X und Windows XP Clients apple 1 Einführung File Sharing zwischen Mac OS X und Windows XP Clients Möchten Sie Dateien zwischen einem Macintosh Computer und Windows Clients austauschen? Dank der integralen Unterstützung für das

Mehr

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Basis: HiScout 2.5 Datum: 17.06.2015 14:05 Autor(en): HiScout GmbH Version: 1.1 Status: Freigegeben Dieses Dokument beinhaltet 13 Seiten.

Mehr

Informationen zur Lizenzierung von Windows Server 2008 R2

Informationen zur Lizenzierung von Windows Server 2008 R2 Informationen zur Lizenzierung von Windows Server 2008 R2 Produktübersicht Windows Server 2008 R2 ist in folgenden Editionen erhältlich: Windows Server 2008 R2 Foundation Jede Lizenz von, Enterprise und

Mehr

Was ist PretonSaverTM... 3 PretonSaver's... 3 PretonCoordinator... 3 PretonControl... 4 PretonSaver Client... 4 PretonSaver TM Key Funktionen...

Was ist PretonSaverTM... 3 PretonSaver's... 3 PretonCoordinator... 3 PretonControl... 4 PretonSaver Client... 4 PretonSaver TM Key Funktionen... PRETON TECHNOLOGY Was ist PretonSaverTM... 3 PretonSaver's... 3 PretonCoordinator... 3 PretonControl... 4 PretonSaver Client... 4 PretonSaver TM Key Funktionen... 4 System Architekturen:... 5 Citrix and

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

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

IT Systeme / Mobile Kommunikation HOB privacy-cube - Remote Desktop Zugang über das Internet

IT Systeme / Mobile Kommunikation HOB privacy-cube - Remote Desktop Zugang über das Internet IT Systeme / Mobile Kommunikation HOB privacy-cube - Remote Desktop Zugang über das Internet Seite 1 / 5 HOB privacy-cube Wir können ihnen das Gerät nach ihren Wünschen vorkonfigurieren. Angaben des Herstellers

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

4 Installation und Verwaltung

4 Installation und Verwaltung Installation und Verwaltung 4 Installation und Verwaltung 4.1 Installation der Microsoft Internet Information Services 8.0 IIS 8.0 ist Bestandteil von Windows 8 und Windows Server 2012. Windows 8 Professional

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

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Lizenzierung von Exchange Server 2013

Lizenzierung von Exchange Server 2013 Lizenzierung von Exchange Server 2013 Das Lizenzmodell von Exchange Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und Zugriffslizenzen, so genannte Client

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl

Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl Step by Step Remotedesktopfreigabe unter Windows Server 2003 von Remotedesktopfreigabe unter Windows Server 2003 Um die Remotedesktopfreigabe zu nutzen muss diese am Server aktiviert werden. Außerdem ist

Mehr

Lizenzierung von Lync Server 2013

Lizenzierung von Lync Server 2013 Lizenzierung von Lync Server 2013 Das Lizenzmodell von Lync Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe auf die Serversoftware.

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

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

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

.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

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Exception Handling, Tracing und Logging

Exception Handling, Tracing und Logging Exception Handling, Tracing und Logging Proseminar Objektorientiertes Programmieren mit.net und C# Tomas Ladek Institut für Informatik Software & Systems Engineering Agenda Exceptions Allgemeines Implementierung

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

OPC UA und die SPS als OPC-Server

OPC UA und die SPS als OPC-Server OPC UA und die SPS als OPC-Server Public 01.10.2010 We software We software Automation. Automation. Agenda Firmenportrait Kurz-Einführung zu OPC Kurz-Einführung zu OPC UA (Unified Architecture) OPC UA

Mehr

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java

Vorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java .NET Vorlesung Application Frameworks and Componentware Peter Sturm Universität Trier.NET Völlig neue Systemstruktur als Antwort auf Java Assembly = Komponente Zwischensprache (IL = Intermediate Language)

Mehr

und http://www.it-pruefungen.de/

und http://www.it-pruefungen.de/ -Echte und Originale Prüfungsfragen und Antworten aus Testcenter -Machen Sie sich fit für Ihre berufliche Zukunft! http://www.it-pruefungen.de/ Prüfungsnummer : 70-646 Prüfungsname fungsname: Windows Server

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt -

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

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

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

Warum also mit einem 32-Bit-System arbeiten, wenn es Systeme für 64 Bit gibt?

Warum also mit einem 32-Bit-System arbeiten, wenn es Systeme für 64 Bit gibt? Mehr als 4GB RAM mit 32-Bit Windows XP nutzen ( Mit freundlicher Erlaubnis: https://grafvondiepelrath.wordpress.com/2015/01/10/windowsxp-mit-8-gb-ram-betreiben/) Das Windows XP -32-Bit-System wird auch

Mehr

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Basis: HiScout 3.0 Datum: Autor(en): HiScout GmbH Version: 1.3 Status: Freigegeben Dieses Dokument

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

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

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver Eine Firewall für Lexware professional oder premium konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Die Firewall von Windows 7 und Windows 2008 Server... 2 4. Die Firewall

Mehr

7 Dateien und Datenströme (Streams)

7 Dateien und Datenströme (Streams) 7 Dateien und Datenströme (Streams) Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Leitfaden Datensicherung und Datenrücksicherung

Leitfaden Datensicherung und Datenrücksicherung Leitfaden Datensicherung und Datenrücksicherung Inhaltsverzeichnis 1. Einführung - Das Datenbankverzeichnis von Advolux... 2 2. Die Datensicherung... 2 2.1 Advolux im lokalen Modus... 2 2.1.1 Manuelles

Mehr

14.2 Einrichten der Druckserverfunktionen

14.2 Einrichten der Druckserverfunktionen 858 14 Drucker einrichten und verwalten Abbildung 14.9: Gefundene Appletalk-Drucker wird das Netzwerk durchsucht und alle gefundenen Zonen und Drucker werden angezeigt. AppleTalk-Drucker übernehmen Abbildung

Mehr

Sun/Oracle Java Version: 1.6.0, neuer als 1.6.0_11

Sun/Oracle Java Version: 1.6.0, neuer als 1.6.0_11 Systemanforderungen für EnlightKS Online Certification Management Services ET2.13 Juni 2011 EnlightKS Candidate, EnlightKS TestStation Manager, EnlightKS Certification Manager Betriebssystem: Microsoft

Mehr

Zugang zum BSCW-System an der FH Frankfurt am Main

Zugang zum BSCW-System an der FH Frankfurt am Main BSCW-Redaktion 04.04.2009 Seite 1 Zugang zum BSCW-System an der FH Frankfurt am Main In dieser Anleitung wird beschrieben, wie Sie Ihren BSCW-Arbeitsbereich über WebDAV in Windows einbinden. Um diese Anleitung

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

Systemvoraussetzung. ReNoStar Verbraucherinsolvenz. Stand: August 08

Systemvoraussetzung. ReNoStar Verbraucherinsolvenz. Stand: August 08 Systemvoraussetzung ReNoStar Verbraucherinsolvenz Stand: August 08 Software ReNoStar 1.) Hardwarekonfiguration Sicherheitshinweis: Der Server ist in einem eigenem klimatisierten Raum aufzustellen. Er sollte

Mehr

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr

Neuigkeiten in Microsoft Windows Codename Longhorn. 2006 Egon Pramstrahler - egon@pramstrahler.it

Neuigkeiten in Microsoft Windows Codename Longhorn. 2006 Egon Pramstrahler - egon@pramstrahler.it Neuigkeiten in Microsoft Windows Codename Longhorn Windows Server - Next Generation Derzeit noch Beta Version (aktuelles Build 5308) Weder definitiver Name und Erscheinungstermin sind festgelegt Direkter

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

MVB3. Einrichtungsvarianten und Update auf v3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichtungsvarianten und Update auf v3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichtungsvarianten und Update auf v3.5 Inhalt Serveranpassung für die Lizenzverwaltung (v3.5)... 1 Updates der Clients auf die neue Version... 1 Einrichtungsvarianten...

Mehr

Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick

Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick ConSol*CM basiert auf einer Java EE Web-Architektur, bestehend aus den folgenden Kern-Komponenten: JEE Application Server für die

Mehr

juliteccrm Dokumentation

juliteccrm Dokumentation Customer Relationship Management für kleine und mittelständische Unternehmen juliteccrm Dokumentation 2012, julitec GmbH Page 1 of 12 julitec GmbH Flößaustraße 22 a 90763 Fürth Telefon: +49 911 979070-0

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Dentalsoftware. WinDent. e-card. Technische Informationen. Inhaltsverzeichnis. http://www.windent.at. Error! Bookmark not defined.

Dentalsoftware. WinDent. e-card. Technische Informationen. Inhaltsverzeichnis. http://www.windent.at. Error! Bookmark not defined. Inhaltsverzeichnis Einplatz System Server System in einem Netzwerk Arbeitsplatz System (Client) in einem Netzwerk Plattenkapazität RAID Systeme Peripherie Bildschirme Drucker Netzwerk Verkabelung Internet

Mehr

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. Inhalt 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features 8 Funktionsübersicht (Auszug) 1 Übersicht MIK.bis.webedition ist die Umsetzung

Mehr

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Netzwerklizenz: Bitte beachten

Netzwerklizenz: Bitte beachten Netzwerklizenz: Bitte beachten Trimble Navigation Limited Engineering and Construction Division 935 Stewart Drive Sunnyvale, California 94085 U.S.A. +1-408-481-8000 Telefon +1-800-874-6253 (Gebührenfrei

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

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

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering Azure und die Cloud Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat Institut für Informatik Software & Systems Engineering Agenda Was heißt Cloud? IaaS? PaaS? SaaS? Woraus besteht

Mehr

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 24.05.2013 Software Komponenten FS13 Gruppe 03 Horw, 24.05.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Adresse Telefon

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

Herzlich willkommen im Modul Web-Engineering

Herzlich willkommen im Modul Web-Engineering Herbst 2014 Herzlich willkommen im Modul Web-Engineering Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler und Rainer Telesko

Mehr