• Contract Testing: The Key to Reliable Communication in distributed systems

    Distributed systems are all about communication. Unfortunately, integration tests are difficult especially in distributed environments, where many applications communicate with each other. When we add continuous deployment it becomes impossible to ensure two independently deployed services will integrate properly on production. Historically, as a community, we tackled similar issues with monolithic software. We realized Test-Driven Development allows us to improve the design by looking at the function signatures from the client perspective. Why not bring a similar approach from the client to the API and architecture layer? During the talk, it will be explained why but also show how to use contract testing and ""consumer-driven contracts"" techniques to improve the reliability of synchronous as well as the asynchronous communication in distributed environments. Speaker Jakub Kubrynski is a software developer for whom coding is a way of life as well as a hobby. For over 15 years of his professional career, he worked as a software developer, architect, team leader, and manager. He gained experience working on both sides of the delivery process: as a vendor and as a client. Jakub is an active contributor to many open-source projects and co-author of the Spring Cloud Contract. He is also the co-founder of the online technical assessment platform, Devskiller and a consultant helping many Fortune500 companies to streamline their software. .-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-. Agenda 6:30 - Doors open. Networking. Food and drinks 6:45 - Welcome 6:50 - Spring Cloud Contract 7:30 - Q&A break and wrap-up Location: Pivotal 636 6th Avenue, 2nd Floor New York, NY 10011

  • Stream Processing with the Spring Framework (Like You've Never Seen It Before)

    At our November Meetup, we're welcoming special guest, Viktor Gamov from Confluent! Let's assume you are eager to refactor your existing monolith, legacy system, or other to-be-deprecated code into a shiny new event-driven system. And let us assume, while you are in the process, that you want to use the Spring Framework as your guiding architectural substrate. These are not just cool things to do—they are measured, well-informed, downright wise architectural decisions with many successful projects behind them. In this talk, Viktor Gamov will live-code their way to a small, functioning, microservices-based web application. We'll use Spring Boot for the web interfaces, Apache Kafka to integrate the services, and of course Spring for Kafka as the API between the two. If you want to use Spring and Kafka together, apply the right patterns, avoid the wrong antipatterns, and generally get a good glimpse into a solid toolset for building a modern Java web application, look no further.