Remoting zwischen Mono + Linux und.net + Windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,

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

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

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

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger .NET Remoting André Frimberger 30.11.2004 André Frimberger.NET Remoting 1 Gliederung 1 Einleitung Was ist.net Remoting? 2 Die Interprozess Kommunikation Grundkonzept der Datenkanal Parameterübergabe Instanziierung

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

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

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

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

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

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

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

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

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

Mehr

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

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

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

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt. Arbeitsblätter Der Windows Small Business Server 2011 MCTS Trainer Vorbereitung zur MCTS Prüfung 70 169 Aufgaben Kapitel 1 1. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

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

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

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

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

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

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

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

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

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

LogApp - Security Information und Event Management leicht gemacht!

LogApp - Security Information und Event Management leicht gemacht! LogApp - Security Information und Event Management leicht gemacht! LogApp SECURITY INFORMATION UND EVENT MANAGEMENT LEICHT GEMACHT! Moderne Sicherheitsanforderungen in Unternehmen erfordern die Protokollierung

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

Remote Communications

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

Mehr

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

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

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

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

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

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

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

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2014/2015 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 15. Oktober 2015 etriebssysteme / verteilte Systeme

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 10.02.2014 Version: 37.0] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional 2011... 5 1.1 Server 2011... 5 1.1.1 Windows...

Mehr

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

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

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

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

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

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

Apache. O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Das umfassende Handbuch. Ben Laurie und Peter Laurie 2.

Apache. O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Das umfassende Handbuch. Ben Laurie und Peter Laurie 2. 2.AUFLAGE Apache Das umfassende Handbuch Ben Laurie und Peter Laurie Deutsche Übersetzung von Peter Klicman, Jochen Wiedmann & Jörgen W. Lang O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei

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

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

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

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

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Das Interceptor Muster

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

Mehr

Einleitung. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Einleitung. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Einleitung (WS14/15) 1 18 Organisatorisches

Mehr

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover DCOM und.net B. Sc. Tobias Buchloh Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover 2004-12-21 Gliederung Motivation Einordnung (D)COM.NET

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Connection Architecture Teil 3 CICS Transaction Gateway el0100 copyright W. G. Spruth,

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

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

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

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

Mehr

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

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