HI Ralf,

unfortunately I don’t think I or anyone else can remove your signature,
but things happen and you probably have to live with people now contacting you 
in private 😉

Thanks a lot for your detailed explanation which was very interesting to read.

I have also been developing Webapps for about 22 year now.
I have started out with JSP for which I first built my own extensions before I 
switched to Struts2 in 2007.
Struts2 and JSP worked OK at the time with the advantage of very good compile 
time safety.
But they lacked proper Ajax capabilities and soon reached a limit.

At the time I was also considering Apache Wicket although in the end I never 
found the time to give it a proper try.

Instead I got on the JavaServerFaces train with JSF 2.0 just released (fixing 
all the flaws of 1.x).
I had to trade CompileTimeSafety for lot more UI-flexibility due to a great 
supply of Ajax components.
On my first projects I used the IceFaces component framework but later switched 
to Primefaces which I have been using ever since.
With our Empire-db JSF extensions all the model metadata is automatically used 
for component setup so I have almost no redundancies.
That works really great.

In a couple of projects I was forced to using JPA and Hibernate and that was 
pure hell.
To get the things I wanted I had to invent my own annotations and query builder 
extensions to get it do to the queries I wanted and still wasn’t able to do 
them all.
So I spent most of my times finding workarounds for the limitations of the 
persistence framework.
Another thing I really hated was debugging with all the Bytecode Proxies that 
Hibernate generates.
How can anyone work like that?

My applications run on Websphere Liberty and Tomcat. I never had any issues 
with Tomcat however.
The only reason I know when Tomcat “hangs” is when you don’t have your 
ConnectionPool set up correctly and you run out of connections.
(you need to set the DataSource factory to 
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" otherwise you only have 
10 connections and Tomcat hangs afterwards)

Maybe the difference between us is that I am doing fewer Big-Projects so I 
don’t have the ramping up problem that much.
Personally I prefer to keep my technology stack as slim as possible.

Anyway I appreciate your donation as I believe that there are many ways to get 
to Rome and I hope that it will help others to getting started when looking at 
our project.
Surely people who are already using Spring-boot will find your example a lot 
more appealing than mine.

Rainer


from: Ralf Eichinger <[email protected]>
to: [email protected]
re: Re: Question about Spring-boot

Hi Rainer,

it is always difficult to explain why one is convinced of something... :-)
For me it is always important to improve way of doing things and so I went a 
long way
in the last 25 years of webdevelopment...
from cgi-bin/perl to java with servlets and system.out.println HTML over all 
java web frameworks to
a long period of using Apache Webserver and Apache Wicket and Apache Tomcat 
with WAR deployment.

There was a time when Spring MVC still was working with JSPs, what I refused to 
use since I has experienced Struts monster components
and the cleaner way of Apache Wicket.

When Spring MVC switched over to Thymeleaf (developed of a former Wicket fan) I 
gave it a try a never looked back,
because Spring MVC made it easier to not only develop webapps (what wicket 
focussed on), but also on the same level supporting REST-API-Endpoints.

I still packaged it into WAR files and using Tomcat.
Tomcat was mature stuff, but
- a webapp needed first installation (and maintenance) of a tomcat server
- tomcat sometime hung up ("zombied"), so we always added a cronjob restarting 
tomcat every night (these was more than 6 years ago)
- deployment to that time was mostly manual copying and restarting

So we gave Spring Boot a try, that provides an embedded tomcat.
Long story short: we never looked back, now running more than 50 webapps, 
services and workflow jobs since years based on spring boot.

One of the big advantages is: Spring is developed by people that know what is 
needed in practical day to day work (seems so).
It always introduces things making your job easier and remove boring 
boilerplate coding work.

To make a decision depends on:
- If you think that in a project a lot of development effort and time should go 
into ramping up a skeleton or environment before starting to code the 
functionality asked for,
then Spring Boot is not a good choice
- If you do not like to spend time in every project to develop a configuration 
file reading "framework" or logging logic or environment detection 
(local/dev/staging/prod) or unit testing environments or monitoring endpoints
for dashboards, then spring boot is the right stuff. you get a lot (only if you 
want and add maven dependencies, you are still free in choosing how far you 
will go)
out of the box

if you want have an easy introduction: I wrote some blueprint documentation here
https://github.com/dbmdz/blueprints
especially spring boot
https://github.com/dbmdz/blueprints/tree/main/webapp-springboot-thymeleaf

So, how does it fit with empire-db?
As Spring Boot is totally open to any persistence framework, it is no problem 
to go ahead with empire-db
(some documentation on jdbc stuff: 
https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#jdbc)

The only benefits I used from Spring Boot is the automatically creation of a 
JDBC Datasource provided by using application.yml config with spring defined 
config
properties: spring.datasource.utl and password and username

see documentation 
https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.data.spring.datasource.url

So the example code of spring boot empire-db is a shorter and focusses on the 
test itself.
and spring boot stepped never in my way of using empire-db.


Am Fr., 4. März 2022 um 21:14 Uhr schrieb Rainer Döbele 
<[email protected]<mailto:[email protected]>>:
Hello Ralf,

first I want to thank you for your code donation.
As an Open Source project we depend on people who are willing to contribute and 
give something back.

Since I had some access problems with Github, Jan was so kind to get the pull 
request and merge it.
Then I just made a view adjustments and I also had a quick look at it.

To be frank, I have no clue, what Spring-Boot is all about.

So I asked Mr. Google and quickly this is what I found:
Spring-Boot AutoConfiguration - Too much magic? : java 
(reddit.com)<https://www.reddit.com/r/java/comments/6byre7/springboot_autoconfiguration_too_much_magic/>

Plus this video:
https://www.youtube.com/watch?v=Sw7I70vjN0E

Now I am just curious why you are using Spring-Boot, and why you think it would 
be a good fit for Empire-db.
As I am quite willing to understand and learn 😉

Best regards,
Rainer

Reply via email to