What's New In Spring 2014

035ae18f5f948ab3c8a5cbf40bbea383?s=47 Dave Syer
November 07, 2014

What's New In Spring 2014

A round up of recent exciting news and an overview of the Spring IO Platform as of the end of 2014

035ae18f5f948ab3c8a5cbf40bbea383?s=128

Dave Syer

November 07, 2014
Tweet

Transcript

  1. What's New in Spring Dave Syer, Pivotal, 2014

  2. About the Speaker • Pivotal[1] employee, based in London, (since

    Interface21 2006) • Spring Engineering team, full time OSS coding and community leader • Former life in risk management and consultant 1) http://pivotal.io is a 2013 spin off from Vmware and EMC (and GE), roughly 1500 people l PaaS: Cloud Foundry and PCF l Big Data: Greenplum, PHD, data science l Agile consulting: Pivotal Labs l AppSuite: tcServer, RabbitMQ, Redis, Spring 2
  3. First Question: What is Spring? • Java • Libraries (modular)

    • Open source • “Enterprise” (data, integration, services etc.) • Boilerplate 3 If you write code that isn't making you money, then think again.
  4. 4 Jobs, Steps, Readers, Writers Ingestion, Export, Orchestration, Hadoop Controllers,

    REST, WebSocket Channels, Adapters, Filters, Transformers WEB INTEGRATION BATCH BIG DATA SPRING CORE FRAMEWORK SECURITY GROOVY REACTOR DATA RELATIONAL DATA ACCESS NON-RELATIONAL DATA ACCESS BOOT Bootable, Minimal, Ops-Ready GRAILS Full-stack, Web XD Stream, Taps, Jobs IO EXECUTION IO FOUNDATION IO COORDINATION SPRING CLOUD Spring IO Platform: Coordination
  5. Spring IO Platform 5 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  6. Spring IO Platform 6 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  7. Spring IO Execution: Spring Boot • Execution layer: eliminate boilerplate

    configuration • Spring Boot 1.1.x Released • 88 contributors • Foundation for all Spring IO Execution Layer 7
  8. Spring IO Execution: Spring Boot 8 @RestController class App {

    @RequestMapping('/') def home() { [message: 'Hello World!’] } }
  9. Spring IO Platform 9 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  10. Spring IO Platform Distribution Roadmap 10 2.0 1.0 1.1 June

    2014 Spring 4.0 baseline Nov 2014 Spring 4.1 baseline 1H 2015 12 months - major Current: 1.0.2 6 months - minor
  11. Spring IO Platform 11 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  12. No Man (Microservice) is an Island It's excellent to be

    able to implement a microservice really easily (Spring Boot), but building a system that way surfaces "non-functional" requirements that you otherwise didn't have. There are laws of physics that make some problems unsolvable (consistency, latency), but brittleness and manageability can be addressed with generic, boiler plate patterns. 12
  13. Spring Cloud 13 Client Bindings Service Discovery Config Server Circuit

    Breakers Edge Service Intelligent Router Leader Election One-time Tokens Global Locks Cluster State Event Bus
  14. Spring IO Platform 14 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  15. Spring IO Core: Spring Framework 4.1 GA • Annotated JMS

    listener methods • Comprehensive support for JCache (JSR-107) annotations • Flexible resolution and transformation of static web resources • MVC views: declarative resolution + Groovy markup templates • Performance: SpEL compiler mode + concurrency fine-tuning 15
  16. Spring IO Platform 16 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  17. Spring XD – Big Data, Little Time $ stream create

    --name httptest --definition "http | hdfs" $ stream create --name httptap --definition "tap:stream:httptest > counter --name=recordcount" 17
  18. Spring XD: Unified Platform for Big Data 18 Spring XD

    Runtime BIDIRECTIONAL RDBMS NoSQL R, SAS Streams Jobs ingest workflow export taps Redis GemFire Compute HDFS Predictive Modelling
  19. Spring IO Platform 19 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  20. Spring IO Core: Reactor • Microservices proliferate in modern architectures

    • No Microservice is an Island • More Microservices === More Runtime Resources required • More More Runtime Resources required === More $$$ • Microservices have acute need for efficiency • Contrary to myth: Runtime Resources aren’t free/cheap • Microservices are natural fit for Reactive Architecture 20
  21. Spring IO Core: Reactor What is Reactive Streams? 21 “...provide

    a standard for asynchronous stream processing with non-blocking backpressure.” github.com/reactive-streams/reactive-streams Available as a library org.reactivestreams:reactive-streams:0.4.0.M2 Reactor 2.0 implements Reactive Streams
  22. Spring IO Platform 22 Grails Spring IO Platform Distribution Spring

    XD Spring Foundation Apps Spring Cloud 3rd Party Dependencies Spring Boot
  23. Spring IO Core: Groovy Update • “What’s new in Groovy

    2.3 • Java 8 support • Traits • Templating • What’s coming in Groovy 2.4 • Android support • New documentation • New website 23
  24. Spring IO Execution: Grails 3.0 Microservices 24 @Grab("com.h2database:h2:1.3.173") import grails.persistence.*

    @Entity @Resource(uri='/books') class Book { String title }
  25. Spring IO in the News • Spring IO Platform Distribution

    1.1 • Spring Boot 1.2 • Spring Cloud 1.0 • Spring Framework 4.1 • Spring XD 1.0 • Reactor 2.0 and Reactive Streams 1.0 • Groovy and Grails 3.0 25