This blog aims at giving some pointers in order to address the challenge related to the switch from `javax` to `jakarta` namespace. This is one of the biggest changes in Java of the latest 20 years. No doubt. The entire ecosystem is impacted. Not only Java EE or Jakarta EE Application servers, but also libraries of any kind (Jackson, CXF, Hibernate, Spring to name a few). For instance, it took Apache TomEE about a year to convert all the source code and dependencies to the new `jakarta` namespace. This blog is written from the user perspective, because the shift from…
Read More
Last year, we announced Apache TomEE as a certified Jakarta EE 9.1 server (See blog post). The season favors gifts and good news, so I thought I would write this small blog to talk about our journey to being MicroProfile 5.0 certified. A while back, Apache TomEE started implementing MicroProfile. At that time, we were contributing to Apache Geronimo implementations for various specifications: config, openapi, opentracing, metrics, health and fault-tolerance. We had our own JWT implementation with additional integration features than what the MicroProfile JWT specification supports. Back then, we were passing the TCK for the MicroProfile 2.1, released October…
Read More
Apache ActiveMQ is a well known and very flexible message broker. As such, it fully embraced the AAA model (Authentication, Authorization, Accountability) with built-in plugins. For example, by default, it comes with Simple Authentication Plugin: it handles user authentication based on the `activemq.xml` defined list of users. Or, as an alternative, you can load users from properties. This is very useful for tests or to quickly bootstrap a project but does not target real-life deployments. JAAS Authentication Plugin: JAAS stands for Java Authentication and Authorization Service and is quite well known in the Java EE space (or Jakarta EE space).…
Read More
ActiveMQ is often a critical component in Enterprise systems, and therefore High Availability (HA) is a "must have" in order to meet production Service Level Agreements (SLA). This blog aims at providing a deployment architecture based on a set of Apache ActiveMQ brokers wired up to a SQL database. This blog targets Apache ActiveMQ “classic” as opposed to Apache ActiveMQ Artemis. Failover architecture for high availability What are we trying to achieve? A single instance of ActiveMQ can receive and deliver a very high volume of messages. It is very easy to increase performance and handle more messages by simply…
Read More
In the previous post, we saw how to use the built-in ‘tomcat-users.xml’ identity store with Apache TomEE. While this identity store is inherited from Tomcat and integrated into Jakarta Security implementation in TomEE, this is usually good for development or simple deployments, but may appear too simple or restrictive for production environments. This blog will focus on how to implement your own identity store. TomEE can use LDAP or JDBC identity stores out of the box. We will try them out next time. Let’s say you have your own file store or your own data store like an in-memory data…
Read More
While working on Jakarta EE 10 certification (See announcement Apache Tomee Jakarta EE certified after 10 years, Apache TomEE implemented Jakarta Security specification. Currently, there is only one implementation used in Glassfish and used by all the other vendors for Jakarta Security. In TomEE, we decided to create an alternative to bring some diversity, and have an Apache implementation. What is Jakarta Security? Jakarta Security defines a standard for creating secure Jakarta EE applications in modern application paradigms. It defines an overarching (end-user targeted) Security API for Jakarta EE Applications. Jakarta Security builds on the lower level Security SPIs defined…
Read More
There are many blogs explaining how to get Jakarta Security on Tomcat using all sorts of libraries and wiring everything manually. So many opportunities to get it wrong, if you are evaluating or currently using Apache TomEE. In TomEE, the good news is that, like JAX-RS, CDI or Bean Validation, Jakarta Security is out of the box ready to be used like Servlet, and CDI for example. This blog is a high-level view so you have the big picture of the technologies and how they interact with each other in the security landscape. The goal is to be able to…
Read More
No dia 29 de agosto, aconteceu o JakartaOne Livestream Brazil. Foi uma conferência virtual de um dia para desenvolvedores e líderes técnicos trazendo o estado atual e futuro de Jakarta EE e tecnologias relacionadas, com foco no desenvolvimento de aplicativos nativos em nuvem corporativa. A participação foi ótima, com cerca de 200 pessoas conectadas continuamente. Nosso parceiro no Brasil, Rafael Guimares, CEO of GBR Sistemas, falou sobre como eles alavancaram microservices com TomEE para ajudar a indústria médica no Brasil. Graças à sua experiência, a equipe de Rafael foi capaz de construir rapidamente um novo aplicativo para suporte à telemedicina no contexto do Coronavírus (consulta...
Read More
About a year ago, I wrote a blog post about MicroProfile that explained what it is and why it was created. The explanation of what it is and why it was created is still valuable, but MicroProfle evolves rapidly, so it’s time to talk about where we are at, what’s new, and what to expect in the next few months. MicroProfile Today As per June 2019, MicroProfile 3.0 has been released with the following content. MicroProfile 1.4 release from last year MicroProfile 3.0 release from this year Updated versions of Metrics and Health Check introduced breaking API changes.…
Read More
If you are wondering what the heck is going on with Java EE and Jakarta EE, watch this awesome 40 minutes video by Triber Jean-Louis Monteiro (@JLouisMonteiro) in collaboration with Jean-Francois James recorded at JNation 2019 in Portugal.