Nice comment Arnaud,
This is true for what you mentionned but you should know that companies are trying to use standards
and vertx is again another "tool" with an "unknown" future.
Let me explain, if the project dies tomorrow, all the apps using "verticles" will die too, also I don't know if Vertx offers Enterprise support ? This is a very important point for professionals.
For the micro service, the fat jar, do you know these JavaEE micro servers:
http://wildfly-swarm.io/
https://dzone.com/articles/how-micro-is-payara-micro-1 ( 17mb heap only !!!!! )
So JavaEE is also ready for micro services and mocking services like JMS or other modules is not a problem for a strong Java developer.
The EventBus of vertx is exactly the same behavior as the JMS which has been implemented since..... many years !
Also you should see this example:
http://www.lordofthejars.com/2014/07/rxjava-java8-java-ee-7-arquillian-bliss.html
We can perfectly do the same as vertx with Java EE 7 and RxJava !
Vertx also uses some specific concepts ( verticles, workers, eventbus, ...), so its not standard and it forces developers to learn again new stuffs. ( its like JavaEE vs Spring )
Also the argument of polyglot is a not really concerning everybody, there are always some experts in specific languages.
Anyway, I am not against vertx but I really want to know what he brings ( expect the easy dev/code ) for a company that want to make aync/reactive apps based on Java.
And last thing: I don't hear from any big companies like NetFlix, Google, FB, Twitter.... that uses Vertx...
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/b666472e-d58b-49f4-8b07-4979b93e756c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
On 22 Jan 2016, at 12:05, Tim Fox <timv...@gmail.com> wrote:This is beginning to sound like a JavaEE sales-pitch but I'll bite…
On 22/01/16 11:41, J Guedouar wrote:
Nice comment Arnaud,
This is true for what you mentionned but you should know that companies are trying to use standards
As the old adage goes: The good thing about standards is there are so many to choose from ;)
The truth about JavaEE as a standard is it has never been that easy to migrate a JavaEE from one app server to another as inevitably the app is using implementation specific features.
And some of the most popular software in middleware (e.g. Spring) is not standards based. I've always been a believer that the "standards are important" argument is massively overrated.
and vertx is again another "tool" with an "unknown" future.
Let me explain, if the project dies tomorrow, all the apps using "verticles" will die too, also I don't know if Vertx offers Enterprise support ? This is a very important point for professionals.
For the micro service, the fat jar, do you know these JavaEE micro servers:
http://wildfly-swarm.io/
https://dzone.com/articles/how-micro-is-payara-micro-1 ( 17mb heap only !!!!! )
Vert.x is one of the pioneers of pushing a microservices based model before it became fashionable and everyone has now jumped on the bandwagon. Wildfly swarm is basically an app server deployed as a fatjar - so if you like app servers that's great.
Vert.x fatjars are typically significantly more lightweight and pull in far fewer dependencies than app servers repackaged as fatjars as Vert.x was built from day 1 for this kind of model - it hasn't been retrofitted on a later date.
So JavaEE is also ready for micro services and mocking services like JMS or other modules is not a problem for a strong Java developer.
The main issue JavaEE has in terms of APIs is most of it is still blocking. Sure, there is some async stuff (especially in recent additions), but it's still very difficult to write a completely async JavaEE app. And... even if you do manage it, then often the async implementation in JavaEE app servers are just thread pools wrapping blocking IO, so you still have the scalability issues. Vert.x has been engineered from day one to be non blocking from end to end, so it scales amazingly well.
The EventBus of vertx is exactly the same behavior as the JMS which has been implemented since..... many years !
This is not really true (and I wrote the JMS implementation that's in Wildfly ;) ).
There are parts of JMS that are async, but there's also a lot of stuff in JMS which is synchronous, so you have your scalability issue again. Also the Vert.x event bus is a p2p messaging system, whereas JMS requires servers to be running. Having to deploy JMS servers to get your app to work is very un-microservicey .
Also you should see this example:
http://www.lordofthejars.com/2014/07/rxjava-java8-java-ee-7-arquillian-bliss.html
We can perfectly do the same as vertx with Java EE 7 and RxJava !
Vertx also uses some specific concepts ( verticles, workers, eventbus, ...), so its not standard and it forces developers to learn again new stuffs. ( its like JavaEE vs Spring )
How terrible! Developers having to learn new stuff ;)
The truth is good developers _want_ to learn new stuff. They want to keep up with the latest developments so their CVs can remain relevant.
One issue that we here from our users is that some of the best developers just don't want to do JavaEE any more as it's seen as yesterday's tech, so using JavaEE can actually be an obstacle to attracting and retaining the best devs.
Also the argument of polyglot is a not really concerning everybody, there are always some experts in specific languages.
Anyway, I am not against vertx but I really want to know what he brings ( expect the easy dev/code ) for a company that want to make aync/reactive apps based on Java.
And last thing: I don't hear from any big companies like NetFlix, Google, FB, Twitter.... that uses Vertx...
Did you look on the web-site? We have a whole page on that (and that's just a small selection of our users).
Our production users include many of the biggest banks in the world, the largest retailers in the world and other very high volume sites such as TicketMaster
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/56A21B07.9040205%40gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/65481BD3-6E51-4FBA-8D4B-1CB54BC17997%40gmail.com.
On 22 Jan 2016, at 12:31, Tim Fox <timv...@gmail.com> wrote:Well I think it’s more accurate to say you had an important hand in creating JBossMessaging and HornetQ, as you were the project(s) lead, and wrote significant chunks of the code while you held that position. However, let’s give the whole team a bit of credit where it’s due :)
Fair enough. I didn't mean to imply I single handedly wrote it!
But when I left I was by far the largest contributor and it seems I'm still one of the biggest contributors even though I haven't contributed for over 5 years ;)
https://github.com/hornetq/hornetq/graphs/contributors
But that aside, the point I was trying to make was that the Vert.x event bus is very different from JMS and I'm saying that as someone who has worked deeply with both.
Thank you Tim for your comments,
I am just playing now the evil advocate :)
But for the support, what happens if a company has a problem with Vertx ? They should rely on this community forum ? If yes then its a risk...
Most of JavaEE vendors have a professional support ( Redhat, Oracle ) and this is big point for many big companies.
Also Vertx is a totally new concept with his event loop, most of Java developers have to change their knowledge then.
You said: the best developers does not follow the standards, this is not very true and this is a personal point of view, you have to come at Devoxx and you will see that most of best presenters are Java/JavaEE defenders...
Le vendredi 22 janvier 2016 13:32:51 UTC+1, Mark Little a écrit :
On 22 Jan 2016, at 12:31, Tim Fox <timv...@gmail.com> wrote:
Well I think it’s more accurate to say you had an important hand in creating JBossMessaging and HornetQ, as you were the project(s) lead, and wrote significant chunks of the code while you held that position. However, let’s give the whole team a bit of credit where it’s due :)
Fair enough. I didn't mean to imply I single handedly wrote it!
But when I left I was by far the largest contributor and it seems I'm still one of the biggest contributors even though I haven't contributed for over 5 years ;)
Agreed. That’s what I meant by “significant chunks”. :)
https://github.com/hornetq/hornetq/graphs/contributors
But that aside, the point I was trying to make was that the Vert.x event bus is very different from JMS and I'm saying that as someone who has worked deeply with both.
+1
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/241c0849-a495-4527-bf38-1dd09205cf1d%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/241c0849-a495-4527-bf38-1dd09205cf1d%40googlegroups.com.
On Jan 22, 2016, at 5:40 AM, Julien Viet <jul...@julienviet.com> wrote:I believe one of the compelling aspect of Vert.x over Java EE, is reactive programming (which is not really new and a reinvent of the past)
Java EE does not provide an end-to-end reactive programming model and perhaps it will never.
My point is standards are good but when they don’t evolve anymore (or take years to) then using a standard is a weakness and not asset anymore.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/27CF96CD-CBB5-4412-BFA2-827F9CA8B898%40julienviet.com.
On Jan 22, 2016, at 6:23 AM, John Clingan <jcli...@redhat.com> wrote:
On Jan 22, 2016, at 5:40 AM, Julien Viet <jul...@julienviet.com> wrote:I believe one of the compelling aspect of Vert.x over Java EE, is reactive programming (which is not really new and a reinvent of the past)+1.Java EE does not provide an end-to-end reactive programming model and perhaps it will never.Having been the Java EE PM at Sun/Oracle for 7 years until recently, i can say that we never really discussed end-to-end reactive programming model. Yeah, it has some async and non-blocking APIs, but there is not an end-to-end reactive model being planned. The JAX-RS expert group has been looking at reactive extensions to the client API, but again, that’s not an end-to-end Java EE platform model. It would be easier to start over than to retrofit end-to-end reactive into Java EE. Hey, that’s kinda what vert.x did ;-)
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/f0b7ab2c-64dc-40bf-bb93-d768aee2e3d5%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/43f277d3-864d-4474-8d7e-6ae4bb14e287%40googlegroups.com.
Thank you Tim for your comments,I am just playing now the evil advocate :)
But for the support, what happens if a company has a problem with Vertx ? They should rely on this community forum ? If yes then its a risk...
Most of JavaEE vendors have a professional support ( Redhat, Oracle ) and this is big point for many big companies.
Also Vertx is a totally new concept with his event loop, most of Java developers have to change their knowledge then.
You said: the best developers does not follow the standards, this is not very true and this is a personal point of view, you have to come at Devoxx and you will see that most of best presenters are Java/JavaEE defenders...
Hello,
As I have to start soon a new project, we will test a new type of architecture: the micro services.
We have to choose between Java EE 7 and Vertx.
I wanted to know what are the advantages using Vertx over JavaEE7, as far as I know I will compare this like:
vertx: ( micro server )
verticle ( modules ) non-blocking full async framework using an EventBus to exchange data between verticles.
We need to use modules/extensions in order to use DI, JDBC, security, SMTP, ....
Also there is no JPA like extension on vertx, writing SQL queries by hand is a little... deprecated...
JavaEE7: ( we can also use micro server like wildfly-swarm )
Non blocking - Async can be done via:
REST with @Async and @Suspended annotations ( Jersey 2 supports it )
@Resource(name = "DefaultManagedExecutorService")
ManagedExecutorService executor
We can use JMS for the EventBus.
We can add RxJava for parallel calls.
No need to use extensions because JavaEE stack already include REST, DI, SMTP, JMS, ...
Here we can find a good exemple of JavaEE 7 + RxJava:
http://www.lordofthejars.com/2014/07/rxjava-java8-java-ee-7-arquillian-bliss.html
Also is it possible for vetx verticles to talk each other on the event bus on different locations ?
Example:
10.254.151.5 verticle 1
194.165.154.5 verticle 2
verticle 1 sends message on eventbus, verticle 2 can catch it ?
So in conclusion, I wanted to know what is the advantage using vertx over JavaEE for microservices when a Java Developer is on the story. ( Suppose we don't care about polyglot )
Thank you !
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/5c0d0812-c4e0-451c-94d1-efbeb387e43b%40googlegroups.com.
I like this topic but your experience is based on Spring and not JavaEE.
I dont like Spring because it just adds complexity ( specific container, config, ... ), you can do everything with JavaEE 7 with less code and configuration.
Thank you for sharing us your experience, again I wanted to have feedbacks from users who use it in production.
True, JavaEE is different than Spring when it comes to (convention over) config and such. But it is still somewhat the same philosophy. It's been a while since I used JavaEE, mainly because there are alternatives which suit my needs better. It's just, there are no silver bullets... and technologies change fast. I don't feel like JavaEE is capable of coping with this, and to me, JavaEE is about doing things the JavaEE way only. Technologies like vert.x give me way more freedom (besides simplicity, productivity, ...), even in what functionality of the technology I want - vert.x is a real modular toolkit. Some people don't like that freedom, because freedom means making choices. Making choices can be very hard.
So, if you would like to know the difference, not only in what it can do, but also in how to do things: do some applications in both, and see which one fits your needs the best in which context.
good luck, and please share your experiences as well,
qsys
Op zondag 31 januari 2016 10:12:05 UTC+1 schreef J Guedouar:HiI like this topic but your experience is based on Spring and not JavaEE.
I dont like Spring because it just adds complexity ( specific container, config, ... ), you can do everything with JavaEE 7 with less code and configuration.
Thank you for sharing us your experience, again I wanted to have feedbacks from users who use it in production.
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/vertx.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/f175dab0-bacf-4934-a437-142ba14f72ea%40googlegroups.com.
I’m on IRC occasionally in the vert.x channel (pacific time zone) so would like to chat about this a bit at some point. I used to be the Java EE and GlassFish product manager @ Sun and Oracle (and a pretty fun project called Project Avatar), and now I am doing some PM work at Red Hat around alternative platform architectures, like Vert.x, Node, and WildFly Swarm (think of Java EE 7 as runnable jars). This leads to the intent of my question - to understand how and when folks like yourself decide which is the best approach. Some have greenfield environments where they can start from scratch. Others, like yourself do not because of existing corporate standards and guidelines.
I am very interested in the design choices of when you choose one platform over the other. We are at a point in time where consolidation of interest in a couple of platforms is gone, and the growth of interest in more platform choices is becoming more interesting for companies. Typically, the larger the organization the harder the change,
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/F4BCE16C-A246-4105-A511-7D7E6D6DEB67%40redhat.com.