• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Sheriffs:
  • Ron McLeod
  • Devaka Cooray
  • Henry Wong
Saloon Keepers:
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Tim Moores
  • Mikalai Zaikin
Bartenders:
  • Frits Walraven

integrating wildfly and quarkus via java API calls

 
Ranch Hand
Posts: 691
Mac
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We are using customize wildfly 10 with OSGI. Recently I am exploring if the team can move Kafka OSGI bundle out of wildfly deployment and start using quarkus with managed kafka at AWS.

Since the GUI  is deployed in wildfly the request first hits war deployed in wildfly then it internally should call quarkus as I don't know if there is a better solution to directly call quarkus(if API gateway is not used).

To integrate with quarkus I know we can use rest calls but is there any other mechanism as the call will happen after the authentication at wildfly level.
 
Bartender
Posts: 224
7
Android Python Oracle Postgres Database Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
quarkus in my understanding is used to  compile java  to native code. This native binaries  cannot be integrated like JVM class or jar files.

Quarkus can also compiled to JVM class files but I think that is used only for verfication.
 
Jignesh Patel
Ranch Hand
Posts: 691
Mac
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
yup, I don't want to deploy quarkus on wildfly, I would rather deploy on kubernetes container on aws, but I need to define a bridge between application deployed in wildfly and kafka application deployment in quarkus.
 
Ranch Hand
Posts: 31
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jignesh Patel wrote:yup, I don't want to deploy quarkus on wildfly, I would rather deploy on kubernetes container on aws, but I need to define a bridge between application deployed in wildfly and kafka application deployment in quarkus.



Ok so you need to re-think a little how Quarkus is different to Wildfly. Let's compare these two for what it's worth.
Wildfly is a general purpose JEE application server. Supporting standardised JEE apis. Two profiles are supported Full profile and Web profile. Apps packaged in all sorts (Jar, War, Rar, blah) of formats can be deployed. The deployment of many Enterprise apps in the server is possible.

Whereas Quarkus is akin to a framework. Like Dropwizard but very different end goals in mind. It's a re-evaluation from the ground up what's really necessary to provide very light weight (small footprint) applications in a container platform. Aka "Microservices". Plus it has build time Maven plugins (dark magic) that analyse your Microservice code and strips out absolutely everything which isn't going to be necessary at runtime. With the build time option to generate a native binary for very efficient memory consumption at the expense of other things. Deployment here will be a distinct container (or pod) on AWS. The native binary option makes Java a viable platform that does achieve equivalent service deployment density to other languages.

I hope you can now see Wildfly and Quarkus are not exactly achieving the same level of sophistication or capabilities.

This isn't to say you cannot deploy your current application with Wildfly. It is certainly possible. You can run more sophisticated applications but the service deployment density will be lower.

To answer your question.
To adapt/bridge an application to run as a containerised Quarkus service will probably involve a re-write. With Quarkus there is a suite of carefully selected APIs that will most likely be used in Microservice type (shape) applications. You are best spending 10 minutes noting down the feature spec apis in your application. Then ticking off each you can find available on the Quarkus https://code.quarkus.io/ website. You might find your current application is not the same "shape" as a Microservice.

Also have a look at the Microprofile forum [1] to see what's made available from the "standardised specification" community for developers. You might find an option there that lowers the necessary transition investment.

[1] https://coderanch.com/f/211/microprofile
 
Jignesh Patel
Ranch Hand
Posts: 691
Mac
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The reason I think I can migrate is because we are using OSGI, so war file contains GUI and it is communicating with the other backend jars. Now I understand a webservice is a complete solution in itself. So data layer OSGI bundle need to integrated with all new services.
I am thinking the monolith of war will act as a API gateway and then other jars(not sure but thinking)  can act as a microservices.
 
Honk if you love justice! And honk twice for tiny ads!
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic