New York

June 20-21

Microsoft Technology Center
11 Times Square, 6th Floor
New York, NY 10036

Agenda Day 1

8:00AM–8:45AM
Breakfast
8:45AM–9:00AM
Welcome
9:00AM–9:40AM
Welcome to Java 9

Jeanne Boyarsky Software Developer, CodeRanch

What happens on July 27th 2017? At long last, Java 9 gets officially released and as Java developers, we should be ready. After a brief review of Jigsaw, we will look at some of the still useful but less talked about features. Some will save you typing and make your code easier to read such as changes to try-with-resources and inner classes. Some are new APIs that will save you time like new stream APIs. Attendees will walk away knowing what’s new and improved in Java 9 regardless of whether they need to complete a jigsaw puzzle.

9:50AM–10:30AM
Live Coding with Spring Boot & Actuators

John Humphreys VP of Engineering Infrastructure Systems, Nomura

Spring Boot is a modern and extensible development framework that aims (and succeeds!) to take as much pain as possible out of developing with Java. With just a few Maven dependencies, new or existing programs become runnable, init.d-compliant uber-JARs or uber-WARs with embedded web-servers and virtually zero-configuration, code or otherwise. As an added freebie, Spring Boot Actuator will provide your programs with amazing configuration-free production monitoring facilities that let you have RESTFUL endpoints serving live stack-traces, heap and GC statistics, database statuses, spring-bean definitions, and password-masked configuration file audits.

10:50AM–11:30AM
Microservices Pattern Language

Chris Richardson Founder, Eventuate

When architecting an enterprise Java application, you need to choose between the traditional monolithic architecture consisting of a single large WAR file, or the more fashionable microservices architecture consisting of many smaller services. But rather than blindly picking the familiar or the fashionable, it’s important to remember what Fred Books said almost 30 years ago: there are no silver bullets in software. Every architectural decision has both benefits and drawbacks. Whether the benefits of one approach outweigh the drawbacks greatly depends upon the context of your particular project. Moreover, even if you adopt the microservices architecture, you must still make numerous other design decisions, each with their own trade-offs. A software pattern is an ideal way of describing a solution to a problem in a given context along with its tradeoffs. In this presentation, we describe a pattern language for microservices. You will learn about patterns that will help you decide when and how to use microservices vs. a monolithic architecture. We will also describe patterns that solve various problems in a microservice architecture including inter-service communication, service registration and service discovery.

11:35AM–12:05PM
Servlet vs Reactive Stacks in 5 Use Cases

Rossen Stoyanchev Spring Framework Developer

In the past year Netflix shared a story about upgrading their main gateway serving 83 million users from Servlet-stack Zuul 1 to an async and non-blocking Netty-based Zuul 2. The results were interesting and nuanced with some major benefits as well as some trade-offs. Can mere mortal web applications make this journey and moreover should they? The best way to explore the answer is through a specific use case. In this talk we'll take 5 common use cases in web application development and explore the impact of building on Servlet and Reactive web application stacks. For reactive programming we'll use RxJava and Reactor. For the web stack we'll pit Spring MVC vs Spring WebFlux (new in Spring Framework 5.0) allowing us to move easily between the Servlet and Reactive worlds and drawing a meaningful, apples-to-apples comparison. Spring knowledge is not required and not assumed for this session.

12:20PM–1:00PM
Reactive Programming by Example

Victor Grazi VP, Nomura

Reactive Programming is an emerging paradigm for concurrent programming using non-blocking concurrency. This means you can have multiple workers without allocating resources to multiple threads! In this presentation we will take a look at what reactive programming is and why it has become so popular. Then we will look at the rx-java implementation, along with a deep dive into some coding examples.

1:00PM–2:00PM
Lunch
2:00PM–5:00PM
Open Space
5:00PM–7:00PM
Networking & Social


Agenda Day 2

8:00AM–8:45AM
Breakfast
8:45AM–9:00AM
Welcome
9:00AM–9:40AM
Advanced Spring Boot & Consul

Michael Gendelman Systems Management Architect, Nomura

Take your Spring Boot applications to the next level by utilizing configuration service, discovery service and advanced metrics and monitoring, needed to support micro services and cloud. We will add discovery and configuration services to an existing Spring Boot application and demonstrate hot configuration change and failover. We will create custom metrics and push them out to a common monitoring framework.

9:50AM–10:30AM
Cloud-Native Streaming and Event-Driven Microservices

Marius Bogoevici Spring Cloud Stream Lead

Join us for an introduction to Spring Cloud Stream, a framework for creating event-driven microservices that builds on on the ease of development and execution of Spring Boot, the cloud-native capabilities of Spring Cloud, and the message-driven programming model of Spring Integration. See how Spring Cloud Stream’s abstractions and opinionated primitives allow you to easily build applications that can interchangeably use RabbitMQ, Kafka or Google PubSub without changing the application logic. Finally, we will show how these applications can be orchestrated and deployed on different modern runtimes such as Cloud Foundry, Kubernetes or Mesos using Spring Cloud Data Flow.

10:50AM–11:30AM
JHipster 4: Bringing Together Angular and Spring Boot

Yakov Fain Solutions Architect, Farata Systems

JHipster 4 is an open-source code generator that allows you to automate creation and configuration of a Web project that uses the Angular framework on the front and Spring Boot on the back. We'll start with a simple example where an Angular app consumes the REST service from Spring Boot. After that, we'll use JHipster to generate a complete Angular/Spring Boot project.

11:35AM–12:05PM
TBA
12:20PM–1:00PM
TBA
1:00PM–2:00PM
Lunch
2:00PM–5:00PM
Open Space


Spring Experts

Marius Bogoevici, Spring Cloud Stream Lead, Pivotal

Marius Bogoevici is a software engineer at Pivotal, leading Spring Cloud Stream, and working on Spring Cloud Data Flow, Spring XD, and other Spring projects.

Jeanne Boyarsky, Software Developer, CodeRanch

Jeanne Boyarsky is a Java developer and part time ScrumMaster. She co-authored Wiley’s OCA/OCP 8 certification books. In addition to volunteering at CodeRanch, she mentors the programmers on a high school robotics team.

Yakov Fain, Solutions Architect, Farata Systems

Yakov Fain is the lead author of the Amazon bestseller "Angular 2 Development with TypeScript" as well as a number of other technical books on programming. Yakov works as a Solutions Architect at the IT consultancy Farata Systems. A Java Champion, he has taught multiple classes and workshops on web and Java-related technologies, presented at international conferences, and published more than a thousand blog posts (see https://yakovfain.com).

Michael Gendelman, Systems Management Architect, Nomura

Michael Gendelman is an architect and developer for systems management at Nomura. He released his first Spring Framework application to production while the first release was still in beta and has been a proponent of Spring technologies ever since. He currently concentrates on designing and building systems which can smoothly transition between legacy and cloud environments.

Victor Grazi, VP, Nomura

Victor Grazi is an Oracle Java Champion. He has been Vice President at JPMorgan Chase Securities Lending division, and Java editor at InfoQ.com. Victor frequently presents at technical conferences where he speaks about Java concurrency and other Java related topics. He is the author of the popular Java concurrency training tool "Java Concurrent Animated" on SourceForge.

John Humphreys, VP of Engineering Infrastructure Systems, Nomura

My name is John Humphreys. I've developed software in a variety industries including chemical and films production, military contracting, and finance (both in and out of banks). I have an BSc in Software Engineering from the University of Teesside in the UK, and a masters in CS from Stevens University in Hoboken, NJ. I love coding and my primary focus areas are Java, SQL, and web-technologies. Looking forward, I'm currently enjoying my first forays into big data using the MapR platform.

Chris Richardson, Founder, Eventuate

Chris Richardson is a developer and architect. He is the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate. Chris was also the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2. Today, he is a recognized thought leader in microservices. Chris is the creator of http://microservices.io, a website describing how to develop and deploy microservices. He provides microservices consulting and training and is working on his third startup http://eventuate.io, an application platform for developing microservices.

Rossen Stoyanchev, Spring Framework Developer, Pivotal

At present, Rossen is a committer on the Spring Framework team with a strong focus on web development including Spring MVC and WebSocket messaging. Previously Rossen consulted and trained Spring teams for several years. He has been involved with Java and web development in various industries and domains since the mid 90s.

Get Involved

Submit a Talk Proposal

Call for papers is open now!

Start Your Own

Contact us to organize Spring Days in your city.

Sponsor Us

Learn about Spring Days sponsorship opportunities.

SpringOne Platform

For those who build and operate cloud-native software.