Spring MVC 4.x Spring 5 Web Reactive

Size: px
Start display at page:

Download "Spring MVC 4.x Spring 5 Web Reactive"

Transcription

1 Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen

2 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive

3 Shortcut

4

5

6

7

8 @ApplicationScope

9

10

11

12

13

14 Not to be confused

15

16 @RestControllerAdvice

17 @ModelAttribute(binding=false)

18 Pre-load Foo in the model Form object with binding Foo object without binding

19 HTTP OPTIONS, HEAD automated handling

20 curl -v -X OPTIONS < < < < HTTP/ OK Server: Apache-Coyote/1.1 Allow: GET,HEAD Content-Length: 0

21 curl --head HTTP/ OK Server: Apache-Coyote/1.1 Content-Type: application/json;charset=utf-8 Content-Length: 155

22 ForwardedHeaderFilter

23 Complements existing support for X-Forwarded-* in [ Mvc Servlet ] UriComponentsBuilder

24 RestTemplate default URI variable values

25

26 Client Mock REST Tests expected count + order of requests

27

28 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive

29 Long Running Shift To Concurrency 29

30 Today Independent services 10 years ago Cloud environment Distributed apps Self-sufficient apps App server Keep it simple, don t distribute 30

31 Impact on Programming Model Imperative logic is not a simple path any more Forced to deal with asynchronicity Limits of scale 31

32 Fundamentally Asynchronous Async and non-blocking by design Small number of threads Efficient scale 32

33 Design async API with Java Futures 33

34 Return a Value

35 Usage 35

36 Return Value with Future... May be thrown in different thread 36

37 Usage Ugh 37

38 Return Value with CompletableFuture

39 Usage Async callback 39

40 Return Collection

41 Return Void

42 Return Void Success or Failure callback 42

43 CompletableFuture Fundamentally the right idea for use in async APIs Allows declarative composition of async logic Lambdas keep it readable 43

44 CompletableFuture Not ideal for Collection return values Nor for latency sensitive data sets Nor large or infinite data sets 44

45 Async return values as a stream?

46 onerror or oncomplete onnext onnext onnext 46

47 Return type Use case Notifications void Success oncomplete() void Failure onerror(throwable) User Match onnext(user), oncomplete() User No match oncomplete() User Failure onerror(throwable) List<User> Two matches onnext(user), onnext(user), oncomplete() List<User> No match oncomplete() List<User> Failure onerror(throwable)

48 Java 8 Stream Great example of the kind of API we d like Declarative composition of async logic per item Lambdas keep it readable 48

49 Java 8 Stream Built for collections Not for active or hot source of data Latency-sensitive data sequences 49

50 No single best fluent async API [...] Until now one missing category was "push" style operations on items as they become available from an active source. Doug Lea Reactive Streams & Java 9 initial announcement 50

51 Reactive Streams Small API, spec rules, and TCK Publish-subscribe with back pressure Interoperability across async components and libraries 51

52 Project Reactor Reactive Streams library for the JVM Declarative operations on items similar to Java 8 Stream Flux and Mono reactive composable API types 52

53 Reactive Repository

54 Reactive Repository In Use

55 Example output onsubscribe request(unbounded) onnext(user: Jason) onnext(user: Jay)... oncomplete() By default consume without back-pressure

56 Part 2 Spring MVC 4.x Spring 5 Web Reactive Rossen

57 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive

58 Reactive Programming A style of micro-architecture Declarative, functional-style, composition of logic The opposite of imperative 58

59 Imperative / Blocking

60 Functional / Neutral to Asynchronicity

61 Thread Pool Style Processing 61

62 20 ms Server Threads 250 ms 50 ms 150 ms 15 ms 150 ms 15 ms Network Latency 150 ms 200 ms Network Latency Thread Pool Thread Pool Application Processing 75 ms 125 ms

63 Load Balancer Requests Requests Server Threads Server Threads Application Handling Application Handling

64 Event Loop Style Processing 64

65 20 ms IO selector 250 ms 50 ms 150 ms worker worker worker 200 ms 75 ms Application Processing 125 ms

66 Non-blocking Application pan.addwater(() -> range.lowerheat(() -> pan.addbrownrice(() -> pan.settimeout(() -> { range.turnoff(); // ready... }, Duration.ofMinutes(40)))));

67 Rise above the callbacks

68 ReactiveX DeclarativeFunctional, programming on Observable streams

69 Reactive Streams Specification Async stream processing with reactive back-pressure

70 Reactive Streams public interface Publisher<T> { void subscribe(subscriber<? super T> subscriber); } Backpressure public interface Subscriber<T> { void onsubscribe(subscription sub); void onnext(t item); void onerror(throwable ex); void oncomplete(); public interface Subscription { void request(long n); } void cancel(); } 70

71 Project Reactor Reactive Streams + ReactiveX

72 Reactor Mono

73 Reactor Flux

74 Reactive Repository

75 Reactive Repository in Use Subscriber triggers flow of data

76 Example output onsubscribe request(unbounded) onnext(user: Jason) onnext(user: Jay)... oncomplete() By default consume without back-pressure

77 Consume Two Items at a Time

78 Example output onsubscribe request(2) onnext(user: Jason) onnext(user: Jay) request(2) onnext(user: Joe) onnext(user: John)... Producer complies with back-pressure

79 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive

80 Spring Data Reactive

81 Spring Data Reactive

82 Reactive Processing Pipeline HTTP Server Web Framework Controller End-to-end back-pressure Repository

83 Reactive Web Controller

84 Reactive Web Controller Sp rin g 5

85 Reactive Web Controller / RxJava Sp rin g 5

86 Router Functions Spring Web MVC Spring Web Reactive Servlet API Reactive HTTP Servlet Container Tomcat, Jetty, Servlet 3.1+, Netty, Undertow

87 Reactive HTTP Adaptation

88 Reactive HTTP Server Adaptation Tomcat, Jetty, Servlet 3.1+ containers Netty (Reactor Netty, RxNetty) Undertow

89 Reactive Encoder and Decoder Serialization to/from Flux<T> and Flux<DataBuffer> JSON (Jackson) and XML (JAXB / Aalto) Server-Sent Events Resource with zero-copy file transfer

90 Spring Web Reactive Along with Spring Web MVC Operates on reactive HTTP request / response Shared algorithms and mechanisms

91 Non-Blocking HTTP GET Synchronous, non-blocking method Async, non-blocking method

92 Non-Blocking HTTP POST or

93 Server-Sent Events

94 Zero-Copy File Transfer

95 WebClient

96 WebClient / RxJava

97 Non-blocking WebClient Scatter/Gather

98 Functional Web Framework No annotations, minimal, and transparent Same reactive foundation "Spring 5: Functional Web Framework" blog post

99 Functional-style Web Routing

100

101 Spring Boot Web Reactive Starter Helpful instructions:

102 Manual Bootstrap Only a few lines of code: Spring Framework 5.0 snapshot reference

Spring Framework 5.0 Reactive Web Application

Spring 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 information

Going Reactive with Spring 5. JavaSkop 18

Going 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 information

Streams, Functional & Reactive Programming with Java & Spring WebFlux WORKSHOP

Streams, 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 information

Reaktive Anwendungen mit RxJava. Dr. Michael Menzel

Reaktive 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 information

Reactive 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 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 information

Spring Framework 5.0 Themes & Trends

Spring Framework 5.0 Themes & Trends Spring Framework 5.0 Themes & Trends a.k.a. Reactive Microservices on JDK 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 4.3 Last 4.x feature release! 4.3 GA: June 2016 Extended support

More information

Reactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.

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 information

Writing Reactive Application using Angular/RxJS, Spring WebFlux and Couchbase. Naresh Chintalcheru

Writing 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 information

Reactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.

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 information

Fire Exit Announcement

Fire 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 information

streams streaming data transformation á la carte

streams 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 information

Reactive 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 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 information

DON'T BLOCK YOUR MOBILES AND INTERNET OF THINGS

DON'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 information

Introduction to Spring 5, Spring MVC and Spring REST

Introduction to Spring 5, Spring MVC and Spring REST Introduction to Spring 5, Spring MVC and Spring REST Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend

More information

WebTestClient. Version RELEASE

WebTestClient. 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 information

Tools for Accessing REST APIs

Tools for Accessing REST APIs APPENDIX A Tools for Accessing REST APIs When you have to work in an agile development environment, you need to be able to quickly test your API. In this appendix, you will learn about open source REST

More information

Spring Framework 5.0 on JDK 8 & 9

Spring Framework 5.0 on JDK 8 & 9 Spring Framework 5.0 on JDK 8 & 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 5.0 (Overview) 5.0 GA as of September 28 th, 2017 one week after JDK 9 GA! Embracing JDK 9 as well as

More information

Reactive programming: origins & ecosystem. Jonas Chapuis, Ph.D.

Reactive 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 information

The New HTTP Client API in Java 11

The 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 information

Modern app programming

Modern 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 information

Introduction to reactive programming. Jonas Chapuis, Ph.D.

Introduction 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 information

Reactive Application Development

Reactive 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 information

Spring Cloud, Spring Boot and Netflix OSS

Spring 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 information

C25: Creating Web Services using the Spring Framework

C25: Creating Web Services using the Spring Framework CISC 3120 C25: Creating Web Services using the Spring Framework Hui Chen Department of Computer & Information Science CUNY Brooklyn College 5/9/2018 CUNY Brooklyn College 1 Outline Recap & Review The Model-View-Controller

More information

Practical 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 information

ADBA Asynchronous Database Access

ADBA 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 information

Comet 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 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 information

Sébastien

Sébastien Why Spring Sébastien Deleuze @sdeleuze Kotlin Today most popular way to build web applications + Spring Boot 2 Let s see why and how far we can go with... + Spring Boot 3 Kotlin 4 Sample Spring Boot blog

More information

An overview of (a)sync & (non-) blocking

An overview of (a)sync & (non-) blocking An overview of (a)sync & (non-) blocking or why is my web-server not responding? with funny fonts! Experiment & reproduce https://github.com/antonfagerberg/play-performance sync & blocking code sync &

More information

Functional Programming Invades Architecture. George Fairbanks SATURN May 2017

Functional 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 information

Reactive programming and its effect on performance and the development process

Reactive 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 information

Java 9. Features abseits von Jigsaw und JShell. Michael Brühl, JavaLand 2018

Java 9. Features abseits von Jigsaw und JShell. Michael Brühl, JavaLand 2018 Brühl, 14.03.2018 JavaLand 2018 Java 9 Features abseits von Jigsaw und JShell Michael Vitz @michaelvitz Foto Coffee Break Break Alarm Clock Time by Alexandra bash ist die einzige Sprache die ich konstant

More information

Going Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke

Going 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 information

Introduction to Spring Framework: Hibernate, Spring MVC & REST

Introduction to Spring Framework: Hibernate, Spring MVC & REST Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

NODE.JS MOCK TEST NODE.JS MOCK TEST I

NODE.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 information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

Developer Experience with. Spencer Gibb, Dave Syer, Spring Cloud

Developer Experience with. Spencer Gibb, Dave Syer, Spring Cloud Developer Experience with Spencer Gibb, Dave Syer, 2015 Spring Cloud Authors Spencer Gibb, @spencerbgibb, sgibb@pivotal.io Dave Syer, @david_syer, dsyer@pivotal.io Developer Experience Microservices lead

More information

Today: Distributed Middleware. Middleware

Today: Distributed Middleware. Middleware Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out

More information

Reactive Programming with Vert.x

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 information

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Microservices 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 information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

Open Source Library Developer & IT Pro

Open Source Library Developer & IT Pro Open Source Library Developer & IT Pro Databases LEV 5 00:00:00 NoSQL/MongoDB: Buildout to Going Live INT 5 02:15:11 NoSQL/MongoDB: Implementation of AngularJS INT 2 00:59:55 NoSQL: What is NoSQL INT 4

More information

Spring Professional v5.0 Exam

Spring Professional v5.0 Exam Spring Professional v5.0 Exam Spring Core Professional v5.0 Dumps Available Here at: /spring-exam/core-professional-v5.0- dumps.html Enrolling now you will get access to 250 questions in a unique set of

More information

Zero Latency HTTP The comet Technique

Zero Latency HTTP The comet Technique Zero Latency HTTP The comet Technique Filip Hanik SpringSource Inc Keystone, Colorado, 2008 Slide 1 Who am I bla bla fhanik@apache.org Tomcat Committer / ASF member Co-designed the Comet implementation

More information

Four times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow

Four 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 information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p Session 24 Spring Framework Introduction 1 Reading & Reference Reading dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p http://engineering.pivotal.io/post/must-know-spring-boot-annotationscontrollers/

More information

Implementing Microservices Tracing with Spring Cloud and Zipkin

Implementing Microservices Tracing with Spring Cloud and Zipkin Implementing Microservices Tracing with Spring Cloud and Zipkin Marcin Grzejszczak, @mgrzejszczak 1 2017 Pivotal About me Spring Cloud developer at Pivotal Working mostly on Spring Cloud Sleuth Spring

More information

The Reactive Landscape Clement Escoffier, Vert.x Core Developer, Red Hat

The 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 information

RxJava. and WHY you should care. Jeroen Tietema

RxJava. 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 information

Desarrollo de Aplicaciones Web Empresariales con Spring 4

Desarrollo de Aplicaciones Web Empresariales con Spring 4 Desarrollo de Aplicaciones Web Empresariales con Spring 4 Referencia JJD 296 Duración (horas) 30 Última actualización 8 marzo 2018 Modalidades Presencial, OpenClass, a medida Introducción Over the years,

More information

Lecture 24: Java Threads,Java synchronized statement

Lecture 24: Java Threads,Java synchronized statement COMP 322: Fundamentals of Parallel Programming Lecture 24: Java Threads,Java synchronized statement Zoran Budimlić and Mack Joyner {zoran, mjoyner@rice.edu http://comp322.rice.edu COMP 322 Lecture 24 9

More information

Kotlin for the Pragmatic Functionalist

Kotlin for the Pragmatic Functionalist Kotlin for the Pragmatic Functionalist Paco Estevez Kotlin logo: 2015-present - JetBrains KotlinConf logo: 2017 - JetBrains Kategory logo: 2017 present - The Kategory maintainers ReasonML logo: 2015 present

More information

The Gearman Cookbook OSCON Eric Day Senior Software Rackspace

The Gearman Cookbook OSCON Eric Day  Senior Software Rackspace The Gearman Cookbook OSCON 2010 Eric Day http://oddments.org/ Senior Software Engineer @ Rackspace Thanks for being here! OSCON 2010 The Gearman Cookbook 2 Ask questions! Grab a mic for long questions.

More information

JVM Survival Guide. Hadi Hariri

JVM Survival Guide. Hadi Hariri JVM Survival Guide Hadi Hariri This talk For What For Who 20 years of Java The Sun and The Oracle Java The Language Java The Virtual Machine Java The Ecosystem The Community Community Driven Not Vendor-Driven

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

Performance Case Study

Performance Case Study Performance Case Study @Fabian_Frank Yahoo! Search, Engineer Youthmedia.eu, Volunteer A Dynamic Website self-contained App self-contained App self-contained App node v0.4.x multi-core

More information

Seam 3. Pete Muir JBoss, a Division of Red Hat

Seam 3. Pete Muir JBoss, a Division of Red Hat Seam 3 Pete Muir JBoss, a Division of Red Hat Road Map Introduction Java EE 6 Java Contexts and Dependency Injection Seam 3 Mission Statement To provide a fully integrated development platform for building

More information

Keep Learning with Oracle University

Keep 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 information

Architecture using Functional Programming concepts < + >

Architecture 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 information

AWS Lambda: Event-driven Code in the Cloud

AWS 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 information

Software MEIC. (Lesson 20)

Software MEIC. (Lesson 20) Software Architecture @ MEIC (Lesson 20) Last class C&C styles Multi-tier style Dynamic reconfiguration style Peer-to-Peer style Today C&C styles Publish-subscribe style Service-oriented architecture style

More information

Reactive Microservices Architecture on AWS

Reactive Microservices Architecture on AWS Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972

More information

RESTful SCA with Apache Tuscany

RESTful SCA with Apache Tuscany RESTful SCA with Apache Tuscany Luciano Resende lresende@apache.org http://lresende.blogspot.com Jean-Sebastien Delfino jsdelfino@apache.org http://jsdelfino.blogspot.com 1 Agenda IBM Software Group What

More information

Asynchronous Ajax for Revolutionary Web Applications. Jeanfrancois Arcand Ted Goddard, Ph.D.

Asynchronous Ajax for Revolutionary Web Applications. Jeanfrancois Arcand Ted Goddard, Ph.D. Asynchronous Ajax for Revolutionary Web Applications Jeanfrancois Arcand Ted Goddard, Ph.D. ICEfaces GlassFish Join the Asynchronous Web Revolution! Easily develop multi-user collaboration features in

More information

Asynchronous Functions in C#

Asynchronous Functions in C# Asynchronous Functions in C# Asynchronous operations are methods and other function members that may have most of their execution take place after they return. In.NET the recommended pattern for asynchronous

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

JAX-RS 2.1 New Features

JAX-RS 2.1 New Features JAX-RS 2.1 New Features What's in the queue for REST in Java EE 8? Markus KARG (Head Crashing Informatics, JSR 339, JSR 370) Java Forum Stuttgart, 2015-07-09 Legal Disclaimer This presentation expresses

More information

Mastering Spring MVC 3

Mastering Spring MVC 3 Mastering Spring MVC 3 And its @Controller programming model Get the code for the demos in this presentation at http://src.springsource.org/svn/spring-samples/mvc-showcase 2010 SpringSource, A division

More information

High performance and scalable architectures

High performance and scalable architectures High performance and scalable architectures A practical introduction to CQRS and Axon Framework Allard Buijze allard.buijze@trifork.nl Allard Buijze Software Architect at Trifork Organizers of GOTO & QCON

More information

Spring Web Services Tutorial With Example In

Spring Web Services Tutorial With Example In Spring Web Services Tutorial With Example In Eclipse Bottom Up In addition to creating a basic web service and client, the article goes a step further This article will be using the Eclipse IDE (Kepler),

More information

What HTTP/2 means to Java Developers?

What HTTP/2 means to Java Developers? What HTTP/2 means to Java Developers? May 2016 David Delabassee @delabassee Oracle Copyright 2016, Oracle and/or its affiliates. All rights reserved. About me Copyright 2016, Oracle and/or its affiliates.

More information

Enterprise 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 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 information

A Long Time Ago 2 / 64

A Long Time Ago 2 / 64 ndertow 1 / 64 A Long Time Ago 2 / 64 A Long Time Ago 3 / 64 A Long Time Ago 4 / 64 Undertow 5 / 64 Features HTTP/HTTPS HTTP/2 WebSockets 6 / 64 Hello, World! Undertow.builder().addHttpListener(8080, "localhost")

More information

Spring-beans-2.5.xsd' Must Have Even Number Of Uri's

Spring-beans-2.5.xsd' Must Have Even Number Of Uri's Spring-beans-2.5.xsd' Must Have Even Number Of Uri's encoding="utf-8"? beans xmlns="springframework.org/schema/beans" spring. schemalocation must have even number of URI's. How can I validate a form collection

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

Tutorial 8 Build resilient, responsive and scalable web applications with SocketPro

Tutorial 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 information

The Rise and Rise of Dataflow in the JavaVerse

The 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 information

CPL 2016, week 6. Asynchronous execution. Oleg Batrashev. March 14, Institute of Computer Science, Tartu, Estonia

CPL 2016, week 6. Asynchronous execution. Oleg Batrashev. March 14, Institute of Computer Science, Tartu, Estonia CPL 2016, week 6 Asynchronous execution Oleg Batrashev Institute of Computer Science, Tartu, Estonia March 14, 2016 Overview Studied so far: 1. Inter-thread visibility: JMM 2. Inter-thread synchronization:

More information

Python Asynchronous Programming with Salt Stack (tornado, asyncio) and RxPY

Python 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 information

Transitioning from C# to Scala Using Apache Thrift. Twitter Finagle

Transitioning from C# to Scala Using Apache Thrift. Twitter Finagle Transitioning from C# to Scala Using Apache Thrift and Twitter Finagle Steven Skelton September 19, 2013 Empathica Empathica provides Customer Experience Management programs to more than 200 of the world's

More information

MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift

MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift MODERN APPLICATION ARCHITECTURE DEMO Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift COOLSTORE APPLICATION COOLSTORE APPLICATION Online shop for selling products Web-based polyglot

More information

Apple. Massive Scale Deployment / Connectivity. This is not a contribution

Apple. Massive Scale Deployment / Connectivity. This is not a contribution Netty @ Apple Massive Scale Deployment / Connectivity Norman Maurer Senior Software Engineer @ Apple Core Developer of Netty Formerly worked @ Red Hat as Netty Project Lead (internal Red Hat) Author of

More information

Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker

Full 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 information

Evolution of an Apache Spark Architecture for Processing Game Data

Evolution of an Apache Spark Architecture for Processing Game Data Evolution of an Apache Spark Architecture for Processing Game Data Nick Afshartous WB Analytics Platform May 17 th 2017 May 17 th, 2017 About Me nafshartous@wbgames.com WB Analytics Core Platform Lead

More information

LINQ, 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 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 information

Spring Session Redis

Spring Session Redis Spring Session Redis Why, How and Production Considerations March 2018 Oded Shopen About Me Oded Shopen Software Architect @ Amdocs Israel Working on Event-Driven, Cloud Native Microservices Redis Geek

More information

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc. Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability

More information

Android Best Practices

Android Best Practices Android Best Practices Agenda Introduction The clean architecture Testing Support library Libraries we can depend on What's next Introduction Introduction Android Studio Gradle Material Design Lollipop

More information

Session 25. Spring Controller. Reading & Reference

Session 25. Spring Controller. Reading & Reference Session 25 Spring Controller 1 Reading Reading & Reference www.tutorialspoint.com/spring/spring_web_mvc_framework.htm https://springframework.guru/spring-requestmapping-annotation/ Reference Spring home

More information

CloudI Integration Framework. Chicago Erlang User Group May 27, 2015

CloudI 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 information

Hands-On: Hystrix. Best practices & pitfalls

Hands-On: Hystrix. Best practices & pitfalls Hands-On: Hystrix Best practices & pitfalls Hystrix...What? built, heavily tested & used in production by Net ix Java library, implementation of resilience patterns Goals: fault tolerant/robust self-healing

More information

Reactive Java: Promises and Streams with Reakt. Geoff Chandler and Rick Hightower

Reactive 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 information

Rx is a library for composing asynchronous and event-based programs using observable collections.

Rx 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 information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...

More information

OAuth2 Autoconfig. Copyright

OAuth2 Autoconfig. Copyright Copyright Table of Contents... iii 1. Downloading... 1 1.1. Source... 1 1.2. Maven... 1 1.3. Gradle... 2 2. Authorization Server... 3 3. Resource Server... 4 I. Token Type in User Info... 5 II. Customizing

More information

DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE

DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE 70-487 DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE ACCESSING DATA(20 TO 25%) 1) Choose data access technologies a) Choose a technology (ADO.NET, Entity Framework, WCF Data Services, Azure

More information

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Alan Bateman Java Platform Group, Oracle November 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Project Loom Continuations Fibers Tail-calls Copyright 2018, Oracle and/or its

More information