Reactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
|
|
- Daniel Phelps
- 5 years ago
- Views:
Transcription
1 Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
2
3 Prerequisites: Core Java Lambda Expressions Method references Functional Programming Web - application development using JEE/Spring
4 Rules of the game You are free to interrupt me at any time with your questions I may answer it right away, if it is simple answer in the end if it takes a lot of time to question and answer it has many buts and ifs it is out of the scope of our learning plan
5 Rules of the game We may not discuss any particular project related issues here, because : It needs more time to study and understand the project specific environment The resolving may take a lot of iterations / testing / time It may not benefit everyone It may waste others time
6 Expectations from the participants?
7 Note: Some 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
8 Teaser begins.
9
10 Official Reactive Manifesto Responsive Resilient Elastic Message Driven
11 Get the official ribbon!!!
12
13
14
15
16 Teaser Ends.
17 Trailer begins.
18 Reactive Programming Reactive = showing response to a stimulus Reactive / Responsive Scalable Resilient / fault tolerant Event driven Observable sequences Backpressure Represented using marble diagrams
19 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:
20 Reactive Programming Polyglot Implemented (Library is available) in.net Scala Clojure JavaScript Ruby Python C++, Groovy, Objective-C/Cocoa etc.
21 Reactive Programming Java Implementations: RxJava Akka-Streams Project Reactor( Spring 5 JSR 166 (headed by Doug Lee) to be implemented in Java 9 as Flow API Vert.x 3.0
22 RxJava Originally from Netflix Currently open source Works with Java 6+ Official Page:( First implementation of reactive style of programming Has very powerful APIs
23 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
24 What is Reactive Programming? 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 :)
25 What is Reactive Programming? 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
26 Recipe for RxJava Get inspired by: Gang of Four s Observer Pattern Iterable type s these two extra semantics: The ability to signal that there is no more data available The ability to signal that an error has occurred Mix them well with seasoning :)
27 Functional Reactive Asynchronous Values Events Push Functional Reactive Lambdas Closures Pure Composable
28 Imperative vs Reactive Iterable Observable pull push T next() onnext(t) throws Exception onerror(exception) returns; oncompleted()
29 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) );
30 Scenarios: Single Multiple Sync T getdata() Iterable<T> getdata() Async Future<T> getdata() Observable<T> getdata()
31 Trailer Ends!!!
32 Movie Begins...
33 Hello World RxJava
34
35
36
37
38
39
40
41
42
43 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(); } };
44 Observable Observable<String> myobservable = Observable.create( new Observable.OnSubscribe<String>() public void call(subscriber<? super String> sub) { sub.onnext("hello, world!"); sub.oncompleted(); } });
45 Connecting code myobservable.subscribe(mysubscriber);
46 HelloWorldRxJava - Demo
47 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
48 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
49 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
50 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
51 What is marble diagram?
52
53 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(); } } };
54 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(); } });
55 Ex 3 : Error Handling - Server code try { for (String e : list) { if (sub.isunsubscribed()) { break; } if(e.equalsignorecase("bahubali 10")){ throw new Exception("Something is wrong!!!"); } sub.onnext(e); } sub.oncompleted(); } catch (Exception e1) { sub.onerror(e1); break; }
56 Ex 3 : Error Handling - Client public void onerror(throwable e) { e.printstacktrace(); }
57 ManualErrorHandler - Demo
58 Ex 5: Take only some values - demo //I can process only next 2 orders Observable<String> mycustomobservable = myobservable.take(2); mycustomobservable.subscribe(mysubscriber);
59 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);
60 Ex 7: Skip some initial values //Skip initial 3 bytes which is a useless header Observable<String> mycustomobservable = myobservable.skip(3); mycustomobservable.subscribe(mysubscriber);
61 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);
62 Ex 9: Skip and Take - Composition myobservable.skip(1).take(2).subscribe(mysubscriber);
63 Ex 10: Filter the stream myobservable.skip(1).take(2).filter(e -> e.touppercase().contains("star")).subscribe(mysubscriber);
64 SkipTakeFilterDemo
65 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);
66 Ex 12: Combinators //Combinators - Combine / Merge 2 observables Observable.merge(myObservable1, myobservable2).subscribe(mysubscriber);
67 Merge2Observables - Demo
68 Error Handling
69 Ex 13: onerrorresumenext //on error, resume with the next observable myobservable1.onerrorresumenext(myobservable2).subscribe(mysubscriber);
70 Ex 13: onerrorresumenext
71 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
72
73 FlatMap myobservable1.flatmap( s -> { String movie1 = s + " 1"; String movie2 = s + " 2"; String movie3 = s + " 3"; return Observable.just(movie1, movie2, movie3); } ).subscribe(mysubscriber);
74 Transformations
75 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
76
77 Climax
78 Case studies:
79 Case study 1: DB Access
80 Case study 2 : FlatMap
81 Service Orchestration
82 Service Orchestration
83 Case study 3 : Car assembly line
84 Clients REST Controller Service DB REST Controller Service Service External API REST Controller Service External API
85 Clients REST Controller Service REST Controller Service External API Service REST Controller Service External API
86 REST Controller REST Controller Orchestrated Service Service REST Controller Orchestrated Service Service External API Service Service External API
87 Clients Controllers Service Orchestration Layer Standard Services Layer External APIs / Data Access Layer / Databases
88 Case study : Spring - DeferredResult
89 Case study 5 : Spring - SseEmitter
90 THE END
91 Now revisit the teaser & the trailer :)
92 References Google Wikipedia SO RxJava API Docs tml
93 ?
94 Thank you!!!
95 Let us stay in touch : Dinesh Bhatt DB@syncogni.com India : USA :
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: Functional Programming as in Java 8 Streams of Java 8 Lambda expressions Method references Expectations
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationFunctional Programming Lecture 13: FP in the Real World
Functional Programming Lecture 13: FP in the Real World Viliam Lisý Artificial Intelligence Center Department of Computer Science FEE, Czech Technical University in Prague viliam.lisy@fel.cvut.cz 1 Mixed
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationProgramming Without a Call Stack: Event-driven Architectures
Programming Without a Call Stack: Event-driven Architectures Gregor Hohpe Google www.eaipatterns.com Gregor Hohpe Programming Without a Call Stack: Event-driven Architectures Slide 1 About Me Distributed
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 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 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 informationAsynchronous OSGi: Promises for the masses. Tim Ward.
Asynchronous OSGi: Promises for the masses Tim Ward http://www.paremus.com info@paremus.com Who is Tim Ward? @TimothyWard Senior Consulting Engineer, Trainer and Architect at Paremus 5 years at IBM developing
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 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 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 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 information02267: Software Development of Web Services
02267: Software Development of Web Services Week 1 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents Course Introduction
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 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 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 informationinvokedynamic under the hood
Nadeesh T V ORACLE India Pvt Ltd 26 Aug 2016 Outline 1 JVM Languages 2 PreInvokedynamic 3 Invokedynamic 4 MethodHandle 5 Summary JVM Languages Languages which can run on Java Virtual Machine (JVM) Should
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 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 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 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 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 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 informationSymbolic Computation and Common Lisp
Symbolic Computation and Common Lisp Dr. Neil T. Dantam CSCI-56, Colorado School of Mines Fall 28 Dantam (Mines CSCI-56) Lisp Fall 28 / 92 Why? Symbolic Computing: Much of this course deals with processing
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 informationCS 151. Exceptions & Javadoc. slides available on course website. Sunday, September 9, 12
CS 151 Exceptions & Javadoc slides available on course website 1 Announcements Prelab 1 is due now. Please place it in the appropriate (Mon vs. Tues) box. Please attend lab this week. There may be a lecture
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 informationebus Programmer s Manual
ebus Programmer s Manual Version: 4.5.2 Released: January 7, 2017 ebus Programmer s Manual Copyright 2018. Charles W. Rapp All Rights Reserved. 2 of 130 Welcome to ebus! Welcome to ebus! 7 Overview 8 Merrily,
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 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 informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Haskell Programming
About the Tutorial Haskell is a widely used purely functional language. Functional programming is based on mathematical functions. Besides Haskell, some of the other popular languages that follow Functional
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 informationAgreement and Consensus. SWE 622, Spring 2017 Distributed Software Engineering
Agreement and Consensus SWE 622, Spring 2017 Distributed Software Engineering Today General agreement problems Fault tolerance limitations of 2PC 3PC Paxos + ZooKeeper 2 Midterm Recap 200 GMU SWE 622 Midterm
More informationDistributed Systems CS6421
Distributed Systems CS6421 Intro to Distributed Systems and the Cloud Prof. Tim Wood v I teach: Software Engineering, Operating Systems, Sr. Design I like: distributed systems, networks, building cool
More informationStreams in Java 8. Start programming in a more functional style
Streams in Java 8 Start programming in a more functional style Background Who am I? Tobias Coetzee I m a Technical Lead at BBD I present the Java Expert Level Certifications at BBD (EJB, JPA, etc.) I m
More informationSECTION 2: HW3 Setup.
SECTION 2: HW3 Setup cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis,CSE 390a,Justin Bare, Deric Pang, Erin Peach, Vinod Rathnam LINKS TO DETAILED SETUP AND USAGE INSTRUCTIONS
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 informationThe OSP 2 Survival Guide
The OSP 2 Survival Guide What is OSP 2 Educational platform that simulates Hardware (devices, CPU, memory) Events (interrupts, timer events) Job streams (task/thread life cycle, I/O requests, interprocess
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 informationComputer Components. Software{ User Programs. Operating System. Hardware
Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point
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 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 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 informationOracle SOA Suite 11g: Build Composite Applications
Oracle University Contact Us: 1.800.529.0165 Oracle SOA Suite 11g: Build Composite Applications Duration: 5 Days What you will learn This course covers designing and developing SOA composite applications
More informationVoic to (including Voic )
table of contents 2 Step 1 Initializing your Voicemail Step 2 Configuring rapid access to your message 2 6 7 What you will find in the Call Feature Manager Call Feature Manager by Internet and by phone
More informationPatterns and Best Practices for dynamic OSGi Applications
Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»
More information3 Continuous Integration 3. Automated system finding bugs is better than people
This presentation is based upon a 3 day course I took from Jared Richardson. The examples and most of the tools presented are Java-centric, but there are equivalent tools for other languages or you can
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 informationCourse Syllabus. Programming Language Paradigms. Spring - DIS Copenhagen. Semester & Location: Elective Course - 3 credits.
Course Syllabus Programming Language Paradigms Semester & Location: Type & Credits: Spring - DIS Copenhagen Elective Course - 3 credits Major Disciplines: Faculty Members: Computer Science, Mathematics
More informationALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA APPLYING THE REACTIVE PROGRAMMING PARADIGM: TOWARD A MORE DECLARATIVE APPLICATION DEVELOPMENT APPROACH
ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA SCUOLA DI INGEGNERIA E ARCHITETTURA CAMPUS DI CESENA CORSO DI LAUREA MAGISTRALE IN INGEGNERIA E SCIENZE INFORMATICHE APPLYING THE REACTIVE PROGRAMMING PARADIGM:
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 informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
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 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 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 informationPerform Database Actions Using Java 8 Stream Syntax Instead of SQL. Emil Forslund Java Developer Speedment, Inc.
Perform Database Actions Using Java 8 Stream Syntax Instead of SQL Emil Forslund Java Developer Speedment, Inc. About Me Emil Forslund Java Developer Speedment Palo Alto Age of Java Why Should You Need
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 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 information