Java Stack 4 Providing Robust Back-end Web Services For Your Solution The Business of Providing Solutions • Portfolios provide a related set of solutions • Each solution provides one more related services • Web applications provide the ability to scale services across the globe Anatomy of a Solution • The front-end • Delivered to the user’s device • Visible to end users • Provides customer interaction • The back-end • • • • Resides on the network Invisible to end users Provides the logic of the business’ core services Performs the heavy lifting The Ideal Solution Portfolio • Front-end applications • Light-weight • Loosely-coupled to back-end services • Back-end application services • One-to-one relationship to the business’ core services (no duplication) • Consumable by multiple front-end applications (scalable) • Consumable by other back-end services (composable) The Life of a Solution • Core business services remain fairly constant • Slow evolution over time • Customer expectations change often and quickly • Rapid evolution over time Challenges: The Back-end Application services often get tailored to a specific consumer, or frontend representation. • Back-end becomes tightly coupled to the front-end • Services must be re-written or re-factored for each front-end consumer • Services become out-of-date when the front-end is out-of-date Challenges: The Front-end Tightly coupled back-ends result in server-generated front-ends: • Frequent trips to the server • Less responsive user-interaction • Every view on the service must be secured • As many as 10x to 100x the number of resources than the actual number of services that require the security • Complex security rules • Lots of room for error The Goal • Extend the life of back-end services • Allow front-end representations to: • Evolve independently • Be more responsive • Be more secure Introducing Java Stack 4 • Repositioned solidly to provide robust, back-end application services • The recommended Stack for all ICS back-end services • Cloud-ready out of the box • Built upon the latest technological innovations of the global Java community (Java 8, Spring Boot, etc.) • Simpler, cleaner, and more powerful than ever before Browser / Mobile Device Front End (On the Client) Front-end Applications Static Content Rest API Calls WAM MLU WS Other Web Service Back-End (On the Server) Java Stack 4 Application Cloud / Platform as a Service LDAP Oracle DB Java Stack 4 – Saving Time and Cost • Provides a fully decoupled back-end service stack • • • • Faster, easier development, testing, and deployment Maximum scalability Longer life Much lower cost of maintenance • Allows front-end solutions to maximum responsiveness • Reduces trips to the server • Allows front-ends to query only what has changed • Easily secured • Finite number of service entry points Why Use Java Stack 4? • The best guarantee for: • Security – clean, declarative security model • Efficiency – streamlined processes for development, testing, and deployment • Scalability – consumable across many platforms and applications • Repeatability – simple, well-understood patterns • Supportability – familiar standards, reduced training requirements Making the most of Java Stack 4 1. 2. 3. 4. 5. Identify your core business services Federate each business service into a back-end service application Keep each back-end service tightly focused to its problem domain Keep each service generically consumable Compose your services within the front-end or within another backend, aggregating service Where to go from here? • SORT 2014 • Java Stack 4 RESTful Web Applications • Java Stack 4 with Spring Boot • Java Stack 4 Documentation