Add API I/O Abstraction

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Add API I/O Abstraction

Owen Rubel
Hi all,

I've been working on several high level api concepts for awhile (with Grails being my language of choice) and have been branching out recently to see how well this works with other languages, scalability, adaptability, etc to make sure it could fit a universal model of adaptability for adoption. I'm to a point where I feel I can present this as something I would like the Grails main body to adopt.

To explain, API's exist of two sets of functionality: resource management and I/O for that resource management. When we build API's, we commonly move the I/O to a service but we still have to attach it somehow via a service call or an annotation.

As a result of this I/O binding to the controller/method for API's, I/O becomes an architectural cross cutting concern because once we extend the request/response out to request/response tooling (proxy. api gate, MQ, etc) all I/O functionality and data for API's need to be replicated in the architecture.

Also, internally, if we have forwards, we create a new thread/process that has to go out and come back in rather than using the existing thread.

Node.js uses something called Strongloop and Loopback which are basically the handlerInterceptor to do a handoff between the preHandler/postHandler so forwards, batching, chaining, etc can be internalized.

But BEYOND that, we can create a common apiObject which can be shared across the architecture and all instances, which stores a common set of api data that can be preloaded at runtime, is reloadable on the fly and is shared by all the architecture.

And the best part... this completely separates the controller so you require ZERO annotations!

and it is working in the grails api toolkit. I'd like to go ahead and merge this and was wondering about thoughts and requirements.

--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/146ab1b8-98ed-4603-b65f-a977a368366d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3

> On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
>
> I'd like to go ahead and merge this and was wondering about thoughts and requirements.

It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?



JSB

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/19C623FC-3C10-4D2C-ABA1-38BA19129CEF%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0

On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:20 AM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="yguUNGKBNDkJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
> I'd like to go ahead and merge this and was wondering about thoughts and requirements.

It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?



JSB

--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="yguUNGKBNDkJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/e9d7b718-457b-4efe-b12b-30bd34cbe6a2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <[hidden email]> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/61DA08C6-34AC-4096-8798-AD0CED83AA36%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
Well the great thing about grails is that it is modular and they made the environment modular. API development is added as a modular component. With this, you can add api as a modular component without requiring annotations; you merely need to pass through the handlerInterceptor. This makes it so I/O can be more easily handled through the architecture as you 'build for now but build to scale'.

So an apiObject can separate you I/O data for the api but this enables it to easily be shared with any and all architectural components and placing I/O checks in handlerInterceptor enables preHandler/postHandler handoff for a single threaded request/response

This also allows us to have further conversations on apiChaining, etc for improved API in Grails which puts Grails WAY out in front of the curve.

On Monday, November 24, 2014 9:00:28 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rXbI3FcU7ZUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rXbI3FcU7ZUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

sbglasius
to me it sounds more like a Grails plugin that you can select to add to your project, and in that sense it sounds like a great plugin!


Best regards / Med venlig hilsen,
Søren Berg Glasius

40 Stevenson Ave, Berkeley, CA 94708
Mobile: (+1)510 984 8362, Skype: sbglasius
--- Press ESC once to quit - twice to save the changes.

On 24 November 2014 at 11:01, Owen Rubel <[hidden email]> wrote:
Well the great thing about grails is that it is modular and they made the environment modular. API development is added as a modular component. With this, you can add api as a modular component without requiring annotations; you merely need to pass through the handlerInterceptor. This makes it so I/O can be more easily handled through the architecture as you 'build for now but build to scale'.

So an apiObject can separate you I/O data for the api but this enables it to easily be shared with any and all architectural components and placing I/O checks in handlerInterceptor enables preHandler/postHandler handoff for a single threaded request/response

This also allows us to have further conversations on apiChaining, etc for improved API in Grails which puts Grails WAY out in front of the curve.

On Monday, November 24, 2014 9:00:28 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <[hidden email]> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/CAGY%2BWWSLAoHdNU05ZUGg0yWWboKrO%2BR0-8-LXB0TUVyezx43wg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3
In reply to this post by Owen Rubel
I am sorry to be difficult but please read the questions asked in my previous 2 messages in this thread. I am trying to find out if you have made code changes that you would like merged into grails-core. It may be that you have answered that and I am just missing it. I know that Grails is modular. I know that an api can be added without requiring changes to grails-core. We have had good for support for that sort of thing since the beginning. What I am trying to find out is if your particular changes that you want merged are to be merged into grails-core. 

Thanks. 


Jeff

Sent from my iPhone

On Nov 24, 2014, at 1:01 PM, Owen Rubel <[hidden email]> wrote:

Well the great thing about grails is that it is modular and they made the environment modular. API development is added as a modular component. With this, you can add api as a modular component without requiring annotations; you merely need to pass through the handlerInterceptor. This makes it so I/O can be more easily handled through the architecture as you 'build for now but build to scale'.

So an apiObject can separate you I/O data for the api but this enables it to easily be shared with any and all architectural components and placing I/O checks in handlerInterceptor enables preHandler/postHandler handoff for a single threaded request/response

This also allows us to have further conversations on apiChaining, etc for improved API in Grails which puts Grails WAY out in front of the curve.

On Monday, November 24, 2014 9:00:28 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rXbI3FcU7ZUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rXbI3FcU7ZUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/2E7431C5-88E2-4F96-AE04-8E4C9EB053F1%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3
The original message says "I'd like to go ahead and merge this...".  I am just trying to clarify what the "this" is there, and were it is that you would like to merge it.  

Thanks again. 



Jeff

Sent from my iPhone

On Nov 24, 2014, at 1:39 PM, Jeff Scott Brown <[hidden email]> wrote:

I am sorry to be difficult but please read the questions asked in my previous 2 messages in this thread. I am trying to find out if you have made code changes that you would like merged into grails-core. It may be that you have answered that and I am just missing it. I know that Grails is modular. I know that an api can be added without requiring changes to grails-core. We have had good for support for that sort of thing since the beginning. What I am trying to find out is if your particular changes that you want merged are to be merged into grails-core. 

Thanks. 


Jeff

Sent from my iPhone

On Nov 24, 2014, at 1:01 PM, Owen Rubel <[hidden email]> wrote:

Well the great thing about grails is that it is modular and they made the environment modular. API development is added as a modular component. With this, you can add api as a modular component without requiring annotations; you merely need to pass through the handlerInterceptor. This makes it so I/O can be more easily handled through the architecture as you 'build for now but build to scale'.

So an apiObject can separate you I/O data for the api but this enables it to easily be shared with any and all architectural components and placing I/O checks in handlerInterceptor enables preHandler/postHandler handoff for a single threaded request/response

This also allows us to have further conversations on apiChaining, etc for improved API in Grails which puts Grails WAY out in front of the curve.

On Monday, November 24, 2014 9:00:28 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rXbI3FcU7ZUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rXbI3FcU7ZUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/D3CD4416-4F0D-4B21-8869-C79631FDF147%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
Ah ok, my fault. I'd like to 'contribute' it to the main Grails branch. That should clarify. And Soren is right that it makes a good plugin but I feel that this would provide a very good direction for the community with api development, simplify development for api's (which is what Grails is all about), and reduce processes/threads.

Grails (and many communities) has been to focus on tying directly to the Domain object but the real issue has been to abstract the I/O to a higher level. Node resolved this with LoopBack and StrongLoop and I did this in Grails with the HandlerInterceptor with even better results than Node as alot of Node implementations do not have access to the java libs and full integration that a Java framework has.

That being said you can simplify API development and reduce processing/throughput and increase functionality.

If there are any question, I would LOVE to pop on down to Pivotal HQ and talk to some of the guys or even do an online chat. Can even share the video for the SpringOne talk I gave on the topic.


On Monday, November 24, 2014 11:52:46 AM UTC-8, jbrown wrote:
The original message says "I'd like to go ahead and merge this...".  I am just trying to clarify what the "this" is there, and were it is that you would like to merge it.  

Thanks again. 



Jeff

Sent from my iPhone

On Nov 24, 2014, at 1:39 PM, Jeff Scott Brown <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="6tqjPmtQmvQJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...> wrote:

I am sorry to be difficult but please read the questions asked in my previous 2 messages in this thread. I am trying to find out if you have made code changes that you would like merged into grails-core. It may be that you have answered that and I am just missing it. I know that Grails is modular. I know that an api can be added without requiring changes to grails-core. We have had good for support for that sort of thing since the beginning. What I am trying to find out is if your particular changes that you want merged are to be merged into grails-core. 

Thanks. 


Jeff

Sent from my iPhone

On Nov 24, 2014, at 1:01 PM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="6tqjPmtQmvQJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:

Well the great thing about grails is that it is modular and they made the environment modular. API development is added as a modular component. With this, you can add api as a modular component without requiring annotations; you merely need to pass through the handlerInterceptor. This makes it so I/O can be more easily handled through the architecture as you 'build for now but build to scale'.

So an apiObject can separate you I/O data for the api but this enables it to easily be shared with any and all architectural components and placing I/O checks in handlerInterceptor enables preHandler/postHandler handoff for a single threaded request/response

This also allows us to have further conversations on apiChaining, etc for improved API in Grails which puts Grails WAY out in front of the curve.

On Monday, November 24, 2014 9:00:28 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <[hidden email]> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="6tqjPmtQmvQJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">grails-dev-discuss+unsubscribe@....
To post to this group, send email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="6tqjPmtQmvQJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">grails-de...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" onmousedown="this.href='https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;" onclick="this.href='https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;">https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/c003e843-3f1b-45e3-849c-003fc7284b2f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3

> On Nov 24, 2014, at 3:21 PM, Owen Rubel <[hidden email]> wrote:
>
>
> If there are any question, I would LOVE to pop on down to Pivotal HQ and talk to some of the guys or even do an online chat.

FYI… Going to Pivotal HQ wouldn’t help with access to the Grails team.  I live closer to Pivotal HQ than any other members of the team and I live about 2,000 miles east of there.  We do most of our communication within the team via video chat.



JSB

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/2E4BC87A-B853-4CEE-ADA0-FBD2C134ECA9%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
LOL. Ah... ok then. :)

Well I can provide whatever is needed and am more than happy to if it would mean people understanding the concept at the very least; doesn't even have to mean it leading to adoption internally... but I think alot of people would see the benefit to moving towards this way of doing it eventually.

On Monday, November 24, 2014 1:30:39 PM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 3:21 PM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="EukrPCQlw20J" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
>
> If there are any question, I would LOVE to pop on down to Pivotal HQ and talk to some of the guys or even do an online chat.

FYI… Going to Pivotal HQ wouldn’t help with access to the Grails team.  I live closer to Pivotal HQ than any other members of the team and I live about 2,000 miles east of there.  We do most of our communication within the team via video chat.



JSB

--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="EukrPCQlw20J" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/15aba359-2cad-4c46-81ea-ccc783ebd03f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3
In reply to this post by Owen Rubel

> On Nov 24, 2014, at 3:21 PM, Owen Rubel <[hidden email]> wrote:
>
>
>
> If there are any question, I would LOVE to pop on down to Pivotal HQ and talk to some of the guys or even do an online chat.

A good next step would be to write up a slightly more detailed description of the problems being solved and summarization of the planned implementation (or if an implementation already exists, describe it).  Having a more clear understanding of the problems that your proposal aims to solve and how it does that will help us move forward.

Thanks a lot for taking time to help.



JSB
--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/765B3933-A41E-4D21-813F-27225A5829E4%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
Should I submit back here when I have it finished?

On Tuesday, November 25, 2014 5:55:24 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 3:21 PM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="zmhaI-1hLBEJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
>
>
> If there are any question, I would LOVE to pop on down to Pivotal HQ and talk to some of the guys or even do an online chat.

A good next step would be to write up a slightly more detailed description of the problems being solved and summarization of the planned implementation (or if an implementation already exists, describe it).  Having a more clear understanding of the problems that your proposal aims to solve and how it does that will help us move forward.

Thanks a lot for taking time to help.



JSB
--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="zmhaI-1hLBEJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/76951e5c-9cd0-46d0-ac72-6a11b6ba39aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Jeff Scott Brown-3

> On Nov 25, 2014, at 9:54 AM, Owen Rubel <[hidden email]> wrote:
>
> Should I submit back here when I have it finished?
>

Sure.



Jeff

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/9715B7B3-5DA8-45D8-AF74-32DA661C4A8D%40pivotal.io.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
In reply to this post by Jeff Scott Brown-3
Here you go... let me know if this works.

On Tuesday, November 25, 2014 5:55:24 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 3:21 PM, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="zmhaI-1hLBEJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
>
>
>
> If there are any question, I would LOVE to pop on down to Pivotal HQ and talk to some of the guys or even do an online chat.

A good next step would be to write up a slightly more detailed description of the problems being solved and summarization of the planned implementation (or if an implementation already exists, describe it).  Having a more clear understanding of the problems that your proposal aims to solve and how it does that will help us move forward.

Thanks a lot for taking time to help.



JSB
--
Jeff Scott Brown
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="zmhaI-1hLBEJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">jbr...@...

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/a01e6d8c-c5ee-4740-a9a1-a9ecf0704d37%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

API Abstraction Proposal.doc (2M) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Add API I/O Abstraction

Owen Rubel
In reply to this post by sbglasius
Well thank you. I like to think the Grails API Toolkit is a great plugin too. :)

I would just like to see it adopted as more of a standard for extensible, scalable api development for a 'build for now but build to scale' environment.

On Monday, November 24, 2014 11:18:05 AM UTC-8, Søren Berg Glasius wrote:
to me it sounds more like a Grails plugin that you can select to add to your project, and in that sense it sounds like a great plugin!


Best regards / Med venlig hilsen,
Søren Berg Glasius

40 Stevenson Ave, Berkeley, CA 94708
Mobile: (+1)510 984 8362, Skype: sbglasius
--- Press ESC once to quit - twice to save the changes.

On 24 November 2014 at 11:01, Owen Rubel <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="0ixIRqzSgBUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">oru...@...> wrote:
Well the great thing about grails is that it is modular and they made the environment modular. API development is added as a modular component. With this, you can add api as a modular component without requiring annotations; you merely need to pass through the handlerInterceptor. This makes it so I/O can be more easily handled through the architecture as you 'build for now but build to scale'.

So an apiObject can separate you I/O data for the api but this enables it to easily be shared with any and all architectural components and placing I/O checks in handlerInterceptor enables preHandler/postHandler handoff for a single threaded request/response

This also allows us to have further conversations on apiChaining, etc for improved API in Grails which puts Grails WAY out in front of the curve.

On Monday, November 24, 2014 9:00:28 AM UTC-8, jbrown wrote:

> On Nov 24, 2014, at 10:44 AM, Owen Rubel <[hidden email]> wrote:
>
> Well I'd like to merge them in. I'm working on spring-boot right now to convert these changes to something that will work with grails 3.0
>
> On Monday, November 24, 2014 8:24:32 AM UTC-8, jbrown wrote:
>
> > On Nov 24, 2014, at 10:20 AM, Owen Rubel <[hidden email]> wrote:
> >
> > I'd like to go ahead and merge this and was wondering about thoughts and requirements.
>
> It isn’t clear to me where you would like to merge something.  Are your changes made to grails-core?
>
>

Will any of the changes require code changes in grails-core or is it all in spring-boot?



JSB

--
Jeff Scott Brown
[hidden email]

Autism Strikes 1 in 166
Find The Cause ~ Find The Cure
<a href="http://www.autismspeaks.org/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.autismspeaks.org%2F\46sa\75D\46sntz\0751\46usg\75AFQjCNHLOilSQBYB1lzLN6Ms6K6DtQY5DQ';return true;">http://www.autismspeaks.org/



--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="0ixIRqzSgBUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">grails-dev-discuss+unsubscribe@....
To post to this group, send email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="0ixIRqzSgBUJ" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">grails-de...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" onmousedown="this.href='https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;" onclick="this.href='https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com?utm_medium\75email\46utm_source\75footer';return true;">https://groups.google.com/d/msgid/grails-dev-discuss/dce5ba4a-1e7d-47ae-8cbf-e5bf6c27bbc0%40googlegroups.com.

For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Grails Dev Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/grails-dev-discuss/d6137908-e51b-4e01-afc9-ba051a09b678%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.