The Reactive Landscape Clement Escoffier, Vert.x Core Developer, Red Hat
|
|
- Kory Owen
- 5 years ago
- Views:
Transcription
1 The Reactive Landscape Clement Escoffier, Vert.x Core Developer, Red Hat
2 Reactive all the things??? Elasticity Manifesto Actor System Asynchrony Programming Events 2 Message Spreadsheets Resilience Scalability Back-Pressure Streams Data Flows extensions Asynchronous Observable Reactor Spring RX Java
3 3
4 FAKE! 4
5 FAKE! End of the flow of control? 5
6 FAKE! End of the flow of control? or just the comeback of asynchrony? 6
7 The reactive landscape Manifesto, Actor Messages, Resilience Elasticity, Scalability, Asynchronous Reactive Systems Akka, Vert.x 7 Reactive A software showing responses to stimuli Reactive Programming Streams, Flo ws, Events, Spreadsheet s Asynchrono us Reactor, Reactive Spring, RX, Vert.x Data Flow Back-Pressure Non-Blocking, Asynchronous Reactive Streams Akka Streams, RX v2, Reactor, Vert.x
8 The reactive landscape Manifesto, Actor Messages, Resilience Elasticity, Scalability, Asynchronous Reactive Systems Akka, Vert.x 8 Reactive A software showing responses to stimuli Reactive Programming Streams, Flo ws, Events, Spreadsheet s Asynchrono us Reactor, Reactive Spring, RX, Vert.x Data Flow Back-Pressure Non-Blocking, Asynchronous Reactive Streams Akka Streams, RX v2, Reactor, Vert.x
9 Mind the step Why my simple application is such a mess... My Application Some Software 9 Some Services
10 Modern software is distributed... Remote interactions everywhere My Application Some Software 10 Some Services
11 Distributed systems fail How to stay responsive in face of failures, under varying workload My Application Some Software 11 Some Services
12 Distributed systems fail How to stay responsive in face of failures, under varying workload My Application Some Software 12 Some Services
13 Reactive Systems => Responsive Systems
14 Reactive Manifesto 14
15 Asynchronous message passing Sends to an address 15 Message backbone Subscribes to the address
16 Asynchronous message passing tic as El Message backbone ity Not blocked while waiting for a reply Resilience 16
17 Reactive Systems from the trenches My Application Some Software 17 Some Services
18 Asynchronous development model
19 Asynchronous execution Ideal world Task A Task B Task C Real world Blocking I/O Asynchronous execution 19 Async programming model Non-blocking IO Task-based concurrency
20 Asynchronous, welcome to Hollywood Don t wait, we will call you... Synchronous public int compute(int a, int b) { return...; } int res = compute(1, 2); Asynchronous public void compute(int a, int b, Handler<AsyncResult<Integer>> h){ //... handler.handle(i); } 20 compute(1, 2, res -> { // Called with the // async result });
21 Callbacks for notifications and async actions Web server example vertx.createhttpserver().requesthandler(req -> // Async reaction req.response().end("reactive greetings") ).listen(8080, ar -> { // Async operation //... }); 21
22 Callbacks lead to... Reality check client.getconnection(conn -> { if (conn.failed()) {/* failure handling */} else { SQLConnection connection = conn.result(); connection.query("select * from PRODUCTS", rs -> { if (rs.failed()) {/* failure handling */} else { List<JsonArray> lines = rs.result().getresults(); for (JsonArray l : lines) { System.out.println(new Product(l)); } connection.close( done -> { if (done.failed()) {/* failure handling */} }); } }); } }); 22
23 Reactive Programming... Tame the asynchronous
24 Are you an Excel user? My Expense Report 24 Lunch 15 Coffee 25 Drinks 45 Total 85
25 Are you an Excel user? My Expense Report 25 Lunch 15 Coffee 25 Drinks 45 Total =sum(b2:b4) Observe
26 Streams (a.k.a Observables, Flowables, Publishers) My Expense Report My Expense Report Lunch 15 Coffee 0 Drinks 0 Total Lunch 15 My Expense Report Coffee 25 Lunch 15 Drinks 45 Coffee 25 Total 85 Drinks 0 Total 40 tim e
27 Reactive Programming Publisher and Subscriber
28 Reactive Extension - RX Java 2 Flowable<Integer> obs1 = Flowable.range(1, 10); Flowable<Integer> obs2 = obs1.map(i -> i + 1); Flowable<Integer> obs3 = obs2.window(2).flatmap(mathflowable::sumint); obs3.subscribe( i -> System.out.println("Computed " + i) ); 28
29 Reactive types & Asynchronous Flowable / Observable - Stream of data, Async reaction d d d X? Bounded or unbounded stream of values Data, Error, End of Stream Singles / Maybe - Async operation Stream of one value Data, Error, Completion (maybe) Single Maybe d e d X Completables - Async operation (no return) Stream without a value Completion, Error 29 X e
30 Reactive types & Asynchronous C client.rxgetconnection() // Single(async op).flatmappublisher(conn -> conn.rxquerystream( "SELECT * from PRODUCTS").flatMapPublisher(SQLRowStream::toFlowable).doAfterTerminate(conn::close) ) // Flowable of Rows.map(Product:: new) // Flowable of Products.subscribe(System. out::println); 30 flatmap flatmap Q R R P P map
31 Back pressure & Reactive streams
32 What if the processing can t keep up Streams.getStream().observeOn(Schedulers.computation()).map(i -> { Thread.sleep(100); // I'm slow... return i.getlong("id"); }).blockingsubscribe( x -> System.out.println("Processed:" + x), Throwable::printStackTrace, () -> System.out.println("Completed!") ); 32 J Stream J map Slow processing I J I J
33 Buffer to handle small bumps Streams.getStream().onBackPressureBuffer(10000).observeOn(Schedulers.computation()).map(i -> { Thread.sleep(100); // I'm slow... return i.getlong("id"); }).blockingsubscribe( x -> System.out.println("Processed:" + x), Throwable::printStackTrace, () -> System.out.println("Completed!") ); 33 Stream J J J buffer Slow processing I I J
34 Drop when data loss is acceptable Streams.getStream().onBackPressureDrop().observeOn(Schedulers.computation()).map(i -> { Thread.sleep(100); // I'm slow... return i.getlong("id"); }).blockingsubscribe( x -> System.out.println("Processed:" + x), Throwable::printStackTrace, () -> System.out.println("Completed!") ); 34 Stream Slow processing /dev/null J J I J I J
35 Control Flow and Reactive Streams Streams.getStreamWithBackPressure().observeOn(Schedulers.computation()).map(i -> { Thread.sleep(100); // I'm slow... return i.getlong("id"); }).blockingsubscribe( x -> System.out.println("Processed:" + x), Throwable::printStackTrace, () -> System.out.println("Completed!") ); Publisher J J request(x) Subscriber I Reactive Stream API - Java 9 Flow J I J
36 Back to our database access client.rxgetconnection() // Single(async op).flatmappublisher(conn -> conn.rxquerystream( "SELECT * from PRODUCTS").flatMapPublisher(SQLRowStream:: toflowable).doafterterminate(conn::close) ) // Flowable of Rows.map(Product:: new) // Flowable of Products.subscribe(p -> { // do something slow, but it s fine }); 36 request(x)
37 Eclipse Vert.x Unleash your reactive superpowers VERT.X
38 Asynchronous non-blocking Eclipse Vert.x development models Designed with reactive in mind Vert.x is a toolkit to build distributed and reactive systems Microservice, Web applications, IOT, API Gateway, High-volume event processing, Full-blown backend message bus. 38 Simplified concurrency (event loop) (Clustered) event bus Polyglot (java, scala, kotlin, groovy, ruby, ceylon )
39 Vert.x - the all-in-one toolkit Reactive A software showing responses to stimuli Reactive Systems 39 Reactive Streams Reactive Programming
40 Taming the asynchronous Distributed systems done right My Application Some Software 40 Some Services
41 Reactive Web Application private void add(routingcontext rc) { String name = rc.getbodyasstring(); database.insert(name) // Single (async).subscribe( () -> rc.response().setstatuscode(201).end(), rc::fail ); } private void list(routingcontext rc) { HttpServerResponse response = rc.response().setchunked(true); database.retrieve() // Flowable<Product> (async).subscribe( p -> response.write(json.encode(p) +" \n\n"), rc::fail, response::end); } 41 My Application
42 Orchestrating remote interactions Sequential composition WebClient pricer =... HttpServerResponse response = rc.response().setchunked(true); database.retrieve() // For each row call....flatmapsingle(p -> webclient.get("/prices/" + p.getname()).rxsend().map(httpresponse::bodyasjsonobject).map(json -> p.setprice(json.getdouble("price"))) ).subscribe( p -> response.write(json.encode(p) + " \n\n"), rc::fail, response::end); 42 My Application URL
43 Orchestrating remote interactions Event Bus WebClient pricer =... HttpServerResponse response = rc.response().setchunked(true); database.retrieve() // For each row call....flatmapsingle(p -> vertx.eventbus().<jsonobject>rxsend("pricer", p.getname()).map(message::body).map(json -> p.setprice(json.getdouble("price"))) ).subscribe( p -> response.write(json.encode(p) + " \n\n"), rc::fail, response::end); 43 My Application Address
44 Push data using event bus bridges Web Socket, SSE... String name = rc.getbodyasstring().trim(); database.insert(name).flatmap(...).subscribe( p -> { String json = Json.encode(p); rc.response().setstatuscode(201).end(json); vertx.eventbus().publish("products", json); }, rc::fail); 44 SockJS My Application
45 Executing several operations concurrently database.insert(name).flatmap(p -> { Single<Product> price = getpriceforproduct(p); Single<Integer> audit = sendactiontoaudit(p); return Single.zip(price, audit, (pr, a) -> pr); }).subscribe( p -> { String json = Json.encode(p); rc.response().setstatuscode(201).end(json); vertx.eventbus().publish("products", json); }, rc::fail); 45 My Application
46 Reactive => Build better systems
47 Welcome to an asynchronous world Reactive A software showing responses to stimuli 47 Reactive Systems Reactive Streams Responsive distributed systems Back-Pressure protocol Reactive Programming Asynchronous development model
48 Building Reactive Microservices in Java Use Eclipse Vert.x to build reactive microservices: Explore the elements of reactive microservices and learn how Vert.x works. Build and consume a single microservice to understand how messaging improves its reactiveness. Create an entire microservices system, using stability and resilience patterns to manage failures. Download the book from: clement@apache.org
Reactive 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 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 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 informationBuilding Reactive Microservices in Java
Building Reactive Microservices in Java Asynchronous and Event-Based Application Design Clement Escoffier Beijing Boston Farnham Sebastopol Tokyo Building Reactive Microservices in Java by Clement Escoffier
More informationReaktive Anwendungen mit RxJava. Dr. Michael Menzel
Reaktive Anwendungen mit RxJava Dr. Michael Menzel DIGITALIZATION DIGITALIZATION DIGITALIZATION DIGITALIZATION REACTIVE ARCHITECTURES How can we build highly interactive (responsive) systems, which are
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 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 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 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 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 informationReactive Systems. Dave Farley.
Reactive Systems Dave Farley http://www.davefarley.net @davefarley77 Reactive Systems 21st Century Architecture for 21st Century Problems Dave Farley http://www.davefarley.net @davefarley77 http://www.continuous-delivery.co.uk
More informationWriting Reactive Application using Angular/RxJS, Spring WebFlux and Couchbase. Naresh Chintalcheru
Writing Reactive Application using Angular/RxJS, Spring WebFlux and Couchbase Naresh Chintalcheru Who is Naresh Technology professional for 18+ years Currently, Technical Architect at Cars.com Lecturer
More informationMicroservices. Webservices with Scala (II) Microservices
Microservices Webservices with Scala (II) Microservices 2018 1 Content Deep Dive into Play2 1. Database Access with Slick 2. Database Migration with Flyway 3. akka 3.1. overview 3.2. akka-http (the http
More informationUsing the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver
Using the SDACK Architecture to Build a Big Data Product Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver Outline A Threat Analytic Big Data product The SDACK Architecture Akka Streams and data
More informationIntroduction to reactive programming. Jonas Chapuis, Ph.D.
Introduction to reactive programming Jonas Chapuis, Ph.D. Reactive programming is an asynchronous programming paradigm oriented around data flows and the propagation of change wikipedia Things happening
More informationReactive Java: Promises and Streams with Reakt. Geoff Chandler and Rick Hightower
Reactive Java: Promises and Streams with Reakt Geoff Chandler and Rick Hightower What is Reakt in 30 seconds! Reakt General purpose library for callback coordination and streams Implements JavaScript
More informationDON'T BLOCK YOUR MOBILES AND INTERNET OF THINGS
DON'T BLOCK YOUR MOBILES AND INTERNET OF THINGS Use non blocking I/O for scalable and resilient server applications MAGNUS LARSSON, PÄR WENÅKER, ANDERS ASPLUND 2014-10-23 CALLISTAENTERPRISE.SE AGENDA The
More informationstreams streaming data transformation á la carte
streams streaming data transformation á la carte Deputy CTO #protip Think of the concept of streams as ephemeral, time-dependent, sequences of elements possibly unbounded in length in essence: transformation
More informationGoing Reactive with Spring 5. JavaSkop 18
Going Reactive with Spring 5 JavaSkop 18 Who am I? Java Technical Lead at Seavus 17 years in the industry Spring Certified Professional You can find me at: drazen.nikolic@seavus.com @drazenis programminghints.com
More informationThe SMACK Stack: Spark*, Mesos*, Akka, Cassandra*, Kafka* Elizabeth K. Dublin Apache Kafka Meetup, 30 August 2017.
Dublin Apache Kafka Meetup, 30 August 2017 The SMACK Stack: Spark*, Mesos*, Akka, Cassandra*, Kafka* Elizabeth K. Joseph @pleia2 * ASF projects 1 Elizabeth K. Joseph, Developer Advocate Developer Advocate
More informationSpring MVC 4.x Spring 5 Web Reactive
Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping
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 informationFire Exit Announcement
Fire Exit Announcement Please note the locations of the surrounding emergency exits & located the nearest lit EXIT sign to you In the event of a fire alarm or other emergency, please calmly exit to the
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 informationReactive design patterns for microservices on multicore
Reactive Software with elegance Reactive design patterns for microservices on multicore Reactive summit - 22/10/18 charly.bechara@tredzone.com Outline Microservices on multicore Reactive Multicore Patterns
More informationSpring Framework 5.0 Reactive Web Application
2017 2016 Pivotal Software, Inc. All rights reserved. # Spring Framework 5.0 Reactive Web Application Toshiaki Maki (@making) 2016-05-17 Java Day Tokyo 2017 Who am I? Toshiaki Maki (@making) https://blog.ik.am
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 informationMonolith to Microservices
Monolith to Microservices A Practical Guide to the Journey with RHOAR OpenShift Commons Briefing James Falkner Technical Marketing Manager Red Hat Middleware RELATED OPENSHIFT COMMONS BRIEFINGS commons.openshift.org/events.html
More informationBroken Promises.
Broken Promises kiki @ lightbend @kikisworldrace Data is dangerous Microservices are usually required to cooperate to achieve some end goal. Microservices need to be able to trust each other in order to
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. This time Multithreading for interactivity need and risks Some design patterns for multithreaded programs Debugging multithreaded
More informationAgenda. About Me JDriven The case : Westy Tracking Background Architecture Implementation Demo
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 Agenda About Me JDriven The case : Westy Tracking Background Architecture Implementation Demo About me Proud dad of two kids and a '82 VW Westy
More informationSeptember 15th, Finagle + Java. A love story (
September 15th, 2016 Finagle + Java A love story ( ) @mnnakamura hi, I m Moses Nakamura Twitter lives on the JVM When Twitter realized we couldn t stay on a Rails monolith and continue to scale at the
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 informationBaking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi. Payara Support
Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi Payara Support Engineers @Payara_Fish Who are we? Payara Support @croft Snowboarder Payara Support @omihalyi Proud father What s this all about? How
More informationReactive programming: origins & ecosystem. Jonas Chapuis, Ph.D.
Reactive programming: origins & ecosystem Jonas Chapuis, Ph.D. Timeline Functional Reactive Animation (Fran Library, Haskell) Rx 1.0 for.net, Erik Meijer & team at Microsoft Elm language Rx for Java, Netflix
More informationLessons Learned: Building Scalable & Elastic Akka Clusters on Google Managed Kubernetes. - Timo Mechler & Charles Adetiloye
Lessons Learned: Building Scalable & Elastic Akka Clusters on Google Managed Kubernetes - Timo Mechler & Charles Adetiloye About MavenCode MavenCode is a Data Analytics software company offering training,
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 informationWebTestClient. Version RELEASE
WebTestClient Version 5.0.9.RELEASE WebTestClient is a thin shell around WebClient, using it to perform requests and exposing a dedicated, fluent API for verifying responses. WebTestClient bind to a WebFlux
More informationFour times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow
Four times Microservices: REST, Kubernetes, UI Integration, Async Eberhard Wolff @ewolff http://ewolff.com Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/
More informationReactive App using Actor model & Apache Spark. Rahul Kumar Software
Reactive App using Actor model & Apache Spark Rahul Kumar Software Developer @rahul_kumar_aws About Sigmoid We build realtime & big data systems. OUR CUSTOMERS Agenda Big Data - Intro Distributed Application
More informationUI-Testing, Reactive Programming and some Kotlin.
UI-Testing, Reactive Programming and some Kotlin anders.froberg@liu.se Load up your guns, and bring your friends This is the end, My only Friend, the end Äntligen stod prästen i predikstolen I ll be back
More informationReactive Application Development
SAMPLE CHAPTER Reactive Application Development by Duncan DeVore, Sean Walsh and Brian Hanafee Sample Chapter 7 Copyright 2018 Manning Publications brief contents PART 1 FUNDAMENTALS... 1 1 What is a reactive
More informationFrom Java EE to Jakarta EE. A user experience
From Java EE to Jakarta EE A user experience A few words about me blog.worldline.tech @jefrajames Speaker me = SpeakerOf.setLastName( James ).setfirstname( Jean-François ).setbackgroundinyears(32).setmindset(
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. Last time Model-View-Controller Break up a component into Model of the data supporting the App View determining the look of the
More informationSCALE AND SECURE MOBILE / IOT MQTT TRAFFIC
APPLICATION NOTE SCALE AND SECURE MOBILE / IOT TRAFFIC Connecting millions of devices requires a simple implementation for fast deployments, adaptive security for protection against hacker attacks, and
More informationReactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained @myfear Why is everybody talking about cloud and microservices and what the **** is streaming? Biggest Problems in Software Development High
More informationAsynchronous Programming Demystified
Asynchronous Programming Demystified http://submain.com/webcasts/asynchronous-programming-demystified/ for the webcast recording, slides and demo code download 1/14/2015 Webcast Housekeeping Audio Connect
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 informationThe Road to Reactive with RxJava. Or: How to use non blocking I/O without wanting to kill yourself
The Road to Reactive with RxJava Or: How to use non blocking I/O without wanting to kill yourself Legacy An accomplishment that remains relevant long after a person has died Software is not so lucky
More informationTransforming the Internal IT Landscape with APIs. Scott Cranton Director, Application Platform SAs April 2018
Transforming the Internal IT Landscape with APIs Scott Cranton Director, Application Platform SAs April 2018 AGENDA API Domain Overview (very) Brief Technical Overview How to help your API Program Succeed
More informationPython Asynchronous Programming with Salt Stack (tornado, asyncio) and RxPY
Python Asynchronous Programming with Salt Stack (tornado, asyncio) and RxPY PyCon Korea 2017 Kim Sol kstreee@gmail.com Python Asynchronous Programming with Salt Stack (tornado, asyncio) and RxPY Kim Sol
More informationReactive Streams in the Web. Florian Stefan ebay Classifieds Group GOTO Berlin 2017
Reactive Streams in the Web Florian Stefan ebay Classifieds Group GOTO Berlin 2017 Who am I? Florian Stefan mobile.de (ebay Classifieds Group) https://ebaytech.berlin/ fstefan@ebay.com @f_s_t_e_f_a_n https://github.com/florian-stefan/
More informationAsynchronous stream processing with. Akka streams. Johan Andrén JFokus, Stockholm,
Asynchronous stream processing with Akka streams Johan Andrén JFokus, Stockholm, 2017-02-08 Johan Andrén Akka Team Stockholm Scala User Group Akka Make building powerful concurrent & distributed applications
More informationArchitecture using Functional Programming concepts < + >
Architecture using Functional Programming concepts < + > Jorge Castillo @JorgeCastilloPr 1 2 Kotlin and Functional Programming FP means concern separation (declarative computations vs runtime execution),
More informationIntro to AIS & Orchestrator (IoT) Presented by Terry Dobbs
Intro to AIS & Orchestrator (IoT) Presented by Terry Dobbs Application Interface Services (AIS) DEVICE E1 HTML SERVER Installed much like an E1 HTML Server Deployed via Server Manager to an Oracle WebLogic
More informationSENG3011 Implementation Workshop. More on REST services
SENG3011 Implementation Workshop More on REST services Outline Programmable Web Resource Oriented Architecture REST (video https://www.youtube.com/watch?v=7ycw25phnaa) ROA Properties Service interactions
More informationIntroduction to Distributed Systems
Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]
More informationTECHNICAL WHITE PAPER. Akka A to Z. An Architect s Guide To Designing, Building, And Running Reactive Systems
TECHNICAL WHITE PAPER Akka A to Z An Architect s Guide To Designing, Building, And Running Reactive Systems By Hugh McKee & Oliver White Lightbend, Inc. Table Of Contents Executive Summary... 3 A Little
More informationBuilding reactive services using functional programming. Rachel rachelree.se Jet tech.jet.
Building reactive services using functional programming Rachel Reese @rachelreese rachelree.se Jet Technology @JetTechnology tech.jet.com Taking on Amazon! Launched July 22 Both Apple & Android named our
More informationSwift 5, ABI Stability and
Swift 5, ABI Stability and Concurrency @phillfarrugia Important Documents Concurrency Manifesto by Chris Lattner https: /gist.github.com/lattner/ 31ed37682ef1576b16bca1432ea9f782 Kicking off Concurrency
More informationA Brief History of Distributed Programming: RPC. YOW Brisbane 2016
A Brief History of Distributed Programming: RPC YOW Brisbane 2016 Christopher Meiklejohn Université catholique de Louvain @cmeik christophermeiklejohn.com Caitie McCaffrey Distributed Systems Engineer
More informationebay Marketplace Architecture
ebay Marketplace Architecture Architectural Strategies, Patterns, and Forces Randy Shoup, ebay Distinguished Architect QCon SF 2007 November 9, 2007 What we re up against ebay manages Over 248,000,000
More informationOutline. Interprocess Communication. Interprocess Communication. Communication Models: Message Passing and shared Memory.
Eike Ritter 1 Modified: October 29, 2012 Lecture 14: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK Outline 1 2 3 Shared Memory in POSIX systems 1 Based on material
More informationCS 160: Interactive Programming
CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2
More informationVideo Analytics at the Edge: Fun with Apache Edgent, OpenCV and a Raspberry Pi
Video Analytics at the Edge: Fun with Apache Edgent, OpenCV and a Raspberry Pi Dale LaBossiere, Will Marshall, Jerome Chailloux Apache Edgent is currently undergoing Incubation at the Apache Software Foundation.
More informationJAX-RS 2.1 Reloaded. Santiago Pericas-Geertsen JAX-RS Co-Spec Lead. #jax-rs
JAX-RS 2.1 Reloaded Santiago Pericas-Geertsen JAX-RS Co-Spec Lead #jax-rs @spericas Agenda Reactive Extensions Server-Sent Events Non-Blocking IO #jax-rs @spericas Reactive Extensions #jax-rs @spericas
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 informationExecutive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads.
Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads. Poor co-ordination that exists in threads on JVM is bottleneck
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationChris Bailey Bailey. Emerging Web Application Architectures With Java and Node.js
Chris Bailey IBM Emerging Web Application Architectures With Java and Node.js STSM, IBM Runtime Development 2 @seabaylea 2015 IBM Corporation 1 The Annual Death of Java Developer trend No. 2: Java s decline
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More informationAgenda. 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 informationNODE.JS MOCK TEST NODE.JS MOCK TEST I
http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at
More informationSOA Architect. Certification
SOA Architect Certification SOA Architect The new generation SOACP program from Arcitura is dedicated to excellence in the fields of contemporary service-oriented architecture, microservices, service APIs
More informationNevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation
Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation Microservices Autonomous API Gateway Events Service Discovery Circuit Breakers Commands Aggregates Bounded Context Event Bus Domain Events
More informationDesigning for Scalability. Patrick Linskey EJB Team Lead BEA Systems
Designing for Scalability Patrick Linskey EJB Team Lead BEA Systems plinskey@bea.com 1 Patrick Linskey EJB Team Lead at BEA OpenJPA Committer JPA 1, 2 EG Member 2 Agenda Define and discuss scalability
More informationServerless Architecture Hochskalierbare Anwendungen ohne Server. Sascha Möllering, Solutions Architect
Serverless Architecture Hochskalierbare Anwendungen ohne Server Sascha Möllering, Solutions Architect Agenda Serverless Architecture AWS Lambda Amazon API Gateway Amazon DynamoDB Amazon S3 Serverless Framework
More informationAN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS. Marius Bogoevici Christian Posta 9 May, 2018
AN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS Marius Bogoevici (@mariusbogoevici) Christian Posta (@christianposta) 9 May, 2018 About Us Marius Bogoevici @mariusbogoevici Chief Architect -
More informationAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the Cloud Dean Bryen, Solutions Architect AWS Andrew Wheat, Senior Software Engineer - BBC April 15, 2015 London, UK 2015, Amazon Web Services, Inc. or its affiliates.
More informationEnterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing
Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Jürgen Höller, Principal Engineer, SpringSource 2012 SpringSource, A division of VMware. All rights reserved Deployment Platforms: Becoming
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 informationEDB Ark 2.0 Release Notes
EDB Ark 2.0 Release Notes September 30, 2016 EnterpriseDB Corporation, 34 Crosby Drive Suite 100, Bedford, MA 01730, USA T +1 781 357 3390 F +1 978 589 5701 E info@enterprisedb.com www.enterprisedb.com
More informationJava EE 8 What s coming? David Delabassee Oracle May 17, 2017
Java EE 8 What s coming? David Delabassee - @delabassee Oracle May 17, 2017 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes
More informationHigh Availability Distributed (Micro-)services. Clemens Vasters Microsoft
High Availability Distributed (Micro-)services Clemens Vasters Microsoft Azure @clemensv ice Microsoft Azure services I work(-ed) on. Notification Hubs Service Bus Event Hubs Event Grid IoT Hub Relay Mobile
More informationMOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware
MOM MESSAGE ORIENTED MOM Message Oriented Middleware MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS Peter R. Egli 1/25 Contents 1. Synchronous versus asynchronous interaction
More informationJava with Node.js Powering the Next Generation of Web Applications
Java with Node.js Powering the Next Generation of Web Applications Oracle Code One, Oct 23rd 2018 Chris Bailey Chief Architect, Cloud Native Runtimes @IBM baileyc@uk.ibm.com @Chris Bailey CloudNativeJS.io
More informationMicroservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff
Microservices mit Java, Spring Boot & Spring Cloud Eberhard Wolff Fellow @ewolff What are Microservices? Micro Service: Definition > Small > Independent deployment units > i.e. processes or VMs > Any technology
More informationChapter 3: Processes. Operating System Concepts 8 th Edition,
Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
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 informationEclipse MicroProfile with Thorntail (formerly WildFly Swarm)
Eclipse MicroProfile with Thorntail (formerly WildFly Swarm) John Clingan Senior Principal Product Manager Ken Finnigan Senior Principal Software Engineer EVOLUTION OF MICROSERVICES (2014 -?) Application
More informationThe Rise and Rise of Dataflow in the JavaVerse
The Rise and Rise of Dataflow in the JavaVerse @russel_winder russel@winder.org.uk https://www.russel.org.uk 1 The Plan for the Session Stuff. More stuff. Even more stuff possibly. Summary and conclusions
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 informationParallel Computing Platforms
Parallel Computing Platforms Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationWhich compute option is designed for the above scenario? A. OpenWhisk B. Containers C. Virtual Servers D. Cloud Foundry
1. A developer needs to create support for a workload that is stateless and short-living. The workload can be any one of the following: - API/microservice /web application implementation - Mobile backend
More information1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2011, Oracle and/or its affiliates. All rights Web Services and SOA Integration Options for Oracle E-Business Suite Rajesh Ghosh, Group Manager, Applications Technology Group Abhishek Verma,
More informationAkka Streams and Bloom Filters
Akka Streams and Bloom Filters Or: How I learned to stop worrying and love resilient elastic distributed real-time transaction processing using space efficient probabilistic data structures The Situation
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 and its effect on performance and the development process
MASTER S THESIS LUND UNIVERSITY 2017 Reactive programming and its effect on performance and the development process Gustav Hochbergs Department of Computer Science Faculty of Engineering LTH ISSN 1650-2884
More informationEMBEDDED MESSAGING USING ACTIVEMQ
Mark Richards EMBEDDED MESSAGING USING ACTIVEMQ Embedded messaging is useful when you need localized messaging within your application and don t need (or want) an external message broker. It s a good technique
More informationLightbend Lagom Microservices Just Right. Duncan DeVore Henrik Engström Philly JUG - July 27, 2016
Lightbend Lagom Microservices Just Right Duncan DeVore - @ironfish Henrik Engström - @h3nk3 Philly JUG - July 27, 2016 Lagom - [lah-gome] Adequate, sufficient, just right A great explanation of Lagom:
More information