What is our primary use case?
The product is basically middleware. What we have is several applications running on JBoss. Basically, it is very old and there we have those services exposed. Our target is to move them to ERPC, or something more modern, like REST or ESPC, or a combination of both.
What we currently have here, still, is SOAP services, which is a very old middleware. They also are using it for scheduling some items such as some recurrent procedures. They have a queue manager as well.
How has it helped my organization?
I've only been with this client in the last six months, however, the middleware has been the backbone for them for several years. The organization depends on it. The business depends on it.
What is most valuable?
The solution is stable.
You can scale the solution.
There's good documentation and a pretty good community surrounding the product.
What needs improvement?
JBoss is too much for what we need. When it was developed, it made sense. I liked having all of these services and all of these applications mounted on vehicles due to the capability. We could have several clusters in one JBoss instance. Nowadays, that solution is kind of too much maybe. We're not using very distinctive capabilities.
If the client decides to keep on JBoss instead of migrating to services, to the different architecture, the next steps would be to take more advantage of the new features, changing the code to a Java 11 style. Of course, they need to modernize the services, and consider migrating to new stuff that is available already for items like REST. Or even the use of stuff like GraphQL.
In general, the support of the ERPC would be really good due to the fact that, so far, I have not seen it. I have not even tried GraphQL, however, having any of these new technologies for exposing services would be really, really good for JBoss, That's what is moving forward in the industry.
For how long have I used the solution?
I've been using the solution for the last six months. It has been since June. Prior to that, I only had small chunks of time with some JBoss systems. If I would gather them all, it would be about eight months of collective experience with the product.
What do I think about the stability of the solution?
From what I have seen, the solution is stable. Even when it was migrated to the cloud to AWS, as it was first on-premises, it was capable of dealing with heavy loads. We never saw one of the instances crashing. We haven't seen a problem related to JBoss. The client is more concerned about how old the code is and of course, they want it to move to the cloud. That's why we started to move it to AWS. Now we're dockerizing in JBoss and taking it to GCP due to the fact that the target, at the end of the day, is to modernize everything. Whether if it remains in Google Cloud as a containerized set of applications, or it's split on services or have them both parallel migrating to services, it seems like it will remain stable.
What do I think about the scalability of the solution?
On scalability, we have enough instances in production. I have not heard about any issues with scalability. It should be easy enough to do.
As far as I know, there are three or four applications that are using the middleware. And there are some other applications that use it as well. I have three and they are like portals.
How are customer service and technical support?
I haven't really reached out to technical support in the past. If there's technical support needed on the code, typically I can check it out.
They have a strong community. I haven't had a need to reach out to them, however. They have good documentation for JBoss. It's available as long as you have an account and you can get the information that you might need for troubleshooting.
Which solution did I use previously and why did I switch?
The solution already existed. I'm not sure if they had a different solution prior to this.
How was the initial setup?
We arrived at this project. The solution was already set up. We haven't been implementing anything, we've been cleaning up all the projects. We've been making improvements on it. The solution already existed. Of course, there are things that can be leveraged, like the organization or the structure into the project. But no, the solution was already there. We have been dealing with it and parallel. We have been building a proposal to the client for migrating into small services.
What's my experience with pricing, setup cost, and licensing?
I'm not sure of the exact pricing, however, my sense is that it's expensive as the client no longer wants to pay for it and would like to move away from it or onto the cloud.
Which other solutions did I evaluate?
What is currently being evaluated is what to use to replace this solution. The client is looking for a change.
For splitting the services into small microservices or small services, we are proposing the use of Quarkus which is a modern set of tools and of the same type as Red Hat, or Java. We are proposing Quarkus as the platform for building the services. Of course, we'll be using Java 11 for the services. We already have developed something on GRPC, and there's also the option to use REST. What we have found is less problematic when it comes to migrating, is to do a bunch of code is Quarkus precisely due to the fact that it allows us to use a lot of capabilities from Java's enterprise edition. Quarkus is the more modern technology that we have found for making it easier to make a transition.
What other advice do I have?
We're just customers. We are currently migrating an application that was developed, on JBoss, and we are taking it to the Cloud.
The project was started on JBoss 6.2, however, now that we are mounting it in the Cloud, we're using JBoss EAP 7.3. The client doesn't want to pay more rights to RedHat. Now we're moving JBoss to WildFly, which is really easy. It's just to avoid the licenses.
The deployment version is on-premises. The productive version is still on AWS on-premises, on some virtual machines that the company paid for. However, when it comes to the cloud, we are installing it in Google Cloud. We are moving it. We have these deployments in parallel.
I could recommend this solution as I have seen that it's stable. There are some things that are still done in an old-fashioned way, however, it's still stable and you can find the connotation for that. You can have the option to use it in the cloud. We are using containers already for tables in the cloud. My advice would be simply to have it really clear why you want to use it. Alternatively, if you are going to have a really heavy application where you need everything together, of course, JBoss is a good option.
I would rate the solution at a nine out of ten.
Which deployment model are you using for this solution?
Which version of this solution are you currently using?