Message Queuing Systems

Größe: px
Ab Seite anzeigen:

Download "Message Queuing Systems"

Transkript

1 1 Message Queuing Systems Andreas Haller Institut für Telematik, Universität zu Lübeck Ratzeburger Allee 160, Lübeck, Germany Zusammenfassung Message Queuing Systems ist der Überbegriff für Message Oriented Middleware (MOM) sowie für die dabei verwendeten Protokolle, wie das Advanced Message Queuing Protocol (AMQP). Die Systeme kommunizieren synchron wie asynchron über so genannte Broker. Ziel ist, einen Nachrichtenaustausch zu etablieren, welcher einen hohen Nachrichtendurchsatz aufweist, und der vor allem zuverlässig ist. Message Queuing Systems sind die Grundlage für alle bekannten Instant Messaging Systeme am Markt, finden aber auch in jedem Betriebssystem bei der Taskabarbeitung Anwendung. In dieser Arbeit wird zunächst der Begriff Message Queuing Systems motiviert und die verwendeten Protokolle werden vorgestellt. Im weiteren Verlauf werden verschiedene Middlewarelösungen vorgestellt. Darauf folgt eine kurze Einführung über Message Queuing Systems und der angebotenen Softwarelösungen. Danach wird auf RabbitMQ näher eingegangen. Die Arbeit schließt mit einer Zusammenfassung bei der auch die zukünftige Entwicklung beleuchtet wird. Index Terms Message Queuing Systems (MQS), Message Oriented Middleware (MOM), Extensible Messaging and Presence Protocol (XMPP), Advanced Message Queuning Protocol (AMQP), Websphere MQ, Apache Active MQ, RabbitMQ, Message Queuing Services (MQS), Amazon Simple Queue Service (Amazon SQS), Microsoft Azure Services Platform I. EINLEITUNG Um das Thema Message Queuing Systems verstehen und einordnen zu können, muss man sich zunächst mit den Vorraussetzungen und der Entstehung dieser Systeme auseinandersetzen [1]. Message Queuing bezeichnet einen meist asynchronen Nachrichtenaustausch zwischen einem Sender und Empfänger. Ein Sender verschickt eine Nachricht, bei der sichergestellt ist, dass diese beim Empfänger ankommt und verarbeitet wird. Wann der Empfänger die Nachricht verarbeitet, kann der Sender nicht beeinflussen. Nur die tatsächliche Annahme und Verarbeitung ist sichergestellt. Message Queues oder Warteschlangen sind ein bereits etabliertes Verfahren der asynchronen Kommunikation. Vorallem innerhalb von Computersystemen oder innerhalb von Anwendungen wird dieses Prinzip schon seit Jahrzehnten eingesetzt. So sind das Betriebssystem Microsoft Windows, sowie Linux, ein Event- Driven System. Jede Eingabe oder Bewegung durch die Maus löst eine Nachricht oder Event aus. Über diese Nachrichten steuert das Betriebssystem seine eigenen Aufgaben, oder stellt Informationen an Anwendungen bereit. Die meisten Verfahren die hierbei verwendet werden, sind jedoch Closed Source und nicht ohne weiteres interoperabel [2], [3], [4], [5], [6]. Mit dem verstärkten Einsatz von verteilten Systemen wurde das Prinzip auch auf diese Problemdomäne übertragen. Nachrichten wurden jetzt über Rechnergrenzen hinweg verschickt. Die Anforderungen blieben gleich. Die Gefahr, dass Nachrichten über Rechnergrenzen hinweg verloren gehen, ist aber ungleich höher als innerhalb einer Anwendung oder eines Computersystems. Es entstand die Message Oriented Middleware (MOM) [7], [8]. Sie stellt nun die Basis für eine asynchrone Kommunikation zwischen Client und Server in einer verteilten Anwendung dar. Diese Form der Kommunikation steht im Gegensatz dazu, wenn Client und Server direkt und zeitgleich - also synchron - miteinander in Verbindung stehen und sich damit ebenso blockieren können. MOM wird daher auch als eine lose Kopplung zwischen den Teilnehmern bezeichnet [9]. Eine neuere Entwicklung sind die Message Queuing Services [10], welche die Leistungen der Message Oriented Middleware in die Cloud verschieben und somit Teil eines Software as a Service (SaaS) Netzwerkes sein können. Somit können die MOM-Funktionalitäten komfortabel über das Internet von nahezu jeder Plattform aus genutzt werden und ebenso komfortabel abgerechnet werden. Die weitere Arbeit ist wie folgt gegliedert: im nächsten Kapitel werden die gängigen Protokolle und deren Entstehung beschrieben. Kapitel 3 gibt einen Überblick über drei am Markt verfügbaren Message oriented Middleware Systeme und geht dabei im besonderen auf RabbitMQ ein. Kapitel 4 schließt mit der Beschreibung der Message Queuing Services. Das letzte Kapitel fasst die Erkenntnisse zusammen und gibt einen Ausblick über zukünftige Entwicklungen. II. PROTOKOLLE A. Extensible Messaging and Presence Protocol (XMPP) Das Extensible Messaging and Presence Protocol (XMPP; wurde zunächst unter dem Namen Jabber (www.jabber.org) bekannt. Es ist ein auf XML basierendes Protokoll, das von der Jabber open-source Gruppe 1999 zum Nachrichtenaustausch in Echtzeit ins Leben gerufen wurde [11]. Das Instant Messaging System Jabber war die erste Anwendung, die das Protokoll eingesetzt hat. In weiteren Iterationen des Protokolls wurde es von Google für Google Talk, von AOL für dessen Messenger und von Facebook für dessen Chat verwendet. Seit 2008 gehört Jabber zur Cisco Firmengruppe. Die Stärke von XMPP liegt in seiner Verbreitung. Da jedermann nicht nur Nutzer, auch einen eigenen XMPP Server betreiben können, gibt es keinen

2 2 zentralen Server und somit keinen Single Point of Failure. Die Sicherheit wird durch Isolation von einzelnen Netzen (isolierter Intranetserver) und durch eine hohe Verschlüsselung via Simple Authentication and Security Layer (SASL) und Transport Layer Security (TLS) gewährleistet. Auf das Protokoll aufbauend kann nahezu jede Funktionalität aufgesetzt werden. Die größte Schwäche von XMPP ist die Datenübertragung mittels XML. Hier gibt es deutlich bessere Ansätze wie das Advanced Message Queuing Protocol, das auf binären Datenversand setzt. Ein weiterer Nachteil ist die Client-Server-Kommunikation. Es findet keine direkte Kommunikation zwischen den einzelnen Nodes statt. Ein ursprüngliches Ziel von Jabber war es, die zu dieser Zeit auf dem Markt befindlichen Instant Messaging Systeme zusammenzuführen und sich somit mit nur einem Client, mit mehreren Systemen zu verbinden, welche nicht das XMPP Protkoll einsetzen. Dies hatte weniger mit dem Protokoll, sondern mehr mit der Serveranwendung zu tun, die solche Services bereitstellte. Das XMPP-Protokoll verwendet zur Kommunikation Streams. Der Grundlegende Aufbau dieser Streams ist, wie auch in Abbildung 1 zu sehen, in die drei Teile <presence\>,<message\>und <iq\>aufgeteilt. Die Verbindung wird über SASL und TLS verschlüsselt und per Simple Authentication gesichert [12]. B. Advanced Message Queuing Protocol Das Advanced Message Queuing Protocol, kurz AMQP, wurde im Juni 2006 von einer Gruppe von Unternehmen (JPMorgan Chase, Cisco Systems, Envoy Technologies, imatix Corporation, IONA Technologies, Red Hat, TWIST Process Innovations, 29WEST) ins Leben gerufen. Der Zusammenschluss hatte das Ziel, einen offenen Standard für ein interoperables, asynchrones Nachrichtenprotokoll zu etablieren. Bereits bei Gründung war die erste Spezifiaktion des Protokolls fertig. Aus diesem Zusammenschluss ging später das OASIS Technical Commitee hervor, das AMQP weiter standardisieren sollte und später Ende 2012 die Version 1.0 veröffentlichte. Eine Besonderheit dieses Protkolls liegt auch in der aktiven, kontinuierlichen Weiterentwicklung und darin, dass während dieser bereits Implementationen in den verschiedensten Programmiersprachen (Java, C++, Python) erschienen sind. Da dieses Protokoll aus dem Finanz und Börsensektor entstanden ist, bestanden auch hohe Anforderungen an Geschwindigkeit, Durchsatz, Skalierbarkeit und Verlässlichkeit. AMQP verfolgt keinen monolithischen Ansatz, sondern besteht aus zwei Teilen. Das Netzwerkprotokoll, welches den Inhalt spezifiziert, den Client- oder Serveranwendungen schicken müssen, um miteinander zu kommunizieren und dem Protokollmodell, welches die Standards an AMQP Anwendungen setzt, damit diese untereinander interagieren können. Der Nachrichtenaustausch wird in exchanges und message queues unterteilt: exchange ist der Verteiler, der anhand von Kriterien Abbildung 1. Vereinfachte Sicht auf Zwei Streams (Quelle: [13]) und Regeln die Nachrichten weiterleitet, sie aber nicht speichert message queues speichern die Nachrichten in einer Warteschlange; Dauer und Speicherort werden von der Implementation festgelegt Eine weitere Besonderheit ist die Verschiebung der Routinglogik in die Broker. Dies führt zwar dazu, dass bei der Implementation von AMQP, im Gegensatz zu anderen Protokollen, deutlich mehr programmiert werden muss, jedoch ist der Gewinn an Geschwindigkeit und der Vorteil, den Datenfluss modifizieren zu können ungleich größer. Das Netzwerkprotokoll sorgt nun dafür, dass die Interoperabilität gegeben ist. AMQP ist ein binäres Protokoll, da binäre Protokolle mehr Daten in einen Frame übertragen können und der Dataoutput beim Nachrichtenaustausch ein sehr wichtiger Faktor ist. Auch das binäre Protokoll sorgt für einen erhöhten Programmieraufwand, aber auch wieder für eine deutlich höhere Geschwindigkeit. Abbildung 2 zeigt den Aufbau eines AMQP Frames [14]. Es gibt neun verschiedene Frame-Bodies: open: neue Verbindung herstellen begin: neue Session erstellen attach: neuen Link erstellen transfer: Nachricht verschicken flow: Nachrichtenaustauschkontrollschema disposition: Zuverlässigkeitseinstellungen (at-most-once,

3 3 at-least-once, exactly-once) detach: Link trennen end: Session beenden close: Verbindung schliessen Abbildung 2. Aufbau des AMQP Frames (Quelle: [15]) III. MESSAGE ORIENTED MIDDLEWARE Message Oriented Middleware (MOM) bezeichnet die Implementierung der diversen Protokolle in Form von Middleware. Abbildung 3 zeigt die Architektur von MOM. A. Websphere MQ Websphere MQ von IBM, ist die wohl etablierteste kommerzielle MOM-Plattform. Sie ist mittlerweile über mehr als 10 Jahre gewachsen und für alle großen Plattformen (Windows, Linux, IBM z/os) verfügbar. Websphere MQ ist integraler Bestandteil der Service-Oriented Architecture Plattform (SOA) von IBM. Das MQ bezeichnet eine Aufteilung von den eigentlichen Messages, die wie bei AMQP binäre Daten sind, und den Message Queues welche die Nachrichten in den Programmen speichern. Die Queue Managers stellen dabei folgende Funktionalitäten bereit: Request & Reply Send & Forget Publish & Subscribe Die Websphere MQ Explorer sind grafische Interfaces, mit welchen die Queue Managers konfiguriert und gesteuert werden können. Bereits bestehende Anwendungen, welche nicht das closed Source Protokoll von IBM sprechen können, werden über Proxies angebunden. Dazu bietet IBM Schnittstellen zu folgenden APIs an: IBM Message QueueInterface (MQI) Java Message Service (JMS) WSDL SOAP Wie bereits erwähnt sind die Queue Managers verantwortlich für die Steuerung und den zeitlichen Abflauf der Kommunikation. Die Kommunikation ist über einzelne unidirektionale Channels gelöst. Jeder Manager benötigt also mindestens zwei Kanäle, um Daten zu senden und zu empfangen. Die Manager können unterbrochene Verbindungen automatisch wieder herstellen. Der Nachrichtenversand wird mitgeloggt, jedoch werden nur Nachrichten die als persistent gekennzeichnet sind, im Fall eines Ausfalls wieder hergestellt. Die Non- Persistent Nachrichten können dafür aber in einem Fast- Mode versendet werden, dessen Erfolg aber nicht garantiert werden kann. Die Abarbeitung der Nachrichten folgt dem FIFO-Prinzip. Abbildung 3. Architektur von MOM (Quelle: [9]) Die Protokolle werden zur synchronen Kommunikation genutzt, aber vor allem der asynchrone Ansatz findet Verwendung. Die Kommunikation wird in drei verschiedene Kommunikationsarten unterschieden: Publish & Subscribe Message Passing Message Queuing Alle Ansätze vereinen, dass die Ausführungsgeschwindigkeit der Programme gesteigert werden, sowie die Verfügbarkeit der Programme zunehmen kann. Die größte Stärke ist auch gleichzeitig die größte Schwäche der MOM. Wie in Abbildung 3 zu sehen, liegt die Middleware, wie der Name bereits vermuten lässt, zwischen den anderen Schichten und sorgt bei Absturz etc. für den Ausfall des Gesamtsystems und aller zu diesem Zeitpunkt verbundenen Systeme. Im folgenden werden nun drei ausgewählte MOM-Systeme vorgestellt. B. Apache ActiveMQ Apache ActiveMQ ist die Open Source Antwort auf Websphere MQ. Es gilt als die führende OpenSource Messaging Plattform. Da es auf Apache aufsetzt, ist es auch für ebenso viele Plattformen (u.a. Windows, Linux, Mac OSX) verfügbar. ActiveMQ ist ein Message Broker der die Java Standards JMS 1.1, J2EE 1.4, sowie JCA 1.5 unterstützt. Es wurde ursprünglich 2005 bei CodeHaus (www.codehaus.org) entwickelt und bereits 2006 von der Apache Software Foundation übernommen. Es ist heute das meist genutzte OpenSource Messaging-System der Welt [16], [17]. Ausser Java wird eine Reihe weiterer APIs unterstützt: OpenWire (Java, C, C++, C) Stomp (C, Ruby, Perl, Python, PHP, Flash) REST Ajax ActiveMQ unterstützt das AMQP-Protokoll und ist somit offen für eine Fülle von Clients.

4 4 C. RabbitMQ RabbitMQ (www.rabbitmq.com) ist eine Open Source Lösung, die das Advance Message Queuning Protocol (AM- QP) einsetzt. Der RabbitMQ Server ist in der Sprache Erlang geschrieben [18]. Das Unternehmen Rabbit Technologies Ltd. wurde im April 2010 von VMWare übernommen. Die Software wird aber weiterhin als Open-Source Lösung vermarktet. RabbitMQ besteht aus folgenden Teilen: RabbitMQ Server (nur Erlang) Gateways für diverse Protokolle (HTTP, STOMP, MQTT) offizielle AMQP Clients (Java,.NET, Erlang) unterstütze AMQP Clients (Spring, Groovy, Scala, Akka, Play!, Ruby, Python...) Das Unternehmen wirbt damit, dass es eine Lösung für nahezu jeden Client (siehe Abbildung 4) bereit hält, was vor allem auf die Verwendung des AMQP-Protokolls zurückzuführen ist. Bash completion has been installed to: /usr/local/etc/bash_completion.d To have launchd start rabbitmq at login: ln -sfv /usr/local/opt/rabbitmq/*.plist / Library/LaunchAgents Then to load rabbitmq now: launchctl load /Library/LaunchAgents/homebrew. mxcl.rabbitmq.plist Or, if you don t want/need launchctl, you can just run: rabbitmq-server Warning: /usr/local/sbin is not in your PATH You can amend this by altering your /.bashrc file Damit ist serverseitig alles installiert und konfiguriert, was zur Kommunikation benötigt wird. Der Server wird mittels launchctl load /Library/LaunchAgents/homebrew.mxcl. rabbitmq.plist gestartet. 2) Java-Client: Um eine erste mögliche Kommunikation mit RabbitMQ zu zeigen muss zunächst das Java-Package von der Website geladen und entpackt werden. Dann werden zwei Java-Dateien (Send /Receive) erstellt. Ziel ist es zu zeigen, wie man eine Verbindung zum Server aufbaut und eine Nachricht verschickt sowie empfängt. Weiterführende Beispiele, sowie auch dieses, werden auf der Herstellerseite unter dem Punkt Tutorials angeboten. Abbildung 4. RabbitMQ für viele Clients (Quelle: [19]) Im folgenden wird die Installation des Servers auf MacOSX 10.8 Mountain Lion beschrieben und ein einfaches Beispiel mit dem offiziellen Java-Client, um die Funktionalität zu illustrieren. 1) Download und Installation: Der RabbitMQ-Server liegt aktuell in der Version (Januar 2013) vor. Der Server lässt sich nicht nativ auf OSX installieren. Man muss zunächst sicherstellen, dass bereits die Addon-Software Homebrew [20] installiert ist. Die restlichen Abhängigkeiten werden dann bei der Installation von RabbitMQ automatisch nachinstalliert. Hat man alle Vorbereitungen getroffen, wird das Terminal geöffnet und folgendermaßen installiert: //aktuelle Homebrewupdates laden brew update // RabbitMQ Server installieren brew install rabbitmq Nach erfolgreicher Installation werden dem Nutzer die wichtigsten Informationen präsentiert, die man im weiteren Verlauf benötigt: Management Plugin enabled by default at localhost:15672 Zunächst wechseln wir in das Verzeichnis, in dem der Client entpackt wurde. Dort legen wir zwei neue Dateien (Send.java und Recv.java) an. Als Erstes befassen wir uns mit dem Sender. Für die Kommunikation müssen drei Imports hinzugefügt werden, damit die Verbindungen zum Server aufgebaut werden können. Jede Warteschlange muss bezeichnet werden, was unter QUEUE NAME gemacht wurde. Sollte die Bezeichnung für Warteschlange bereits vergeben sein, dann wird die bestehende Warteschlange verwendet (Idempotenz). Die Verbindung wird aufgebaut und auf der Verbindung wird ein Kanal zum Versand geöffnet. Auf dem Kanal wird die Warteschlange bekannt gegeben und danach die Nachricht veröffentlicht. Zur Kontrolle wird diese auch auf der Konsole ausgegeben und danach werden der Kanal und die Verbindung wieder geschlossen. Listing 1 zeigt den vollständigen Java- Code. Listing 1. send.java import com.rabbitmq.client.connectionfactory; import com.rabbitmq.client.connection; import com.rabbitmq.client.channel; public class Send { private final static String QUEUE_NAME = "Erste RabbitMQ Warteschlange"; public static void main(string[] argv) throws java.io.ioexception { //Verbindung aufbauen und Kanal erstellen ConnectionFactory factory = new ConnectionFactory(); factory.sethost("localhost");

5 5 Connection connection = factory.newconnection(); Channel channel = connection.createchannel(); channel.queuedeclare(queue_name, false, false, false, null); String message = "Hello World!"; channel.basicpublish("", QUEUE_NAME, null, message.getbytes()); System.out.println(" [x] Sent " + message + " " ); //Verbindungen schliessen channel.close(); connection.close(); Um Nachrichten zu empfangen, muss zusätzlich zum Versand, noch ein weiterer Import hinzugefügt werden, damit auch Nachrichten konsumiert, oder empfangen werden können. Auch hier wird wieder die Warteschlange deklariert. Sollte der Fall eingetreten sein, dass der Empfänger vor dem Sender gestartet wird, wird damit auch wieder die Warteschlange angelegt. Der Sender würde sich dann auf diese Verbinden und die Idempotenz ist weiterhin gegeben. Der Konsument fordert nun auf dem Kanal die Warteschlange an und gibt, solange es Nachrichten in der Warteschlange gibt, diese auf der Konsole aus. Listing 2 zeigt auch hier den vollständigen Java-Code. Listing 2. recv.java import com.rabbitmq.client.connectionfactory; import com.rabbitmq.client.connection; import com.rabbitmq.client.channel; import com.rabbitmq.client.queueingconsumer; public class Recv { private final static String QUEUE_NAME = "Erste RabbitMQ Warteschlange"; public static void main(string[] argv) throws java.io.ioexception, java.lang. InterruptedException { ConnectionFactory factory = new ConnectionFactory(); factory.sethost("localhost"); Connection connection = factory.newconnection(); Channel channel = connection.createchannel(); //Auf die gleiche Warteschlange verbinden channel.queuedeclare(queue_name, false, false, false, null); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); //Einen Konsumenten auf den Kanal hoeren lassen QueueingConsumer consumer = new QueueingConsumer (channel); channel.basicconsume(queue_name, true, consumer) ; //solange es Nachrichten gibt, gebe diese aus while (true) { QueueingConsumer.Delivery delivery = consumer.nextdelivery(); String message = new String(delivery.getBody ()); System.out.println(" [x] Received " + message + " "); 3) Kompilierung und Ausführung: Um das Beispiel auführen zu können, muss es zunächst kompiliert werden: javac -cp rabbitmq-client.jar Send.java Recv.java Um den Sender auszuführen: java -cp.:commons-io-1.2.jar:commons-cli-1.1.jar: rabbitmq-client.jar Send Die Nachrichten werden folgendermaßen empfangen: java -cp.:commons-io-1.2.jar:commons-cli-1.1.jar: rabbitmq-client.jar Recv IV. MESSAGE QUEUING SERVICES Message Queuing Services (MQS) sind die neueste Entwicklung im Bereich Message Oriented Middleware. Die Funktionalitäten der MOM-Systeme werden in eine Cloud verschoben, verbunden mit der Einbettung der Software in ein Software as a Service Modell. Nutzer können somit einfach Nachrichten aus der Warteschlange abrufen oder veröffentlichen, wenn sie mit dem Internet verbunden sind. Ziele der MQS sind: ungenutzte Kapzitäten freisetzen Kosten-Einsparungen (z.b. Wartungspersonal) Vereinfachung des Zugriffs auf die Warteschlange Performancesteigerung durch dedizierte Serverlandschaft Um eine Vielzahl von Nutzern zu erreichen, bieten die Lösungen eine Vielzahl an Protokollen, wie JMS, AMQP, REST-style APIs und Webservices an [10]. A. Amazon Simple Queue Service Amazon Simple Queue Service (Amazon SQS) bietet solch eine zuverlässige, hochskalierbare, gehostete Warteschlange zum Speichern von Nachrichten. Durch Amazon SQS können Entwickler auf einfache Weise Daten zwischen verteilten Komponenten ihrer Anwendungen, die verschiedene Aufgaben ausführen, verschieben. Dabei gehen keine Mitteilungen verloren und es muss nicht jede Komponente stets verfügbar sein. Amazon SQS vereinfacht das Erstellen eines automatisierten Workflows und arbeitet eng mit Amazon Elastic Compute Cloud (Amazon EC2) und den anderen AWS-Infrastruktur-Web-Services zusammen [21]. Amazon SQS funktioniert durch die Offenlegung der weboptimierten Mitteilungs-Infrastruktur von Amazon als Web- Service. Jeder Computer mit Verbindung ins Internet kann Mitteilungen hinzufügen oder lesen, ohne dass dafür Software installiert oder die Firewall speziell konfiguriert werden muss. Komponenten von Anwendungen, die Amazon SQS verwenden, können unabhängig ausgeführt werden und müssen sich nicht im selben Netzwerk befinden, mit denselben Technologien entwickelt worden sein oder zur selben Zeit ausgeführt werden.

6 6 B. Microsoft Azure Services Platform Microsoft hat im Februar 2012 auf der CeBIT, die Microsoft Azure Services Platform gestartet [22]. Microsoft zentralisiert damit die verschiedensten Dienste in die Cloud und versucht damit gegenüber dem Kunden als ein Full-Service-Anbieter aufzutreten. Die Platform vereint unter anderem: Webseitenhosting Virtuelle-Maschinen Cloud-Services Data-Services Messaging (Windows Azure Service Bus) Der Windows Azure Service Bus stellt hier ähnlich wie Amazon, Queuing Services bereit [23]. Microsoft hält hier eine REST konforme Schnittstelle, ebenso wie Konnektivitätsoptionen für die Windows Communication Foundation (WCF) bereit. V. ZUSAMMENFASSUNG Einstige alleinige Marktführer wie IBM bekommen nun schon seit Jahren den Druck der Mitbewerber zu spüren. Der Markt der Message Oriented Middleware ist einer der umkämftesten der Computerbranche. Dass sich auch hier der Markt immer mehr zu einem Käufermarkt entwickelt, sieht man vorallem an Firmen wie IBM, die ihrer Closed Source Plattform Websphere MQ immer mehr Proxies für diverse Open-Source Sprachen zur Verfügung stellen. Der Grund für die Vielfalt an Open-Source Lösungen ist sicher im Advanced Messaging Protocol zu sehen. Der Erfolg des Protokolls liegt in seiner Qualität. Weder im Bezug auf Geschwindigkeit noch im Bezug auf Customizing lässt es dem Programmierer Wünsche offen. Die Entwicklung des Protokolls hat für eine wahre Explosion an Produkten gesorgt. Unter anderem auch RabbitMQ, das in Bezug auf Kompabilität zu anderen Produkten seinesgleichen sucht. Ermöglicht wird auch das wieder durch das AMQP-Protokoll. Hinzu kommt bei RabbitMQ, dass die Dokumentationen im Internet und vor allem auf der Herstellerseite sehr gut sind. Die Forenunterstützung ist gut, was auch die hohe Anzahl an Clients und die Vielfalt an Programmiersprachen zeigen. Umso überraschender ist der Umstand, dass die neu angebotenen Cloud-Lösungen nun auch wieder propietäre Protokolle verwenden. So ist es nicht ungewöhnlich, dass die Internetforen voll von Diskussionen sind, was denn nun beser sei, Amazon SQS oder RabbitMQ. Vor allem da man RabbitMQ auch auf der Amazon EC2 Cloud betreiben kann. Die weitere Entwicklung wird sicher weiter Richtung Cloud- Services gehen. Zu günstig sind die Lösungen geworden, zu einfach deren Wartbarkeit, zu Ausfallsicher. Die Anbindung eines jeden Internetnutzers ist so gut geworden, dass auch hier keine Bandbreitenprobleme oder Geschwindigkeitsprobleme auftreten können. Dennoch werden sie Lösungen wie RabbitMQ nicht ablösen. Wahrscheinlicher ist es, dass die Welten weiter zusammenwachsen. LITERATUR [1] B. Turakhia. Investigating message queueing systems. [Online]. Available: [2] IBM. What is message queuing? [Online]. Available: topic=%2fcom.ibm.mq.csqzal.doc%2ffg10240.htm [3] Wikipedia. Message queue. [Online]. Available: wiki/message queue [4] MSDN. About messages and message queues. [Online]. Available: [5] Linux. Linux and posix message queues. [Online]. Available: [6] Event-driven architecture overview. [Online]. Available: omg.org/soa/uploaded%20docs/eda/bda2-2-06cc.pdf [7] E. Curry. Message-oriented middleware. [Online]. Available: http: //www.edwardcurry.org/publications/curry MfC MOM 04.pdf [8] Wikipedia. Message-oriented middleware. [Online]. Available: http: //en.wikipedia.org/wiki/message-oriented middleware [9] IT-Wissen. Mom (message oriented middleware). [Online]. Available: message-oriented-middleware-mom.html [10] Wikipedia. Message queuing service. [Online]. Available: http: //en.wikipedia.org/wiki/message queuing service [11] IETF. Extensible messaging and presence protocol (xmpp). [Online]. Available: [12] Wikipedia. Xmpp. [Online]. Available: XMPP [13] IETF. Rfc6120. [Online]. Available: [14] Wikipedia. Advanced message queing protocol. [Online]. Available: [15] OASIS, OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0, OASIS, [16] T. A. S. Foundation. Activemq. [Online]. Available: apache.org/ [17] Wikipedia. Apache activemq. [Online]. Available: org/wiki/apache ActiveMQ [18] Erlang programming language. [Online]. Available: org/ [19] G. T. Talk. Introduction to rabbitmq. [Online]. Available: alexis-google-rabbitmq-talk.pdf [20] M. Howell. Homebrew - the missing package manager for osx. [Online]. Available: [21] Amazon. Amazon simple queue service (amazon sqs). [Online]. Available: [22] Microsoft. Windows azure: die cloud plattform von microsoft. [Online]. Available: [23] MSDN. Windows azure service bus. [Online]. Available: http: //msdn.microsoft.com/de-de/library/ee aspx

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

.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

XMPP: Extensible Messaging and Presence Protocol

XMPP: Extensible Messaging and Presence Protocol XMPP: Extensible Messaging and Presence Protocol (aka Jabber) 5. Dezember 2005 Einleitung Was ist XMPP? Architektur Allgemeines Kommunikation via XMPP: Streams, Stanzas Beispielanwendung

Mehr

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April 2005.

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April 2005. <page=1 max=22/> Jabber Florian Holzhauer Proseminar Uni Ulm, 27. April 2005 Idee, Geschichte Nachrichtentechnik Ausblick, Zukunft Gründe / Intention Grosse

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Business Process Management und Enterprise Service Bus

Business Process Management und Enterprise Service Bus Business Process Management und Enterprise Service Bus Gegner oder doch eine gute Ergänzung? Author: Date: Markus Demolsky Soreco International 08. November 2010 Vortragender Warum über Integration nachdenken?

Mehr

XMPP - Jabber. Noch ein IM. 2010-05-11 (v. 1273584047) Thomas Merkel (tm@core.io)

XMPP - Jabber. Noch ein IM. 2010-05-11 (v. 1273584047) Thomas Merkel (tm@core.io) XMPP - Jabber Noch ein IM 2010-05-11 (v. 1273584047) Thomas Merkel (tm@core.io) Agenda Motivation Das Kaffee Problem Andere... AGBs Was ist Jabber? Warum ist Jabber cool? Beispiel Architektur Features

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com z/os Explorer Agenda Introduction and Background Why do you want z/os Explorer? What does z/os Explorer do? z/os Resource Management

Mehr

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Frank Kargl Torsten Illmann Michael Weber Verteilte Systeme Universität Ulm {frank.kargl torsten.illmann weber} @informatik.uni-ulm.de

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

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

Mehr

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I Agenda SOA? Web Services? Sicherheitsrisiko Web Services Web Services & Sicherheit Sichere SOAs

Mehr

SaaS-Referenzarchitektur. iico-2013-berlin

SaaS-Referenzarchitektur. iico-2013-berlin SaaS-Referenzarchitektur iico-2013-berlin Referent Ertan Özdil Founder / CEO / Shareholder weclapp die Anforderungen 1.000.000 registrierte User 3.000 gleichzeitig aktive user Höchste Performance Hohe

Mehr

Cloud-Provider im Vergleich. Markus Knittig @mknittig

Cloud-Provider im Vergleich. Markus Knittig @mknittig Cloud-Provider im Vergleich Markus Knittig @mknittig As Amazon accumulated more and more services, the productivity levels in producing innovation and value were dropping primarily because the engineers

Mehr

Enterprise Application Integration. Sascha M. Köhler Software Architekt

Enterprise Application Integration. Sascha M. Köhler Software Architekt Sascha M. Köhler Software Architekt Agenda 2 01 Herausforderungen unserer Kunden 02 Lösungsdefinition 03 PROFI Angebot 04 Zusammenfassung Der IT-Gemüsegarten ITK Systeme sind auf Grund von Funktionen &

Mehr

Installationsführer für den SIP Video Client Linphone

Installationsführer für den SIP Video Client Linphone Installationsführer für den SIP Video Client Linphone Stand: 10.04.2010 1. Einleitung Dieses Dokument beschreibt die Vorgehensweise für den Download, die Installation und Inbetriebnahme eines SIP Videoclients

Mehr

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

JE Web Services. Hinweise. Beschreibung. Doku.-Version: 1.0 Letzte Änderung: 02.02.2011

JE Web Services. Hinweise. Beschreibung. Doku.-Version: 1.0 Letzte Änderung: 02.02.2011 Beschreibung Hinweise Doku.-Version: 1.0 Letzte Änderung: 02.02.2011 http://www.jacob-computer.de/kontakt.html software@jacob-elektronik.de Inhaltsverzeichnis 1. Inhaltsverzeichnis Hinweise... 1 1. Inhaltsverzeichnis...

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

Mehr

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

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

Mehr

OpenSSH installieren (Windows) Was ist OpenSSH?

OpenSSH installieren (Windows) Was ist OpenSSH? OpenSSH installieren (Windows) Was ist OpenSSH? OpenSSH (Open Secure Shell) ist eine freie SSH/SecSH-Protokollsuite, die Verschlüsselung für Netzwerkdienste bereitstellt, wie etwa Remotelogins, also Einloggen

Mehr

Hauptseminar. Nachrichtenbasierte Middleware - ein Vergleich: Protokolle, Fähigkeiten, Implementierungen und Anwendungsgebiete

Hauptseminar. Nachrichtenbasierte Middleware - ein Vergleich: Protokolle, Fähigkeiten, Implementierungen und Anwendungsgebiete Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Hauptseminar Nachrichtenbasierte Middleware - ein Vergleich: Protokolle, Fähigkeiten, Implementierungen und Anwendungsgebiete

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr

Service Oriented Architecture. IM-Briefing 2008 4. Dezember 2008

Service Oriented Architecture. IM-Briefing 2008 4. Dezember 2008 Service Oriented Architecture IM-Briefing 2008 4. Dezember 2008 Agenda Begrüssung Was ist SOA Herkunft Player Modell Komponenten Zusammenfassung Diskussion Seite 1 Was ist SOA? Herkunft Der Begriff serviceorientierte

Mehr

Erste Schritte zum lauffähigen Java Programm

Erste Schritte zum lauffähigen Java Programm Erste Schritte zum lauffähigen Java Programm Diese kleine Einführung ist eine Hilfe für Studenten der Vorlesung SWT I zur Meisterung der sich ergebenden Hürden bei der Erstellung eines ersten kleinen Java-Programms.

Mehr

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

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

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

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

Nutzung der VDI Umgebung

Nutzung der VDI Umgebung Nutzung der VDI Umgebung Inhalt 1 Inhalt des Dokuments... 2 2 Verbinden mit der VDI Umgebung... 2 3 Windows 7... 2 3.1 Info für erfahrene Benutzer... 2 3.2 Erklärungen... 2 3.2.1 Browser... 2 3.2.2 Vertrauenswürdige

Mehr

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

Mehr

How to install freesshd

How to install freesshd Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem

Mehr

Daten-Kommunikation mit crossinx

Daten-Kommunikation mit crossinx Daten-Kommunikation mit Datenübertragung.doc Seite 1 von 8 Inhaltsverzeichnis 1 Einführung... 3 1.1 Datenübertragung an... 3 1.2 Datenversand durch... 3 2 X.400... 4 3 AS2... 4 4 SFTP (mit fester Sender

Mehr

Softwareentwicklung in der industriellen Praxis

Softwareentwicklung in der industriellen Praxis Softwareentwicklung in der industriellen Praxis Cloud-Systeme: Besonderheiten bei Programmierung und Betrieb Steffen Gemkow / Paul Fritsche - ObjectFab GmbH 26.11.2012 Simple is beautiful Don t repeat

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Dr. Ralf Schlatterbeck

Dr. Ralf Schlatterbeck Kvats mit A1 Open Source Voice/Video/Chat Client Dr. Ralf Schlatterbeck Offene Protokolle H.323 komplex, wenige Clients SIP + am weitesten verbreitet Schwierigkeiten bei Firewalls IAX wenig verbreitet

Mehr

Webinar: Einführung in ICEfaces

Webinar: Einführung in ICEfaces Webinar: Einführung in ICEfaces präsentiert von VOIP-Audio ist standardmässig aktiviert Alternatives Einwählen: +41 (0) 415 0008 65 ICESOFT TECHNOLOGIES INC ICESOFT Donnerstag, TECHNOLOGIES 26. März 2009

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

estos XMPP Proxy 5.1.30.33611

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

Mehr

SVV-GEMEINSCHAFTS-STATISTIKEN Statistik-Portal & Meldungen

SVV-GEMEINSCHAFTS-STATISTIKEN Statistik-Portal & Meldungen INHALTSVERZEICHNIS 1. Allgemeines... 2 2. Erste Inbetriebnahme... 2 2.1. Anmeldung... 2 2.2. JAVA-Runtime-Environment... 2 2.3. Spezielle Internet-Installationen bei den Versicherungen... 3 3. Kurz-Einführung

Mehr

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

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

Mehr

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000

Mehr

Session Storage im Zend Server Cluster Manager

Session Storage im Zend Server Cluster Manager Session Storage im Zend Server Cluster Manager Jan Burkl System Engineer, Zend Technologies Agenda Einführung in Zend Server und ZSCM Überblick über PHP Sessions Zend Session Clustering Session Hochverfügbarkeit

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

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

Enigma2 Plugin Entwicklung mit Eclipse

Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse 1/15 Inhaltsverzeichnis 1 ÜBER... 3 2 INSTALLATION... 4 2.1 INSTALLATION VON ECLIPSE... 4 2.2 INSTALLATION VON PYDEV... 4 3

Mehr

Kap. 6 Message-Oriented Middleware (MOM)

Kap. 6 Message-Oriented Middleware (MOM) Kap. 6 Message-Oriented Middleware (MOM) G 6.1Asynchrone Prozedur- bzw. Methodenaufrufe Lose Kopplung von Komponenten G 6.2Queued Transactions Entkopplung von Client/Server-Transaktionen G 6.3Publish/Subscribe-Techniken

Mehr

Die in diesem Dokument aufgelisteten Anforderungen an das Betriebssystem schließen die aktuellen Patches und Servivepacks ein.

Die in diesem Dokument aufgelisteten Anforderungen an das Betriebssystem schließen die aktuellen Patches und Servivepacks ein. Systemanforderungen Die unten angeführten Systemanforderungen für Quark Publishing Platform sind grundlegende Anforderungen, Ihre Benutzerzahl, Asset-Anzahl und Anzahl der Asset-Versionen beeinflussen

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Kurzanleitung - XVA Provider unter Mac OSX 10

Kurzanleitung - XVA Provider unter Mac OSX 10 Kurzanleitung - XVA Provider unter Mac OSX 10 Installation und Bedienung- Inhalt Allgemeine Hinweise:... 1 Kapitel 1 Installation und Konfiguration... 2 Schritt 1: Java SE Development Kit 6 installieren:...

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Tutorial 12 (OS/390 2.7, Windows XP) v03-2005-11-03. Tutorial 12. CICS-Zugriff mit Hilfe von MQ und einem Java-Klienten

Tutorial 12 (OS/390 2.7, Windows XP) v03-2005-11-03. Tutorial 12. CICS-Zugriff mit Hilfe von MQ und einem Java-Klienten Tutorial 12 CICS-Zugriff mit Hilfe von MQ und einem Java-Klienten Vorbereitende Konfiguration des Windows XP-Klienten Dieses Tutorial behandelt die Vorbereitungen, die notwendig sind, um das Tutorial 12

Mehr

Seminarvortrag. Cloud Computing. Christophe Sokol 26.01.2012

Seminarvortrag. Cloud Computing. Christophe Sokol <sokol@inf.fu-berlin.de> 26.01.2012 Seminarvortrag Cloud Computing Christophe Sokol 26.01.2012 Ablauf des Vortrags Hintergrund: Der Plat_Forms-Wettbewerb Was ist Cloud Computing? Aufgaben lösen in der Cloud 3 / 23

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung Fertigprodukte Bruno Blumenthal und Roger Meyer 18. Juli 2003 Zusammenfassung Dieses Dokument beschreibt die Fertigprodukte welche im Projekt NetWACS eingesetzt werden sollen. Es soll als Übersicht dienen

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

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

OpenVMS und OpenSource Ein Widerspruch? peter ranisch openvms@ranisch.at

OpenVMS und OpenSource Ein Widerspruch? peter ranisch openvms@ranisch.at OpenVMS und OpenSource Ein Widerspruch? peter ranisch openvms@ranisch.at Perens' principles Under Perens' definition, open source describes a broad general type of software license that makes source code

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Kap. 6 Message-Oriented Middleware (MOM)

Kap. 6 Message-Oriented Middleware (MOM) Kap. 6 Message-Oriented Middleware (MOM) 6.1Asynchrone Prozedur- bzw. Methodenaufrufe Lose Kopplung von Komponenten 6.2Queued Transactions Entkopplung von Client/Server-Transaktionen 6.3Publish/Subscribe-Techniken

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

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Studienprojekt HP-MOM

Studienprojekt HP-MOM Institute of Parallel and Distributed Systems () Universitätsstraße 38 D-70569 Stuttgart Studienprojekt HP-MOM High Performance Message Oriented Middleware 23. Januar 2013 Kurt Rothermel, Frank Dürr, Patrick

Mehr

EXCHANGE 2013. Neuerungen und Praxis

EXCHANGE 2013. Neuerungen und Praxis EXCHANGE 2013 Neuerungen und Praxis EXCHANGE 2013 EXCHANGE 2013 NEUERUNGEN UND PRAXIS Kevin Momber-Zemanek seit September 2011 bei der PROFI Engineering Systems AG Cisco Spezialisierung Cisco Data Center

Mehr

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory /

Mobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory / Mobile Backend in Cloud Azure Mobile Services / Websites / Active Directory / Einführung Wachstum / Marktanalyse Quelle: Gartner 2012 2500 Mobile Internet Benutzer Desktop Internet Benutzer Internet Benutzer

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

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

Anleitung Sichere Kommunikation mit Pidgin, Jabber und OTR

Anleitung Sichere Kommunikation mit Pidgin, Jabber und OTR Anleitung Sichere Kommunikation mit Pidgin, Jabber und OTR 1 1 Hinweis Diese Anleitung wurde mit dem Betriebssystemen Windows 7 Home Premium (64 Bit) und Windows 8.1 (64 Bit) und Pidgin 2.10.11 mit OTR

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 4 Schnittstellen el0100 copyright W. G. Spruth, wgs 04-10

Mehr

Integrationsmuster am Beispiel von Apache Camel

Integrationsmuster am Beispiel von Apache Camel Integrationsmuster am Beispiel von Apache Camel @berlin.jar buschmais GbR Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler und Tobias Israel Adresse Leipziger Str. 93 01127 Dresden info@buschmais.de http://www.buschmais.de

Mehr

RDS und Azure RemoteApp

RDS und Azure RemoteApp RDS und Azure RemoteApp Inhalt Remote Desktop Services Ein kurzer Überblick RD Session Host und RD Virtualization Host RDS auf Azure Desktop Remoting in der Cloud RD RemoteApp Was ist das und wie funktioniert

Mehr

Betriebssystem Windows - SSH Secure Shell Client

Betriebssystem Windows - SSH Secure Shell Client Betriebssystem Windows - SSH Secure Shell Client Betriebssystem Windows - SSH Secure Shell Client... 1 Download... 2 Installation... 2 Funktionen... 3 Verbindung aufbauen... 3 Verbindung trennen... 4 Profile...

Mehr

Check Point IPS. Agenda. Check Point & AlgoSec Security-Update 24./25. September 2014. «Eine Firewall ohne IPS ist keine Firewall»

Check Point IPS. Agenda. Check Point & AlgoSec Security-Update 24./25. September 2014. «Eine Firewall ohne IPS ist keine Firewall» Check Point IPS «Eine Firewall ohne IPS ist keine Firewall» Andreas Leuthold, Security Engineer leuthold@avantec.ch Agenda Warum IPS? Wie funktioniert IPS? Ablauf eines IPS Projekts IPS Warum IPS? Source

Mehr

Unified Communications & Collaboration

Unified Communications & Collaboration Telefonkonferenz am 11.09.2009 Unified Communications & Collaboration Channel 8.52009 Kickoff Lars Thielker SWG Technical Sales Lotus, Channel 2009 IBM Corporation als Kommunikationsplattform offen erweiterbar

Mehr

JMS JAVA MESSAGE SERVICES. Entwicklung von Webanwendungen SS 07

JMS JAVA MESSAGE SERVICES. Entwicklung von Webanwendungen SS 07 JMS JAVA MESSAGE SERVICES Entwicklung von Webanwendungen SS 07 Marc Seeger Stephan Helten [ms155] [sh094] Agenda Teil 1: Marc Seeger [ms155] Einführung: Was ist Messaging Message Oriented Middleware [MOM]

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

Der studentische Jabber-Server. Instant Messaging an der RWTH Aachen. Andreas Kelle-Emden, Martin Weusten. 1. Oktober 2009. JUNe

Der studentische Jabber-Server. Instant Messaging an der RWTH Aachen. Andreas Kelle-Emden, Martin Weusten. 1. Oktober 2009. JUNe Der studentische Jabber-Server Instant Messaging an der RWTH Aachen Andreas Kelle-Emden, Martin Weusten 1. Oktober 2009 JUNe Jabber University Network Lizenz: Creative Commons BY-NC-SA 3.0 http://jabber.rwth-aachen.de/wiki/copyright

Mehr

Sicherer Netzzugang im Wlan

Sicherer Netzzugang im Wlan PEAP Sicherer Netzzugang im Wlan Motivation Im Wohnheimnetzwerk des Studentenwerks erfolgt die Zugangskontrolle via 802.1X. Als Methode wurde MD5 eingesetzt. Dies wurde in Microsoft Vista nicht unterstützt.

Mehr

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

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

Mehr

JEAF Cloud Plattform Der Workspace aus der Cloud

JEAF Cloud Plattform Der Workspace aus der Cloud JEAF Cloud Plattform Der Workspace aus der Cloud Juni 2014 : Aktuelle Situation Heutige Insellösungen bringen dem Nutzer keinen Mehrwert Nutzer sind mobil Dateien und Applikationen sind über Anbieter und

Mehr

Inhaltsverzeichnis. I. Grundlagen. 1 Einführung in Postfix 3. 2 SMTP-Kommunikation im Überblick 7

Inhaltsverzeichnis. I. Grundlagen. 1 Einführung in Postfix 3. 2 SMTP-Kommunikation im Überblick 7 Inhaltsverzeichnis I. Grundlagen 1 Einführung in Postfix 3 2 SMTP-Kommunikation im Überblick 7 2.1 E-Mail-Kommunikation 7 2.2 Wie wird eine E-Mail transportiert? 8 2.3 SMTP-Kommunikation 8 2.4 ESMTP-Kommunikation

Mehr

WINDOWS APPLIKATIONEN UNTER LINUX/UNIX SECURE REMOTE ACCESS

WINDOWS APPLIKATIONEN UNTER LINUX/UNIX SECURE REMOTE ACCESS WINDOWS APPLIKATIONEN UNTER LINUX/UNIX SECURE REMOTE ACCESS Dipl.-Ing. Swen Baumann Produktmanager, HOB GmbH & Co. KG April 2005 Historie 2004 40 Jahre HOB Es begann mit Mainframes dann kamen die PCs das

Mehr

Der Cloud-Dienst Windows Azure

Der Cloud-Dienst Windows Azure Der Cloud-Dienst Windows Azure Master-Seminar Cloud Computing Wintersemester 2013/2014 Sven Friedrichs 07.02.2014 Sven Friedrichs Der Cloud-Dienst Windows Azure 2 Gliederung Einleitung Aufbau und Angebot

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen zur nebenläufigen Programmierung in Java Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Inhaltsverzeichnis. I. Grundlagen. 1 Einführung in Postfix 3

Inhaltsverzeichnis. I. Grundlagen. 1 Einführung in Postfix 3 xi I. Grundlagen 1 Einführung in Postfix 3 2 SMTP-Kommunikation im Überblick 7 2.1 E-Mail-Kommunikation................................................... 7 2.2 Wie wird eine E-Mail transportiert?.......................................

Mehr

http://www.hoststar.ch

http://www.hoststar.ch Kapitel 16 Seite 1 Die eigene Homepage Im Internet finden Sie viele Anbieter, die Ihnen rasch und zuverlässig einen Webhost für die eigene Homepage einrichten. Je nach Speicherplatz und Technologie (E-Mail,

Mehr

So bringst du Prolog zum Laufen...

So bringst du Prolog zum Laufen... Diese Anleitung soll dir dabei helfen den freien Prolog-Interpreter SWI-Prolog zu installieren einen geeigneten Texteditor auszuwählen, mit dem du Prolog-Programme schreiben kannst das erste kleine Programm

Mehr

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler Web Services and Semantic Web - Introduction to Web Services von Andreas Weiler Definitionen Beispiele Technologien Vorteile Kritik Abschlussbeurteilung Fragen? Definition von IBM: Web services are a new

Mehr