Estados Financieros Fideicomiso 1401 (FUNO11) Primer Trimestre ...
1401 system 3 google ancos de dados com layouts pr-definidos
-
Upload
nga.nguyen -
Category
Presentations & Public Speaking
-
view
10 -
download
0
description
Transcript of 1401 system 3 google ancos de dados com layouts pr-definidos
![Page 1: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/1.jpg)
Stay ConnectedMobile Pushing Apps mit WebSockets
Alexander SchulzePredrag Stojadinovic
jWebSocket – Open Source Cross-Browser/Cross-Platform WebSocket Solution
![Page 2: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/2.jpg)
Die heutige Session
• Agenda• Kommunikation mit WebSockets
Wo, Was, Warum, Wie, Wohin• WebSocket Server und Browser Client• WebSocket Kommunikation für mobile Apps• Android Demos und Code Beispiele
jWebSocket – Stay Connected 208.09.2010
![Page 3: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/3.jpg)
Apps im Wandel
• Mehr Kommunikation statt reiner Information• Entertainment, sofortiger Erlebnisaustausch
• Wir werden immer mehr online sein• Text, Fotos, Videos, Music, Geo-Location etc.
• Angebote für stationäre und mobile Geräte• Browser-, Desktop- und Mobile-Apps verschmelzen
• WebSockets helfen die User besser zu verbinden
jWebSocket – Stay Connected 308.09.2010
![Page 4: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/4.jpg)
Grundlage WebSockets
• WebSockets sind bidirektional und permanent• Effiziente Echtzeit-Kommunikation statt
umständlichem Request/Response-Protokoll• WebSockets helfen Interoperabilität
herzustellen• Standardisierter Handshake und Paketaustausch
für stationäre und mobile Plattformen• Web und Mobile Apps brauchen...• sichere, zuverlässige und schnelle Kommunikation
jWebSocket – Stay Connected 408.09.2010
![Page 5: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/5.jpg)
Was wir haben: HTTP
• HTTP - designed zur Übertragung von Dokumenten
• Alle umständlichen, nearly realtime Tricks wie...• Polling, Reverse-AJAX• Chunking, Comet etc...
• ...sind letztlich nicht standardisierte Hacks!• HTTP bleibt ein Request/Response
Mechanismus
jWebSocket – Stay Connected 508.09.2010
![Page 6: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/6.jpg)
Nearly Realtime Mechanismen
• Polling• Senden regelmäßiger Anfragen mit sofortiger Antwort• Viele Verbindungen, hohes Volumen, niedrige Effizienz
(insbesondere bei niedriger Datenrate)• Long Polling• Regelmäßige Anfragen mit Offenhalten der Verbindung• Hohes Volumen, 2 Kanäle pro Client, Puffer-Problem,
viele Verbindungen (insbesondere bei hoher Datenrate)
jWebSocket – Stay Connected 608.09.2010
![Page 7: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/7.jpg)
Kosten
• Kalkulation Volumen und Bandbreite HTTP• Annahme: 800 Bytes für Requests + Response (bis
2KB)• 1.000 Clients x 800 Bytes = 800 KB => 6,4 Mbit/s• 10.000 Clients x 800 Bytes = 8 MB => 64 Mbit/s• 100.000 Clients x 800 Bytes = 80 MB => 640 Mbit/s
• Und das nur für‘s Protokoll – ohne Nutzdaten !
jWebSocket – Stay Connected 708.09.2010
![Page 8: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/8.jpg)
WebSockets ?
• WebSockets – Was ist das ?• Bidirektionales Full-Duplex Protokoll
zwischen Browser Clients und WebSocket Server• Ebenso für Desktop oder Mobile Apps verwendbar• Designed für permanente/langhaltende
Verbindungen• Standardisiert in HTML5, W3C-API, IETF-Protokoll
(http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76)
• WebSockets sind TCP – nicht HTTP – basiert !
jWebSocket – Stay Connected 808.09.2010
![Page 9: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/9.jpg)
TCP statt HTTP
• Umfangreiche Freiheiten• Keinerlei Bindung an bestimmte Datenformate• Keinerlei Vorgaben für Inhalte oder Verarbeitung
• Aber auch hohe Verantwortung• Datenformate und Kommunikationslogik
müssen selbst implementiert werden• Ebenso alle Sicherheitsmechanismen !
jWebSocket – Stay Connected 908.09.2010
![Page 10: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/10.jpg)
Verbindungsaufbau
• Handshake
jWebSocket – Stay Connected 1008.09.2010
ClientGET {path} HTTP/1.1Upgrade: WebSocketConnection: UpgradeHost: {hostname}:{port}Origin: http://{host}[:{port}]Sec-WebSocket-Key1: {sec-key1}Sec-WebSocket-Key2: {sec-key2}
8 Bytes generated {sec-key3}
![Page 11: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/11.jpg)
Verbindungsaufbau
• Handshake (Same Origin Policy, IETF Draft #76)
jWebSocket – Stay Connected 1108.09.2010
ClientGET /services/chat/;room=Foyer HTTP/1.1Upgrade: WebSocketConnection: UpgradeHost: jwebsocket.orgOrigin: http://jwebsocket.orgSec-WebSocket-Key1: 4 @1 46546xW%0l 1 5Sec-WebSocket-Key2: 12998 5 Y3 1 .P00
^n:ds[4U
ServerHTTP/1.1 101 WebSocket Protocol HandshakeUpgrade: WebSocketConnection: UpgradeSec-WebSocket-Origin: http://jwebsocket.orgSec-WebSocket-Location: ws://jwebsocket.org/ services/chat
8jKS'y:G*Co,Wxa-
![Page 12: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/12.jpg)
Bidirektionaler Datenaustausch
• Textframes (freigegeben)• 0x00 <UTF8-Textdaten> 0xFF• Keine theoretische Längenbegrenzung,
JavaScript: 4 GB• Binärframes (noch nicht freigegeben)• 0x80-0xFF <Länge> <Binäre Daten>
• Das WebSocket Protokoll lebt!• Aktuell IEFT Draft #76 (Änderungen erwartet)
jWebSocket – Stay Connected 1208.09.2010
![Page 13: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/13.jpg)
WebSockets TCP vs. HTTP
• Kalkulation Volumen und Bandbreite WebSockets• Feststellung: 2 Bytes für Requests + Response• 1.000 Clients x 2 Bytes = 2 KB => 0,016 Mbit/s• 10.000 Clients x 2 Bytes = 20 KB => 0,16 Mbit/s• 100.000 Clients x 2 Bytes = 200 KB => 1,6 Mbit/s
• Protokoll-Overhead: Ein-vierhundert-stel !
jWebSocket – Stay Connected 1308.09.2010
![Page 14: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/14.jpg)
WebSockets – Warum?
• Schneller, billiger, offener• Schlankere Kommunikation (TCP vs. HTTP overhead)
WebSockets ersetzen XHR und Comet schrittweise
• Belegt nur einen Kanal (bidirektional, full-duplex)• Ressourcenschonend und kostenreduzierend,
doppelt so viele Clients gleichzeitig pro Server• Keine Protokollvorgaben oder
Bindung an bestimmte Datenformate
jWebSocket – Stay Connected 1408.09.2010
![Page 15: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/15.jpg)
WebSockets - Wofür
• WebSockets sind die perfekte Basis für...• Online-Games und Online-Collaboration• Remote Control und Monitoring• Streaming und Chat• Soziale Netzwerke• Cluster und Grids
jWebSocket – Stay Connected 1508.09.2010
![Page 16: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/16.jpg)
HTML5 Browser
• WebSockets im Browser
jWebSocket – Stay Connected 1608.09.2010
var lWebSocketClient = new WebSocket("ws://jwebsocket.org:8787"); // tries to open the TCP connection and to exchange handshake
lWebSocketClient.onopen = function(aEvent) { // connection has successfully been established}lWebSocketClient.onmessage = function(aEvent) { // a data packet has completely been received in aEvent.data}lWebSocketClient.onclose = function(aEvent) { // the connection has been terminated}lWebSocketClient.send("Hello World!"); // sends a UTF-8 text message to the server
lWebSocketClient.close(); // terminates the connection
![Page 17: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/17.jpg)
Kompatibilität
• X-Browser und X-Plattform kompatibel• Nativ in Chrome 4/5/6, Firefox 4, Safari 5,
IE 6/7/8, Opera 9/10 und ältere Browsermit FlashBridge
• Clients für Android, Symbian und Blackberry, iPhone ab Dezember 2010
jWebSocket – Stay Connected 1708.09.2010
![Page 18: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/18.jpg)
Token
• jWebSocket Token Modell• Alle Knoten in einem WebSocket Netzwerk
sind von Geburt an erstmal dumm• Alle Beteiligten müssen sich auf eine
gemeinsame Sprache einigen, um eingehende Pakete zu „verstehen“
• Zum Beispiel JSON, XML oder auch CSV• Abstrakt: Datenobjekte, in jWebSocket „Token“
jWebSocket – Stay Connected 1808.09.2010
![Page 19: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/19.jpg)
jWebSocket Server
• Server Infrastruktur• Engines• Tokens• Server• Filter• Plug-Ins• Listener
jWebSocket – Stay Connected 1908.09.2010
![Page 20: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/20.jpg)
jWebSocket JavaScript Client
• Client Infrastruktur• Basis WebSocket Client• Token Client• Erweiterbar mit Plug-Ins
• Features• Connection Management• Session Management• Authentifizierung und Autorisierung
jWebSocket – Stay Connected 2008.09.2010
![Page 21: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/21.jpg)
WebSockets – Wie?
• Fertige Libraries verfügbar (Open Source, LGPL)• Browser Client in JavaScript
jWebSocket.js inkl. FlashBridge und JSON Support• jWebSocket Server
als .jar, .war, .exe oder Service• Client für Java SE z.B. für Swing Desktop Apps• Clients für Android, Symbian und BlackBerry
(iPhone ab Dezember 2010)
jWebSocket – Stay Connected 2108.09.2010
![Page 22: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/22.jpg)
Android - Dalvik VM
• Android Apps in Java• Im Prinzip Java 1.5, inkl. Collections, Annotations etc.• Google‘s eigene Dalvik VM: optimiert für mobile Geräte,
sehr kompakt, aber leider nicht byte-code kompatibel• Wie schon unter Java ME leidlich erfahren:
Write Once Run Everwhere gehört der Vergangenheit an• Spezielle Android Builds der Libraries erforderlich,
eigene re-compilieren, Third-Party Libs im Source
jWebSocket – Stay Connected 2208.09.2010
![Page 23: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/23.jpg)
Low-Level-Interface
• Java Client für Android, Symbian und BlackBerry
jWebSocket – Stay Connected 2308.09.2010
public interface WebSocketClient { void open(String aURL) throws WebSocketException; void send(WebSocketPacket aPacket) throws WebSocketException; void close() throws WebSocketException; boolean isConnected();
void addListener(WebSocketClientListener aListener); void removeListener(WebSocketClientListener aListener);
void notifyOpened(WebSocketClientEvent aEvent); void notifyPacket(WebSocketClientEvent aEvent, WebSocketPacket(aPacket); void notifyClosed(WebSocketClientEvent aEvent);}
![Page 24: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/24.jpg)
Listener
• Gleiches API wie bei den Web Clients
jWebSocket – Stay Connected 2408.09.2010
public interface WebSocketClientListener {
void processOpened(WebSocketClientEvent aEvent);
void processPaket(WebSocketClientEvent aEvent, WebSocketPacket aPacket);
void processClosed(WebSocketClientEvent aEvent);
}
![Page 25: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/25.jpg)
Java WebSocket Client
jWebSocket – Stay Connected 2508.09.2010
![Page 26: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/26.jpg)
Android Demo App
• MainActivity• Listview
• ConfigActivity• URL• Username• Password
jWebSocket – Stay Connected 2608.09.2010
![Page 27: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/27.jpg)
Android Fundamentals
jWebSocket – Stay Connected 2708.09.2010
• WebSocket App• Verbindung aufbauen• Nachrichten empfangen• Nachrichten senden• Nachrichten broadcasten• Verbindung trennen
![Page 28: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/28.jpg)
Android Canvas Demo
• Online-Collaboration• Mehrere Benutzer arbeiten
am gleichen Dokument• Beispiel:
SharedCanvas
jWebSocket – Stay Connected 2808.09.2010
![Page 29: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/29.jpg)
Android - Fotos übertragen
• Imagetransfer• jWebSocket FileSystem Plug-In• Benachrichtigung bei Änderungen• Binärdaten werden Base64
codiert, Optimierung mit neuemBinärprotokoll umgehend erwartet
• http://jwebsocket.org/Snapshot Demo!
jWebSocket – Stay Connected 2908.09.2010
![Page 30: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/30.jpg)
Ausblick
• Wir haben noch viel vor...• SSO und Authentification/Autorisation API• Remote Procedure Calls (RPC)• Cloud API, Smart Grids und Cluster• Shared Objects und FileSharing API• JDBC Bridge und Database API• Externe Service Nodes
jWebSocket – Stay Connected 3008.09.2010
![Page 31: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/31.jpg)
In eigener Sache
• Das jWebSocket Team sucht Unterstützung!• Java EE, SE, ME, JavaScript, Objective C...• Android, Symbian, BlackBerry, iPhone...• Ideen für innovative Apps willkommen!
• Wir bieten...• Umfangreiche Erfahrungen eines internationalen
Teams• Erstklassigen Support für eigene Projekte• Unterstützung beim Aufbau eigener Reputation
jWebSocket – Stay Connected 3108.09.2010
![Page 32: 1401 system 3 google ancos de dados com layouts pr-definidos](https://reader036.fdocuments.co/reader036/viewer/2022062307/5fffae051d643040372c0d7a/html5/thumbnails/32.jpg)
Vielen Dank für Ihre Aufmerksamkeit !
Fragen & AntwortenAlexander Schulze
Predrag Stojadinovic
Forum & Downloadhttp://jwebsocket.org @jWebSocket
jWebSocket – Stay Connected 3208.09.2010