SlideShare a Scribd company logo
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

More Related Content

What's hot

Activity 5
Activity 5Activity 5
Activity 5
John Vincent Caño
 
Play with Elm!
Play with Elm!Play with Elm!
Play with Elm!
Paris Scala User Group
 
wp cli- don’t fear the command line
wp cli- don’t fear the command linewp cli- don’t fear the command line
wp cli- don’t fear the command line
Dwayne McDaniel
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from Clojure
Hsuan Fu Lien
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basics
Dwayne McDaniel
 
4 reasons you don’t use java’s gui capabilities
4 reasons you don’t use java’s gui capabilities4 reasons you don’t use java’s gui capabilities
4 reasons you don’t use java’s gui capabilities
jbirkeltech
 
Play with elm - Choucri fahed, Finstack - Lambadays
Play with elm - Choucri fahed, Finstack - LambadaysPlay with elm - Choucri fahed, Finstack - Lambadays
Play with elm - Choucri fahed, Finstack - Lambadays
Finstack
 
Patterns: The new Javascript framweork
Patterns: The new Javascript framweorkPatterns: The new Javascript framweork
Patterns: The new Javascript framweork
Franco Pellegrini
 
Ppt full stack developer
Ppt full stack developerPpt full stack developer
Ppt full stack developer
SudhirVarpe1
 
Nascenia -- company profile
Nascenia -- company profile Nascenia -- company profile
Nascenia -- company profile
Nascenia IT
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...
Krzysztof (Chris) Ozog
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
Prakarsh -
 
NOLOH PHP Framework - Unified Server-Side Development
NOLOH PHP Framework - Unified Server-Side DevelopmentNOLOH PHP Framework - Unified Server-Side Development
NOLOH PHP Framework - Unified Server-Side Development
NOLOH LLC.
 
My Career Journey
My Career JourneyMy Career Journey
My Career Journey
Ryan Burgess
 
Jakarta js meetup - Real time web apps with vue & firebase - may 17, 2017
Jakarta js meetup  - Real time web apps with vue & firebase - may 17, 2017Jakarta js meetup  - Real time web apps with vue & firebase - may 17, 2017
Jakarta js meetup - Real time web apps with vue & firebase - may 17, 2017
Septian Tama
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
Gil Fink
 
Html5
Html5Html5
Html5
Nasla C.K
 
Create first android app with MVVM Architecture
Create first android app with MVVM ArchitectureCreate first android app with MVVM Architecture
Create first android app with MVVM Architecture
khushbu thakker
 

What's hot (20)

Activity 5
Activity 5Activity 5
Activity 5
 
Play with Elm!
Play with Elm!Play with Elm!
Play with Elm!
 
wp cli- don’t fear the command line
wp cli- don’t fear the command linewp cli- don’t fear the command line
wp cli- don’t fear the command line
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from Clojure
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basics
 
4 reasons you don’t use java’s gui capabilities
4 reasons you don’t use java’s gui capabilities4 reasons you don’t use java’s gui capabilities
4 reasons you don’t use java’s gui capabilities
 
Play with elm - Choucri fahed, Finstack - Lambadays
Play with elm - Choucri fahed, Finstack - LambadaysPlay with elm - Choucri fahed, Finstack - Lambadays
Play with elm - Choucri fahed, Finstack - Lambadays
 
Patterns: The new Javascript framweork
Patterns: The new Javascript framweorkPatterns: The new Javascript framweork
Patterns: The new Javascript framweork
 
Ppt full stack developer
Ppt full stack developerPpt full stack developer
Ppt full stack developer
 
Nascenia -- company profile
Nascenia -- company profile Nascenia -- company profile
Nascenia -- company profile
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
 
NOLOH PHP Framework - Unified Server-Side Development
NOLOH PHP Framework - Unified Server-Side DevelopmentNOLOH PHP Framework - Unified Server-Side Development
NOLOH PHP Framework - Unified Server-Side Development
 
My Career Journey
My Career JourneyMy Career Journey
My Career Journey
 
Jakarta js meetup - Real time web apps with vue & firebase - may 17, 2017
Jakarta js meetup  - Real time web apps with vue & firebase - may 17, 2017Jakarta js meetup  - Real time web apps with vue & firebase - may 17, 2017
Jakarta js meetup - Real time web apps with vue & firebase - may 17, 2017
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Oop principles
Oop principlesOop principles
Oop principles
 
Tf byows
Tf byowsTf byows
Tf byows
 
Html5
Html5Html5
Html5
 
Create first android app with MVVM Architecture
Create first android app with MVVM ArchitectureCreate first android app with MVVM Architecture
Create first android app with MVVM Architecture
 

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

Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
Overview of Java
Overview of JavaOverview of Java
Overview of Java
josemachoco
 
ACCELERATE YOUR IN JAVA
ACCELERATE YOUR IN JAVAACCELERATE YOUR IN JAVA
ACCELERATE YOUR IN JAVA
robinkumar70125
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
abile technologies
 
Introduction To Java Programming_ A Beginner's Guide_16_06_23.pdf
Introduction To Java Programming_ A Beginner's Guide_16_06_23.pdfIntroduction To Java Programming_ A Beginner's Guide_16_06_23.pdf
Introduction To Java Programming_ A Beginner's Guide_16_06_23.pdf
vibinjackson
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEVishal Mittal
 
Java uk road tour - sep 06
Java uk road tour - sep 06Java uk road tour - sep 06
Java uk road tour - sep 06
scoobeesnac
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bof
Mani Sarkar
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedback
Antonio García-Domínguez
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
NIIT India
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
Professional Guru
 
Java Basics
Java BasicsJava Basics
Java Basics
Fahad Shahzad
 
Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?
Paris Apostolopoulos
 
“Bootify your app - from zero to hero
“Bootify  your app - from zero to hero“Bootify  your app - from zero to hero
“Bootify your app - from zero to hero
Izzet Mustafaiev
 
Java introduction
Java introductionJava introduction
Java introduction
Sagar Verma
 
Js basics
Js basicsJs basics
Js basics
TranTom1
 
Iasi code camp 12 october 2013 play oriented development - leon daniel
Iasi code camp 12 october 2013   play oriented development - leon danielIasi code camp 12 october 2013   play oriented development - leon daniel
Iasi code camp 12 october 2013 play oriented development - leon daniel
Daniel Leon
 
Iasi code camp 12 october 2013 play oriented development - leon daniel
Iasi code camp 12 october 2013   play oriented development - leon danielIasi code camp 12 october 2013   play oriented development - leon daniel
Iasi code camp 12 october 2013 play oriented development - leon danielCodecamp Romania
 
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
Radovan Semancik
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - BrainsmartlabsCore java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabs
brainsmartlabsedu
 

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

Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
Overview of Java
Overview of JavaOverview of Java
Overview of Java
 
ACCELERATE YOUR IN JAVA
ACCELERATE YOUR IN JAVAACCELERATE YOUR IN JAVA
ACCELERATE YOUR IN JAVA
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
 
Introduction To Java Programming_ A Beginner's Guide_16_06_23.pdf
Introduction To Java Programming_ A Beginner's Guide_16_06_23.pdfIntroduction To Java Programming_ A Beginner's Guide_16_06_23.pdf
Introduction To Java Programming_ A Beginner's Guide_16_06_23.pdf
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
 
Java uk road tour - sep 06
Java uk road tour - sep 06Java uk road tour - sep 06
Java uk road tour - sep 06
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bof
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedback
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?
 
“Bootify your app - from zero to hero
“Bootify  your app - from zero to hero“Bootify  your app - from zero to hero
“Bootify your app - from zero to hero
 
Java introduction
Java introductionJava introduction
Java introduction
 
Js basics
Js basicsJs basics
Js basics
 
Iasi code camp 12 october 2013 play oriented development - leon daniel
Iasi code camp 12 october 2013   play oriented development - leon danielIasi code camp 12 october 2013   play oriented development - leon daniel
Iasi code camp 12 october 2013 play oriented development - leon daniel
 
Iasi code camp 12 october 2013 play oriented development - leon daniel
Iasi code camp 12 october 2013   play oriented development - leon danielIasi code camp 12 october 2013   play oriented development - leon daniel
Iasi code camp 12 october 2013 play oriented development - leon daniel
 
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
How To Maintain Million Lines Of Open Source Code And Remain Sane or The Stor...
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - BrainsmartlabsCore java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabs
 

Recently uploaded

Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 

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

  • 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
  • 5. 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
  • 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
  • 9. 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
  • 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 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
  • 14.
  • 16. Closer look at example codebase
  • 18. 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 >
  • 19. 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
  • 20. Demo
  • 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
  • 23. JAQ Stack will be a part of The Future Of Web Development With Java