Friday 13 October 2017

Hochleistungs Messaging Für Web Basierte Handelssysteme


Hochleistungs-Messaging für webbasierte Handelssysteme. Frank Greco Direktor für Technologie, Kaazing Transkription 1 Hochleistungs-Messaging für webbasierte Handelssysteme Frank Greco Director of Technology, Kaazing 2 Überblick Hintergrund-Trading-Systeme und die Webanforderungen Web Messaging für Trading-Anwendungen Layered-Ansatz für Web-Protokolle Neue Anforderungen Das Web jenseits der Browser 3 Hintergrund Finanzdienstleistungen Kapitalmärkte Desktop-Handelssysteme Swing Java TIBCO und andere Kunden-Use-Cases FX, Commodity-Desks Director von Kaazing Chairman NYJavaSIG (javasig) Größter JUG in Nordamerika 7.000 4 Web Trading Systeme FX Trader Application Front Office demo. kaazing forex 5 Was ist ein Web Trading System Trading System Eine Reihe von Regeln für den Kauf Verkauf Eine Anwendung, die ein Handelssystem beschleunigt Moderne Web Trading Anforderungen - HTML5 keine Plugins mehr - UI UX Sencha extJS, GWT, JQuery, GPU-Beschleunigung, etc - Verwendbarer Anwendungscache - Schnell, zuverlässig, sicher - Minimale Auswirkung auf Back-End-Services - Arbeitet mit Pub-Sub-Brokern und Daten-Feeds - Hohe Nachrichtenrate, kleine Payload-Equity-Ticks, Watchlist, Währungspaare usw. 6 Alles klingt machbar, außer Designed for Dokumenttransfer HTTP - kurzlebige Anforderung Response-Interaktion Bidirektional, aber halbduplex - Traffic fließt nur in einer Richtung Stateless - Große Mengen an Metadaten für jede Anforderung Web wurde nicht für echtzeit - und ereignisbasierte Dienste entworfen 7 Einige Dinge Alter gut HTTP TCP 8 und einige Dinge don t Oldies Hits - AJAX und die Comet Pollers 9 High-Level-Handelssysteme Architektur ios android Authentifizierung Mobile Browser Native Client-Net-Autorisierung Machen Sie mir Web-freundlichen Browser Desktop Java. NET Msg Broker JMS AMQP etc Pricing Feeds News Alerts Trade Exec Was jeder tut Berichte 10 High-Level-Handelssysteme Architektur ios android Authentifizierung Mobile Browser Native Client Net Browser Desktop Java. NET Autorisierung Machen Sie mir Web-freundlichen Msg Broker JMS AMQP usw. Entwickler wollen eine sichere Version dieser Architektur, so dass sie Kann auf die App fokussieren Preiskalkulation News Alerts Trade Exec Berichte 11 Real-Time-Client-Server-Architektur Stattdessen versuchen wir diese traditionelle Lösung Trading App Broker Nur um einige Ports öffnen Nur die Bereitstellung von Java. NET auf Client Nur müssen Sie mehrere Proxies zwischen der Endpunkte Einfach, richtig. 12 Middleware für die Middleware Oder wir versuchen, Proxy-Sachen über die Web-Ticker-Anlage Protocol Mismatches Ineffiziente Skalierbarkeit Probleme Latenz Probleme 13 Dinge, die nicht zu gut aussehen 14 Willkommen HTML5 (aka The New Web) Benutzer verlangen mehr von Apps UI UX Requirements sind mehr Anspruchsvolle API Explosion Browser-Erweiterungen Web nicht mehr nur über Dokumente, sondern die vorhandene Infrastruktur spiegelt dieses Vermächtnis Die neue Web ist eine Stiftung für Enterprise-Grade-Anwendungen 14 15 WebSocket Real-Time, bidirektionale Konnektivität IETF-Protokoll - RFC 6455 Dec 2011 W3C-API Leicht Hinzufügen von ereignisbasierten (Handels-) Daten zu Web-Apps Vermeidung von Abfragen Vermeidet HTTP-Metadaten Overhead-Anteile Port mit HTTP (80 443) Peer-Protokoll an HTTP (beide verwenden TCP) Wichtigste API in HTML5 Erleichtert andere Protokolle Stellt das Web besser ein Platz 16 WebSocket Standards W3C API Candidate Recommendation - IETF Formal-Protokoll (RFC 6455) - Event-Driven-JavaScript-API - Vollduplex-Kommunikationsprotokoll integriert HTTP-Adressierung - ws: IhreFirma collaborationsvc - WSS: anothercompany marketdatasvc Traverses Firewalls, Proxies, Router sicher Text und Binary Leverages Cross-Origin Resource Sharing (CORS) 17 Der WebSocket Handshake 18 Für Real-Time, Ereignis-basierte Web-Kommunikation Legacy HTTP vs WebSocket Scheint wie ein No-Brainer für Trading-Anwendungen 18 19 Java-API für WebSocket - JSR 356 Erstellung von WebSocket Java-Komponenten zum Behandeln von bidirektionalen WebSocket-Konversationen Handhabung von WebSocket-Ereignissen Erstellen und Verarbeiten von WebSocket-Text und Binärnachrichten Ermöglicht WebSocket-Protokolle und Inhaltsmodelle für eine Anwendung Konfigurieren und Verwalten von WebSocket-Sitzungen, wie Zeitüberschreitungen, Wiederholungen, Cookies, WebSocket-Anwendung wird im Java EE-Sicherheitsmodell funktionieren Offizielle Java SE WebSocket-API in den Werken 20 Warum ich mich interessiere Was hat das wirklich mit Hochleistungs-Messaging zu tun 21 Legacy Web Half Duplex - HTTP Vollständige Duplex-Webbrowser Web Tier Middleware Msg Broker Live Web Vollduplex - WebSocket Vollduplex Web WebSocket Server Msg Broker 22 Skalierbarkeit mehr Händler, mehr Dienstleistungen Komplexität mehr Traders Weitere Dienstleistungen mehr mehr Wachstum Greco s Law Skalierbarkeit Wachstum Komplexität Einfache Dinge skalieren 22 22 23 HTML5 WebSocket API 24 HTML5 WebSocket API Aber Umgang mit WebSocket Ist wie der Umgang mit TCP. Es ist ein Streams-basiertes Modell. Sie müssen verstehen, wie Streams-basierte Daten über den Draht zu behandeln. Also, wie kann ich veröffentlichen Subskription für mein Trading-System 25 Was ist Missing Wo ist das Application-Level-Protokoll Wer Handles Wiederholungen Wie behandeln wir publish subscribe Semantik Wie handeln wir Marktdaten Ist garantiert Lieferung möglich (Trades) Was ist, wenn der Client ist Nicht aktiv Wie handhaben Füllen Sie mit Lieblings-Semantik Was über Partials Wer ist verantwortlich für Berechtigungen Wie verwalte ich das etc 26 Aber warten Protocol Layering ist möglich Whoa Sein genau wie TCP Huzzah Browser und native Anwendungen JMS XMPP AMQP B2B FTP VNC mktdata etc WebSocket TCP Internet WebSocket Gateway WebSocket Gateway 27 Alles andere fehlt andere Überlegungen Notwendigkeit, mehrere WS-Versionen zu behandeln Brauchen Sie mehrere (und ältere) Browser-Versionen behandeln Kann t Business Logik in der DMZ haben, um in mehrere DMZs arbeiten AuthN AuthZ muss mehrfach arbeiten Hochverfügbarkeitstopologie Bedenken über offene Ports mit Backend-Services Servicearchitektur muss konsistent sein Native, HTML5- und Hybridumgebungen Einfache Integration mit Nicht-Messaging-Diensten XaaS-Integration Das Web über den Browser hinaus Bandbreitenverwaltung usw. Alles was Sie für ein echtes Unternehmen benötigen App 28 Veröffentlichen Abonnieren über das Web für Trading-Systeme Java Message Service (JMS) über WebSocket Ein 60-Sekunden-Tutorial Falls Sie JMS 29 Java Message Service (JMS) Java EE Message Oriented Middleware JMS nicht gehört haben. JMS. JMS 2.0 (26. Februar 2013) Asynchronous Messaging vs. RPC Lose gekoppelt vs. Tightly gekoppelt Pub Sub, Topics, Warteschlangen Transaktionen, zuverlässig 30 Grundlegende Inside-Firewall JMS conn createconnection () sess conn. createsession () Thema jndicontext. lookup (Thema) pub sess. createproducer (Thema) pub. send (hey Frank) msg ​​Broker conn Create () sess conn conn. createsession () Create () Thema sess conn jndicontext. lookup (Thema) conn. createsession () Create () Unter Thema sess sess. createconsumer (Thema) jndicontext. lookup (Thema) conn. createsession () sub. setmessagelistener (this) Unter Thema sess. createconsumer (Thema) jndicontext. lookup (Thema) sub. setmessagelistener (this) sess. createconsumer ( Thema) public sub. setmessagelistener (this) void onmessage (message m) String tun stuff s m. gettext () tun stuff 31 Jetzt JMS-API für JavaScript 1. Erstellen Sie eine Verbindung von ConnectionFactory finden Sie unter tutorial. kaazing 2. Erstellen Sie Sitzung 3. Thema erstellen oder Warteschlange 4. Produzent 5. erstellen Sie Verbraucher erstellen 6. Nachrichten-Listener erstellen (Funktion zu behandeln Nachrichten) Sitzung connection. createsession (false, Session. AUTOACKNOWLEDGE) var MyTopic session. createtopic (zit Thema mytopicquot) topicproducer session. createproducer (MyTopic) topicconsumer session. createconsumer (MyTopic) topicconsumer. setmessagelistener (handletopicmessage) 33 WebSocket Projekte, OSS, Verkäufer Kaazing Node. js socket. io ActiveMQ Tomcat Jetty Oracle Glassfish Java EE Framework-Kaninchen MQ JBoss IIS ASP. NET 4.5 PHP-Play, Objective-C, Rubin , Python, CC, JVM-Langs Viele weitere 34 Futures Was kommt als nächstes für Trading Systems und das Web 34 35 Neue Computing-Modell-Clouds 35 36 Neue Computing-Modell-Storage-Dokumente Cloud Cloud Webseiten Webseiten Webseiten Webseiten Regulatory hypothetical Clearance Collaboration Cloud Wealth Management-Webserver Enterprise Notifications Transaktionen Risikomanagement Cloud-Cloud-Sentimentanalyse Cloud FX Analytics 36 37 Inter-Cloud-Konnektivität oder XaaS-Compliance als Dienstleistung Externe Cloud-Clearance als Dienstleistungs-Service Dienstleistungs-Service-Service-Webserver Regulatory Auditing als Dienstleistungsrisikomanagement als Service ipaas websocket Internet Service Bus Enterprise Enterprise Service Bus Service Service 37 38 Eventbasierte XaaS Alles als Service in Echtzeit-Monitoring als Service WAN-Optimierung als Service-Rechenzentrum als Service-CDN als Service-Sentimentanalyse als Service-Datenbank als Service Security als Service EAI als Service-Identität als Service-Integration als Service Enterprise Messaging als Service-Backup als Service Risk Analytics als Service-Trade-Clearance als Service-Audit als Service-Governance als Service-Test als Service-Windows-Desktop als Service-Netzwerk Als Service-Benachrichtigung als Service-Analytik als Servicetelefonie als Service 38 39 Global Distribution Next Generation CDN 41 Enterprise-Qualitätsmerkmale WebSocket IETF RFC-Konformität Keine Geschäftslogik im Gateway - kann sicher in DMZ installiert werden Erweiterung des Browsers als vollständiger Enterprise-Client JMS Themen, Warteschlangen, Durables, Acks für garantierte msgs JMS Edition Funktioniert mit jedem JMS-Provider - kein Broker-Lock-In Secure Services können alle eingehenden Ports schließen End-to-End verschlüsselte Nachrichten für mehrere DMZs Vollständige JMS-API für JavaScript,.NET, Flash , Ios, Android (in Kürze) Granular Client Timeouts für Mobiltelefone zur Erkennung von Offline-ios-apns amp Android GCM-Integration Kerberos über WS Keine Server-Side-API für Messaging für Legacy-Integration erforderlich Emulation, wenn Intermediate blockieren native WS AuthN AuthZ und SSO-Integration 24x7 Global Support Kann mit jeder TCP - oder UDP-Datenquelle verbunden werden Bandbreitenkontrolle Emuliert das WebSocket-Protokoll für alte Browser ohne AbfrageQCon ist eine praxiserprobte Konferenz, die für technische Teamleitungen, Architekten und Projektmanager entwickelt wurde, die Software-Innovation in ihren Teams beeinflussen. Präsentation: Tweet Hochleistungs-Messaging für Web-basierte Handelssysteme Track: Finanzen (Design amp Architecture) Zeit: Donnerstag 14:30 - 15:20 Location: Elizabeth Windsor Bis vor kurzem war der Netzwerk-Stack des Legacy-Web für ungeeignet für - Timequot-Handel und Auktion-basierte Anwendungen. Aber jetzt haben wir jetzt WebSocket, die eine persistente Verbindung ermöglicht, Netzwerk-Vermittler durchquert, ein verschlüsseltes Geschwister besitzt, Legacy-Web-kompatibel ist, Standard-Ports 80 443 verwendet und andere herkömmliche Protokolle auf Applikationsebene über das Internet ermöglicht. Und wie sein Name schon sagt, ist er strombasiert und erfordert Systemingenieure, um gut definierte Protokolle für Anwendungen zu erstellen und zu portieren. Diese Präsentation untersucht WebSocket und wie Trading-Systeme entwickelt werden können, um dieses neue Web-Protokoll für die Zuverlässigkeit, Sicherheit und Leistung für Desktop-, Mobil-, Rechenzentrum und Cloud-Umgebungen nutzen. Frank Greco, Tweet Direktor für Technologie, Kaazing Corporation Biografie: Frank Greco Frank D. Greco ist der Direktor für Technologie für Kaazing Corporation. Er ist verantwortlich für die Cloud-Computing-Strategie von Kaazing und leitet Kunden mit neuen Technologieansätzen, die den Nutzen der Erweiterung von Anwendungsprotokollen über das Internet nutzen und wie der neue Webkommunikations-Stack eine Schlüsselkomponente ist. Frank verfügt über langjährige Erfahrung in IT-Projekten seit über 15 Jahren und hat auf globaler Architektur, Grid Cloud Computing, innovativen Benutzeroberflächen und Mobile Computing gearbeitet. Frank ist seit vielen Jahren von Sun Oracle als java Championquot benannt und leitet die NYJavaSIG (größte Java User Group in Nordamerika) und die NYHTML5 User Groups.

No comments:

Post a Comment