integration architecture with java ee and spring
TRANSCRIPT
![Page 1: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/1.jpg)
Integration architecture with Java EE and Spring
Markus Eisele (Lightbend) Josh Long (Pivotal)
![Page 2: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/2.jpg)
@myfear
![Page 3: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/3.jpg)
Josh Long ( ) the Spring Developer Advocate
• http://cloudnativejava.io • @starbuxman • [email protected] • Java Champion • open-source contributor
(Spring Boot, Spring Cloud, Spring Integration, Vaadin, Activiti, etc etc)
![Page 4: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/4.jpg)
Hands-onGet your
environment ready
![Page 5: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/5.jpg)
http://bit.ly/1MpEaS5
![Page 6: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/6.jpg)
Where We’ve Been
![Page 7: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/7.jpg)
Motivations for Java EE / J2EE• Centralized Infrastructures • Shared baseline• Centralized governance and management• Innovation through implementation• Convention over configuration
![Page 8: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/8.jpg)
Today’s reality for Java EE• Shared baseline installs no longer relevant• Customized and distributed fat-jars.• Innovation can’t be standardized • Centralized governance vs. DevOps• Interesting for commodity (e.g. JDBC)
![Page 9: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/9.jpg)
Motivations for Spring• Spring was born to simplify J2EE
APIs• Spring was born to promote
testing, faster feedback loops• to provide patterns and best
practices• provide flexibility through
configuration (over convention)
![Page 10: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/10.jpg)
Today’s reality for Spring• Java EE (vs J2EE) is very concise, powerful• continuous improvement and delivery still key to the power of
Spring• Best practices evolve, and Spring has tried to keep up.
Meanwhile, old best practices.. aren’t• Spring has tried to learn from Java EE and Rails by
accommodating smart conventions.
![Page 11: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/11.jpg)
And now?
![Page 12: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/12.jpg)
SpringJava EE><
==?
![Page 13: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/13.jpg)
![Page 14: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/14.jpg)
Why this talk?
![Page 15: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/15.jpg)
Use Spring APIs from Java EE
![Page 16: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/16.jpg)
Motivation• Features that Java EE doesn’t provide out-of-the-box
• Spring Security • Social login • the `JdbcTemplate` • MVC • NoSQL • Enterprise Application Integration • big data • RabbitMQ • NoSQL • Kafka • …. maybe it’s better to show!
![Page 20: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/20.jpg)
Motivation• Backwards Compatibility
• Spring framework has a very long tail: Spring framework 4 runs on Servlet 2.5+ (2006!!), Java EE 6 (2009) and Java 6+.
• Websphere 7 and WebLogic 10.3.4 require JPA 2 feature packs
![Page 21: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/21.jpg)
demo
![Page 22: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/22.jpg)
Coffee Break
![Page 23: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/23.jpg)
Use Java EE APIs from Spring
![Page 24: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/24.jpg)
Motivation• Want to or have to migrate• Your team already has the knowledge• You want to use standards where standards make sense
because they’re commoditized or invasive: • JTA, JPA, JSR303, JSR 330, JCA, JDBC, JMS, Servlets, etc.
etc.
![Page 25: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/25.jpg)
demo
![Page 26: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/26.jpg)
Option 3
![Page 27: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/27.jpg)
Integrate both worlds
![Page 28: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/28.jpg)
Motivation• Today’s world is growing more and more polyglot and
heterogeneous. • Open Source is driving innovation. • Closed source stays platform decision.• Parts move over. Others don’t.
![Page 29: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/29.jpg)
Spring Application
Java EE Application
JMS
![Page 30: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/30.jpg)
Spring Application
Java EE Application
REST Calls
![Page 31: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/31.jpg)
Spring Application
Java EE Application
SOAP
![Page 32: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/32.jpg)
Spring Application
Java EE Application
Websocket
![Page 33: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/33.jpg)
Spring Application
Java EE Application
RMI
![Page 34: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/34.jpg)
Spring Application
Java EE Application
DB1DB2
![Page 35: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/35.jpg)
Java EE Application
Spring Application CDI
![Page 36: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/36.jpg)
micro services/ˈmʌɪkrəʊ/noun
![Page 37: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/37.jpg)
![Page 38: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/38.jpg)
Software DesignOuter Architecture
Methodology and Organization
Distributed Systems
Platform As A Service
![Page 39: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/39.jpg)
![Page 40: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/40.jpg)
Migration Approaches
![Page 41: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/41.jpg)
![Page 42: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/42.jpg)
![Page 43: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/43.jpg)
![Page 44: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/44.jpg)
• evolve or die• build software that survives, scales and
evolves on a dynamic cloud environment
http://cloudnativejava.io/about/
![Page 45: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/45.jpg)
http://bit.ly/ModernJavaEE
• Understand the challenges of starting a greenfield development vs tearing apart an existing brownfield application into services
• Examine your business domain to see if microservices would be a good fit
• Explore best practices for automation, high availability, data separation, and performance
• Align your development teams around business capabilities and responsibilities
• Inspect design patterns such as aggregator, proxy, pipeline, or shared resources to model service interactions
![Page 46: Integration architecture with Java EE and Spring](https://reader034.vdocument.in/reader034/viewer/2022051503/5877722d1a28ab5b568b5ed1/html5/thumbnails/46.jpg)
Thank you.
@myfear @starbuxman