HTML5 Die Zukunft von OpenROAD Roy Deal Simon Consolidate Systems, LLC [email protected] 1 Consolidate Systems • Neuunternehmen • Mission: Code Modernizierung • Partner mit Ingres: Transforge v2.0 2 eClients: Problemen • Globales Windows Register • Erfordert Vervaltungsprivilegien • Kein Citrix, Terminal Services • CAB Dateien • Zertifikaten laufen jährlich aus • Benutzer können Upgrades ablehnen 3 LoadnRun • Keine Verwaltungsprivilegien notwendig • Citrix, Terminal Services • Updates sind transparent • Mehrere Versionen gleichzeitig installieren • Von Ingres OpenROAD Core team adoptiert 4 Das Web • Bereitsstellung ohne Mühe • Business-to-Business • Handys & Tabletten • Mac OSX 5 Der Plan • In OpenROAD entwickeln... • Workbench 5.1 gibt XML aus • XML => Web Anwendung • Klientseiter Code => JavaScript • Klientseite Frames => HTML & CSS • Web Anwendung => Web Server • Geschäftslogik kann im OpenROAD Server bleiben 6 HTML5: Web Platform • Virtuelle Machinen: JVM, CLR, V8 • V8: Browsers, Handys, Node.js... • Systemsprache: Java, C#, JavaScript • API: Java, .NET, HTML5 • Sondersprachen für jeden Zweck: • F#, Scala, Clojure, JRuby, IronPython... 7 JavaScript als “ByteCode” • HotRuby, Pyjama, Script#, ClojureScript • CoffeeScript • Einfache Erneuerung • Von Ruby on Rails adoptiert • Java: Google Web Toolkit • Funktioniert, aber ach du lieber! 8 Web Architektur LOGIK DATEN 9 JS Web Architektur DATEN LOGIK 10 Desktop Architektur DATEN LOGIK 11 Backbone.js OpenROAD • • • HTML5 JavaScript Web Framework 700 LoC Benutzt von LinkedIn, 37Signals, GroupOn u.a 12 OpenROAD: UserClass 13 Backbone: Model 14 OpenROAD: Frames OpenROAD Tabelle: CurObject.Loans DataType = Loan 15 Backbone: Views Backbone.js 16 Ereignisse & Validierung OpenROAD: HTML5: 17 Qualen • Bias • Focus Behavior • Tasten Ereignisse • Objekt Orientiering 18 HTML5: Direkt Text Editiern 19 HTML5: Direkt Text Editiern <td contenteditable="true">OOPS!</td> Mann kann Text eintragen ohne Web Formulare 20 HTML5: Offline Mode • Manifest automatisch generiert • 5mb Speichern pro Frame • Automatische Synkronisierung • Klientseite Geschäftlogik 21 Vermutungen • Workbench 5.1 • 3 Tier Architektur • Kein Ingres/NET in den Klienten • Kein 1:1 Übersetzung 22 Status: September 2011 • OpenROAD Parser (ANTLR) • Generator: JavaScript (ECMAScript 3) • Generator: HTML/CSS • OpenROAD Anwendungsserver 23 Als Nächstes • OpenROAD Systemklassen • Ungebrauchtes Code löschen • Internet Explorer 6, 7, 8, 9 • Vielleicht Kommentare bewahren? • Beta: Weinacht 2011 24 Zusammenfassung • Kein Ruby on Rails Killer... • Bereitsstellung ohne Mühe • Im Workbench entwickeln, zum Web verteilen • Geschäftslogik kann auf Server bleiben • Ich mogel wo ich kann... 25 Die Einfachheit von OpenROAD Die Reichweite von JavaScript Roy Deal Simon Consolidate Systems, LLC [email protected] 26