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

Oracle Advanced Queuing AQ

Oracle Advanced Queuing AQ Oracle Advanced Queuing AQ 13.09.2012 Referenten: Claus Cullmann Andreas Steinel Inhalt Motivation Message Systeme Eigenschaften, Beispiele Oracle AQ Terminologie AQ Beispiel pure SQL Beispiel Java-Anwendung

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

.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

iphone Push bei den VZ Netzwerken

iphone Push bei den VZ Netzwerken iphone Push bei den VZ Netzwerken Max Horváth, Steffen Irrgang 1 Vorstellung der Speaker 2 Was sind Push Notifications?? 3 Was sind Push Notifications? Eine Möglichkeit, eine Nachricht an individuelle

Mehr

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

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

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

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

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

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

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

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

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

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

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

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

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

Python SVN-Revision 12

Python SVN-Revision 12 Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang

Mehr

Webservices. Grundlagen, Beispiel, Tomcat, Apache Axis

Webservices. Grundlagen, Beispiel, Tomcat, Apache Axis Webservices Grundlagen, Beispiel, Tomcat, Apache Axis Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Was ist ein WebService Eine oder mehrere Methoden die über das Netzwerk aufgerufen werden

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

Deutschland 8,50. Contexts and Dependency Injection. Präsentation mit Models GUI leicht gemacht » 52

Deutschland 8,50. Contexts and Dependency Injection. Präsentation mit Models GUI leicht gemacht » 52 inkl. JAVA Mag CD Transparenz und Qualitätskontrolle in agilen Projekten Deutschland 8,50 Österreich 9,80 Schweiz sfr 16,80 Contexts and Dependency Injection Framework-Integration HTML5 Keynote von Chris

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

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

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

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

Massively Scalable Enterprise Applications. Chris Bernhardt

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

Mehr

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

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

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

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

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Softwareupdate-Anleitung // AC Porty L Netzteileinschub 1 Softwareupdate-Anleitung // AC Porty L Netzteileinschub Softwareupdate-Anleitung // AC Porty L Netzteileinschub HENSEL-VISIT GmbH & Co. KG Robert-Bunsen-Str. 3 D-97076 Würzburg-Lengfeld GERMANY Tel./Phone:

Mehr

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem

Mehr

MICROSOFT WINDOWS AZURE

MICROSOFT WINDOWS AZURE Cloud Computing à la Microsoft MICROSOFT WINDOWS AZURE Karim El Jed netcreate OHG Agenda Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen Was ist Cloud Computing? Was ist

Mehr

Alternativen für asynchrones Messaging als Teil der "Converging Infrastructure"

Alternativen für asynchrones Messaging als Teil der Converging Infrastructure Mercedes 2012 1. Anforderungen 2. DR 101 3. Datenreplikation Technologie 4. Leistungsumfang heute 5. Arbeitsweise 6. Zukunft 7. Markt und Kunden 8. Anforderungen revisited 9. Warum Gravic und CS Software?

Mehr

Microsoft Azure für Java Entwickler

Microsoft Azure für Java Entwickler Holger Sirtl Microsoft Deutschland GmbH Microsoft Azure für Java Entwickler Ein Überblick Agenda Cloud Computing Die Windows Azure Platform Anwendungen auf Windows Azure Datenspeicherung mit SQL Azure

Mehr

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH Windows Azure für Java Architekten Holger Sirtl Microsoft Deutschland GmbH Agenda Schichten des Cloud Computings Überblick über die Windows Azure Platform Einsatzmöglichkeiten für Java-Architekten Ausführung

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

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

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

Mehr

Instant Messaging mit XMPP

Instant Messaging mit XMPP Instant Messaging mit XMPP Norbert Tretkowski Email: norbert@tretkowski.de XMPP: norbert@tretkowski.de Linux User Schwabach 07. April 2016 Agenda Grundlagen Features Clients Erweiterungen Sicherheit Messenger

Mehr

WebSphere Application Server Installation

WebSphere Application Server Installation WebSphere Application Server Installation und Administration Seminarunterlage Version: 3.04 Copyright Version 3.04 vom 16. Mai 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte

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

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

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

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

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1 Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus

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

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: 2015-02-18 Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: 2015-02-18 Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich 252-0842-00L Programmieren und Problemlösen Eclipse Tutorial FS 2015 Herausgabe: 2015-02-18 Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich 1 Vorraussetzungen Falls Java noch

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

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

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

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

Erfahren Sie mehr zu LoadMaster für Azure

Erfahren Sie mehr zu LoadMaster für Azure Immer mehr Unternehmen wechseln von einer lokalen Rechenzentrumsarchitektur zu einer öffentlichen Cloud-Plattform wie Microsoft Azure. Ziel ist es, die Betriebskosten zu senken. Da cloud-basierte Dienste

Mehr

Webengineering II T2INF4202.1. Enrico Keil Keil IT e.k.

Webengineering II T2INF4202.1. Enrico Keil Keil IT e.k. Webengineering II T2INF4202.1 Enrico Keil Keil IT e.k. Übersicht Herzlich willkommen Enrico Keil Keil IT Oderstraße 17 70376 Stuttgart +49 7119353191 Keil IT e.k. Gegründet 2003 Betreuung von kleinen und

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

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

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

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

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER Christoph Mathas SOA intern» Praxiswissen zu Service-orientierten IT-Systemen HANSER Inhalt Vorwort XI 1 Einleitung 1 1.1 Wem nützt dieses Buch? 2 1.2 Weshalb dieses Buch? 3 1.3 Die Kapitelstruktur 4 1.4

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

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

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

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

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

Die Open Source SOA-Suite SOPERA

Die Open Source SOA-Suite SOPERA Architektur, Komponenten und Realisierung Jörg Gerlach Technische Universität Dresden Fakultät Informatik Institut für Angewandte Informatik Lehrstuhl Technische Informationssysteme 11. Juni 2009 Gliederung

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

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

WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa

WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa Dr. Stefan Pietschmann, PF Service-Oriented Enterprise Applications, T-Systems MMS Dresden, 22.10.2013 About US PF42 Service-oriented enterprise

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

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

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

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

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

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 3: Fallstudien EDS und Vitria Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EDS ein selbstgebautes

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

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

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

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

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Mac OSX Consoliero Teil 14 Seite: 1/10 Mac OS X Consoliero Weiterführende Dokumentationen für Administratoren. Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Christoph Müller, PTS

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

Open Source. Hendrik Ebbers 2015

Open Source. Hendrik Ebbers 2015 Open Source Hendrik Ebbers 2015 Open Source About me Hendrik Ebbers Lead of JUG Dortmund Java Architect @ Canoo Engineering AG JavaOne Rockstar, Java Expert Group Member Speaker, blogger & author Engineering

Mehr

Kapitel 7 Message-oriented Middleware (MOM)

Kapitel 7 Message-oriented Middleware (MOM) Kapitel 7 Message-oriented Middleware (MOM) Inhalt: Transaktionale Warteschlangen Message Queuing Stratifizierte Transaktionen Message Brokering Zusammenfassung Transaktionale Warteschlangen Einsatz von

Mehr

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3 Technische Dokumentation SEPPmail Outlook Add-In v1.5.3 In diesem Dokument wird dargelegt, wie das SEPPmail Outlook Add-in funktioniert, und welche Einstellungen vorgenommen werden können. Seite 2 Inhalt

Mehr

Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung

Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung Diplomarbeit Henning Staib Tutor: Karl Beecher und Stephan Salinger Inhalt - Ausgangssituation - Aufgabenstellung - Lösungsansätze

Mehr