Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ SPRINGONE2GX WASHINGTON, DC Developing cloud-native applications with the Spring Tool Suite Kris De Volder, Martin Lippert @kdvolder, @martinlippert
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Safe Harbor Statement The following is intended to outline the general direction of Pivotal's offerings. It is intended for information purposes only and may not be incorporated into any contract. Any information regarding pre-release of Pivotal offerings, future updates or other planned modifications is subject to ongoing evaluation by Pivotal and is subject to change. This information is provided without warranty or any kind, express or implied, and is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions regarding Pivotal's offerings. These purchasing decisions should only be based on features currently available. The development, release, and timing of any features or functionality described for Pivotal's offerings in this presentation remain at the sole discretion of Pivotal. Pivotal has no obligation to update forward looking information in this presentation. 2
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ about us Kris De Volder • Spring Tool Suite team • working on providing IDE support for Spring Boot • Past: Groovy Grails Tool Suite, Pivotal’s Eclipse Plugins for Gradle, Faculty Member in the Department of Computer Science at the University of British Columbia. Ph.D in Computer Science. 3 Martin Lippert • Spring Tool Suite team • working on micro-service and cloud- native app tooling • long-time Eclipse committer, project lead for Eclipse Flux and PMC member of the Eclipse Cloud Development project • long background on agile software development
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Eclipse and the Spring Tool Suite 4
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tool Suite vs. Eclipse • “The Spring Tool Suite is an Eclipse-based development environment that is customized for developing Spring applications.” [from https://spring.io/tools/sts] 5
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What’s new in Eclipse 4.5 and STS 3.7.1 6
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Eclipse 4.5 News • nested projects view (finally) • improved dark theme • huge text search speedup • full support for Java8, including additional highlights such as: • quick fixes for working with Lambda expressions (and converting them) • improved compiler performance • Java9 beta support available • but very limited • Docker tools • Installer for Eclipse (Oomph) 7
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ STS 3.7.1 News • based on Eclipse Mars.1 (4.5.1) • lots of goodies for working with Spring Boot apps • properties file editor (incl. content-assist, validation, hovers) • YML file editor (incl. content-assist, validation, hovers) • improved “Run as Spring Boot app” • improved Spring Starter wizard • performance improvements • signed OSX app bundle • … 9
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud Foundry Integration for Eclipse • improved performance • certain operations dramatically faster than in previous versions • improved support for Spring Boot • drag&drop deploy, no manual nature addition required anymore • additional improvements under the hood 11
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ The Cloud Foundry Plugin for Eclipse is now a member of the Eclipse Cloud Development top-level project 12
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud-native applications 13
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ The way we build software changes dramatically 14
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Continuous Delivery DevOps Containers Microservices 15
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Boot and Spring Cloud for building, connecting, and operating microservices 16
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud Foundry the cloud-native runtime 17
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ But what does that mean for our tools? 18
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ most of the developer tools are built for the pre-pre-pre-cloud-native era 19
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ cloud-native tools • deal with large number of small (independent) projects • need to keep an overview (grouping, tagging, filtering) • what is running/what not? • where is it running? • quick access to console and log output • need quick access to running app • projects get created more frequently 20
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ cloud-native tools • need access to remote cloud-native runtime (like CF) • deploy to (multiple) runtime(s) • run and update services on cloud-native runtime • use existing services and apps on cloud-native runtime 21
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Try it at the Demo Lounge 23
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ upcoming STS releases • STS 3.7.1 • end of September, early October 2015 • shortly after Eclipse Mars.1 (4.5.1) • STS 3.7.2 • early March 2016 • shortly after Eclipse Mars.2 (4.5.2) • STS 3.8.0 • early July 2016 • shortly after Eclipse Neon (4.6) GA 26
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Q&A 27 Get the Spring Tool Suite from: https://spring.io/tools
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 28 Learn More. Stay Connected. @springcentral Spring.io/video Kris De Volder [email protected] @kdvolder Martin Lippert [email protected] @martinlippert