VSC as IDE, Predictions Review, 2PC with MQ and DB, JWT, Package Naming and Structure--or 69th airhacks.tv

Topics (https://gist.github.com/AdamBien/46045e87888329caa3f8c29b2d56f3ea) for the 69th airhacks.tv episode:

  1. Review of the 2017, 2018 and 2019 predictions.
  2. Visual Studio Code Plugins and general programming
  3. Running "as" in Jakarta EE
  4. Java EE archetypes and package management
  5. Using code generation
  6. Oauth 2 "full-flow" on Jakarta EE / Quarkus
  7. The viability of 2PC
  8. JWT MicroProfile with external groups
  9. JAX-RS timeouts
  10. Dealing with JAX-RS clients
  11. Cascading services and REST vs. SOA
  12. Microservices and shared code
  13. Structuring microservices and dealing with generic / common functionality
Any questions left? Ask now: https://gist.github.com/AdamBien/46045e87888329caa3f8c29b2d56f3ea and get the answers at the next airhacks.tv.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

JSF 2, Web Components and Micro Frontends -- airhacks.fm Podcast

The #65 airhacks.fm episode with Mark Struberg (@struberg) about:

JSF 2, Web Components, and JavaScript without frameworks
is available for download.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Making the Intentions Explicit with "JAX-RPC" over JAX-RS

JAX-RS stands for: "Jakarta RESTful Web Services" (former: "Java API for RESTful Web Services") and was intended to expose Java classes in resource oriented style like e.g. GET /accounts/12345.

APIs based on the HATEOAS principle are self descriptive and programming language independent, but require a significant re-thinking how Java methods are mapped to URIs. A mixture of REST-style and RPC style, where resources and methods are exposed at the same time, is hard to understand and to maintain.

However, JAX-RS can be easily "misused" to directly expose methods in 1:1 fashion without any rethinking.

Instead of the "resources" context path, a the JAX-RS application is exposed via the rpc path:


@ApplicationPath("rpc")
public class JAXRSConfiguration extends Application {}    

After setting the expectations, all the classes and methods are exposed with their name and in the @PATH POST method:


@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)    
@Path("workshops")
public class Workshops {

    @POST
    @Path("newWorkshop")
    public JsonObject newWorkshop(JsonObject input) {
    //...
    }

    @POST
    @Path("deleteWorkshop")
    public JsonObject deleteWorkshop(JsonObject input) {
    //...
    }

    @POST
    @Path("getRecentWorkshops")
    public JsonObject getRecentWorkshops(JsonObject input) {
    //...
    }

    @POST
    @Path("changeWorkshopName")
    public JsonObject changeWorkshopName(JsonObject input) {
    //...
    }
}

HTTP POST is neither "safe", nor "idempotent" so it qualifies to the exposure of all Java methods.

Now, e.g. the deleteWorkshop method can be invoked via: curl -d'{}' -i -XPOST -H'Content-Type: application/json' (...)[APP_NAME]/rpc/workshops/deleteWorkshop

This approach is not a best practice rather than application of the "Principle of Least Surprise".

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Quarkus 1.0 and SpringBoot -- airhacks.fm Podcast

The #64 airhacks.fm episode with Dimitris Andreadis (@dandreadis) about:

Quarkus 1.0 release, motivation for SpringBoot to Quarkus migration and the Spring API compatibility layer
is available for download.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

The "Class#getName" in JavaScript

The name of a JavaScript class can be obtained with the constructor method.

The following code:


class Airhacks { 

    getName() { 
        return this.constructor.name;
    }
}

console.log(new Airhacks().getName());

prints: Airhacks.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

NodeJS, MicroProfile and Java Cloud Native Starter--airhacks.fm Podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #63 airhacks.fm episode with Niklas Heidloff (@nheidloff) about:
"NodeJS, MicroProfile and Java Cloud Native Starter"
is available for download.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Interfaces, Modules and Microservices--airhacks.fm Podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #62 airhacks.fm episode with Mark Struberg (@struberg) about:

Interfaces, Modules, Hypes, Microservices, Kubernetes, KVM, Big Bang Jakarta EE Migration, MicroProfile and Scaling.
is available for download.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Forever Young and Building Mobile Apps with Java--airhacks.fm Podcast

The #61 airhacks.fm episode with Anton Epple (@monacotoni) about:

DNA, the science of staying young, HTML 5 with Java, Java on mobile devices and native widgets binding with the award winning dukescript.
is available for download.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

MicroProfile: Examples, Tutorials, Guides, APIs, Projects and Resources

Official website:
microprofile.io
The very first MicroProfile pom.xml
start.microprofile.io
Spec overview
https://projects.eclipse.org/projects/technology.microprofile
MicroProfile Latest Spec (APIs)
latest release and Maven coordinates
MicroProfile blog
https://microprofile.io/blog/
OpenLiberty Guides
~30 MicroProfile related-guides, from REST and Angular, over Docker, Kubernetes Clouds and MicroProfile JavaDoc
Project overview with links to sources (github)
microprofile.io/projects/
Helidon MicroProfile Guides
MicroProfile specific guides, from tracing over metrics to health
Payara
MicroProfile blog
Quarkus
MicroProfile guides
Thorntail documentation
MicroProfile documentation
Apache TomEE
MicroProfile examples
kumuluzEE
MicroProfile examples
Meecrowave
MicroProfile documentation
SmallRye
Overview over SmallRye projects. Tutorials are partially available (e.g. Reactive Messaging)
Github
List of MicroProfile projects
@rieckpil's "Getting started with Eclipse MicroProfile"
examples and screencasts
Also checkout the MicroProfile runtimes overview.

Most of the MicroProfile runtimes also support Jakarta EE out-of-the-box. Checkout: Jakarta EE: Links and Resources.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Jakarta EE Big Bang, Quarkus Secrets, OKD, Kubernetes, OpenShift, JavaScript i18n, MicroProfile and Monoliths--the 68th airhacks.tv

The 68th airhacks.tv episode covering:

"Jakarta EE Big Bang migration, what is quarkus, quarkus and secret management, internationalisation in JavaScript without dependencies, keeping Microservices consistent, HTTP vs. executor threads, to mvn clean or not to mvn clean, Kubernetes vs. OKD vs. OpenShift vs Docker, added value of MicroProfile in a monolith, frontends for quarkus"

...is available:

Any questions left? Ask now: https://gist.github.com/AdamBien/46045e87888329caa3f8c29b2d56f3ea and get the answers at the next airhacks.tv.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Online Workshops
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License