Tomcat RCE Vulnerability via JSP Upload Bypass

By | Apache TomEE, Open Source, TomEE | No Comments

Tomitribe’s Jonathan Gallimore (@jongallimore) explains how easy it is to exploit a simple configuration vulnerability in Apache Tomcat and take over your entire server. He also explains how easy it is to prevent this from happening with a simple configuration change. This is an older exploit but one that may not be patched on your own installation. Watch the video to ensure you are protected! Tomitribe’s Enterprise Support service works with Sonatype to monitor all reported vulnerabilities to Tomcat, TomEE, and ActiveMQ to help protect our customers from malicious hackers. Learn more about how we help protect our customers here.

Read More

Singleton Session Beans: Eager initialization and ordering

By | Apache TomEE, Jakarta EE, Java EE, TomEE | No Comments

Tomitribe support customers often use Java Singleton EJBs, and while powerful the sequence of startup and initialize can be confusing. This tutorial will help explain how Singleton EJB’s can be eagerly initialized at application startup and how we can define a priority during this process. Review EJB Annotations Before jumping into the code let’s do a recap of the following annotations used in this blog post: @Singleton Component-defining annotation for a singleton session bean. @Startup Marks a singleton bean for eager initialization during the application startup sequence. @DependsOn Used to express an initialization dependency between singleton components. The container ensures…

Read More

The Flexibility and Power of MDBs, Illustrated

By | ActiveMQ, Apache TomEE, Open Source, TomEE | No Comments

Tomitribe supports many organizations that use Message-Driven Beans in production with TomEE. This post is derived from experience working with those organizations to improve their system performance and software architecture. Previously we published a MDB tutorial followed by a deeper dive in the article “MBD-to-MDB Messaging: Harness the Power of the River Delta“. This week we’ll provide an illustrated example of how MDBs can work together to create flexible and powerful messaging system. JMS The Java Messaging Service (JMS) is a standard for sending messages between clients using a messaging broker. The concepts behind JMS, queues, and topics are explained…

Read More

Upgrading TomEE: Keeping jettison as the JSON provider in JAX-RS

By | Apache TomEE, Java EE, Open Source, TomEE | No Comments

In this article, we are going to learn how to configure on TomEE 7.x or later with the legacy JSON provider used by TomEE 1.7.x. This scenario is useful when you are migrating JAX-RS based applications and want to keep the legacy JSON processing from the Jettison library (v1.3.7) used by TomEE 1.7.x. Since TomEE 7.x, The Johnzon library has been the default provider because it implements the JSON-P_1.1 (JSR-353) and JSON-B_1.0 (JSR-367) specifications. Application and Server configurations In order to enable Jettison as the JSON provider for TomEE 7.x or later you need to execute the following changes: In…

Read More

MBD-to-MDB Messaging: Harness the Power of the River Delta

By | ActiveMQ, Apache TomEE, Open Source, TomEE | No Comments

Tomitribe supports many of organizations that use ActiveMQ, JMS, and Message-Driven Beans in production with TomEE. This post is derived from experience working with those organizations to improve their system performance and software architecture. The idea behind yesterday’s MDB tutorial was to divide up the work of spidering a web page among three different MDBs each with a specific purpose. This division of labor is an important concept in messaging in general and MDBs in particular. This article shows how MDBs can communicate with outside applications as well as other MDBs in a Java EE application server. This latter capability,…

Read More

5 Minutes or Less: Message-Driven Beans with ActiveMQ and TomEE

By | ActiveMQ, Apache TomEE, Open Source, TomEE | No Comments

Tomitribe supports many of organizations that use ActiveMQ, JMS, and Message-Driven Beans in production with TomEE. This post is derived from experience working with those organizations to improve their system performance and software architecture. When you have finished the tutorial you may be interested in a deeper discussion of what the tutorial is designed to teach you about MDBs. For that, proceed to “MBD-to-MDB Messaging: Harness the Power of the River Delta” which explains how MDBs can be used to create a river delta-like architecture. The tutorial contains three MDBs and one stand-alone JMS client. The purpose of the system…

Read More

Debug mode in Docker for Tomcat and TomEE

By | Apache TomEE, Docker, ES, Open Source, TomEE | No Comments

Remote debugging is a common practice for troubleshooting issues in software development. If you are using Tomcat or TomEE with Docker containers as part of your stack you can find various techniques to enable debug capabilities in these types of containers: 1. Create a custom Docker image by extending an existing official one[1] 2. Extensive customization of CATALINA_OPSTS[2] However, both approaches require extra steps in some scenarios. Below I share the simplest method I have used to do remote debugging in Apache Tomcat and Apache TomEE with a Docker image: $ $ docker run -it -p 8080:8080 -p 8000:8000 -e…

Read More

Free Cookbook of 166 Java EE Code Examples

By | Apache TomEE, Jakarta EE, Java EE, Open Source, TomEE | No Comments

A point of pride for the TomEE community is a large library of examples contained in the TomEE GitHub project. Whenever you clone or otherwise download the TomEE GitHub project you get nearly fourteen dozen examples you can review and run to learn more, not just about TomEE, but Java EE in general. The examples are like a free, code-centric cookbook that covers everything from programming a simple Java web application to CDI interceptors, to WebSockets with TLS Security. With 166 coded examples to choose from it seems there is something for everyone. Getting started with TomEE and running its…

Read More

5 Minutes or Less: ActiveMQ with JMS Queues and Topics

By | ActiveMQ, Jakarta EE, Open Source | One Comment

Tomitribe supports a lot of clients that use ActiveMQ and JMS in production. This post introduces you to both ActiveMQ and JMS. If you already understand the fundamental concepts behind JMS messaging, skip ahead to “A Short ActiveMQ and JMS Tutorial”. It should take five minutes or less. If you are new to JMS than keep reading! JMS Concepts A messaging system is composed of a JMS Broker (middleware), Queues and Topics, and Producers and Consumers. The JMS Broker There is a common misunderstanding that JMS messages are sent directly from one application to another; that the application sending is…

Read More

Jakarta EE: A New Hope

By | Jakarta EE, Open Source | No Comments

It was announced today that we in the Jakarta EE community would not be able to modify the javax namespace. When I heard that statement uttered for the first time, I was certain I heard wrong. I asked several questions hoping for more positive news with better options in the future. No, it was exactly what I heard. Many of you know me as a positive voice in the community, but even my calm demeanor was cracked. Several visceral statements left my mouth and at one point during the meeting I recall using the word asinine. Transitioning through the stages…

Read More

Docker y debug de Apache Tomcat y TomEE

By | Apache TomEE, Docker, ES, Open Source, TomEE | No Comments

El debug remoto es una práctica común para investigación de problemas de microservicios. Si estas utilizando contenedores Docker Apache Tomcat o Apache TomEE, en la web puedes encontrar varias técnicas como lo son: 1. Extender una imagen oficial y personalizar[1] 2. Utilizar personalización extensiva de CATALINA_OPTS[2] Sin embargo ambos enfoques requieren extra pasos aplicables para algunos escenarios. A continuación les comparto la forma más sencilla que he utilizado para poder hacer debug remoto en Apache Tomcat y Apache TomEE: $ $ docker run -it -p 8080:8080 -p 8000:8000 -e CATALINA_OPTS=”-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000″ tomcat:9.0.17-jre11 Anatomía de las opciones utilizadas: docker run Comando para…

Read More

It’s Easy! Your First TomEE Pull-Request: Fetch, Code, Commit, and Push

By | Community, Open Source, TomEE | No Comments

This is the second installment in a two-part article covering the Process Task portion of the Contribution Workflow. The Contribution Workflow is covered in detail in the first part within “Section 1: The Contribution Workflow Overview.” The Process Task portion of the Contribution Workflow is where you do the work on an issue (bug fixes, enhancements, tests, documentation) after getting assigned a JIRA ticket. This is where the rubber meets the road; where the actual work of writing or coding a solution takes place. The following diagram shows how the Process Task portion of the Contribution Workflow fits into the…

Read More

It’s Easy! Your First TomEE Pull-Request: Fork, Clone and Branch

By | Apache TomEE, Open Source, TomEE | No Comments

In the last installment, “It’s Easy! Your First TomEE Pull-Request: Using JIRA”, we showed you how to discover and get assigned a task in the TomEE open source project. This article, broken up into two parts, shows you how to get set up so you can start contributing and how to use Git to preserve your changes and save them up to your GitHub account. Section 1: The Contribution Workflow Overview 1.1 JIRA Ticket 1.2 Process Task 1.3 Submit Changes 1.4 Merge Changes 1.5 Clean Up Section 2: Process Task 2.1 Fork, Clone, Branch TomEE 2.1.1 Fork 2.1.2 Clone 2.1.3…

Read More

It’s Easy! Your First TomEE Pull-Request: Using JIRA

By | Apache TomEE, Community, TomEE | No Comments

While all open source tools (i.e. GitHub, Maven, Mailing lists, Java IDEs) used by the TomEE open source community are important, the process of identifying and managing the work done on the project is critical to our success. The tool we use for managing work is the TomEE JIRA issue tracking system. Note: If you are not already familiar with JIRA tickets or find them confusing, you should read “It’s Easy! The Anatomy of a JIRA Issue” after reading this article. It will help clarify all the information a typical JIRA Issue addresses. Becoming a part of the TomEE community…

Read More

TomEE for Every Day!

By | Apache TomEE, Community, Open Source | No Comments

The “TomEE for the Holidays” campaign ended on January 16th of this year. It was great to see so many new Contributors (close to 50) join the TomEE project. In addition, participation from veteran contributors skyrocketed resulting in a level of communication and collaboration that would make any open source community proud. With the success of the “TomEE for the Holidays” initiative, the question became obvious: “How can we (Tomitribe) maintain a high level of participation and comradery in the project?” There were many things that made “TomEE for the Holidays” a success. Encouraging people new to open source to…

Read More

It’s Easy! The Anatomy of a JIRA Issue

By | Apache TomEE, Community, Open Source | No Comments

One of things that I had to learn about when joining the TomEE open source project was JIRA. JIRA is an issue tracking system with some light project management. It’s a great tool for keeping track of who is working on what and what bugs or issues need to be addressed. Note: JIRA isn’t an acronym it’s a truncation of the word, Gojira which is the real Japanese name for Godzilla. The folks that created JIRA chose the name as a tongue-in-cheek jab at their biggest rival at the time, Bugzilla. When you join the TomEE community you will end…

Read More

It’s Easy! Get the TomEE Source Code and Join the Community

By | Apache TomEE, Open Source | No Comments

One of the greatest joys of my life has been working in Open Source. Why? First, I get to work on exactly what I want when I want. Software development is a creative process and working for someone else doesn’t always let me express myself. I need that. If my contributions are helpful, in line with the project’s goals, and are approved by my peers I can make a difference. That brings me to the second thing I love about open source: The people. Every project is different but in the TomEE project, everyone is volunteering their efforts and time…

Read More

Stateless Security, MicroProfile JWT and OpenSource R³ Jam come to DevNexus

By | Community, MicroProfile, Open Source | No Comments

It’s the week before a conference. You’re giving a new talk. This is the moment when all speakers are at their least confident. And what, I have to write a blog to earn a shirt? Who made these rules? Oh, we did. Alright, let’s do this. Introducing OpenSource R³ Jam In a very PartyOne inspired front, we’re getting together with DevNexus, Hazelcast, Jakarta EE, Okta, and Sonatype needs to throw a fun new party at DevNexus next week in Atlanta, Georgia, March 6-8th. DevNexus has soared to the top of my US conferences list and is sitting right up there…

Read More

It’s Easy! Debugging with IntelliJ and TomEE

By | Apache TomEE, Open Source, TomEE | No Comments

In our last post we provided a step-by-step tutorial that explained how to debug Enterprise Java applications on TomEE from the Eclipse IDE. This time we’ll do the same thing but with IntelliJ! I’ve always found debugging Enterprise Java applications to be a challenge, but modern features of the Java Virtual Machine and tools like IntelliJ make it easy. If you are already familiar with IntelliJ but have not debugged a TomEE application, then this will be a quick but useful tutorial. If you are new to IntelliJ or TomEE you’ll find the steps outlined here very easy to follow….

Read More

It’s Easy! Remote Debugging with Eclipse and TomEE

By | Community, Eclipse Foundation, Open Source, TomEE | No Comments

I’m going to try something different in this article. I’m going to use lots of images as a reference for readers. I have not done that before, but I’ve found when I’m learning something new that it can be very helpful. A big hurdle for me personally, as a Java EE developer, is debugging server-side code from an IDE. In this tutorial, I’m going to show you step by step how to set up Eclipse for “remotely” debugging Java EE applications. I put remotely in quotes because in this article you are really running TomEE on the same machine as…

Read More

TomEE on Azure cloud

By | Apache TomEE, Cloud, Open Source | No Comments

If you have an application on TomEE and want to deploy it on Microsoft’s Azure cloud, then this blog post is for you. Once everything is configured, the build and the deployment will require only a single command line and you will be able to access the application from anywhere in the World! Downloading TomEE-Azure Module We have already prepared a TomEE/Azure module ( cloud-tomee-azure module found in the TomEE examples) to make working with TomEE in Azure much easier. To take advantage of this module, you will first need to checkout TomEE from Github: git clone [email protected]:apache/tomee.git Then, navigate…

Read More

How to Contribute to the TomEE Website

By | Apache TomEE, Open Source | No Comments

In a previous post, “How to Get Started Contributing to TomEE or any Open Source Project”, we explained the general workflow – things to do and steps to avoid – that can help you join and maximize your contribution to an Open Source Project. In this post, we will walk you through the technical steps one can follow to contribute to the Apache TomEE Website. It’s common knowledge in any Content Management System (CMS), that the complexity of information organization is directly proportional to the amount, type and format of information an organization want’s to provide to the users. For…

Read More

Custom ConfigSource with MicroProfile Configuration

By | Community, MicroProfile, Open Source | No Comments

In the previous blog post “An Overview of MicroProfile Configuration” we have seen how to start using MicroProfile Configuration and covered the most common cases where it can be used. In today’s blog post, we are going to show you one of the advanced features of MicroProfile Configuration: the ability to add your own ConfigSource. To refresh your memory, MicroProfile Config already ships with a few ConfigSources by default: microprofile-config.properties file, system properties, and environment variables. What if your source of Configuration is somewhere else? Maybe a database or an API? Good news! MicroProfile Configuration allows you to create your…

Read More

An Overview of MicroProfile Configuration

By | Community, MicroProfile, Open Source | No Comments

When we are developing an application, it is usually a good practice to externalize some aspects of the application so we can change its runtime behavior without the need to change the code. This is what we call Configuration. A few examples may include the application language, the currency symbol, the username and password to connect to the database or a system path to store uploaded files. In a Monolithic Architecture, you may get away from Configuration. It is not a big deal to perform a couple more builds to change some parameters. In the Microservices world, it is impossible….

Read More

Tweaking Your Skills in Open Source

By | Community, Food for thought, Open Source | No Comments

As I said in “The Best Thing I Ever Did Was Open Source”, open source is really where my heart is, so I’m grateful to be working on TomEE – even if sporadically – and seeing that project evolve and grow.  Since David Blevins post, “TomEE for the Holidays”, we have seen a serious uptick in the number of contributors, pull requests, and commits to TomEE.  Every new community member has joined with the same simple question, “How can I help!”, and all of them have received a warm welcome and a plentiful todo list. It’s been a while It…

Read More

How to Get Started Contributing to TomEE or any Open Source Project

By | Apache TomEE, Community, Open Source | No Comments

What follows is an article, “Contribution Tips”,  from the updated Community page on the TomEE website initially penned by David Blevins and improved by the Community, which explains how to get started contributing to Apache TomEE. We’ve been fortunate enough to have had several people join the project since the “The Best Thing I Ever Did Was Open Source” and “TomEE for the Holidays” posts were published.. I cannot think of a better resource to get folks started than the article re-published below.  Regardless of what project you are working on it is excellent advice. Subscribe to the developer mailing…

Read More

JMS 3.0: Get Involved!

By | Jakarta EE, Open Source | No Comments

As the Jakarta EE Working Group at Eclipse prepares for the release of Jakarta EE 8, we are starting to think about what comes next.  Actually, most of us have been thinking about that for a while, but we have to get Jakarta EE 8 out before we can start to overhaul the platform.  One of the technologies that is due for an overhaul after Jakarta EE 8, is the Java Message Service (JMS) which was originally introduced in 2000 – nearly 20 years ago. Since 2000, the JMS specification has evolved slowly, but steadily, and while it remains one…

Read More

TomEE: A Tutorial on Microprofile Rest Client

By | MicroProfile, Open Source, Tomitribe | No Comments

On a previous blog post, Triber Ivan Junckes Filho published an overview of the MicroProfile Rest Client (Rest Client) standard. In this tutorial, we are going to build on Ivan’s overview to show you, step by step, how you can develop and deploy this type-safe approach to consume an existing JAX-RS microservices with Apache TomEE 8 M1. If you have not read Ivan’s overview, it is suggested you do that first and then come back to this tutorial. The toolset we are going to use for this tutorial includes Java 8, Apache TomEE 8 M1 and Maven 3.6. The technologies…

Read More

TomEE for the Holidays

By | Apache TomEE, Community, Open Source | No Comments

If I were to pick a month to brand “Open Source Month”, it would be December. I could list personal reasons for it, such as December 1999 was the first month I ever contributed to Open Source. That happens to be the same month I married Amelia and have often joked, “I’ve been married to them both ever since.” The real reason is December is the month open source heroes are born. December is Your Time to Shine I’ve noticed a pattern of December being a very prolific month for open source contribution. In December 2006 the OpenEJB 3 codebase…

Read More

Overview of MicroProfile Rest Client

By | Apache TomEE, MicroProfile | 2 Comments

The goal of this article is to give you an overview of the MicroProfile Rest Client (aka Rest Client), how it works and the advantages you can obtain when utilizing it to implement a Java REST client. When we talk about microservices, we discuss many different architecture topics, but sometimes we forget the importance of a good client API. The Rest Client is a Java REST client based in JAX-RS 2.0, that uses its current features, but also provides a different way of interacting with the microservices. The 1.0 version of Rest Client was first introduced in MicroProfile version 1.3…

Read More

The Best Thing I Ever Did Was Open Source

By | Apache TomEE, Community, Jakarta EE, Open Source, Tomitribe | No Comments

When I look back on the 25 years since I graduated and entered the market as a professional software engineer, I see a tapestry of accomplishments, failures, joy, frustration, and finally peace.  One accomplishment, in particular, the Co-Founding of OpenEJB with David Blevins, stands at the top of that list. I started out in Open Source working with Mark Flury on EJB-OSS in 1999, which was later renamed JBoss.  Shortly after that experience, I was hired by a company to develop an entirely new Open Source EJB Container system, OpenEJB, which later became an official Apache project. The opportunity to…

Read More

TomEE: Announcing TomEE 8 M1!

By | Apache TomEE, Community, MicroProfile, Open Source | No Comments

The Apache TomEE community has announced the release of TomEE 8.0 – Milestone 1 (M1) – a major step forward for TomEE. Tomitribe and TomEE TomEE is a project that members of Tomitribe have been working on and supporting for years and our efforts to release TomEE 8.0 was significant. Tomitribe is proud to contribute to the project. A special thanks to all the other committers for their hard work as well! Java EE 8 This is the first TomEE release that provides support for Java EE 8 and Jakarta EE, where two new specs were introduced: JSON-B, a well-needed…

Read More

TomEE: SSL/TLS Secured Websockets

By | Apache TomEE, Arquillian, Jakarta EE, Open Source | No Comments

In a previous article, WebSocket and Lock it! we showed how to use basic authentication on websocket calls to an application deployed on TomEE. In this article, we explain how to add SSL/TLS security to the connection between the client and the application server. To demonstrate this, we’ve created a new wss-secured-websocket project. This work is valid both for Secure Websocket (WSS) and HTTPS. Adding transport layer security is important in order to protect the data exchange. Payloads and headers are sent in clear text when using simple HTTP. This is critical when considering the authentication header. As you can…

Read More

Tomitribe Goes To CodeOne 2018

By | Community, Jakarta EE, MicroProfile, Open Source, Tomitribe | No Comments

Tomitribe is excited to be attending Oracle CodeOne  (Oct 22nd – 25th) this year. Eight Tribers – David, Amelia, Jean-Louis, Roberto, Otavio, Cesar, Ivan, and Richard – six of whom are giving a total of 12 presentations.  Attendees can also meet us during exhibitor’s hours at booth 5209, where we can tell you about Tomitribe Community Partnership Program.  We also look forward to sharing the latest updates on the Open Source Projects we are part of. For the first time in 20 years, there will be no JavaOne conference. JavaOne always brings back memories for those who have attended and…

Read More

JavaDay Ecuador 2018

By | Community, Tomitribe | One Comment

On September 8, the first edition of Java Ecuador Day was held in beautiful Quito, Ecuador. The conference boasted more than 350 attendees with 20 speakers. As a Triber, I got the opportunity to attend as one of those speakers and together, alongside the attendees, we shared the latest knowledge in the Enterprise Java Ecosystem. Topics covered included Jakarta EE, Serverless, MicroProfile, Clean architecture, Cloud, Microservices, and success stories.   Alberto Salazar, the leader of the Java User Group in Ecuador, indicated that this is the first time that professionals from the region, members of the Java Community Process, Java Champions,…

Read More

TomEE: A Tutorial on MicroProfile Fault Tolerance

By | Apache TomEE, Community, MicroProfile | No Comments

This is the final of a series of 3 articles dedicated to the MicroProfile Fault Tolerance. We started by introducing and giving an overview of the specification in “MicroProfile Fault Tolerance, Take 2”. Next, we explained the different annotations and their options in “MicroProfile Fault Tolerance Annotations”. Now we take a look at practical MicroProfile Fault Tolerance examples using TomEE 7.1.  This version of TomEE is compliant with MicroProfile v1.2 and includes the Geronimo Safegard library implementing the Fault Tolerance v1.0 spec. The MicroProfile Samples project We’ll be using the microprofile-samples project created by Roberto Cortez and which is available on…

Read More

MicroProfile Fault Tolerance Annotations

By | Eclipse Foundation, MicroProfile, Open Source | No Comments

In our last article about Microprofile Fault Tolerance we explained the motivation for this project and the need to provide a few design patterns under the microservice friendly Microprofile spec, namely: Bulkhead – isolate failures in part of the system. Circuit breaker – offer a way to fail fast. Retry – define criteria on when to retry. Fallback – provide an alternative solution for a failed execution. We also presented some of the libraries that implement this Microprofile specification, including the Geronimo Safegard library, the one used on TomEE 7.1. Lets now dive a bit deeper into the spec and…

Read More

MicroProfile Fault Tolerance, Take 2

By | MicroProfile | No Comments

Understanding Fault Tolerance and the strategies of resilience and eventual consistency are extremely important to microservices. This article an update and expansion of an article written in April of this year. It’s the first part in a series of articles explaining how the MicroProfile Fault Tolerance specification is used in microservices. The Rise of Resilience and Eventual Consistency The Rise of Resilience and Eventual Consistency For decades the prevailing wisdom for handling transactions in distributed systems has been the use of SQL Relational Databases, binary communication protocols, and two-phase commit transactions. All-or-nothing and reliable transactions were paramount, data had to…

Read More

JNoSQL and Jakarta EE

By | Community, Eclipse Foundation, Jakarta EE, Open Source | 2 Comments

The Enterprise Java platform has been evolving steadily since 1999 when it was first introduced as Java 2, Enterprise Edition. Today, Enterprise Java is being standardized under the Eclipse Foundation with the new brand, Jakarta EE.  Jakarta EE picks up where Java EE 8 left off, but the roadmap going forward will be focused on modern innovations such as microservices, modularity, and, now, NoSQL databases. The JNoSQL project, of which I’m a part, is excited to announce that it will be the first new standardization project to be adopted by Jakarta EE providing a robust and vendor agnostic API that…

Read More

MicroProfile JSON Web Token (JWT)

By | MicroProfile, Open Source | No Comments

In the post, “What is Eclipse MicroProfile”, we explained what Eclipse MicroProfile is and why it’s important. MicroProfile is made up of several specifications. In this post, I’ll explain the JSON Web Tokens (JWT), the MicroProfile JWT specification, and how it can be used to implement stateless security in microservices. I’ll also talk about the extensibility and flexibility of MicroProfile with claims. Tomitribe has been helping companies implement REST services for years and one of the most common problems our clients have is deciding how to implement authentication and authorization. The development of MicroProfile and its use of JWT is…

Read More

TomEE: An Overview of the TomEE 7.1 release!

By | Apache TomEE, Jakarta EE, Open Source, Tomitribe | No Comments

The Apache TomEE community has announced the release of TomEE 7.1  – a major step forward for TomEE. For more details on the changes please look into the release notes. For tips on upgrading, see this blog post by @jongallimore  from earlier this week. Tomitribe and TomEE TomEE is a project that members of Tomitribe have been working on and supporting for years and our efforts to release TomEE 7.1 was significant. Tomitribe is proud to contribute to the project. A special thanks to all the other committers for their hard work as well! Java 8 Update Prior to TomEE 7.1 you…

Read More

TomEE: Upgrading is Easy!

By | Apache TomEE, Open Source | No Comments

Apache TomEE has been designed from the ground up to be very easy to upgrade. This allows the open source project to innovate quickly and update often without major disruptions to our communities deployments. What follows are some simple tips that will help you upgrade when the time comes. Drag and Drop Jars Keeping a simple structure and remaining true to its Tomcat roots is a guiding principle for Apache TomEE. As a result, the folder structure for TomEE is simple, and easy to understand. Adding additional libraries, for example, a JDBC jar for a datasource defined in TomEE’s main…

Read More

TomEE: Fat-Jar Deployments

By | Apache TomEE, Docker, Jakarta EE, MicroProfile | No Comments

In this blog post, I will show you how to create a distribution of your application that ships with TomEE so you can run your application out of the box. What is a Fat Jar? Fat Jar, Uber Jar, Shaded Jar. These have different names, but all of them have the same meaning. It is simply a Jar file that contains all of your project class files, plus all the classes of the dependencies of the project. This concept is not really new, it has been used for several years. However, with the growing popularity of cloud deployments and adoption…

Read More

TomEE: WebSocket and Lock it!

By | Apache TomEE, Arquillian, Jakarta EE, Open Source | No Comments

Note: This article was originally authored by Romain Manni-Bucau in May of 2015 and has been updated by Bruno Baptista. Tomitribe uses the WebSocket API to add security credentials to REST services in our support services. This article has been updated to the latest versions of WebSocket and other resources and shows how you can easily add authentication to your REST calls.   WebSockets are a good technical solution when there is a requirement for interactive communication. A typical example is a chat system, but it makes more sense for live updates such as the stock market.  For example, being…

Read More

TomEE: Using JCache with CDI

By | Apache TomEE, Hazelcast, Jakarta EE | No Comments

Although this article was originally written and published earlier, we felt it was important to cover it again on our blog.  JCache continues to offer exceptional advantages in enterprise computing and has been used by Tomitribe support services to improve performance of enterprise applications running TomEE.   The JCache JSR (JSR-107), finalized in late 2014, provides a standard mechanism to cache values in a map-like structure using a key. There are a number of different JCache implementations to choose from, and swapping between them should be no more difficult than swapping out .jar files on the classpath. In these examples,…

Read More

TomEE: Getting Started in 5 min or Less

By | Apache TomEE | No Comments

Note: TomEE is a great, lightweight, Java EE 7 application server that you may not have worked with before.  No fear!  This quick and easy tutorial, originally published in 2016, will get you started working with it and hopefully convince you that TomEE is not only easy and lightweight but also powerful!     If you just heard about TomEE and want to know more, then you’ve come to the right place. This post will guide you on how to start using TomEE for your Java EE project.  Members of Tomitribe are co-founders and significant contributors to the TomEE open source…

Read More

TomEE: Running with Systemd

By | Apache TomEE, Community, Open Source | No Comments

What is systemd? Systemd is the first background process to run and the last background process to end in the Linux operating system. It has the process id (PID) of 1, meaning that all other background processes (aka daemons) are created by systemd; it is the root background process in a Linux operating system. Systemd is designed to provide a unified configuration process for bootstrapping Linux processes, enable and disable process, and manage the interface between those processes and user applications.  Developers can configure systemd using standard files called units. Units can be used for defining the initialization process for…

Read More

Tomitribe is Family

By | Community, Tomitribe | No Comments

Life is full of curveballs, which is an American euphemism for saying, “things don’t always go as expected.”  At the beginning of this year, I decided to return to the Java open source ecosystem when offered the chance by David Blevins and Tomitribe. It’s probably the best decision I’ve made in 14 years, and I’m grateful to Tomitribe for bringing me aboard and to the Java community for making me feel welcome.   Tomitribe is an exciting place to work. We are very involved in the new Jakarta EE (EE4J) project at Eclipse Foundation with members participating on many of…

Read More

Tomitribe on the ODC Tour: Paraguay, Chile, and Brazil

By | Community, MicroProfile, Open Source, Tomitribe | No Comments

Otávio Santana has been busy on the exciting, twelve-country Latin America Oracle Developer Community Tour! He is personally speaking in Paraguay, Chile, Brazil, Argentina, Peru, Guatemala, and Mexico! Otávio Santana, a Java Champion and Triber, has worked on everything from jNoSql to JBoss Weld to Hibernate as well as being a member of the JCP Executive Committee, working on several JCP Expert Groups, and is deeply involved in the development of MicroProfile and Jakarta EE. Otávio is presenting on Grid Database, jNoSQL, and Stateless Microservice Security via JWT and MicroProfile. His first stop, on July 31st, was in Paraguay in…

Read More

Tomitribe at EclipseCon France

By | Community, MicroProfile, Open Source | No Comments

I had the privilege of being invited to speak at EclipseCon France (June 13th & 14th) about Microprofile, microservices, and JWT.  The conference took place in Toulouse and being from France I have been there a couple of times, but never took the time to enjoy it. The architecture is beautiful, the city clean, and the people nice. Don’t know if it was because it was the beginning of summer or not, but I found the city very active and alive in the evenings. The conference was held at the convention center downtown. The venue is large and well organized. There were…

Read More

Recap: Jakarta EE at Open Source North

By | Community, Eclipse Foundation, Jakarta EE, Java Community Processes | No Comments

I had the privilege of speaking at Open Source North last week (June 15th) about the transition from Java EE to Jakarta EE. The conference was well organized, and in its 4th year, was completely sold out weeks earlier. It was exciting to see so many people from the Twin Cities focused on open source! The presentations were excellent. The presentation “How Much Freedom is too Much?” about Microservices by Kelly Goetsch was packed to the point that there was not even room to stand in the back. It shows how relevant the topic is to folks in the trenches today. I also enjoyed…

Read More

The REST Security Road Trip

By | Community, MicroProfile, Open Source | No Comments

My road trip from Coimbra, Portugal to Madrid, Spain, where I spoke to the Madrid JUG about REST security, was beautiful, but full of wrong turns, some potholes, and flash thunderstorms. It reminded me of my adventure in learning and coming to understand REST security. There are so many security specifications that it’s easy to get turned around and to encounter new technical concepts. The “Deconstructing REST Security” talk, originally created by David Blevins, is like a clear roadmap to navigate the potholes and thunderstorms of REST security. It makes navigating the difficulties far simpler, providing both context and a clear route to…

Read More

Jakarta EE: Unofficial State of the Union, Part 1

By | Blog, Community, Eclipse Foundation, Jakarta EE, Open Source | No Comments

There is so much going on with the transition of Java EE from Oracle to the Eclipse Foundation, that it can make your head spin.  Java EE is a huge platform, not only in terms of technology, but also in terms of specifications, governance, and marketing. This “Unofficial” state-of-the-union is an attempt to bring people, not intimately familiar with the work being done, up to speed. Obviously, this is subject to change as the transfer of intellectual property from Oracle to Eclipse Foundation, the establishment of a governance model, and the marketing plan are still being defined. Hopefully, however, this…

Read More

Javeros de Colombia 2018

By | Community, MicroProfile, Tomitribe | No Comments

The inaugural Javeros de Colombia conference was held in the city of Cali Colombia on May 19th. The Javeros de Colombia is designed to provide a space for Latin American Java User Groups, education, public and private sectors to gather together and discuss the latest Java related technologies and trends like: Microservices, Cloud, Jakarta EE, Microprofile, Security, and DevOps. The conference was organized by three Columbian JUGs from the cities: Cali @CLOJUG , Medellin @MedellinJug, and Barranquilla @JUGBAQ . Together these JUGs created an outstanding gathering with content and with speakers from all over Latin America that included Community Leaders, Open Source Advocates, Java Champions, Oracle Aces and…

Read More

Proprietary to Open: A Sea Change for Jakarta EE

By | Eclipse Foundation, Jakarta EE, Open Source | No Comments

As was discussed in the last post, Jakarta EE: Into the Fourth Epoch, enterprise Java is undergoing the biggest change in the 20-year history of the platform. Although a big part of this is the brand change from Java EE to Jakarta EE as well as a new technical direction (i.e. cloud-native and microservices) the most important change will be the move from a proprietary Java EE to fully open source Jakarta EE platform. The change in custodianship, from Oracle to the Eclipse Foundation, is fundamentally the most important change to the entire platform. To understand why, it’s important to…

Read More

Jakarta EE: Into the Fourth Epoch

By | Eclipse Foundation, Jakarta EE | No Comments

This year, enterprise Java is undergoing the biggest change in the 20-year history of the platform.  Although a big part of this is the brand change from Java EE to Jakarta EE, the most important is a new openness and the technical direction. With the transition to the auspicious of the Eclipse Foundation and a new focus on cloud-native and microservices, this year demarcates a new Epoch in the story of enterprise Java. [REVISED: changes in the timeline were made on May 12th to match feedback and corrections from the community ] A Brief History of Enterprise Java I like…

Read More

Getting Started with Microprofile Metrics

By | MicroProfile | No Comments

In the world of Microservices, knowing how your server, application and container are doing is crucial for success. In production, every system administrator wants to be able to proactively check the container memory, the disk, the network, and the JVM. They need to know how many times a service is being called, how long this service took to execute, and several other metrics that help to manage services before they become unavailable. The MicroProfile Metrics is a specification that provides a standard way for application servers to expose metrics and, also, an API for developers to build their own application metrics. This article will…

Read More

MicroProfile Fault Tolerance

By | MicroProfile | No Comments

The need With the rise of microservices or large scale distributed systems and communicating through HTTP and NoSql databases, we also see the rise of eventual consistency.  The focus on reliability or the perfect operation at all times had to shift to resilience; the ability of an application to recover from certain types of failure and yet remain functional.  All-or-nothing and reliable transactions were paramount, data had to be safely stored above all, sacrificing the user experience and cost. The objects on those transactions could also be very complex, frequently using multiple tables and even different databases. Typically, if a…

Read More

Jakarta EE: Faster, Stronger, Better

By | Jakarta EE | No Comments

As you probably already know, Java EE has been donated by Oracle to the Eclipse Foundation and re-branded as Jakarta EE.  The first version of Jakarta EE has not yet been released (as of this writing), but when it is, it will include all of the specifications and will essentially be the same as Java EE 8 with some updates.  As a result, the first release will be christened Jakarta EE 8 to show that the evolution of the platform continues; that it’s not an entirely new platform.  That’s a good thing! In the beginning Java EE – originally called…

Read More

I ♡ Jakarta EE

By | Jakarta EE | 4 Comments

In 1996 I started developing software with Java and JDBC and fell in love with the beauty of the language and the idea of creating common standardized, vendor agnostic APIs. The Servlet container system arrived in 1997 in the form of the Sun’s Java Web Server, adding to my enjoyment, and when EJB was introduced in 1998 and J2EE in 1999, I was hooked. I wrote books, did public speaking, worked in open source, and developed J2EE applications for production. It was wonderful to be part of such a huge sea of change in enterprise application development. But by 2004,…

Read More

Open Source Heroes

By | Open Source | 2 Comments

Open source heroes are never hard to find. They begin projects, lead communities, and inspire others.  It takes a special kind of person to contribute to open source. Most projects never reach the status of Linux or Apache or Eclipse, but even the smallest and most obscure projects can make software development easier for other developers.  It is hard – no, impossible – to imagine our world without open source and the people who create and maintain it. We forget our heroes Yet, we do forget! As a society, we forget all the developers who come together and give some…

Read More

The Global Tribe

By | Tomitribe | No Comments

In my 23+ years as a career software developer and technologist, I’ve worked for a lot of companies and run a couple of my own.  Sometimes I work from my home office and sometimes I work at the company headquarters. I love it! Some people need to have face-to-face interactions and live contact with people or they go nuts, but I’m not one of them.  I LOVE working remotely from my home office. I’ve designed and built my own office furniture (that sounds more impressive than it is) and made my home office, a sunroom with windows on 3 sides,…

Read More

Running with the Tribe

By | Tomitribe | 3 Comments

Most people in the Java industry don’t know me but there was a time when I was very involved with Java, open source, standardization, and the community. I started working professionally as a Java developer in late 1995 and continued to grow professionally within the Java community until 2004 when I left to become an analyst. Since then I have worked a lot of jobs, a few startups, and done a lot of development but none of it was in Java or involved open source. I’m grateful for everything I discovered during my 14-year hiatus, but sometimes I wish I…

Read More

Java EE to Jakarta EE

By | Jakarta EE | No Comments

The vote for the new brand for Java EE is up and the community has until February 23rd to decide amongst the choices. We’ve generally stayed quiet about the Java EE rebranding in large part because we love “Java EE” and even larger because the legal complexities around the Java trademark are severely complicated. I’ll simply point out that after more than 20 years the Java trademark is still disputed, not a registered trademark ®, and Oracle should be cut some considerable slack. We often want things without truly understanding the responsibility that comes with getting what we want. Oracle bears a…

Read More

Eclipse Makes History in 18 Years of JSRs

By | Java Community Processes, MicroProfile | No Comments

This July the Eclipse MicroProfile put in motion efforts to file our first JSR, now known as JSR-382 Configuration API 1.0 submitted by the Eclipse Foundation. While there are several fantastic technical merits around JSR-382 Configuration API 1.0, from an industry perspective, this JSR is the very zeitgeist of where we are at and where we are headed. Like Kevin Bacon, almost everyone and everything is 6 degrees of separation from the Configuration JSR and after this JSR, nothing will ever be the same again. Why File a JSR at all? Let’s call out the elephant in the room. Some…

Read More

Is Jigsaw Dead? Not quite.

By | Java Community Processes | No Comments

There are a lot of opinion pieces about Jigsaw and the recent vote. Most of them are titled “Jigsaw Rejected,” or “Back to the Drawing Board.” In 28 days time you will read articles that have titles like “JCP has Change of Heart on Jigsaw” and “Jigsaw Approved in Java 9.” Would it surprise you to learn that there are 2 to 3 more votes ahead? You might now be thinking, “If there are so many votes ahead, how could Jigsaw have been rejected?” The short answer, it wasn’t. Unless we learn the JCP process, we could be seeing up…

Read More

Code Club: The Next Generation of Coders

By | Community | No Comments

Introduction to Code Club Following on from my Ignite talk at Devoxx UK 2016, I want to introduce Code Club and share my experiences as a volunteer for those that may be interested but didn’t attend the conference. Code Club is a non-profit organization here in the UK that aims at creating a volunteer-led after-school coding club for 9-11 year olds in every primary school across the UK. Each club typically runs for one hour after school, and meets up every week. Coding is featuring more and more on the school curriculum these days, and running a Code Club is…

Read More

“I do not hate Apache Maven”

By | Open Source | One Comment

I recently had an opportunity to hold a few talks at DevoxxUK. This one went down as a treat, so I’d like to share a little depth in this quick blog. Thanks go out to the entire team, but some special thanks to Mark Hazell and Ellie May for organizing a really great event. Awesome work guys! Apache Maven This is a quick and simple take on ensuring that your Apache Maven based project starts and, more importantly, stays lean and clean. It’s a summary of my best practices, and I’m always happy to learn a few more. Keep your…

Read More

MicroProfile: Optimizing Enterprise Java for a Microservices architecture

By | MicroProfile | One Comment

Today we are announcing a new collaboration called the MicroProfile.  Together with Red Hat, IBM, Payara, the LJC and all who will join us, we aim to merge innovation and standardization into Enterprise Java with Microservices focus. Microservices in Enterprise Java If you look at all the servers in the Enterprise Java space, particularly Java EE implementations, you see a trend: lighter is better.  From the day TomEE was announced in 2011 it was a 30MB distro, booted in a second, ran with default 64MB JVM heap and passed the Java EE 6 Web Profile TCK on hundreds of t1.micro…

Read More

My CREST Journey to Open Source Contribution

By | Open Source | No Comments

I have been contributing to open source software (OSS) projects in my life as a programmer and as a result I have gained a better understanding of APIs and frameworks. This practice has helped improve my skills for my developer tasks. CREST is a project that I have contributed to and I would like to give an overview about and how to contribute to it. This project can be found at tomitribe.io along with several other open source projects. What is CLI? First, you should understand what the CLI (Command Line Interface) is. Applications that use the OS command line…

Read More

QCon São Paulo 2016

By | Community | No Comments

Aligned with the proud growth of the Brazilian Tech Community was QCon 2016 in Sao Paulo. Many software professionals worldwide, and Tribers from Tomitribe including Amelia Eiras, Daniel Cunha, David Blevins and Thiago Veronezi, came to attend this practitioner-driven conference to gain heaps of knowledge and share their support for a strong developer community. QCon is not just a Java conference. The Brazilian Tech Community warmly welcomes Conference attendees from all over the world and technologies. QCon-SP had a good selection on a variety of topics; these sessions were directed towards managers, designers, operations and developers. We had the opportunity…

Read More

JUG-DA Meetup: Not only a Lesson in Java Technology

By | Community | No Comments

Intro What a great week of Java. First there was the community driven conference of JavaLand in the theme park Phantasialand in Brühl near Cologne, then there was the Java User Group Darmstadt meeting with speaker David Blevins @dblevins, accompanied by Stephen Chin @steveonjava and Sebastian Daschner @DaschnerS. I went to both, there is already nice coverage on JavaLand 2016,  therefore I will write about the later. JUG-DA attracted David to come to Darmstadt and give an interesting talk on hidden gems of Java EE and the role of functional programming therein. David’s talk had the main part of the…

Read More

Developing Batch Applications with TomEE

By | Apache TomEE, Jakarta EE | No Comments

Java developers have recognized the need for batch applications a really long time ago, but have had to get by with non-standard approaches – until now. JBatch (JSR-352) introduces an exciting Java specification for building, deploying, and running batch applications, thus standardising the development of such applications. Currently JSR-352 is part of the Java EE 7 specification and has full access to all other features of the platform, including transaction management, persistence, messaging, and more, offering the developer very robust data processing opportunities. In this article, we will create from scratch, a small web application which demonstrates the use of…

Read More

JavaLand 2016 – A Triber Report

By | Community | No Comments

Last week, I visited the JavaLand conference at Brühl in the Phantasialand amusement park. Going to JavaLand for the third time and JavaLand being hosted for the third year, you can call me a JavaLand veteran. Nevertheless, this was a very special JavaLand for me because I just became a member of Tomitribe only one week before. So this was a very good occasion to not only learn new stuff, but also meet and celebrate with other members of the Tribe such as the incomparable Amelia Eiras, David Blevins, and Andy Gumbrecht. Besides celebrating, I also visited some very interesting…

Read More

Getting Started with TomEE

By | Apache TomEE | No Comments

If you just heard about TomEE and want to know more, then you’ve come to the right place. This post will guide you on how to start using TomEE for your Java EE project. But wait, what exactly is TomEE? TomEE is just Tomcat + Java EE = TomEE (Pretty simple, right?) What is TomEE? (the long version) TomEE is assembled from a vanilla Tomcat zipped file with all the additional libraries required to provide a Java EE environment. These include Apache CXF, ActiveMQ, OpenWebBeans and OpenJPA to name a few. This means that if you already use Tomcat and…

Read More

10 Years of Jfokus

By | Community | No Comments

Last week, the Tenth edition of Jfokus took place in sunny Stockholm, Sweden (really, believe me it was sunny). The conference was three days long, with the first day dedicated to Tutorials and the next couple of days to Conference Sessions. The numbers are impressive. It had over 1700 attendees, making it the second largest Java conference in Europe, right after Devoxx Belgium. Tomitribe was happy to sponsor the event. Literally, every attendee was a Triber with the Jfokus / Tomitribe lanyard. If like me, you don’t know what a lanyard is (at least the English word), it’s the strap…

Read More

Testing persistence with Arquillian on TomEE

By | Apache TomEE, Arquillian, Jakarta EE | No Comments

Testing enterprise applications that use persistence can be a hassle: A test database has to be configured. The database has to be seeded before the test. After the test the state of the database has to compared with the expected result. This post shows how to write a test for a Java EE application that uses the Java Persistence API using these technologies: Arquillian is a testing platform that allows, among other things, testing Java EE applications in a Java EE application server. The Arquillian Persistence Extension is an extension to Arquillian that takes over seeding the database, matching the…

Read More

Arquillian Cube: ‘Production Near’ Unit Tests Against Docker Images

By | Arquillian, Docker | No Comments

This is a detailed followup to an Arquillian talk I held at JAX Germany, having had the honour of being asked to do the talk by Aslak Knutsen (the Arquillian project lead). Aslak provided some useful pointers and information to get me up to spec for the talk, so many thanks Aslak. The entire blog source code can be found on GitHub here, so you might want to fork that first before reading on. What is Arquillian Cube? This article assumes that you are already familiar with the Arquillian extensible testing platform; if not, then you should pop over to…

Read More

TomEE QA (in Portuguese)

By | Apache TomEE | No Comments

A few weeks ago, the Tomitribe team represented by Daniel Cunha and Roberto Cortez had the honour to participate in the first ever SouJava online meeting, hosted by Bruno Sousa and Otávio Santana. SouJava is the largest Java User Group in the world, with almost 18 thousand members. Very impressive. SouJava contacted us to talk a little bit about TomEE and the end result is a video with a lot of interesting questions about the technology.     The video is in Portuguese, but if you would like to see something similar in English, please let us know. Enjoy!

Read More

CREST: Boost Your CLI!

By | Open Source | No Comments

Reminder about CREST CREST is a library that allows you to write a command line interface program using a declarative API like JAX-RS for HTTP. Its key features are: 100% Annotation based Ability to use bean validation on method Fully Java integrated Supports complex parameter binding as parameter Often used as an example, for what it’s worth, here is a “Hello, World!” example using CREST: public class Hello { @Command public static String hello(@Option(“name”) String name) { return “Hello ” + name; } } One more step The latest release of CREST boosted its features, which gives you more power…

Read More

Apache TomEE, Arquillian, JCache, CDI, and Hazelcast – What more could you want?

By | Apache TomEE, Arquillian, Jakarta EE | 2 Comments

Well, OK, maybe a lot more, but these technologies just work so sweet together that we decided to jump in and give it a go at the Devoxx UK 2015 Hackergarten. Heather VanCura, a leader of the Java Community Process (JCP), clubbed several developers together for some fun key bashing and this is the result. Enjoy! This hack session was brought to you by Bruno Baptista, Paulo Martins and Andy Gumbrecht, with thanks to Heather VanCura and Devoxx UK 2015. JCache API This API allows the use of caching methods in an intuitive and transparent manner. You need two things in your…

Read More

Java in the Cloud: EEruption of the Heroku

By | Jakarta EE | No Comments

Today all major vendors have their own Cloud platform and most of them are betting on it for the future. Even if the cloud is not yet the everyday solution, it brings new challenges for servers. This post will deal with one example to show how Apache TomEE meets the challenge with success. What are the challenges of the Cloud? All Cloud platforms are a bit different as each have different default targets (i.e., Spring, Java EE, your own platform, only runtime, only build, or even build + runtime, etc.), however, they all share some common points a modern framework/server needs to tackle:…

Read More

Asynchronous EJBs on TomEE

By | Apache TomEE, Jakarta EE | 2 Comments

After configuring Asynchronous EJB invocations on WebSphere for the last few weeks at work, I had some ideas on how Asynchronous EJBs would work on TomEE and how they can be configured. EJB 3.1 specification does not say anything about how to implement asynchronous invocations and the semantics can differ a bit between application servers. This article: Gives a short introduction into Asynchronous EJB Explains the configuration options of TomEE with respect to Asynchronous EJBs Provides some ideas on how to configure your own system Includes a project demonstrating configuration options with TomEE A Quick Introduction into Asynchronous EJBs The…

Read More

Using JCache with CDI

By | Apache TomEE, Hazelcast, Jakarta EE | No Comments

The JCache JSR (JSR-107), finalized in late 2014, provides a standard mechanism to cache values in a map-like structure using a key. There are a number of different JCache implementations to choose from, and swapping between them should be no more difficult than swapping out .jar files on the classpath. In these examples, I will use Hazelcast which provides a distributed cache, giving the benefit that all of the nodes in the cluster are using the same cache and working consistently. CacheManager For anyone new to JCache, here are the basic concepts. It’s also worth having a look at the…

Read More

JRebel 6.2 Release – Now with full Apache TomEE Support!

By | Apache TomEE | One Comment

Overview JRebel 6.2 adds more support for TomEE. Traditionally TomEE support has relied on our regular Tomcat support and now TomEE is its own first-class platform. All flavors of TomEE are supported: TomEE Web Profile through PluME. Keep reading to see how you can leverage the awesome power of TomEE and get the productivity boost from JRebel! What is JRebel? JRebel is a developer’s productivity tool. JRebel allows developers to reload code changes instantly. It skips the rebuild, restart, and redeploy cycle intrinsic in Java development. This enables developers to get more done in the same amount of time and…

Read More

WebSocket and Lock It!

By | Apache TomEE, Jakarta EE | No Comments

WebSockets are a good technical solution where there is a requirement for interactive communication. A typical example is a chat system, but it makes much better sense for live updates such as the stock market.  Being able to see share prices go from red to green is a “must have” for stock traders. The WebSocket API is quite easy to use, but when it comes to security you don’t have a lot of options. However, don’t forget the first step in the WebSocket protocol is to upgrade a HTTP request. If you have a HTTP request, you should be able…

Read More

Financial Data: TomEE to the Rescue!

By | Apache TomEE | No Comments

Michal Kalkowski and Romain Manni-Bucau have both worked around the financial services domain. This post shares some of their experience, and shows how TomEE can fit this need. This post is linked to a related project available on GitHub at: https://github.com/rmannibucau/financial-batch.git Overview The project demonstrates a typical case of maintaining a universe of entities, which are taken from an external source. In this context that would be a list of securities from XETRA market, which are shared on the website as a file and updated daily. The goal of this batch is to capture these updates and make sure they…

Read More

50 Shades of TomEE

By | Apache TomEE | One Comment

I don’t know if we’ll get a film after the international success of it but since few months the world is all about microservices. Whatever your opinion on it is you will surely have to work with it a little bit. One common way to go to production with microservices is to do a shade of your application and simply deploy an executable jar. Let go through common Microservice solutions which work with TomEE flavors. TomEE Shades A shade is a Maven plugin to aggregate project dependencies in a single jar. It can be done with Maven dependency plugin with some…

Read More

Ready-to-edit application in under 3 min. with TomEE

By | Apache TomEE | One Comment

We’ve teamed up with Codenvy to help make getting started with TomEE even easier than before! For those of you who don’t know, Codenvy is a cloud-based IDE that supports a range of popular programming languages and frameworks. Best of all, its free to use and you don’t even need to create an account to get started. You can go from zero to a running instance of a ready-to-edit application in TomEE in under 3 minutes and without leaving your browser. All this with a short guided tour to walk you through the whole process. Launching Codenvy We’ve added a…

Read More

Thread pool configuration for inbound resource adapters on TomEE

By | Apache TomEE | One Comment

Developing resource adapters is surely one of the least known parts of the Java EE platform. Besides developing the component itself, additional knowledge is required for operating the component and customization work is slightly more complex for resource adapters. Whereas for servlets, most of the customization work for an operating environment is done by configuring the WebContainer thread pool size and the resource pool sizes. This article presents a demo application that allows you to play around with important properties for successful thread pool configuration of inbound resource adapters on TomEE. The Demo application The demo application is very simple….

Read More

TomEE Security Episode 1: Apache Tomcat and Apache TomEE Security Under the Covers

By | Apache TomEE | One Comment

Introduction and Scope Security is often of great concern and should be high on the list of any project goals. It covers a vast domain and Apache Tomcat, which relates directly to Apache TomEE, is no different in this regard. This first in a series of security related blog posts is not intended to be exhaustive, but aims at providing you with some insight into how Apache Tomcat and Apache TomEE security works. Apache TomEE provides much more than just Servlets or JSP’s, as it does when it comes to the security related elements. The second post will focus more on…

Read More

Monitoring an Apache TomEE Service on Windows with VisualVM

By | Apache TomEE | No Comments

It’s always good to ‘see’ how your Apache TomEE server is performing in a real world environment. A really great visual tool for this job, that actually ships with the latest Java Development Kit (JDK), is the Java VisualVM application. I will assume you already have a recent Oracle JDK and Apache TomEE installed as a Windows Service. Although this post will focus on the Windows Service platform, most of the information is relevant for other Java platforms. You’ll find this tool in the C:/Program Files/Java/[JDK]/bin directory as ‘jvisualvm.exe‘ – Just run it and have a play with the application…

Read More

Apache TomEE JAX-RS and Arquillian Starter Project

By | Apache TomEE, Arquillian, Jakarta EE | 2 Comments

Know JAX-RS, but haven’t yet dug into Apache TomEE? Way too busy or impatient to read documentation? This repo is for you. https://github.com/tomitribe/tomee-jaxrs-starter-project The only thing better than a Maven archetype is a repo you can fork with everything already setup. Fork this repository on Github and you’re good to go! The contents are incredibly small: ./LICENSE ./pom.xml ./README.md ./src/main/java/org/superbiz/Color.java ./src/main/java/org/superbiz/ColorService.java ./src/test/java/org/superbiz/ColorServiceTest.java ./src/test/resources/arquillian.xml The only mandatory actions are the following steps: $ git clone [email protected]:tomitribe/tomee-jaxrs-starter-project.git $ cd tomee-jaxrs-starter-project/ $ mvn clean install tomee:run That’s it! With those simple steps above, you get the following: Easy to extend starter project setup…

Read More

Tomitribe at DevoxxUK

By | Community | No Comments

DevoxxUK is next week and we couldn’t be more excited. Why? Oh, let me count the ways. We’re a Sponsor It will be our first time as an official sponsor of a conference! How’s that for a start? A proud little milestone for us. If you haven’t been to a Devoxx yet and you have your pass, you’re in for a treat. If you don’t have a pass, get one. You won’t regret it. My first was Devoxx Belgium in 2012. Devoxx UK will be my fifth Devoxx event. Does that tell you anything? Norm is Back We unfortunately had…

Read More

Joining The Tribe

By | Tomitribe | No Comments

After one full month working at Tomitribe, I could not pass up on the opportunity to share my experiences and impressions with the world. I’d like to step back for a moment and reflect on the situation of how I arrived to be where I am now. Perfect way to enter the game with my first Tomitribe blog entry. Thanks Theresa for taking time to read it carefully. My first experience In the first part of my career, I worked in Paris with blind and visually impaired people. Aside from being my first real job, it’s been one of the…

Read More

Meet Tomitribe at JFokus 2014

By | Community | No Comments

Don’t miss Tomitribe next week at Jfokus this February 3rd – 5th in Stockholm, Sweden. JFokus is one of the largest Java developer events in Europe – 1500 attendees, over 50 conference presentations with topics ranging from Java SE & Java EE, Frontend & Web. Android & Mobile, Continuous Delivery & DevOps, Internet of Things, Cloud & Big Data, Future & Trends, Alt.JVM Languages like Scala, Clojure & many more. The tribe will be there speaking on Apache TomEE, showing how developers can achieve simple and lightweight applications on Tomcat leveraging Java EE technologies. The session will be Wednesday, 9am…

Read More

Empezar a Usar Apache TomEE

By | Apache TomEE | No Comments

Obtén una introducción a Apache TomEE y aprende como usar el soporte de Eclipse a Tomcat para desarrollar rápidamente aplicaciones Java EE. Empezarás a codificar en menos de 10 minutos. Editor’s Note (Tim O’Brien): Tomitribe is excited to announce that we’ve asked Alex Soto to start contributing content en Español. ¿No habla Español? I’d recommend that you start learning now because you are going to miss some great TomEE content. Try Duolingo.

Read More

Get Started with the TomEE Maven Archetype

By | Apache TomEE | 2 Comments

I know you’ve been thinking about TomEE for some time. It’s on your list of “things to check out”, but maybe you haven’t had the time to set aside a half day to dive into the details of running TomEE? Maybe you think it’s going to take too long to get started? It won’t, give me two minutes. Here’s a video that demonstrates the process of getting started with TomEE in just that time. If you want to get started with TomEE and you have two minutes to spare, watch this: All you need to do to start using TomEE…

Read More

Feed the Fish

By | Open Source | 12 Comments

The announcement of the end of commercial versions of GlassFish has a lot of people pronouncing GlassFish, in general, dead. While GlassFish is definitely not dead, the open source version will live, there are definitely going to be some challenges. This move closely follows IBM’s similar actions in slowly backing away from Apache Geronimo, the basis of IBM WebSphere Community Edition for which IBM discontinued commercial support in May this year. The two giant software companies seem to be following each other lock and step. Who is to Blame? While it’s tempting to wag our fingers at these two giants…

Read More

Meet Tomitribe at Devoxx 2013

By | Community | No Comments

Don’t miss Tomitribe at Devoxx 2013. I’ll be there presenting some of the recent accomplishments in the EJB 3.2 spec released as part of Java EE 7. As a spec revision largely focused on API fixes, there were a couple changes with big impact! Prepare to have your view of EJB turned upside down. EJB 3.2 and Beyond – Wednesday November 13th, 17:50 We will be there with shirts and stickers to give away, so meet us at the session or catch up with us in the hacking area. If you see us, please do come and say hi! There’s…

Read More

In Development: Improved Support in NetBeans for TomEE

By | Apache TomEE | No Comments

If you use NetBeans or you’ve attended a conference or read Oracle’s NetBeans blogs, you know who Geertjan Wielenga is.  Geertjan has lived and breathed NetBeans for years, and I see him everywhere I go.  I fly to Belgium for Devoxx? Geertjan.  I show up in JavaOne? Geertjan.  He’s everywhere. For years it’s been like this, if there is a conference that has anything to do with Java, he’s there spreading the good word of NetBeans.  Geertjan’s done a great job of building a very loyal audience of Java developers who are passionate about NetBeans because he’s focused on integration,…

Read More

Creating a MongoDB Security Realm for Tomcat

By | Apache TomEE | No Comments

At Tomitribe, much of our client work focuses on integration. For example, a customer might come to us and with an existing LDAP server that they want to use as a security realm or, in this case, a requirement to connect to a MongoDB database that contains users, credentials, and role definitions. The great thing about Tomcat and TomEE is that it’s very easy to write custom components that can use any external resource to do just about anything. While there are likely several valid ways to use a MongoDB database as an authentication provider for Tomcat, in this blog…

Read More

Attention Bay Area: See David Talk TomEE at Google on Wednesday Night

By | Community | No Comments

If you are in the Bay Area, stop by Mountain View tonight to see David Blevin discuss TomEE at the Silicon Valley Java Users Group (SVJUG). For more information and to RSVP, click here. There are a limited number of seats available. Here’s the talk description, but more important than the presentation you’ll have a chance to ask David your questions after the presentation: “Apache TomEE is the Java EE 6 Web Profile certified version of Apache Tomcat and combines the simplicity of Tomcat with the power of Java EE. The first half of this session introduces TomEE and shows…

Read More

Who Are The Real Heroes Of Open Source?

By | Open Source | One Comment

As the first entry in the Tomitribe blog, I wanted to take the opportunity to give a personal view of why. Why do we exist? What do we hope to achieve? Chasing a Dream Before I talk about that, I want to share an intimate moment in time. A defining moment when we knew we truly had something special. This is a picture from April of 2011, before Apache TomEE had been certified and announced to the world, when it was still very much a dream. Open source is full of heroes and these people are my personal heroes and…

Read More