Agenda. About Me JDriven The case : Westy Tracking Background Architecture Implementation Demo
|
|
- Vernon Nelson
- 5 years ago
- Views:
Transcription
1 y t s e W g n i k c a r T and l a v a j # 6 1 h c r 8 Ma
2 Agenda About Me JDriven The case : Westy Tracking Background Architecture Implementation Demo
3 About me Proud dad of two kids and a '82 VW Westy T3 Joker Founder and managing partner of JDriven Love to code, solder and surf
4 About JDriven 30+ highly skilled colleagues who love to code Specialized in all aspects of enterprise development on the JVM and within the browser Key players in projects of top 100 organization in the Netherlands as developer, architect, advisor and coach Organization focused on optimizing personal growth
5 Before we start We only have 35 minutes left
6 Westy Tracking + = Westy Tracking Platform Show actual details Show trip details Plot actual position & trip on map
7 Westy Tracking : Tracker Specifications GSM Quad-band Frequency GPS chipset Realtime tracking by SMS/GPRS Overspeed Alarm, ACC anti-theft alarm, SOS alarm Real-time voice monitoring Two-Way radio calling Built-in backup battery to realize power failure alarm Device lights turn into sleep mode after 5 minutes Cut vehicle oil or circuit using a relay GPRS Protocol Specification available (sort of) $25
8 Tracker Protocol : Westy Tracking Login: D D 06 0D 0A Login reply: EB 47 0D 0A Location: F 12 0B 08 1D 11 2E 10 CF 02 7A C7 EB 0C F 01 CC D 00 1F B D 0A Location reply: F 0D 0A Not that well documented ;) 22º =(22X )X3000=
9 Reactive
10 Classic architecture Sends tracker data [ TCP ] Requests page [ HTTPS ] Data Receiver Tracker Website Receives GPS Data, Shows devices, locations, trips and map Requests data [ JDBC ] Stores data [ JDBC ] Trip Detector Periodically Detects trips Database PostGis Requests and stores data [ JDBC ] Geocoder Requests and stores data [ JDBC ] Periodically reverse geocodes locations Westy Tracker Platform system boundary Requests Geocoding information [ HTTP ]
11 Modern architecture Sends tracker data [ TCP ] Location [ Event ] [ WebSockets (Trip & Location Events) ] Trip Detector Trip [ Event ] [ HTTPS ] Tracker Website Shows devices, locations, trips and map Detects trips Data Receiver Receives GPS Data Location [ Event ] Enriched Location [ Event ] Location Enrich. Enriches locations Location [ Event ] Enrich Location Request [ Event + Response ] Geocoder Store Requests Geocoding information [ HTTP ] Periodically reverse geocodes locations Redis Westy Tracker Platform system boundary
12 Technologies applied
13 Vert.x A lightweight, high performance application platform for the JVM Polyglot Java, JavaScript, Ruby, Python, Groovy, Clojure, Codox, Scala Simple Small core with APIs for async: HTTP/HTTPS, WebSockets, DNS, FileSystem, Scheduling Extensible Lots of additional features available your application platform
14 Vert.x : s Vert.x executable: Single file or class Communicates with other s using the EventBus Multiple Instances of s can be deployed Single-threaded, don t block the event loop (use Worker s instead) import io.vertx.core.abstract; public class Server extends Abstract { public void start() { vertx.createhttpserver().requesthandler(req -> { req.response().putheader("content-type", "text/plain").end("hello from Vert.x!"); }).listen(8080); } }
15 Vert.x : Core UDP, TCP & HTTP clients and servers Shared data - local maps and clustered distributed maps Periodic and delayed actions Handling deployment DNS client File system access The Event bus High availability & Clustering
16 Vert.x : Core : Eventbus Async Message Bus Message payload: Simple, String, Buffers or JSON Custom using codecs Message patterns: Publish / subscribe Point to point Timeout JavaScript Bridge Distributed No guarantees EventBus eb = vertx.eventbus(); // Send a message eventbus.send("javaland.news", "It s awsome!"); // Receive the message eb.consumer("javaland.news", message -> { System.out.println("Update: " + message.body()); });
17 Vert.x : Other extensions Web Routing, SockJS (event bus bridge), templating Data access MongoDB, Redis, JDBC, SQL,... Integration Mail, Stromp, JCA,... Authentication and Authorisation JWT, Shiro, OAuth2,... Services...
18 Vert.x : Upgraded to Vert.x 3 Easier to run, deploy and test Less a container, more embeddable Introduction of Vert.x Web and other extensions Java 8 instead of Groovy It rules!
19 Vert.x : Westy : Overview Tracker s Tracker Tcp Connection Tracker Protocol Tracker Persistence Main Location s Location Enriching Reverse Geocoding GeoHash Location Persistence Trip s Web Trip Detection Trip Persistence
20 Vert.x : Westy : Tracker Tcp Connection Tracker s Tracker Tcp Connection Tracker Protocol Tracker Persistence Main Location s Location Enriching Reverse Geocoding GeoHash Location Persistence Trip s Web Trip Detection Trip Persistence
21 Vert.x : Westy : Tracker Tcp Connection public class TrackerTcpConnection extends Abstract { public void start() throws Exception { vertx.createnetserver().connecthandler(connection -> { String socketid = connection.writehandlerid(); connection.handler(buffer -> { JsonObject messagebody = createmessagebody(socketid, buffer); vertx.eventbus().publish("tracker.tcp.in", messagebody); }); }).listen(port, host); } }
22 Vert.x : Westy : Location Enriching Tracker s Tracker Tcp Connection Tracker Protocol Tracker Persistence Main Location s Location Enriching Reverse Geocoding GeoHash Location Persistence Trip s Web Trip Detection Trip Persistence
23 Vert.x : Westy : Location Enriching vertx.eventbus().consumer("tracker.location", message -> {... Future<JsonObject> geohashfuture = Future.future(); Future<JsonObject> reversegeocodingfuture = Future.future(); vertx.eventbus().send("tracker.location.geohash", message.body(), geohashresult -> { if (geohashresult.succeeded()) { geohashfuture.complete((jsonobject) geohashresult.result().body()); } else { geohashfuture.fail(geohashresult.cause()); } }); DeliveryOptions deliveryoptions = new DeliveryOptions().setSendTimeout(TIMEOUT); vertx.eventbus().send("tracker.location.reversegeocode", message.body(), options, rgresult -> { if (rgresult.succeeded()) { reversegeocodingfuture.complete((jsonobject) rgresult.result().body()); } else { reversegeocodingfuture.fail(rgresult.cause()); } }); });
24 Vert.x : Westy : Location Enriching (2) CompositeFuture.all(geoHashFuture, reversegeocodingfuture).sethandler(combinedresult -> { JsonObject enrichedpayload = ((JsonObject)message.body()).copy(); if (geohashfuture.succeeded()) { enrichedpayload.put("geohash", geohashfuture.result().getstring("geohash")); if (reversegeocodingfuture.succeeded()) { enrichedpayload.put("location", reversegeocodingfuture.result()); } else { logger.warn("reversegeocode failed, continue without", reversegeocodingfuture.cause()); } vertx.eventbus().publish("tracker.location.enriched", enrichedpayload); } });
25 Redis : Key Features Key-value cache and store Optional persistence to disk More a data structure server, the value can contain different types It also supports transactions, publish / subscribe and Time-to-Live Clients available for virtually every language
26 Redis : Data Types String List Collections of string elements sorted according to the order of insertion. Set Collections of unique, unsorted string elements. Sorted Set Similar to Sets but where every string element is associated to a floating number value, called score. Hash Maps composed of fields associated with values. Both the field and the value are strings.
27 Redis : Data Types : String > SET hello westy OK > GET hello "westy"
28 Redis : Data Types : List > LPUSH mylist T # Push at head (integer) 1 > LPUSH mylist S E W # Push multiple at head (integer) 4 > RPUSH mylist Y (integer) 5 > LRANGE mylist 0-1 1) "W" 2) "E" 3) "S" 4) "T" 5) "Y" # Push at tail
29 Redis : Data Types : Set > SADD myset M Y W E S T Y (integer) 6 > SMEMBERS myset 1) "M" 2) "Y" 3) "E" 4) "T" 5) "S" 6) "W"
30 Redis : Data Types : Sorted Set > ZADD transporter:types 1990 "VW T4" (integer) 1 > ZADD transporter:types 1950 "VW T1" (integer) 1 > ZADD transporter:types 1979 "VM T3" (integer) 1 > ZADD transporter:types 1967 "VW T2" (integer) 1 > ZRANGE transporter:types 0-1 1) "VW T1" 2) "VW T2" 3) "VM T3" 4) "VW T4"
31 Redis : Data Types : Hash > HMSET vw:1000 license aa-bb-cc buildyear 1977 verified 1 OK > HGET vw:1000 license "aa-bb-cc" > HGET vw:1000 buildyear "1977" > HGETALL vw:1000 1) "license" 2) "aa-bb-cc" 3) "buildyear" 4) "1977" 5) "verified" 6) "1"
32 Redis : Westy : Include Redis Dependency (Gradle) compile "io.vertx:vertx-redis-client:${vertx.version}" Initialization () RedisOptions redisoptions = new RedisOptions(config().getJsonObject("redis")); redisclient = RedisClient.create(vertx, redisoptions); Configuration (platform.json) { "redis": { "address": "spotwatch.redis", "host": "redis", "port": 6379, "encoding": "UTF-8" } }
33 Redis : Westy : Store location details vertx.eventbus().consumer("tracker.location.enriched", message -> { JsonObject messagebody = (JsonObject) message.body(); Long receivedat = messagebody.getlong("receivedat"); String deviceid = messagebody.getstring("deviceid"); // Store location information at tracker:<deviceid>:location:receivedat redisclient.zadd(gettrackerlocationskey(deviceid), receivedat, messagebody.encode(), result -> { message.reply(result.result()); }); // Store received at tracker:<deviceid>:location:geohash using the geohash as key redisclient.hset( gettrackerlocationsgeohashkey(deviceid), messagebody.getstring("geohash"), String.valueOf(receivedAt), result -> { message.reply(result.result()); } ); });
34 AngularJS : Key Features Declarative HTML approach Two way Data Binding MVC/MVVM Design Pattern Dependency Injection Routing Reusable Components: Modules, Services, Directives, Built-in end to end Integration Testing / Unit Testing
35 AngularJS : Westy : Web public class Web extends Abstract { public void start() throws Exception { Router router = Router.router(vertx); router.route().handler(statichandler.create(webconfig.getstring("webroot"))); SockJSHandler sockjshandler = SockJSHandler.create(vertx, new SockJSHandlerOptions()); PermittedOptions permitted = new PermittedOptions().setAddressRegex("web\\..+"); sockjshandler.bridge(new BridgeOptions().addInboundPermitted(permitted).addOutboundPermitted(permitted) ); router.route("/eventbus/*").handler(sockjshandler); HttpServer server = vertx.createhttpserver(); server.requesthandler(router::accept).listen(port, host); } }
36 AngularJS : Westy : AngularJS angular.module('frontendapp').controller('mainctrl', function (..., vertxeventbusservice) { // Register eventbus system handlers $rootscope.$on('vertx-eventbus.system.connected', function () { console.log('eventbus connected') $scope.connected = true; requestinitialdata(); }); $rootscope.$on('vertx-eventbus.system.disconnected', function () { console.log('eventbus disconnected'); $scope.connected = false; }); var requestinitialdata = function () { vertxeventbusservice.send('web.devices.request').then(function (devicesdata) { _.each(devicesdata, function (device) { $scope.devices[device.id] = device; }); }); }; // Register functionality related handler(s) vertxeventbusservice.on('web.device.location', function (location) { $scope.devicelocations[location.deviceid] = location; });
37 AngularJS : Westy : AngularJS : D3 & Leaflet D3 <nvd3-multi-bar-horizontal-chart data="activespeedgraph" showvalues="true" objectequality="true"> <svg></svg> </nvd3-multi-bar-horizontal-chart> Leaflet <leaflet height="600" center="mapcenter" markers="devicemarkers" paths="trippaths"> </leaflet>
38 Westy : Last remarks Focus on dev and ops experience using specialized tools but fully integrated Gradle build Vert.x is simple if it fit s your needs Vert.x 3 rules, try it! Not everything is reactive, watch the arrows
39 Demo
40 Q&A
41 Thank you for your attention You really should experience
Agenda. Introduction You Me JDriven The case : Westy Tracking Details Implementation Deployment
y t s e W g n i k c a r T e p o r u mmit E u S y r d un o F 6 d 1 u h t Clo 8 2 r e b m Septe Agenda Introduction You Me JDriven The case : Westy Tracking Details Implementation Deployment About you About
More informationA T O O L K I T T O B U I L D D I S T R I B U T E D R E A C T I V E S Y S T E M S
VERT.X A T O O L K I T T O B U I L D D I S T R I B U T E D R E A C T I V E S Y S T E M S CLEMENT ESCOFFIER Vert.x Core Developer, Red Hat V E R T. X I S A T O O L K I T T O B U I L D D I S T R I B U T
More informationRedis Functions and Data Structures at Percona Live. Dave Nielsen, Developer Redis
Redis Functions and Data Structures at Percona Live Dave Nielsen, Developer Advocate dave@redislabs.com @davenielsen Redis Labs @redislabs Redis = A Unique Database Redis is an open source (BSD licensed),
More informationHigh performance reactive applications with Vert.x
High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved
More informationHigh performance reactive applications with Vert.x
High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved
More informationDatabase Solution in Cloud Computing
Database Solution in Cloud Computing CERC liji@cnic.cn Outline Cloud Computing Database Solution Our Experiences in Database Cloud Computing SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure
More informationLECTURE 27. Python and Redis
LECTURE 27 Python and Redis PYTHON AND REDIS Today, we ll be covering a useful but not entirely Python-centered topic: the inmemory datastore Redis. We ll start by introducing Redis itself and then discussing
More informationAWS Lambda + nodejs Hands-On Training
AWS Lambda + nodejs Hands-On Training (4 Days) Course Description & High Level Contents AWS Lambda is changing the way that we build systems in the cloud. This new compute service in the cloud runs your
More informationGoing Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke
Going Reactive Reactive Microservices based on Vert.x JavaLand Kristian Kottke Whoami Kristian Kottke Lead Software Engineer -> iteratec Interests Software Architecture Big Data Technologies Kristian.Kottke@iteratec.de
More informationModern app programming
Modern app programming with RxJava and Eclipse Vert.x #QConSP @vertx_project Who am I? Vert.x core team member since 2016 Working at since 2012 Contributing specifically to monitoring and clustering @tsegismont
More informationRedis Func+ons and Data Structures
Redis Func+ons and Data Structures About This Talk Topic : Redis Func/ons and Data Structures Presenter: Redis Labs, the open source home and provider of enterprise Redis About Redis Labs: 5300+ paying
More informationComet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios
Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket
More informationErwin de Gier Creating a polyglot test framework with reactive technology
Erwin de Gier Creating a polyglot test framework with reactive technology github.com/erwindeg @erwindeg edegier.nl SQL Client FTP Client SOAP UI XML Compare < /> SQL Client FTP Client SOAP UI XML Compare
More informationDesign and Architecture. Derek Collison
Design and Architecture Derek Collison What is Cloud Foundry? 2 The Open Platform as a Service 3 4 What is PaaS? Or more specifically, apaas? 5 apaas Application Platform as a Service Applications and
More informationNoSQL: Redis and MongoDB A.A. 2016/17
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica NoSQL: Redis and MongoDB A.A. 2016/17 Matteo Nardelli Laurea Magistrale in Ingegneria Informatica -
More informationTen interesting features of Google s Angular Project
Ten interesting features of Google s Angular Project - 1 Ten interesting features of Google s Angular Project Copyright Clipcode Ltd 2018 All rights reserved Ten interesting features of Google s Angular
More informationDeveloping Microsoft Azure Solutions (70-532) Syllabus
Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages
More informationSog o e g t e i J a J v a a
Graduation @ Sogeti Java Java EE, REST, AngularJS, Code generation, Websockets, NoSQL Erwin de Gier Sogeti Java CoE Amsterdam, September 2015 WhoAmI Erwin de Gier Software Architect Coach Young Professionals
More informationMaking Sense of your Data
Making Sense of your Data Building A Custom DataSource for Grafana with Vert.x Gerald Mücke DevCon5 GmbH @gmuecke About me 3 IT Consultant & Java Specialist at DevCon5 (CH) Focal Areas Tool-assisted quality
More informationMaking Sense of your Data BUILDING A CUSTOM MONGODB DATASOURCE FOR GRAFANA WITH VERTX
1 Making Sense of your Data BUILDING A CUSTOM MONGODB DATASOURCE FOR GRAFANA WITH VERTX About me 2 IT Consultant & Java Specialist at DevCon5 (CH) Focal Areas Tool-assisted quality assurance Performance
More informationZD-VT1 User Guide. ZENDA GPS Tracker ZD-VT1 User Guide
ZENDA GPS Tracker ZD-VT1 User Guide Change History File Name ZD-VT1 User Guide Created By Kyle Lv Product ZD-VT1 Creation Date 2016-01-08 Update Date 2016-02-02 Subproject User Guide Total Pages 16 Version
More informationDeveloping Microsoft Azure Solutions (70-532) Syllabus
Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages
More informationReactive Programming with Vert.x
Reactive Programming with Vert.x Embrace asynchronous to build responsive systems Clement Escoffier Principal Software Engineer, Red Hat Reactive The new gold rush? Reactive system, reactive manifesto,
More informationGSM/GPRS/GPS TRACKER USER MANUAL
GSM/GPRS/GPS TRACKER USER MANUAL Thank you for purchasing the tracker. This manual shows how to operate the device smoothly and correctly. Make sure to read this manual carefully before using this product.
More informationArcGIS for Server: Administration and Security. Amr Wahba
ArcGIS for Server: Administration and Security Amr Wahba awahba@esri.com Agenda ArcGIS Server architecture Distributing and scaling components Implementing security Monitoring server logs Automating server
More informationVehicle GPS Tracker (GSM+GPS+SMS/GPRS) TS10 User Manual (Version 1.1)
Vehicle GPS Tracker (GSM+GPS+SMS/GPRS) TS10 User Manual (Version 1.1) IndexContents 1. Package Contents... 3 2. Features and Specifications...3 3. Knowledge before Usage... 3 3.1 Factory Default Setting...
More informationPubNub Training Webinar. Introduction to PubNub JavaScript SDK
PubNub Training Webinar Introduction to PubNub JavaScript SDK Course Agenda Participation What is PubNub? JavaScript API Resources Upcoming Events Q & A What is PubNub? Globally distributed Realtime Data
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationMasters in Web Development
Masters in Web Development Accelerate your carrer by learning Web Development from Industry Experts. www.techgrad.in India s Leading Digital marketing Institute India s Leading Accademy 12,234+ Trainees
More informationCopyright 2013, Oracle and/or its affiliates. All rights reserved. CON-7777, JMS and WebSocket for Lightweight and Efficient Messaging
1 JMS and WebSocket for Lightweight and Efficient Messaging Ed Bratt Senior Development Manager, Oracle Amy Kang Consulting Member Technical Staff, Oracle Safe Harbor Statement please note The following
More informationTransitioning from C# to Scala Using Apache Thrift. Twitter Finagle
Transitioning from C# to Scala Using Apache Thrift and Twitter Finagle Steven Skelton September 19, 2013 Empathica Empathica provides Customer Experience Management programs to more than 200 of the world's
More informationInternet Connectivity with
Internet Connectivity with Introduction The purpose of this workshop is to help you g et acquainted with the basics of internet connectivity by leveraging ARM mbed tools. If you are not already familiar
More informationIs OSGi Modularity Always Worth It? Glyn Normington
Is OSGi Modularity Always Worth It? Glyn Normington Agenda Costs and benefits Case studies When is OSGi worth it? OSGi Benefits Encapsulated module internals Easier to understand, maintain, and extend
More informationScalable Time Series in PCP. Lukas Berk
Scalable Time Series in PCP Lukas Berk Summary Problem Statement Proposed Solution Redis Basic Types Summary Current Work Future Work Items Problem Statement Scaling PCP s metrics querying to hundreds/thousands
More informationOpen Source Library Developer & IT Pro
Open Source Library Developer & IT Pro Databases LEV 5 00:00:00 NoSQL/MongoDB: Buildout to Going Live INT 5 02:15:11 NoSQL/MongoDB: Implementation of AngularJS INT 2 00:59:55 NoSQL: What is NoSQL INT 4
More informationContainers, Serverless and Functions in a nutshell. Eugene Fedorenko
Containers, Serverless and Functions in a nutshell Eugene Fedorenko About me Eugene Fedorenko Senior Architect Flexagon adfpractice-fedor.blogspot.com @fisbudo Agenda Containers Microservices Docker Kubernetes
More informationFull Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker
Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker 02.03.2017 About Myself DR. ALEXANDER FRIED Chief Technology Officer 2 OUR SOLUTIONS DIGITAL ASSET MANAGEMENT Organize & Share Any File, Any Format,
More informationSmashing Node.JS: JavaScript Everywhere
Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing
More informationDeveloping Microsoft Azure Solutions (70-532) Syllabus
Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages
More informationCopyright 2014, Oracle and/or its affiliates. All rights reserved.
1 Oracle Mobile Suite an Overview Vincent Hu Principal Sales Consultant Oracle Mobile Suite Everything you need to mobile enable enterprise applications in one package One Platform, Any App, Any Data,
More informationAdventures with BaseX and web applications. Andy Feb 2013
Adventures with BaseX and web applications Andy Bunce @apb1704 Feb 2013 BaseX and the Web GraphXQ RESTXQ + Graphviz ( Using a PaaS ) CellarXQ Angular.js + OAuth BaseX with Node.js + events RESTXQ http://docs.basex.org/wiki/restxq
More informationTutorial 8 Build resilient, responsive and scalable web applications with SocketPro
Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro Contents: Introduction SocketPro ways for resilient, responsive and scalable web applications Vertical scalability o
More informationServerless in the Java ecosystem
Serverless in the Java ecosystem Pratik Patel Pratik PateL CTO Triplingo Java Champion JavaScript Troublemaker Python Hacker Founder, PERL recovery group WHAT IS SERVERLESS? ARCHITECTURE ECOSYSTEM SERVERLESS
More informationFront End Programming
Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page
More informationJason Brelloch and William Gimson
Jason Brelloch and William Gimson Overview 1. Introduction 2. History 3. Specifications a. Structure b. Communication c. Datatypes 4. Command Overview 5. Advanced Capabilities 6. Advantages 7. Disadvantages
More informationModern Web Application Development. Sam Hogarth
Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser
More informationANGULAR 2.X,4.X + TYPESRCIPT by Sindhu
ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu GETTING STARTED WITH TYPESCRIPT Installing TypeScript Compiling the code Building a simple demo. UNDERSTANDING CLASSES Building a class Adding properties Demo of
More informationMicroservices with Red Hat. JBoss Fuse
Microservices with Red Hat Ruud Zwakenberg - ruud@redhat.com Senior Solutions Architect June 2017 JBoss Fuse and 3scale API Management Disclaimer The content set forth herein is Red Hat confidential information
More informationLessons learned from real-world deployments of Java EE 7. Arun Gupta, Red
Lessons learned from real-world deployments of Java EE 7 Arun Gupta, Red Hat @arungupta DEVELOPER PRODUCTIVITY MEETING ENTERPRISE DEMANDS Java EE 7! More annotated POJOs! Less boilerplate code! Cohesive
More informationEmbedded type method, overriding, Error handling, Full-fledged web framework, 208 Function defer, 31 panic, 32 recover, 32 33
Index A Alice package, 108, 110 App Engine applications configuration file, 258 259 goapp deploy command, 262 Google Developers Console project creation, 261 project details, 262 HTTP server, 257 258 task
More informationEMPLOYEE LOCATION TRACKING SERVICE
WES T ST R EET AWE SOM E STR EET EMPLOYEE LOCATION TRACKING SERVICE Web & Android OVERVIEW GPS fleet tracking services have been on the market for some years now but with the explosion of smartphone usage,
More informationFuture Web App Technologies
Future Web App Technologies Mendel Rosenblum MEAN software stack Stack works but not the final say in web app technologies Angular.js Browser-side JavaScript framework HTML Templates with two-way binding
More informationReactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved. Prerequisites: Functional Programming as in Java 8 Streams of Java 8 Lambda expressions Method references Expectations
More informationBeBanjo Infrastructure and Security Overview
BeBanjo Infrastructure and Security Overview Can you trust Software-as-a-Service (SaaS) to run your business? Is your data safe in the cloud? At BeBanjo, we firmly believe that SaaS delivers great benefits
More informationThe Reactive Landscape Clement Escoffier, Vert.x Core Developer, Red Hat
The Reactive Landscape http://bit.ly/jfokus-reactive Clement Escoffier, Vert.x Core Developer, Red Hat Reactive all the things??? Elasticity Manifesto Actor System Asynchrony Programming Events 2 Message
More informationServer execution of JavaScript: What could possibly go wrong?
Server execution of JavaScript: What could possibly go wrong? Brian Geffon Staff Software Engineer Hello! 2 Outline Introductions Ø Brief History The paradigm shift Problems! Where we are today Closing
More informationHeroku. Rimantas Kybartas
Heroku Rimantas Kybartas Salesforce platform (PaaS) Facts about Heroku Has been in development since June 2007, 2010 acquired by Salesforce Open platform Languages and frameworks: Ruby and Rails Node.js
More informationHTTP, WebSocket, SPDY, HTTP/2.0
HTTP, WebSocket, SPDY, HTTP/2.0 Evolution of Web Protocols Thomas Becker tbecker@intalio.com 1 Intalio Intalio Jetty Services, Training and Support for Jetty and CometD Intalio BPMS Business Process Management
More informationUsing Node-RED to build the internet of things
IBM Bluemix Using Node-RED to build the internet of things Ever had one of those days Where the Application works! And then Can we also get some data from the this whatchamacallit? And send the logs off
More informationYealink Device Management Platform Quick Start Guide. Applies to version or later
Yealink Device Management Platform Quick Start Guide Applies to version 2.0.0.14 or later Overview Yealink device management platform allows administrators to efficiently realize centralized management
More informationCMPSC 311- Introduction to Systems Programming Module: Systems Programming
CMPSC 311- Introduction to Systems Programming Module: Systems Programming Professor Patrick McDaniel Fall 2013 Patrick McDaniel Professor of Computer Science and Engineering Co-head of Security Group
More informationDr. Chuck Cartledge. 19 Nov. 2015
CS-695 NoSQL Database Redis (part 1 of 2) Dr. Chuck Cartledge 19 Nov. 2015 1/21 Table of contents I 1 Miscellanea 2 DB comparisons 3 Assgn. #7 4 Historical origins 5 Data model 6 CRUDy stuff 7 Other operations
More informationServer-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect
Server-Side JavaScript auf der JVM Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not be
More informationContinuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016
Continuous delivery of Java applications using Oracle Cloud Platform Services Marek Kratky Principal Sales Consultant Oracle Cloud Platform May, 2016 Safe Harbor Statement The following is intended to
More informationBPM + Mobile Building a hybrid mobile app for BPM IBM Corporation
BPM + Mobile Building a hybrid mobile app for BPM Daniel Fitzgerald Technical Sales Specialist Oxford Brookes University Graduate - BSc Mobile Computing daniel.fitzgerald@uk.ibm.com 2 Agenda Why mobile?
More informationSpoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner
Spoilt for Choice Which Integration Framework to choose? Integration vs. Mule ESB vs. Main Tasks Evaluation of Technologies and Products Requirements Engineering Enterprise Architecture Management Business
More informationDistributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014
Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access
More informationWeb Sockets and SignalR Building the Real Time Web
Web Sockets and SignalR Building the Real Time Web DDD South West Saturday 26th May 2012 Chris Alcock Agenda Introduction What is Real Time? Interactive? Web Sockets Who What When How? Examples (Client
More informationGSM/GPRS/GPS Tracker. G05 User Manual
1 GSM/GPRS/GPS Tracker G05 User Manual 2 Contents Quick using... 3 Installation attentions... 3 1. Summary... 4 2. Main functions... 4 3.Specs.... 4 4. Installation instructions... 5 5. Wires connection...
More informationRuby on Redis. Pascal Weemaels Koen Handekyn Oct 2013
Ruby on Redis Pascal Weemaels Koen Handekyn Oct 2013 Target Create a Zip file of PDF s parse csv based on a CSV data file Linear version Making it scale with Redis... zip Step 1: linear Parse CSV std lib
More informationORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX
ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX AdvizeX Technologies - A Rolta Company 6/12/2015 1 AGENDA Introductions Test
More informationCloudI Integration Framework. Chicago Erlang User Group May 27, 2015
CloudI Integration Framework Chicago Erlang User Group May 27, 2015 Speaker Bio Bruce Kissinger is an Architect with Impact Software LLC. Linkedin: https://www.linkedin.com/pub/bruce-kissinger/1/6b1/38
More informationMEITRACK T333 User Guide
MEITRACK T333 User Guide Change History File Name MEITRACK T333 User Guide Created By Owen Cheng Project T333 Creation Date Update Date 2014-06-10 2017-04-06 Subproject User Guide Total Pages 16 Version
More informationEduardo
Eduardo Silva @edsiper eduardo@treasure-data.com About Me Eduardo Silva Github & Twitter Personal Blog @edsiper http://edsiper.linuxchile.cl Treasure Data Open Source Engineer Fluentd / Fluent Bit http://github.com/fluent
More informationAmritansh Sharma
17.12.2018 Amritansh Sharma - 000473628 1 CONTENTS 1 Introduction and Background 3 1.1 Relational Databases 3 1.2 NoSQL Databases 4 1.3 Key Value Stores 5 2 Redis 7 2.1 Redis vs Other Key-Value Stores
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationGPS TRACKING AND TELEMATICS
GPS TRACKING AND TELEMATICS TracksALL is the latest fleet management products from the ProClean Products group of businesses. As we endeavour to fulfil the complete turnkey solutions for our customers
More informationFull Stack boot camp
Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building
More informationSQL Server on Linux and Containers
http://aka.ms/bobwardms https://github.com/microsoft/sqllinuxlabs SQL Server on Linux and Containers A Brave New World Speaker Name Principal Architect Microsoft bobward@microsoft.com @bobwardms linkedin.com/in/bobwardms
More informationMEITRACK MVT340 User Guide
MEITRACK MVT340 User Guide Change History File Name MEITRACK MVT340 User Guide Created By Kyle Lv Project MVT340 Creation Date Update Date 2010-08-24 2017-03-23 Subproject User Guide Total Pages 12 Version
More informationJ2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003
J2EE: Best Practices for Application Development and Achieving High-Volume Throughput Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 Agenda Architecture Overview WebSphere Application Server
More informationA New Model for Image Distribution
A New Model for Image Distribution Stephen Day Distribution, Tech Lead Docker, Inc. stephen@docker.com @stevvooe github.com/stevvooe Overview Why does this matter? History Docker Registry API V2 Implementation
More informationMonitoring Your Operations David Jacob
Monitoring Your Operations David Jacob Jeff Shaner Real-time data Vessels Vehicles Sensors Weather People Challenge of Real-time data How do I visualize real-time data? How can I process and analyze it?
More informationGPS Tracker AT06 manual Ver
GPS Tracker AT06 manual Ver 1.0 20130924 Released 1 / 15 Content 1. Product Over View... 3 2. Features and Specification... 3 2.1 Features... 3 2.2 Specification... 4 2.3 GSM/GPS/Power Led identification...
More informationBackend Development. SWE 432, Fall Web Application Development
Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy
More informationOracle Mobile Application Framework
Oracle Mobile Application Framework Oracle Mobile Application Framework (Oracle MAF) is a hybrid-mobile development framework that enables development teams to rapidly develop single-source applications
More informationMetadata state and history service for datasets
Faculty of Science and Technology Department of Computer Science Metadata state and history service for datasets Enable extracting, storing and access to metadata about a dataset over time. Roberth Hansen
More informationReactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved. Prerequisites: Core Java Lambda Expressions Method references Functional Programming Web - application development
More informationJenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC
Jenkins: A complete solution From Integration to Delivery For HSBC Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz Agenda Why Jenkins? Introduction and some facts about Jenkins Supported
More informationUsing Messaging Protocols to Build Mobile and Web Applications. Jeff Mesnil
Using Messaging Protocols to Build Mobile and Web Applications Jeff Mesnil Jeff Mesnil Software Engineer at Red Hat Core developer on WildFly Application Server, lead for its messaging component Developed
More informationInvestigating Source Code Reusability for Android and Blackberry Applications
Investigating Source Code Reusability for Android and Blackberry Applications Group G8 Jenelle Chen Aaron Jin 1 Outline Recaps Challenges with mobile development Problem definition Approach Demo Detailed
More informationMODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift
MODERN APPLICATION ARCHITECTURE DEMO Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift COOLSTORE APPLICATION COOLSTORE APPLICATION Online shop for selling products Web-based polyglot
More informationKaazing Gateway: An Open Source
Kaazing Gateway: An Open Source HTML 5 Websocket Server Speaker Jonas Jacobi Co-Founder: Kaazing Co-Author: Pro JSF and Ajax, Apress Agenda Real-Time Web? Why Do I Care? Scalability and Performance Concerns
More informationBeyond 1001 Dedicated Data Service Instances
Beyond 1001 Dedicated Data Service Instances Introduction The Challenge Given: Application platform based on Cloud Foundry to serve thousands of apps Application Runtime Many platform users - who don
More informationDeccansoft Software Services
Azure Syllabus Cloud Computing What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages and Disadvantages of Cloud Computing Getting
More informationAngularJS Fundamentals
AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM
More informationOpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers
OpenShift 3 Technical Architecture Clayton Coleman, Dan McPherson Lead Engineers Principles The future of *aas Redefine the Application Networked components wired together Not just a web frontend anymore
More informationBuffering to Redis for Efficient Real-Time Processing. Percona Live, April 24, 2018
Buffering to Redis for Efficient Real-Time Processing Percona Live, April 24, 2018 Presenting Today Jon Hyman CTO & Co-Founder Braze (Formerly Appboy) @jon_hyman Mobile is at the vanguard of a new wave
More informationHigh performance and scalable architectures
High performance and scalable architectures A practical introduction to CQRS and Axon Framework Allard Buijze allard.buijze@trifork.nl Allard Buijze Software Architect at Trifork Organizers of GOTO & QCON
More informationReactive Microservices Architecture on AWS
Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972
More information