Le dim. 24 juin 2018 21:59, Andriy Redko <drr...@gmail.com> a écrit :

> Hi Romain,
>
> Just went through the issues and comment threads. I am not really involved
> in MP (sadly)
> but the YAML+JSON discussion makes sense to me, at least from the platform
> perspective. JSON
> should be a must, YAML is optional (although it is very popular in OpenAPI
> community). My personal
> position regarding the builder vs annotations is a matter of choice /
> preference. There are
> centainly pros and cons of both, valid arguments are listed. I don't think
> either of them is
> perfect for everyone, supporting both options sounds like a good
> trade-off, let devs pick whatever
> fits better to the particular project / context.
>

It assumes the ee5 pattern and forgets the cdi/event ones. I agree it is
not yet mainstream but it is a convergence opportunity. In particular when
you see all the reference workarounds annotation require and an
event/programmatic solution doesnt. It is a huge gain in practise if you
have endpoints using the same models.

Kind of theory vs practise feedback probably.


> The issue related to model serialization takes unexpected turn towards
> https://github.com/OpenAPITools
> project ... I don't know the full details but afaik these guys are forking
> Swagger projects (swagger-codegen notably)
> and rebranding under OpenApiTools umbrella. I am working on the PR
> https://github.com/swagger-api/swagger-codegen-generators/pull/101 to
> replace code generation of old Swagger / OpenAPI 2.x with OpenAPI 3.x
> (since Apache CXF
> supports that out of the box). If things work out here as expected, I
> would be happy to help to introduce MP part
> (server stubs or/and client) as well.
>

Yep. My concern here is that using a custom serializer leads to limit the
spec usage to the spec endpoint. It is likely 20% only of the main usages
so spec will likely be replaced by something else anyway if it stays as
such :(.


> Thanks.
>
> Best Regards,
>     Andriy Redko
>
> RMB> Hi guys,
>
> RMB> opened several issues about the spec and a few of them are serious
> concerns
> RMB> for me (others are easier):
>
> RMB> 1. https://github.com/eclipse/microprofile-open-api/issues/231
> RMB> 2. https://github.com/eclipse/microprofile-open-api/issues/230
> RMB> 3. https://github.com/eclipse/microprofile-open-api/issues/228
>
> RMB> Seems like there was no time to think about an API so swagger was just
> RMB> copied (and adapted to openapi) which leads to something quite
> inconsistent
> RMB> for end users and also inconsistent with the platform.
> RMB> It doesn't prevent us to implement it but would be great if some of
> you can
> RMB> check out issues and potentially vote for them. There is no Strong API
> RMB> stability requirement at microprofile so there is stilla  hope the
> API is
> RMB> made simpler and usable by end users.
>
> RMB> In short (if you don't want to open the links) the issues are:
>
> RMB> 1. YAML is mandatory but there is nothing standard to modelize it so
> it is
> RMB> an internal of the implementation and the format is not user friendly
> until
> RMB> you use something outside the spec
> RMB> 2. The model is using OpenAPI object graph but it is not integrated
> with
> RMB> JSON-B so it is not (de)serializable correctly for end user. It also
> breaks
> RMB> the JAXRS serialization since each single object of the graph will
> need a
> RMB> custom message reader/writer to work (but the spec doesnt spec about
> that
> RMB> so payloads will not be the expected ones, in particular if you send
> back
> RMB> from a client which got OpenAPI instance some subgraph!)
> RMB> 3. There are 2 API in the spec: a builder one and an annotation
> driven one.
> RMB> The builder is sufficient and associated with a startup event allows
> to
> RMB> avoid the annotations need which just duplicates the builder 1-1 with
> very
> RMB> few semantic differences for ref and map management.
>
> RMB> In one sentence it means that the API could be easier, less ambiguous
> for
> RMB> end users, the integration with the platform more consistent and that
> it is
> RMB> a very simple investment and work. It just needs to be made portable
> RMB> accross vendor.
>
> RMB> Romain Manni-Bucau
> RMB> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> RMB> <https://rmannibucau.metawerx.net/> | Old Blog
> RMB> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> RMB> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> RMB> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> RMB> Le jeu. 21 juin 2018 à 16:20, Raymond Auge <raymond.a...@liferay.com>
> a
> RMB> écrit :
>
> >> Great!
>
>
> >> On Thu, Jun 21, 2018 at 10:12 AM, Romain Manni-Bucau <
> >> rmannibu...@gmail.com> wrote:
>
> >>> @Raymond: the diff between CDI and OSGi will be where the OpenAPI
> >>> instance will be created mainly so very doable (aries can even import
> >>> G-openapi for that). Only diff which can be quite intrusive is that @G
> we
> >>> don't use plain reflection to enable CDI meta model to be mutated
> during
> >>> startup and therefore let the user configure most of the model instead
> of
> >>> hardcoding it, but it is not that hard to abstract so I'm very
> confident to
> >>> keep it abstracted and to support OSGi once we support the spec with
> CDI
> >>> (and why not supporting CDI in aries ;)).
>
>
> >> Regarding supporting CDI in Aries ;) it should look pretty much like any
> >> normal CDI extension with a tiny amount of extra OSGi metadata and what
> I
> >> hope are very reasonable restrictions on how extensions provide beans,
> if
> >> any.
>
> >> Sincerely,
> >> - Ray
>
>
>
> >>> Romain Manni-Bucau
> >>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >>> <https://rmannibucau.metawerx.net/> | Old Blog
> >>> <http://rmannibucau.wordpress.com> | Github
> >>> <https://github.com/rmannibucau> | LinkedIn
> >>> <https://www.linkedin.com/in/rmannibucau> | Book
> >>> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> >>> Le jeu. 21 juin 2018 à 15:21, Raymond Auge <raymond.a...@liferay.com>
> a
> >>> écrit :
>
> >>>> It would be _nice_ if we could figure out a way for this to be usable
> by
> >>>> Apache Aries JAXRS Whiteboard [1] which is an implementation of OSGi
> JAXRS
> >>>> Whiteboard [2].
>
> >>>> It would seem that a small SPI on the part of Geronimo's mp-openapi
> >>>> might be enough (so as not to pressure this up onto the mp spec).
>
> >>>> [1] https://github.com/apache/aries-jax-rs-whiteboard
> >>>> [2] https://osgi.org/specification/osgi.cmpn/7.0.0/service.jaxrs.html
>
>
> >>>> On Thu, Jun 21, 2018 at 9:06 AM, Mark Struberg <
> >>>> strub...@yahoo.de.invalid> wrote:
>
> >>>>> I think it fits well to geronimo.
> >>>>> The question is rather if CXF is fine with relying on CDI for
> openapi?
> >>>>> But since MicroProfile _requires_ CDI I think there is safe to assume
> >>>>> so.
>
> >>>>> LieGrue,
> >>>>> strub
>
> >>>>> > Am 21.06.2018 um 09:59 schrieb Romain Manni-Bucau <
> >>>>> rmannibu...@gmail.com>:
> >>>>> >
> >>>>> > Hello guys,
> >>>>> >
> >>>>> > we created a repo for that and to be able to share what we do:
> >>>>> > https://gitbox.apache.org/repos/asf?p=geronimo-openapi.git
> >>>>> >
> >>>>> > I pushed a basic starting structure of the code. The big TODO is
> the
> >>>>> > conversion from the model (annotations) to OpenAPI instance (which
> >>>>> should
> >>>>> > be somewhere here
> >>>>> >
> >>>>>
> https://gitbox.apache.org/repos/asf?p=geronimo-openapi.git;a=blob;f=src/main/java/org/apache/geronimo/microprofile/openapi/impl/processor/AnnotationProcessor.java;h=141227b579495e2b072710fadb28f2d08ab07616;hb=HEAD
> >>>>> > or split in multiple "visitors" if desired).
> >>>>> >
> >>>>> > If anyone wants to help it is welcomed. Also note it is not too
> late
> >>>>> to
> >>>>> > change the project hosting or other details if there is some
> points we
> >>>>> > missed until now.
> >>>>> >
> >>>>> > Romain Manni-Bucau
> >>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
> >>>>> > <http://rmannibucau.wordpress.com> | Github <
> >>>>> https://github.com/rmannibucau> |
> >>>>> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> >>>>> > <
> >>>>>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >>>>> >
> >>>>> >
> >>>>> >
> >>>>> > Le mar. 19 juin 2018 à 07:39, Romain Manni-Bucau <
> >>>>> rmannibu...@gmail.com> a
> >>>>> > écrit :
> >>>>> >
> >>>>> >> Basically read metadata from AnnotatedTypes (cdi) used by jaxrs
> cdi
> >>>>> >> extension. Im not yet sure i will need the extension itself or not
> >>>>> (doesnt
> >>>>> >> seem hard to not use it for that and would stay portable).
> >>>>> >>
> >>>>> >>
> >>>>> >> Le mar. 19 juin 2018 00:36, Andriy Redko <drr...@gmail.com> a
> écrit
> >>>>> :
> >>>>> >>
> >>>>> >>> Hey Romain,
> >>>>> >>>
> >>>>> >>> Thanks for starting work on that. Indeed,
> >>>>> >>> https://issues.apache.org/jira/browse/CXF-7601 is
> >>>>> >>> opened but not started yet, sadly. So what is your plan / scope,
> >>>>> generate
> >>>>> >>> the OpenAPI 3.x
> >>>>> >>> specs from JAX-RS 2.1 metadata? Or someting else? May be we could
> >>>>> also
> >>>>> >>> help you with that?
> >>>>> >>> Thanks!
> >>>>> >>>
> >>>>> >>> Best Regards,
> >>>>> >>>    Andriy Redko
> >>>>> >>>
> >>>>> >>> RMB> Independent, cdi based (not reflection based)
> >>>>> >>>
> >>>>> >>> RMB> Le lun. 18 juin 2018 22:34, John D. Ament <
> >>>>> johndam...@apache.org> a
> >>>>> >>> écrit :
> >>>>> >>>
> >>>>> >>>>> If it's hosted at Geronimo will it be platform independent?  Or
> >>>>> only
> >>>>> >>> work
> >>>>> >>>>> with CXF?
> >>>>> >>>
> >>>>> >>>>> On Mon, Jun 18, 2018, 3:30 PM Romain Manni-Bucau <
> >>>>> >>> rmannibu...@gmail.com>
> >>>>> >>>>> wrote:
> >>>>> >>>
> >>>>> >>>>>> Hi guys,
> >>>>> >>>>>>
> >>>>> >>>>>> I'm planning to implement microprofile-openapi at geronimo
> (next
> >>>>> to
> >>>>> >>> other
> >>>>> >>>>>> microprofile specs) soon (probably beginning of next month).
> >>>>> Before
> >>>>> >>> doing
> >>>>> >>>>>> so I wanted to get in touch with you to ensure it was not
> already
> >>>>> >>> there
> >>>>> >>>>>> (@asf). I know CXF has a swagger impl but here, we speak
> about a
> >>>>> new
> >>>>> >>> API
> >>>>> >>>>>> and I hope to make it dep free and aligned on other geronimo
> >>>>> impls
> >>>>> >>>>>> (assuming jsonb+jaxrs+cdi is in the server already which is
> very
> >>>>> >>>>> acceptable
> >>>>> >>>>>> for a MP server).
> >>>>> >>>>>>
> >>>>> >>>>>> Anything I should check before launching the project or is the
> >>>>> road
> >>>>> >>> as
> >>>>> >>>>> open
> >>>>> >>>>>> as I think?
> >>>>> >>>>>>
> >>>>> >>>>>> Technical side note: compared to the MP rest client which was
> way
> >>>>> >>> easier
> >>>>> >>>>> to
> >>>>> >>>>>> impl @cxf cause all the code was already there, the openapi is
> >>>>> more
> >>>>> >>> based
> >>>>> >>>>>> on CDI than CXF internal model so not hosting it @cxf is not
> an
> >>>>> >>> issue for
> >>>>> >>>>>> this one so don't feel any pressure please.
> >>>>> >>>>>>
> >>>>> >>>>>> Thanks,
> >>>>> >>>>>> Romain Manni-Bucau
> >>>>> >>>>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >>>>> >>>>>> <https://rmannibucau.metawerx.net/> | Old Blog
> >>>>> >>>>>> <http://rmannibucau.wordpress.com> | Github <
> >>>>> >>>>>> https://github.com/rmannibucau> |
> >>>>> >>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> >>>>> >>>>>> <
> >>>>> >>>>>>
> >>>>> >>>>>
> >>>>> >>>
> >>>>>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >>>>> >>>>>>>
> >>>>> >>>>>>
> >>>>> >>>
> >>>>> >>>
> >>>>> >>>
>
>
>
>
> >>>> --
> >>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>>>  (@rotty3000)
> >>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >>>>  (@Liferay)
> >>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >>>> (@OSGiAlliance)
>
>
>
>
> >> --
> >> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> >>  (@rotty3000)
> >> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> >>  (@Liferay)
> >> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> >> (@OSGiAlliance)
>
>
>

Reply via email to