Apache Kafka is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java. The Kafka event streaming platform is used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
N/A
JBoss SOA Platform
Score 9.0 out of 10
N/A
Red Hat JBoss SOA Platform drives business execution, responsiveness, and flexibility in an open platform. It delivers what the vendor describes as an easy-to-consume service-oriented architecture (SOA) integration suite that lets users build, deploy, integrate, and orchestrate applications and services.
N/A
Pricing
Apache Kafka
JBoss SOA Platform
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache Kafka
JBoss SOA Platform
Free Trial
No
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Apache Kafka
JBoss SOA Platform
Features
Apache Kafka
JBoss SOA Platform
SOA Governance
Comparison of SOA Governance features of Product A and Product B
Apache Kafka is well-suited for most data-streaming use cases. Amazon Kinesis and Azure EventHubs, unless you have a specific use case where using those cloud PaAS for your data lakes, once set up well, Apache Kafka will take care of everything else in the background. Azure EventHubs, is good for cross-cloud use cases, and Amazon Kinesis - I have no real-world experience. But I believe it is the same.
JBoss Enterprise SOA Platform is great when you are looking at building more or less pure Java applications and SOA micro-services that may integrate with multiple external data sources. It is less useful when you are looking to build simple SOA applications that are simple in nature since the overhead associated with deploying as well as learning BPEL.
Really easy to configure. I've used other message brokers such as RabbitMQ and compared to them, Kafka's configurations are very easy to understand and tweak.
Very scalable: easily configured to run on multiple nodes allowing for ease of parallelism (assuming your queues/topics don't have to be consumed in the exact same order the messages were delivered)
Not exactly a feature, but I trust Kafka will be around for at least another decade because active development has continued to be strong and there's a lot of financial backing from Confluent and LinkedIn, and probably many other companies who are using it (which, anecdotally, is many).
JBoss is open source so the cost overhead to deploy and build application is very low.
JBoss Enterprise SOA Platform and its parent Redhat are reputed and well adapted in the industry so it is easy to find best practices documentation for complex deployments of JBoss middleware.
Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great.
Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed.
Learning curve around creation of broker and topics could be simplified
JBoss Enterprise SOA Platform is dependent and build for JEE/Java application so using a different programming paradigm will be much harder.
There is still a learning curve to get familiar with BPEL making it harder to get an SOA micro-service up and running compared to a fully cloud-based service
Apache Kafka is highly recommended to develop loosely coupled, real-time processing applications. Also, Apache Kafka provides property based configuration. Producer, Consumer and broker contain their own separate property file
Support for Apache Kafka (if willing to pay) is available from Confluent that includes the same time that created Kafka at Linkedin so they know this software in and out. Moreover, Apache Kafka is well known and best practices documents and deployment scenarios are easily available for download. For example, from eBay, Linkedin, Uber, and NYTimes.
Redhat support generally is great and that is true for the JBoss Enterprise SOA Platform as well. Even if you do not buy support from Redhat, you can reply on the discussion board and bug fixes via the open-source JBoss without much trouble.
I used other messaging/queue solutions that are a lot more basic than Confluent Kafka, as well as another solution that is no longer in the market called Xively, which was bought and "buried" by Google. In comparison, these solutions offer way fewer functionalities and respond to other needs.
Oracle SOA Suite (Oracle BPM + Oracle BPEL + other components) and IBM WebSphere middleware is most costly and suited if you are already using applications and other middleware components from these vendors. Mulesoft (Salesforce Mule ESB) is best when you need deep integration with one of Salesforce's existing products. JBoss and Apache Web Server are best when you do not want to invest infant CapEx/OpEx on license fee. Apache Web Server based middleware is best for simple SOA applications.
Positive: Get a quick and reliable pub/sub model implemented - data across components flows easily.
Positive: it's scalable so we can develop small and scale for real-world scenarios
Negative: it's easy to get into a confusing situation if you are not experienced yet or something strange has happened (rare, but it does). Troubleshooting such situations can take time and effort.