Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The JAQ Stack - Building Websites With Java, An...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Suren Suren
September 18, 2018

The JAQ Stack - Building Websites With Java, Angular and NoSQL/SQL

The presentation discusses "The JAQ (Java, Angular, Sql/NoSQL) Application Stack" and ho to use it to build websites FAST using the stack.

Avatar for Suren

Suren

September 18, 2018
Tweet

Other Decks in Programming

Transcript

  1. The JAQ Stack Build Websites & Applications with Java, Angular

    & NoSQL/SQL Seattle Code Camp 2018 Suren Konathala • 15th September, 2018
  2. Organization of this Presentation The Problem • Why another stack?

    • Typical development process • Developer pain points The Solution • My quest for a simple solution • The birth of JAQ Stack • What is an application stack • The JAQ Stack Architecture • DevOps How can JAQ Speed up things? Demo
  3. About Me.. • Works at Adobe as Technical Consultant /

    Architect • Been a Java developer for over 16 years • Passionate about Technology and Open source • Visual storyteller, Loves to write • @surenkonathala
  4. Why another stack? Not typical • Websites or a web

    applications are typically built using HTML/CSS a bit of Javascript. And to call backend code we need to extend the scripting - Either Javascript (NodeJS, Angular) or a backend language (PHP, C#, Java) • When we need to call Java.. we need to use some framework (JSP, Spring) • Changing the UI is cumbersome and a lengthy process • Alternatives we hear are Microservices, Functions, Serverless etc. But that adds up learning curve
  5. Typical development process • Design team ◦ Build mockups.. On

    approval ◦ Convert to HTML/CSS, add some 3rd party javascript files • Inject the Java compatible code snippets into HTML (either using JSP or other frameworks) ◦ If Spring then the entire application need to be built as per it’s design & development principles ◦ Or add other frontend frameworks like Angular/React • Backend code - business logic, data crud operations in Java
  6. Developer pain points • Identifying a platform / framework is

    often very tedious • If the website/web app design need to change, it’s a lot of work • Very few or almost no resources on using modern frontend frameworks/api’s with Java as backend • Lots of examples only on using Spring framework • Lot of application deployment endpoints to manage
  7. My quest for a simple solution My Rules 1. No

    frameworks.. Please 2. Keep it simple.. Little or ZERO learning curve 3. Build on what’s already there and developers know - What the programming languages/frameworks already offer 4. Make it easy for all roles (UI, Frontend and Backend developers) to work together and integrate 5. Make building websites simple using Java, like the way we can with Wordpress (pluggable themes) 6. Always free.. open-sourced
  8. What i found? Disappointment 1. Unfortunately there are NONE that

    are Open-source/free 2. Most of them were on Spring framework
  9. The birth of JAQ Stack What is it? • Is

    an Open source Application stack built using plain Java, Jakarta EE (formerly Java EE) and Angular • Applications are built as a single deployable archive(WAR) file • Open/extendable to use any database • Can integrate with any web service (JSON) What it is NOT? • Is not a framework • Is not a programming language or an API
  10. Technical Requirements • Built using Java 1.8 SDK, Supports OpenJDK

    • Maven 3.3 or more • Tested with Angular 5 • Yarn 1.7.0 or > • NodeJS 10.5 or >
  11. How can JAQ Stack speed up development? 1. No frameworks,

    Zero learning curve 2. Separate code/folders for multiple teams to work independently 3. But one build file for IT to manage easily 4. Speeds up application delivery, less dependencies 5. Helps Agile development
  12. Goals for JAQ Stack 1. Make JAQ Stack as MicroProfile

    2. Cloud native, Container-ready 3. More complete examples - with real time use-cases 4. A set release cadence 5. Documentation - Website, Wiki, Book
  13. JAQ Stack will be a part of The Future Of

    Web Development With Java