You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Andy McCright <j....@gmail.com> on 2019/01/03 22:29:33 UTC

GraphQL Project?

Hi All,

I've been involved in an effort to create a MicroProfile GraphQL project
that would provide a Java framework for building and deploying GraphQL
apps.  The API would look similar to JAX-RS (i.e. @Query annotations
instead of @GET, etc.).

We have a draft project proposal available here:
https://docs.google.com/document/d/1prwMGxgr0cI5yx4lrvMET5x6rD-CQ1y7XuS1PCegE4A/edit#

Would this be something that we could implement in a new CXF module?  And
would anybody on this list be interested in participating in the MP spec
project?

Thanks in advance!

Andy

PS - we have a spec project meeting tomorrow at 10:30am US Eastern time.
Meeting minutes (and a link to the webex) is available here:
https://docs.google.com/document/d/1gb3jirFGrJwDZSbrtnFPVTNjPNe3Y0dUYfm-HkU1c3U/edit#

Re: GraphQL Project?

Posted by Dennis Kieselhorst <ma...@dekies.de>.
> Side note o  openapi: CXF works well with Geronimo impl [1], not sure
> duplicating it would bring much, in particular since spec requires to be
> cdi based and not deployment based as swagger integration is
> (classes/resources cxf has in its factory are not enough)

Hi Romain,

my plan is to depend on geronimo-openapi (based on your Maven plugin
approach). I already started experimenting with that and will share a
prototype for discussion soon.

Cheers

Dennis


Re: GraphQL Project?

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi Dennis,

Side note o  openapi: CXF works well with Geronimo impl [1], not sure
duplicating it would bring much, in particular since spec requires to be
cdi based and not deployment based as swagger integration is
(classes/resources cxf has in its factory are not enough)

[1] http://github.com/apache/geronimo-openapi

Le ven. 4 janv. 2019 13:10, Dennis Kieselhorst <ma...@dekies.de> a écrit :

> Great idea. I think it would be great for CXF to have both OpenAPI and
> GraphQL support.
>
> Cheers
> Dennis
>

Re: GraphQL Project?

Posted by Dennis Kieselhorst <ma...@dekies.de>.
Great idea. I think it would be great for CXF to have both OpenAPI and
GraphQL support.

Cheers
Dennis

Re: GraphQL Project?

Posted by Andy McCright <j....@gmail.com>.
Awesome!  Thanks for the feedback.

Regarding the API - the intent is be able to use a "code-first" approach -
i.e. write your object model in Java using annotations similar to
JAXB/JSON-B/etc. as necessary - write your business logic (CRUD operations)
similar to JAX-RS resource methods.  That would allow the user to generate
a schema file.  Most of the GraphQL Java implementations that I have seen
have a "schema-first" approach which leads to a lot of duplication of
effort.

Regarding the underlying implementation (whether to use graphql-java or
not), that question was asked in the last MP project meeting, and we
decided that it would be considered an implementation detail.  My opinion
would be to use graphql-java as a starting point, and only write something
from scratch if we find major limitations with it.

As far as timeline goes, I think it will be a while before we start work on
the implementation.  The MP project is just getting started, and I suspect
it will take a while to work out the spec work.

Thanks again,

Andy


On Thu, Jan 3, 2019 at 7:21 PM Andriy Redko <dr...@gmail.com> wrote:

> Hey Andy,
>
> Certainly +1, I think CXF would be a great place to host HTTP-based
> MP GraphQL implementation. I am wondering (probably related to Romain's
> 2nd point) if the intention is to implement the specification from scratch
> or pull in graphql-java? In any case, I think it would be great addition to
> CXF, count me in.
>
> Best Regards,
>     Andriy Redko
>
> Thursday, January 3, 2019, 5:49:34 PM, you wrote:
>
> RMB> +1
>
> RMB> Two small side notes:
>
> RMB> 1. If cxf is not the right "home", geronimo would definitively be (
> RMB> http://geronimo.apache.org/microprofile/ to be concrete)
> RMB> 2. From my past experience having a graphql parser API (body reader
> for
> RMB> jaxrs/mp) is the most important feature, everything else is mainly
> the link
> RMB> to the backend and highly depends impl choices and the abstraction a
> RMB> framework gives is often  more an issue (N+1 queries to cite one
> obvious
> RMB> common problem) than a solution even if tempting
>
> RMB> Le jeu. 3 janv. 2019 23:29, Andy McCright <
> j.andrew.mccright@gmail.com> a
> RMB> écrit :
>
> >> Hi All,
>
> >> I've been involved in an effort to create a MicroProfile GraphQL project
> >> that would provide a Java framework for building and deploying GraphQL
> >> apps.  The API would look similar to JAX-RS (i.e. @Query annotations
> >> instead of @GET, etc.).
>
> >> We have a draft project proposal available here:
>
> >>
> https://docs.google.com/document/d/1prwMGxgr0cI5yx4lrvMET5x6rD-CQ1y7XuS1PCegE4A/edit#
>
> >> Would this be something that we could implement in a new CXF module?
> And
> >> would anybody on this list be interested in participating in the MP spec
> >> project?
>
> >> Thanks in advance!
>
> >> Andy
>
> >> PS - we have a spec project meeting tomorrow at 10:30am US Eastern time.
> >> Meeting minutes (and a link to the webex) is available here:
>
> >>
> https://docs.google.com/document/d/1gb3jirFGrJwDZSbrtnFPVTNjPNe3Y0dUYfm-HkU1c3U/edit#
>
>
>

Re: GraphQL Project?

Posted by Andriy Redko <dr...@gmail.com>.
Hey Andy,

Certainly +1, I think CXF would be a great place to host HTTP-based 
MP GraphQL implementation. I am wondering (probably related to Romain's
2nd point) if the intention is to implement the specification from scratch
or pull in graphql-java? In any case, I think it would be great addition to
CXF, count me in. 

Best Regards,
    Andriy Redko

Thursday, January 3, 2019, 5:49:34 PM, you wrote:

RMB> +1

RMB> Two small side notes:

RMB> 1. If cxf is not the right "home", geronimo would definitively be (
RMB> http://geronimo.apache.org/microprofile/ to be concrete)
RMB> 2. From my past experience having a graphql parser API (body reader for
RMB> jaxrs/mp) is the most important feature, everything else is mainly the link
RMB> to the backend and highly depends impl choices and the abstraction a
RMB> framework gives is often  more an issue (N+1 queries to cite one obvious
RMB> common problem) than a solution even if tempting

RMB> Le jeu. 3 janv. 2019 23:29, Andy McCright <j....@gmail.com> a
RMB> écrit :

>> Hi All,

>> I've been involved in an effort to create a MicroProfile GraphQL project
>> that would provide a Java framework for building and deploying GraphQL
>> apps.  The API would look similar to JAX-RS (i.e. @Query annotations
>> instead of @GET, etc.).

>> We have a draft project proposal available here:

>> https://docs.google.com/document/d/1prwMGxgr0cI5yx4lrvMET5x6rD-CQ1y7XuS1PCegE4A/edit#

>> Would this be something that we could implement in a new CXF module?  And
>> would anybody on this list be interested in participating in the MP spec
>> project?

>> Thanks in advance!

>> Andy

>> PS - we have a spec project meeting tomorrow at 10:30am US Eastern time.
>> Meeting minutes (and a link to the webex) is available here:

>> https://docs.google.com/document/d/1gb3jirFGrJwDZSbrtnFPVTNjPNe3Y0dUYfm-HkU1c3U/edit#



Re: GraphQL Project?

Posted by Romain Manni-Bucau <rm...@gmail.com>.
+1

Two small side notes:

1. If cxf is not the right "home", geronimo would definitively be (
http://geronimo.apache.org/microprofile/ to be concrete)
2. From my past experience having a graphql parser API (body reader for
jaxrs/mp) is the most important feature, everything else is mainly the link
to the backend and highly depends impl choices and the abstraction a
framework gives is often  more an issue (N+1 queries to cite one obvious
common problem) than a solution even if tempting

Le jeu. 3 janv. 2019 23:29, Andy McCright <j....@gmail.com> a
écrit :

> Hi All,
>
> I've been involved in an effort to create a MicroProfile GraphQL project
> that would provide a Java framework for building and deploying GraphQL
> apps.  The API would look similar to JAX-RS (i.e. @Query annotations
> instead of @GET, etc.).
>
> We have a draft project proposal available here:
>
> https://docs.google.com/document/d/1prwMGxgr0cI5yx4lrvMET5x6rD-CQ1y7XuS1PCegE4A/edit#
>
> Would this be something that we could implement in a new CXF module?  And
> would anybody on this list be interested in participating in the MP spec
> project?
>
> Thanks in advance!
>
> Andy
>
> PS - we have a spec project meeting tomorrow at 10:30am US Eastern time.
> Meeting minutes (and a link to the webex) is available here:
>
> https://docs.google.com/document/d/1gb3jirFGrJwDZSbrtnFPVTNjPNe3Y0dUYfm-HkU1c3U/edit#
>