Reactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
|
|
- Arleen Parrish
- 6 years ago
- Views:
Transcription
1 Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
2 Prerequisites: Functional Programming as in Java 8 Streams of Java 8 Lambda expressions Method references
3 Expectations from the participants?
4 Note: The slides are a bit descriptive, because: anybody can use it even after the session without trainer it serves as PPT + study material participants read it silently/aloud during session to maximize participation
5 Teaser begins.
6 Official Reactive Manifesto Responsive Resilient Elastic Message Driven
7 Get the official ribbon!!!
8
9
10
11 Teaser Ends.
12 Trailer begins.
13 Reactive Programming Reactive = showing response to a stimulus Reactive / Responsive Scalable Resilient / fault tolerant Event driven Observable sequences Backpressure Represented using marble diagrams
14 Reactive Programming Async facade - design pattern Asynchronous Ex 1: Do x, y, z after p is done Ex 2: Do p, q after r is started Ex 3:
15 Reactive Programming Polyglot Implemented (Library is available) in.net Scala Clojure JavaScript Ruby Python C++, Groovy, Objective-C/Cocoa etc.
16 Reactive Programming Java Implementations: RxJava from Netflix Spring 5 JSR 166 (headed by Doug Lee) to be implemented in Java 9 Vert.x 3.0
17 What is RxJava? Note : RxJava = Reactive Extensions for Java A library for composing asynchronous and event based programs using observable sequences for the Java VM - Netflix
18 Why Rx? We are not blocked on some operation We will respond to an event as and when we receive the notification of that event When / if the stock price changes, we will be notified. Then only we will take appropriate action If the cricket score changes, we will hear a loud noise, then only look at the screen :)
19 Why Rx? We don t wait for the entire web page to be downloaded to display it Keep pushing the election results as and when the change happens Divide and conquer approach Keep pushing the information like blackberry Users will react to the pushed data
20 Functional Reactive Asynchronous Values Events Push Functional Reactive Lambdas Closures Pure Composable
21 Imperative vs Reactive Iterable Observable pull push T next() onnext(t) throws Exception onerror(exception) returns; oncompleted()
22 Imperative vs Reactive // Iterable<String> contains 379 strings // Observable<String> contains 379 strings myiterable.skip( 16 ) //header.map( s -> s+ _transformed ) //blocking.foreach( e -> System.out.println(e) ); myobservable.skip(16) //header.map( s -> s+" transformed" ) //non-blocking.subscribe( e -> System.out.println(e) );
23 Scenarios: Single Multiple Sync T getdata() Iterable<T> getdata() Async Future<T> getdata() Observable<T> getdata()
24 Trailer Ends!!!
25 Movie Begins...
26 Hello World RxJava
27
28
29
30
31
32
33
34
35
36 Subscriber Subscriber<String> mysubscriber = new Subscriber<String>() public void onnext(string s) { System.out.println(s); public void oncompleted() { System.out.println("Done"); public void onerror(throwable e) { e.printstacktrace(); } };
37 Observable Observable<String> myobservable = Observable.create( new Observable.OnSubscribe<String>() public void call(subscriber<? super String> sub) { sub.onnext("hello, world!"); sub.oncompleted(); } });
38 Connecting code myobservable.subscribe(mysubscriber);
39 HelloWorldRxJava - Demo
40 Communication Protocol One item will be pushed to client during each onnext call at the server side For every onnext call on server, client can execute onnext and receive an item Once server executes, oncompleted or onerror, it will not execute onnext again
41 Communication Protocol Client will not initiate onnext or oncompleted or onerror, but, it is the server onerror signifies that there is some error at the observable s side The observable will call neither oncompleted nor onnext after calling onerror
42 Communication Protocol onnext* (oncompleted onerror)? * = zero or more;? = zero or one Client may call unsubscribe method at any time, to signal the same to server Server must check this using subscriber. isunsubscribed() method and must stop sending further push notifications
43 Life Cycle of an Observable lazily starts emitting items only after subscription keeps emitting items till an error is encountered or till the end of stream is reached lazily emits another item only after the previous item is consumed
44
45 Ex 2 : Client tells the server to stop //client side code Subscriber<String> mysubscriber = new Subscriber<String>() public void onnext(string s) { System.out.println(s); if (s.touppercase().contains("bahu")) { System.out.println("I got my movie!!!!"); unsubscribe(); } } };
46 Ex 2 : Client tells the server to stop //Server side Observable<String> myobservable = Observable.create(new Observable.OnSubscribe<String>() public void call(subscriber<? super String> sub) { List<String> list = Arrays.asList("Dhoom 3", "Bahubali", "Star wars", "Batman"); for (String e : list) { if (sub.isunsubscribed()) { break; } sub.onnext(e); } sub.oncompleted(); } });
47 Ex 3 : Error Handling - Server code for (String e : list) { try { if(e.equalsignorecase("bahubali 10")){ throw new Exception("Something is wrong!!!"); } sub.onnext(e); if (sub.isunsubscribed()) { break; } sub.oncompleted(); } catch (Exception e1) { sub.onerror(e1); break; } }
48 Ex 3 : Error Handling - Client public void onerror(throwable e) { e.printstacktrace(); }
49 ManualErrorHandler - Demo
50 Ex 5: Take only some values - demo //I can process only next 2 orders Observable<String> mycustomobservable = myobservable.take (2); mycustomobservable.subscribe(mysubscriber);
51 Ex 6: Take orders only for some time //I can take orders for another 3 seconds Observable<String> mycustomobservable = myobservable.take (3, TimeUnit.SECONDS); mycustomobservable.subscribe(mysubscriber);
52 Ex 7: Skip some initial values //Skip initial 3 bytes which is a useless header Observable<String> mycustomobservable = myobservable.skip(3); mycustomobservable.subscribe(mysubscriber);
53 Ex 8: Skip values for some time //Skip the values for initial 3 seconds //while they are testing microphone Observable<String> mycustomobservable = myobservable.skip(3, TimeUnit.SECONDS); mycustomobservable.subscribe(mysubscriber);
54 Ex 9: Skip and Take - Composition myobservable.skip(1).take(2).subscribe(mysubscriber);
55 Ex 10: Filter the stream myobservable.skip(1).take(2).filter(e -> e.touppercase().contains("star")).subscribe(mysubscriber);
56 SkipTakeFilterDemo
57 Ex 11: Two Subscribers - Demo myobservable.skip(1).take(2).filter(e -> e.touppercase().contains("star")).subscribe(mysubscriber1); myobservable.skip(2).take(3).filter(e -> e.touppercase().contains("gold")).subscribe(mysubscriber2);
58 Ex 12: Combinators //Combinators - Combine / Merge 2 observables Observable.merge(myObservable1, myobservable2).subscribe(mysubscriber);
59 Merge2Observables - Demo
60 Error Handling
61 Ex 13: onerrorresumenext //on error, resume with the next observable myobservable1.onerrorresumenext(myobservable2).subscribe(mysubscriber);
62 Ex 13: onerrorresumenext
63 Map vs FlatMap Both do transformation Map: maps one item to another item returns only one item synchronous FlatMap: maps one item to zero or more items returns an Observable stream asynchronous
64
65 FlatMap myobservable1.flatmap( s -> { String movie1 = s + " 1"; String movie2 = s + " 2"; String movie3 = s + " 3"; return Observable.just(movie1, movie2, movie3); } ).subscribe(mysubscriber);
66 Transformations
67 Group By Transformation groupby similar to group by clause in SQL groups items according to the condition given Ex : can group a sequence of numbers based on odd or even
68
69 window - operator chunks an Observable into windows of given time frame each chunk is emitted as an independent Observable Ex : Observable.interval(600, TimeUnit. MILLISECONDS).window(2, TimeUnit. SECONDS)
70
71 window - operator - Demo
72 Connectable Observable normal Observable starts emitting items immediately after subscribing to it publish() is used to get a Connectable one from the normal Connectable Observable emits items after calling connect() method on it. Connectable Observable can be made to wait till any/all Observers are subscribed
73 Connectable Observable Emits items only once for zero or more subscribers Subscribers are likely to lose some initial values if they join late
74
75 ConnectableObservable - Demo
76 Climax
77 Case studies:
78 Case study 1: DB Access
79 Case study 2 : FlatMap
80 Case study 3 : Twitter App Setup
81
82
83
84
85
86
87
88
89
90
91 Case study 3 : Twitter App Demo
92 THE END
93 Now revisit the teaser & the trailer :)
94 References Google Wikipedia SO RxJava API Docs html
95 ?
96 Let us stay in touch : Dinesh Bhatt DB@syncogni.com India : USA :
97 Thank you!!!
Reactive 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 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 informationPractical RxJava @SimonBasle @Couchbase @InfoQFR @bbl_fr the Plan & Goals RxJava 101 RxJava 101 migrate a Legacy application RxJava 101 learn Operators of interest migrate a Legacy application RxJava 101
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 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 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 informationRxJava. and WHY you should care. Jeroen Tietema
RxJava and WHY you should care Jeroen Tietema Overview intro of RxJava why? some tips What is RxJava? Java implementation of Reactive Extensions Reactive Extensions is.net implementation of Reactive Programming
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 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 informationStreams, Functional & Reactive Programming with Java & Spring WebFlux WORKSHOP
Streams, Functional & Reactive Programming with Java & Spring WebFlux WORKSHOP 1 INTRODUCTION Goal for today: create a reactive REST service and actually know what we are doing To do that we ll explore
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. 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 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 informationReactive Programming in Java. by Vadym Kazulkin and Rodion Alukhanov, ip.labs GmbH
Reactive Programming in Java by Vadym Kazulkin and Rodion Alukhanov, ip.labs GmbH ip.labs GmbH Agenda Reactive Programming in general Reactive Streams and JDK 9 Flow API RxJava 2 Spring Reactor 3 Demo
More informationReactive Extensions in JUCE. Martin Finke ADC 2017
Reactive Extensions in JUCE Martin Finke ADC 2017 What is Rx? What is Rx? Programming Style for Bindings (think Value::Listener) Observable, Observer Language-independent (RxJava, RxJS, Rx.NET, ) RxCpp
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 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 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 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 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 informationADBA Asynchronous Database Access
ADBA Asynchronous Database Access A new asynchronous API for connecting to a database Douglas Surber Kuassi Mensah JDBC Architect Director, Product Management Database Server Technologies July 18, 2018
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 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 informationMEAP Edition Manning Early Access Program Rx.NET in Action Version 11
MEAP Edition Manning Early Access Program Rx.NET in Action Version 11 Copyright 2016 Manning Publications For more information on this and other Manning titles go to www.manning.com Manning Publications
More informationBE PROACTIVE USE REACTIVE
BE PROACTIVE USE REACTIVE This morning we re going to talk about reactive programming. We ll cover some of the what, why, and how, hopefully with a bend towards grasping the fundamentals. We ll have some
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 informationARCHETYPE MODERN ANDROID ARCHITECTURE STEPAN GONCHAROV / DENIS NEKLIUDOV
ARCHETYPE MODERN ANDROID ARCHITECTURE STEPAN GONCHAROV / DENIS NEKLIUDOV 90seconds.tv 14000+ VIDEOS 1200+ BRANDS 92+ COUNTRIES data class RegisterViewModelStateImpl( override val email: ObservableString
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 informationMap-Reduce. Marco Mura 2010 March, 31th
Map-Reduce Marco Mura (mura@di.unipi.it) 2010 March, 31th This paper is a note from the 2009-2010 course Strumenti di programmazione per sistemi paralleli e distribuiti and it s based by the lessons of
More informationExtract API: Build sophisticated data models with the Extract API
Welcome # T C 1 8 Extract API: Build sophisticated data models with the Extract API Justin Craycraft Senior Sales Consultant Tableau / Customer Consulting My Office Photo Used with permission Agenda 1)
More informationMobile application development using the ReactiveX framework
Masaryk University Faculty of Informatics Mobile application development using the ReactiveX framework Bachelor s Thesis Robin Křenecký Brno, Spring 2018 Masaryk University Faculty of Informatics Mobile
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 informationLINQ, Take Two Realizing the LINQ to Everything Dream. Bart J.F. De Smet Software Development Engineer
LINQ, Take Two Realizing the LINQ to Everything Dream Bart J.F. De Smet Software Development Engineer bartde@microsoft.com A Historical Perspective 5 years ago Little recent innovation Censored Where s
More informationAsynchronous Programming - Done right
Asynchronous Programming - Done right ZWEI14. ZWEI14 - A DIGITAL AGENCY WITH CREATIVE DNA. Idea, concept, design, technology and engage in perfectly together. We are young but experienced, creative but
More informationBig Data. Big Data Analyst. Big Data Engineer. Big Data Architect
Big Data Big Data Analyst INTRODUCTION TO BIG DATA ANALYTICS ANALYTICS PROCESSING TECHNIQUES DATA TRANSFORMATION & BATCH PROCESSING REAL TIME (STREAM) DATA PROCESSING Big Data Engineer BIG DATA FOUNDATION
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 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 informationRx: Curing your Asynchronous Programming Blues Bart J.F. De Smet
Rx: Curing your Asynchronous Programming Blues Bart J.F. De Smet Microso' Corpora,on bartde@microso'.com Why Should I Care? GPS RSS feeds Stock,ckers Social media Server management Mission Statement Too
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 informationIntelliJ IDEA, the most intelligent Java IDE
IntelliJ IDEA, the most intelligent Java IDE IntelliJ IDEA, JetBrains flagship Java IDE, provides high-class support and productivity boosts for enterprise, mobile and web development in Java, Scala and
More informationRx is a library for composing asynchronous and event-based programs using observable collections.
bartde@microsoft.com Slides license: Creative Commons Attribution Non-Commercial Share Alike See http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode Too hard today (f g)(x) = f(g(x)) Rx is a library
More informationRefactoring to Functional. Hadi Hariri
Refactoring to Functional Hadi Hariri Functional Programming In computer science, functional programming is a programming paradigm, a style of building the structure and elements of computer programs,
More informationKeep Learning with Oracle University
Keep Learning with Oracle University Classroom Training Learning SubscripDon Live Virtual Class Training On Demand Cloud Technology ApplicaDons Industries educa7on.oracle.com 2 Session Surveys Help us
More informationCOMPUTER PROGRAMMING LOOPS
COMPUTER PROGRAMMING LOOPS http://www.tutorialspoint.com/computer_programming/computer_programming_loops.htm Copyright tutorialspoint.com Let's consider a situation when you want to write five times. Here
More informationFull Stack Web Developer Nanodegree Syllabus
Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,
More informationAbout 1. Chapter 1: Getting started with rx-java 2. Remarks 2. Versions 2. Examples 2. Installation or Setup 2. Hello, World! 3
rx-java #rx-java Table of Contents About 1 Chapter 1: Getting started with rx-java 2 Remarks 2 Versions 2 Examples 2 Installation or Setup 2 Hello, World! 3 An introduction to RxJava 4 Understanding Marble
More informationThe New HTTP Client API in Java 11
The New HTTP Client API in Java 11 Sergey Kuksenko Java Platform Group, Oracle October, 2018 Safe Harbor Statement The following is intended to outline our general product directon. It is intended for
More informationKeep Learning with Oracle University
Keep Learning with Oracle University Classroom Training Learning Subscription Live Virtual Class Training On Demand Cloud Technology Applications Industries education.oracle.com 3 Session Surveys Help
More informationMicroservices on AWS. Matthias Jung, Solutions Architect AWS
Microservices on AWS Matthias Jung, Solutions Architect AWS Agenda What are Microservices? Why Microservices? Challenges of Microservices Microservices on AWS What are Microservices? What are Microservices?
More informationSpring Cloud, Spring Boot and Netflix OSS
Spring Cloud, Spring Boot and Netflix OSS Spencer Gibb twitter: @spencerbgibb email: sgibb@pivotal.io Dave Syer twitter: @david_syer email: dsyer@pivotal.io (Spring Boot and Netflix OSS or Spring Cloud
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 informationIsomorphic Kotlin. Troy
Isomorphic Kotlin Troy Miles @therockncoder Troy Miles @therockncoder Troy Miles, aka the Rockncoder, began writing computer games in assembly language for early computers like the Apple II, Commodore
More informationZombie Apocalypse Workshop
Zombie Apocalypse Workshop Building Serverless Microservices Danilo Poccia @danilop Paolo Latella @LatellaPaolo September 22 nd, 2016 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
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 informationConcurrency: An Overview
CHAPTER 1 Concurrency: An Overview Concurrency is a key aspect of beautiful software. For decades, concurrency was possible but difficult. Concurrent software was difficult to write, difficult to debug,
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
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 information10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline
10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Copyright 2003 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4. Other Approaches
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 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 informationAsset tracking: Monitoring high-value mobile assets like locomotives, marine vessels and industrial equipment. Condition based Maintenance.
1 The Internet of Things (IoT) - expansion of the Internet to include physical devices; thereby bridging the divide between the physical world and cyberspace. These devices or \things" are uniquely identifiable,
More informationMicroservices Architekturen aufbauen, aber wie?
Microservices Architekturen aufbauen, aber wie? Constantin Gonzalez, Principal Solutions Architect glez@amazon.de, @zalez 30. Juni 2016 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
More informationVoice-controlled Home Automation Using Watson, Raspberry Pi, and Openwhisk
Voice-controlled Home Automation Using Watson, Raspberry Pi, and Openwhisk Voice Enabled Assistants (Adoption) Voice Enabled Assistants (Usage) Voice Enabled Assistants (Workflow) Initialize Voice Recording
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 informationA Formal Model for Direct-style Asynchronous Observables
A Formal Model for Direct-style Asynchronous Observables Philipp Haller! KTH Royal Institute of Technology, Sweden!! Heather Miller! EPFL, Switzerland!! 27th Nordic Workshop on Programming Theory (NWPT)!
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 informationSales Productivity. Salesforce, Winter
Salesforce, Winter 18 @salesforcedocs Last updated: December 13, 2017 Copyright 2000 2017 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com, inc., as are
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 informationDynamo Tom Anderson and Doug Woos
Dynamo motivation Dynamo Tom Anderson and Doug Woos Fast, available writes - Shopping cart: always enable purchases FLP: consistency and progress at odds - Paxos: must communicate with a quorum Performance:
More informationModern App Architecture
Modern App Architecture Brent Edwards Principal Lead Consultant Magenic Level: Intermediate BrentE@magenic.com @brentledwards http://www.brentedwards.net https://github.com/brentedwards BRENT EDWARDS MyVote
More informationFunctional Programming Invades Architecture. George Fairbanks SATURN May 2017
Functional Programming Invades Architecture George Fairbanks SATURN 2017 3 May 2017 1 Programming in the Large Yesterday: Functional Programming is PITS, i.e., just inside modules Today: FP is also PITL
More informationCoherence An Introduction. Shaun Smith Principal Product Manager
Coherence An Introduction Shaun Smith Principal Product Manager About Me Product Manager for Oracle TopLink Involved with object-relational and object-xml mapping technology for over 10 years. Co-Lead
More informationLesson 5 Nimbits. Chapter-6 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education
Lesson 5 Nimbits 1 Cloud IoT cloud-based Service Using Server at the Edges A server can be deployed at the edges (device nodes) which communicates the feeds to the cloud service. The server also provisions
More informationRXTDF - Version: 1. Asynchronous Computing and Composing Asynchronous and Event- Based
RXTDF - Version: 1 Asynchronous Computing and Composing Asynchronous and Event- Based Asynchronous Computing and Composing Asynchronous and Event- Based RXTDF - Version: 1 5 days Course Description: 5
More information7 Topics Concerning Languages & Architecture Stefan JUG KA 2011
7 Topics Concerning Languages & Architecture Stefan Tilkov @stilkov JUG KA 2011 1 http://www.innoq.com Stefan Tilkov stefan.tilkov@innoq.com @stilkov 2 http://rest-http.info 3 1. Language Equality 4 Languages
More informationPimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here>
Pimp My Data Grid Brian Oliver Senior Principal Solutions Architect (brian.oliver@oracle.com) Oracle Coherence Oracle Fusion Middleware Agenda An Architectural Challenge Enter the
More informationGot a question during this session? Post it on sli.do ( #K100 )
Got a question during this session? Post it on sli.do ( #K100 ) RxJava, RxJava 2, Reactor State of the art of Reactive Streams on the JVM David Wursteisen Writing asynchronous code: it sucks Future ExecutorService
More informationAWS Mobile Hub. Build, Test, and Monitor Your Mobile Apps. Daniel Geske, Solutions Architect 31 May 2017
AWS Mobile Hub Build, Test, and Monitor Your Mobile Apps Daniel Geske, Solutions Architect 31 May 2017 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What to Expect from the Session
More informationVS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords
VS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords Brian Noyes Chief Architect, IDesign Inc (www.idesign.net) brian.noyes@idesign.net, @briannoyes About Brian Chief Architect
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 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 informationProgramming Principles
Programming Principles Final Exam Wednesday, December 18th 2013 First Name: Last Name: Your points are precious, don t let them go to waste! Your Name Work that can t be attributed to you is lost: write
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 informationQ1 Where do you use C++? (select all that apply)
Q1 Where do you use C++? (select all that apply) Answered: 3,280 Skipped: 6 At work At school In personal time, for ho... 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES At work At school In
More informationPrototyping Data Intensive Apps: TrendingTopics.org
Prototyping Data Intensive Apps: TrendingTopics.org Pete Skomoroch Research Scientist at LinkedIn Consultant at Data Wrangling @peteskomoroch 09/29/09 1 Talk Outline TrendingTopics Overview Wikipedia Page
More informationJava 1.8 (Java 8) Update. Camiel Vanderhoeven & Brett Cameron OpenVMS Boot Camp b
Java 1.8 (Java 8) Update Camiel Vanderhoeven & Brett Cameron OpenVMS Boot Camp 2016 10014b 26-SEP-2016 Agenda Java 8 port Project outline Project approach Current status Java 7 new features Java 8 new
More informationGetting Started with AWS IoT
Getting Started with AWS IoT Denis V. Batalov, PhD @dbatalov Sr. Solutions Architect, AWS EMEA 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Things are becoming connected Source:
More informationCS 231 Data Structures and Algorithms Fall 2018
CS 231 Data Structures and Algorithms Fall 2018 Interface, Node Based Stack, Exception Handling, Class BufferedReader Lecture 12 October 1, 2018 Prof. Zadia Codabux 1 Agenda Node based implementation of
More informationMOdern Java(Script) Server Stack
MOdern Java(Script) Server Stack Pratik Patel Pratik Patel CTO Triplingo JAVA CHAMPION PRESIDENT ATLANTA JUG POLYGLOT apple mac vintage 5" screen TURTLE MY FIRST PROGRAM TURING MY FIRST REAL PROGRAM JAVASCRIPT
More informationBig data systems 12/8/17
Big data systems 12/8/17 Today Basic architecture Two levels of scheduling Spark overview Basic architecture Cluster Manager Cluster Cluster Manager 64GB RAM 32 cores 64GB RAM 32 cores 64GB RAM 32 cores
More informationCloud Computing 3. CSCI 4850/5850 High-Performance Computing Spring 2018
Cloud Computing 3 CSCI 4850/5850 High-Performance Computing Spring 2018 Tae-Hyuk (Ted) Ahn Department of Computer Science Program of Bioinformatics and Computational Biology Saint Louis University Learning
More informationFunctional Programming Patterns And Their Role Instructions
Functional Programming Patterns And Their Role Instructions In fact, the relabelling function is precisely the same as before! Phil Wadler's Chapter 7 of The Implementation of Functional Programming Languages.
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 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 informationEnhancing cloud applications by using messaging services IBM Corporation
Enhancing cloud applications by using messaging services After you complete this section, you should understand: Messaging use cases, benefits, and available APIs in the Message Hub service Message Hub
More informationModel-View-Controller
Model-View-Controller CSE 331 Section 8 11/15/2012 Slides by Kellen Donohue with material from Krysta Yousoufian, Jackson Roberts, Hal Perkins Agenda hw4, hw6 being graded hw7 due tonight Midterms from
More informationCompile-Time Code Generation for Embedded Data-Intensive Query Languages
Compile-Time Code Generation for Embedded Data-Intensive Query Languages Leonidas Fegaras University of Texas at Arlington http://lambda.uta.edu/ Outline Emerging DISC (Data-Intensive Scalable Computing)
More informationIntroduction to Coroutines. Roman Elizarov elizarov at JetBrains
Introduction to Coroutines Roman Elizarov elizarov at JetBrains Asynchronous programming How do we write code that waits for something most of the time? A toy problem Kotlin 1 fun requesttoken(): Token
More informationJava: framework overview and in-the-small features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationReactive Programming with RxJS
Extracted from: Reactive Programming with RxJS Untangle Your Asynchronous JavaScript Code This PDF file contains pages extracted from Reactive Programming with RxJS, published by the Pragmatic Bookshelf.
More information