The JAQ Stack
Build Websites &
Applications with
Java, Angular & NoSQL/SQL
Seattle Code Camp 2018
Suren Konathala • 15th September, 2018
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
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
The Problem
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
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
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
The Solution
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
What i found?
Disappointment
1. Unfortunately there are NONE that are Open-source/free
2. Most of them were on Spring framework
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
Courtesy - Course Report
The JAQ Stack
Architecture / Process Flow
Closer look at example codebase
DevOps
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 >
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
Demo
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
Questions?
JAQ Stack will be a part of
The Future Of Web
Development With Java

Introducing the JAQ (Java, Angular, Sql/NoSQL) Stack

  • 1.
    The JAQ Stack BuildWebsites & Applications with Java, Angular & NoSQL/SQL Seattle Code Camp 2018 Suren Konathala • 15th September, 2018
  • 2.
    Organization of this Presentation TheProblem ● 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.. ● Worksat 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.
  • 5.
    Why another stack? Nottypical ● 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
  • 6.
    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
  • 7.
    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
  • 8.
  • 9.
    My quest fora 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
  • 10.
    What i found? Disappointment 1.Unfortunately there are NONE that are Open-source/free 2. Most of them were on Spring framework
  • 11.
    The birth ofJAQ 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
  • 12.
  • 13.
  • 15.
  • 16.
    Closer look atexample codebase
  • 17.
  • 18.
    Technical Requirements ● Builtusing Java 1.8 SDK, Supports OpenJDK ● Maven 3.3 or more ● Tested with Angular 5 ● Yarn 1.7.0 or > ● NodeJS 10.5 or >
  • 19.
    How can JAQ Stackspeed 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
  • 20.
  • 21.
    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
  • 22.
  • 23.
    JAQ Stack willbe a part of The Future Of Web Development With Java