Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ee4j-community] Time to play the game?

All,

I also had a discussion about some of those with Rudy and fellow speakers at JCON last week. Backed by what prospect or current customers I help to get "Cloud Native" or use Java EE in a Microservice context keep telling and asking for. Some use Spring Boot, but it increasingly turns out, that many of those use cases are very simple applications with little or no business logic behind them. Often it also serves as a rapid PoC before a project moves on to use Java EE with one of the common containers. And several of those people asked their projects to migrate from Spring Boot to a Java EE compliant runtime/container. 

What does not seem so obvious in this thread so far, is that Oracle also put a new contender into this ring with Project Fn. It was featured even more ad JCON than JavaOne. Ironically (but it makes sense for the technology stack) the foundation of Fn is not written in Java at all, but Go (a language invented by Google used by Docker, Kubernetes,...) Fn allows to deploy functions written in Java among several other languages, so while Oracle still maintains Java and it is at the heart of many other strategic products, this environment is much more polyglot and you can even start using _javascript_, Node or Angular instead of Java.

Werner



On Fri, Nov 3, 2017 at 4:52 PM, <ee4j-community-request@xxxxxxxxxxx> wrote:
Send ee4j-community mailing list submissions to
        ee4j-community@xxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
        https://dev.eclipse.org/mailman/listinfo/ee4j-community
or, via email, send a message with subject or body 'help' to
        ee4j-community-request@eclipse.org

You can reach the person managing the list at
        ee4j-community-owner@eclipse.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of ee4j-community digest..."


Today's Topics:

   1. Re: Time to play the game? (Kevin Sutter)
   2. Re: Time to play the game? (Ondrej Mih?lyi)
   3. Re: Time to play the game? (Alexander Salvanos)


----------------------------------------------------------------------

Message: 1
Date: Fri, 3 Nov 2017 09:39:55 -0500
From: Kevin Sutter <kwsutter@xxxxxxxxx>
To: EE4J community discussions <ee4j-community@xxxxxxxxxxx>
Subject: Re: [ee4j-community] Time to play the game?
Message-ID:
        <CABH8ernmY6zsD2a5nRJHXSDJhyzg4JVkbd6GkFkQ0LcLgFv8KA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

*>  I cannot understand why more and more developers build fat applications
and use Docker only as an OS bubble. Why don't they use Docker for what it
was meant, for setting an environment, a platform (JavaEE) and keeping
their applications lightweight?*

Right on, Mihai.  I can't speak for this whole community, but I do think
this is a common desire for Cloud Native Java applications.  We just have
to keep educating the masses.

--  Kevin

On Fri, Nov 3, 2017 at 6:59 AM, Mihai A. <amihaiemil@xxxxxxxxx> wrote:

> Hello All,
>
> I wanted to ask you how is JavaEE going to fight back to Spring and
> project Jigsaw?
>
> Let me explain:
>
> These days, I noticed an increasing trend of developing Java (web)apps
> with Spring + Spring Boot, and running them with Docker. A lot of people
> seem to not understand JavaEE, they cannot use it properly so, naturally,
> they prefer to have a fat deployable and *use Docker just as a simple OS
> wrap*.
>
> Then here comes project *Jigsaw *which, it seems to me, *is an effort
> made in the complete opposite direction of JavaEE*. I read this article
> that kept showing on my Twitter feed:
>
> https://steveperkins.com/using-java-9-modularization-
> to-ship-zero-dependency-native-apps/
>
> Basically, with Jigsaw, we can create standalone Java apps which do not
> need a preset runtime anymore. It encourages developers to follow the
> monoliths path, building even fatter apps. Because hey, nobody wants to
> take care of setting the JRE. But they will still play Docker just to spin
> the app. Do you see the irony?
>
> I cannot understand why more and more developers build fat applications
> and use Docker only as an OS bubble. Why don't they use Docker for what it
> was meant, for setting an environment, a platform (JavaEE) and keeping
> their applications lightweight?
>
> These days, the developer, instead of focusing on lightweight, efficient
> projects, is burdened with having to know everything: the app couples
> together (tightly!) concepts such as Spring Boot, Jigsaw, Docker. Everyone
> is still happy, they enjoy it, not thinking that we are throwing away many
> years of progress.
>
> Any thoughts on this topic? It's a rather grim view, I know, but I am
> really curious of what the experts believe.
>
> Best regards,
> Mihai Andronache
>
> --
> amihaiemil.com
> https://www.github.com/amihaiemil
> https://www.twitter.com/amihaiemil
>
> _______________________________________________
> ee4j-community mailing list
> ee4j-community@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/ee4j-community
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dev.eclipse.org/mailman/private/ee4j-community/attachments/20171103/4d42fc15/attachment.html>

------------------------------

Message: 2
Date: Fri, 3 Nov 2017 16:00:46 +0100
From: Ondrej Mih?lyi <ondrej.mihalyi@xxxxxxxxx>
To: EE4J community discussions <ee4j-community@xxxxxxxxxxx>
Subject: Re: [ee4j-community] Time to play the game?
Message-ID:
        <CACZTZYWX=GgeQ34pG+TjW8GJfaF4FkQkncWDhyK4wQChg3qRAA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"

There's always a trade-off with either fat JARs or light WARs deployed to
an app server. Neither of them is actually more lightweight in all aspects.

- Fat JAR may contain only what is necessary, there's no easy and
straightforward way to build it as most solutions like Spring Boot and
WildFly Swarm require a special maven plugin and configuration.
- Light WARs may contain only the business logic, but there's no easy and
straightforward way to run them in an app server as most solutions require
a special deployment tool or web interface to deploy pps

I think both ways to package and run enterprise applications are valid for
certain usecases and should be addressed

 - Building fat JARs can be as simple as using a standard tool or a common
maven plugin
 - Running light WARs can be also almost as simple as running a JAR, just
run `java -jar appserver.jar -app application.war` or `appserver -app
application.war`

The latter is already supported by Payara Micro and Hollow WildFly Swarm
(e.g. `java -jar payara-micro.jar --deploy application.war` or `java -jar
wildfly-swarm-hollow.jar application.war`). Traditional app servers like
GlassFish also provide command-line tools that can do deploy a WAR
application into a running server, e.g. GlassFish with `asadmin deploy
application.war`. It could be standardized to simplify running and
deploying plain WARs.

There already were attempts to do this with JSR 77 which is too complicated
and with JSR 373 which was planned for Java EE 8 but withdrawn. I also
created my own proposal for a standard structure of fat JARs, which also
covers running WARs with the help of an external runtime from command line:
https://github.com/OndrejM/fat-jar-spec Maybe now is the right time to
discuss whether it makes sense to standardize something like that in
JavaEE.next.

Ondro


2017-11-03 14:22 GMT+01:00 Xuqian Zhang <zxuqian@xxxxxxxxx>:

> I think the fat jars are just an another way to structure the enterprise
> application as the trending of microservices. Each jar file will just
> provide a specific service and will deploy to different server. The fat
> jars actually are more light weight because they only need part of the
> server runtime.
>
> Wildly swarm is doing this way. Indeed this structure has drawbacks, such
> as if you want to change the underlying implementation, you have to change
> every service project.
>
> On Fri, Nov 3, 2017 at 7:59 AM Mihai A. <amihaiemil@xxxxxxxxx> wrote:
>
>> Hello All,
>>
>> I wanted to ask you how is JavaEE going to fight back to Spring and
>> project Jigsaw?
>>
>> Let me explain:
>>
>> These days, I noticed an increasing trend of developing Java (web)apps
>> with Spring + Spring Boot, and running them with Docker. A lot of people
>> seem to not understand JavaEE, they cannot use it properly so, naturally,
>> they prefer to have a fat deployable and *use Docker just as a simple OS
>> wrap*.
>>
>> Then here comes project *Jigsaw *which, it seems to me, *is an effort
>> made in the complete opposite direction of JavaEE*. I read this article
>> that kept showing on my Twitter feed:
>>
>> https://steveperkins.com/using-java-9-modularization-
>> to-ship-zero-dependency-native-apps/
>>
>> Basically, with Jigsaw, we can create standalone Java apps which do not
>> need a preset runtime anymore. It encourages developers to follow the
>> monoliths path, building even fatter apps. Because hey, nobody wants to
>> take care of setting the JRE. But they will still play Docker just to spin
>> the app. Do you see the irony?
>>
>> I cannot understand why more and more developers build fat applications
>> and use Docker only as an OS bubble. Why don't they use Docker for what it
>> was meant, for setting an environment, a platform (JavaEE) and keeping
>> their applications lightweight?
>>
>> These days, the developer, instead of focusing on lightweight, efficient
>> projects, is burdened with having to know everything: the app couples
>> together (tightly!) concepts such as Spring Boot, Jigsaw, Docker. Everyone
>> is still happy, they enjoy it, not thinking that we are throwing away many
>> years of progress.
>>
>> Any thoughts on this topic? It's a rather grim view, I know, but I am
>> really curious of what the experts believe.
>>
>> Best regards,
>> Mihai Andronache
>>
>> --
>> amihaiemil.com
>> https://www.github.com/amihaiemil
>> https://www.twitter.com/amihaiemil
>> _______________________________________________
>> ee4j-community mailing list
>> ee4j-community@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/ee4j-community
>>
>
> _______________________________________________
> ee4j-community mailing list
> ee4j-community@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/ee4j-community
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dev.eclipse.org/mailman/private/ee4j-community/attachments/20171103/1a56fea9/attachment.html>

------------------------------

Message: 3
Date: Fri, 3 Nov 2017 16:51:59 +0100
From: "Alexander Salvanos" <salvanos@xxxxxx>
To: ee4j-community@xxxxxxxxxxx
Subject: Re: [ee4j-community] Time to play the game?
Message-ID:
        <trinity-9a55baf0-93af-42e6-b659-44e5662f9bad-1509724319619@3c-app-gmx-bs18>

Content-Type: text/plain; charset="us-ascii"

An HTML attachment was scrubbed...
URL: <https://dev.eclipse.org/mailman/private/ee4j-community/attachments/20171103/44c73847/attachment.html>

------------------------------

_______________________________________________
ee4j-community mailing list
ee4j-community@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ee4j-community


End of ee4j-community Digest, Vol 3, Issue 8
********************************************


Back to the top