[hibernate-dev] Toward the first Hibernate Reactive release
Emmanuel Bernard
emmanuel at hibernate.org
Thu May 7 13:03:12 EDT 2020
Hey everyone,
The work around Hibernate Reactive is coming along nicely. So has some
other work needed on the Vert.x front and Mutiny front. Now is time to
ship a first version to the community. With some of the people working
on it, I've tried to come up with a list of tasks and decisions to make.
And proposed decisions to avoid blockers.
## Communication
Most communication happens on the project Pull Request, a good thing I
think. But the glue between them was missing as far as communication.
I propose we use hibernate-dev@ for this.
## The project name
There is an open PR related to the name of the project
https://github.com/hibernate/hibernate-rx/issues/77
I exchanged with Gavin and Sanne and went back and forth on it.
My preferred name _was_ `Hibernate ORM Reactive` because of the fight we
did to make `Hibernate` != `Hibernate ORM` brand wise. But we have quite
failed to convert the general public :) As a brand, `Hibernate Reactive`
is strong and catchy. The only project besides ORM that could become
reactive is Search (I don't think validator has a strong case). We
likely should swallow our pride and call the project `Hibernate
Reactive`. If HSEARCH reactive comes up, we could use `Hibernate
Reactive Search`.
So unless someone is strongly against it, let's call it `Hibernate
Reactive` which would be our sub umbrella for our reactive work.
Frankly, the other names were too incorrect or suck for a brand. There
is also the strong possibility that we would want to deliver all
Hibernate Reactive subprojects as one to be able to combine them.
That means renaming the doc and the package, the GitHub repository and
the Quarkus Extension. This will only be done after Query support is
initially pushed not to disrupt things too much.
## Query support
I strongly think that we need Query support for the initial release. It
can be an initial Query support. But we need something. This is the one
technical subject that prevents us from releasing Hibernate Reactive
alpha. Davide is working on it and we will know more in a week or two
about the viability status.
As soon as there is shared code (working or not), Gavin offered to help.
## Mutiny
https://github.com/hibernate/hibernate-rx/issues/94
Mutiny will be a first class API for Hibernate Reactive. Gavin is
working on building it.
## One module to rule them all
Today we have an API module and an Impl module. But reality is we don't
know how we will split the project if any. This highly depend on the API
reaction and popularity.
With Mutiny coming in, the API module became a bit complicated.
Gavin proposed to merge everything in one module during the alpha / beta
stage of the project and reevaluate with user feedback. This will only
be done after Query support is initially pushed not to disrupt things
too much.
## Quarkus extension
https://github.com/quarkusio/quarkus/pull/9060
Andy did an awesome work into fleshing out the initial Quarkus
Extension. Even better, it works for native for the main path :)
The main annoyance is that to generate schema, you need a JDBC driver
setting and a JDBC driver in your classpath. We can improve on that but
that's not a trivial amount of work to adapt `SchemaExport` and friends.
## Documentation
Right now we have the readme as documentation. The proposed idea is as
followed:
- we convert the readme content (or get inspired from it) and generate a
Quarkus guide out of it. Their format are really similar.
- best would be to convert the [Quarkus Hibernate ORM
quickstart](https://github.com/quarkusio/quarkus-quickstarts/tree/development/hibernate-orm-quickstart)
to use Hibernate Reactive and base the guide on it.
- a more formal documentation and working for Hibernate Reactive
standalone (outside of Quarkus) can grow from these. See website
section.
## Blog
We need to work on a blog announcing the project.
## Website
We need to adapt hibernate.org to have a Hibernate Reactive project.
Once you make Awestruct work, it should be a relatively quick change to
add the relevant sections. There is likely quite some work on the
various messages and content of the key sections.
Once we have all or most of this, we can release and get user feedback
:)
When? To that, I'd quote a wise man from the future
**Lt. Commander Geordi La Forge:** Look, Mr. Scott, I'd love to explain
everything to you, but the Captain wants this spectrographic analysis
done by 1300 hours.
[La Forge goes back to work; Scotty follows slowly]
**Scotty:** Do you mind a little advice? Starfleet captains are like
children. They want everything right now and they want it their way. But
the secret is to give them only what they need, not what they want.
**Lt. Commander Geordi La Forge:** Yeah, well, I told the Captain I'd
have this analysis done in an hour.
**Scotty:** How long will it really take?
**Lt. Commander Geordi La Forge:** An hour!
**Scotty:** Oh, you didn't tell him how long it would really take, did
ya?
**Lt. Commander Geordi La Forge:** Well, of course I did.
**Scotty:** Oh, laddie. You've got a lot to learn if you want people to
think of you as a miracle worker.
Emmanuel
More information about the hibernate-dev
mailing list