Microsoft Technology Center
11 Times Square, 6th Floor
New York, NY 10036
Agenda Day 1
Jeanne Boyarsky Software Developer, CodeRanch
Coming soon - Java 9 is nearing official release. As Java developers, we should be ready. Java 9 is more than just Jigsaw and 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.
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.
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.
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.
Victor Grazi VP, Nomura
Reactive Programming is an emerging paradigm for non-blocking concurrent programming. 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 Pivotal's Reactor implementation, along with a deep dive into some coding examples.
Agenda Day 2
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.
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.
Reshmi Krishna Senior Cloud Application & Platform Architect, Pivotal
Vinay Upadhya Advisory Platform Architect, Pivotal
TDD introduced many improvements into the development process with the biggest advantage relating to code design. As we move to a microservices based architecture, TDD becomes hard to implement across teams building different codebases. Consumer driven contracts (CDC) is like TDD but applied at the API level and is becoming more relevant in the world of microservices. It is a pattern for specifying and verifying interactions between different modules of an application. Spring Cloud Contract provides support for Consumer Driven Contracts and service schemas in Spring applications, covering a range of options for writing tests, publishing them as assets, asserting that a contract is kept by producers and consumers, for HTTP and message-based interactions. In this session, you will learn how we can implement TDD in microservices based architecture using Spring Cloud Contracts.
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.
Justin Baumgartner Solstice
JUnit 5 is launching this fall and will undoubtedly move the needle for automated testing. Simultaneously, the demands of digital continue to grow and place a greater importance on automated testing for backend systems. Join Justin Baumgartner for a discussion where he will highlight the new features of JUnit 5, including Lambda support, dynamic and parameterized tests, and advances in integration testing. Justin will demonstrate the new testing features through the lens of a conversational UX experience.
Justin Baumgartner, Technical Senior Consultant, Solstice
Justin Baumgartner is a Technical Senior Consultant at Solstice where he is passionate about transforming Fortune 1000 enterprises’ digital experiences. He began his career developing and architecting an iOS Fortune 500 banking app. As a full stack engineer, Justin works with clients to modernize their systems using Spring Boot and PCF. In his free time, Justin loves learning new technologies, playing Rocket League, and enjoying craft beers.
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.
Reshmi Krishna, Senior Cloud Application & Platform Architect, Pivotal
Reshmi Krishna (@reshmi9k) is a Senior Cloud Application & Platform Architect at Pivotal, where she works with Cloud Foundry and helps customers transform the way they build software. Previously, Reshmi was a software engineer with investment banks and startups on Wall Street. Reshmi loves to speak and support various conferences and meetups. She also support causes for diversity, including Women in Tech and participates in the Grace Hopper Conference for Women.
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.
Vinay Upadhya, Advisory Platform Architect, Pivotal
Vinay Upadhya works for Pivotal Software Inc. and is currently focused in helping Pivotal’s top Fortune 100 enterprise customers increase their business agility by enabling their technology teams to deliver software quicker with the help of cloud platforms like Cloud Foundry. Vinay is also involved in evangelizing and helping his customers, design and build cloud-native and resilient applications with micro-services and DDD paradigms using cutting edge open source frameworks like Spring, Netflix OSS, RabbitMQ and Apache Geode. In the past Vinay has had diverse experience consulting under the banners of VMware and Accenture for enterprise customers in building modern application architectures.