[forge-dev] Several architectural styles in Forge (was Wondering about coding convention)

Antonio Goncalves antonio.mailing at gmail.com
Tue Oct 29 12:54:09 EDT 2013


Cool, I would be more than happy to contribute to that.

PS : @lincoln BTW, I've updated the JIRA related to the CLI syntax with
what you've just said :
https://issues.jboss.org/browse/FORGE-944?focusedCommentId=12825594&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12825594


2013/10/29 Lincoln Baxter, III <lincolnbaxter at gmail.com>

> Hey Antonio!
>
> I'm definitely very interested in seeing more styles of programming
> supported! I think this would be a great project. I am all for it.
>
> The interesting part will be trying to determine appropriate patterns for
> each style. REST APIs vary greatly, but if we can find some kind of best
> practice, which based on your blog, it looks like you already have an idea
> of, then I think that makes our job much simpler (and it is a complex job :)
>
> So far, our command style is following this basic premise:
>
> jpa-new-entity (instead of entity --named)
> jpa-new-embedable
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
>
>
> {spec alias or acronym}-new-{something}
> {spec alias or acronym}-{something}-from-{something else}
>
> We have a dilemma with faces and CDI, though. Should we call them 'faces'
> and 'rest' or "jsf" and "jaxrs", since we already have "jpa" "ejb" etc. I
> think JAX-RS is the real issue, because most people know it as REST.
>
> But back on topic, yes, I'm all for this!
> ~Lincoln
>
>
> On Tue, Oct 29, 2013 at 9:49 AM, Antonio Goncalves <
> antonio.mailing at gmail.com> wrote:
>
>> Hi Vineet,
>>
>> I've published the blog : http://antoniogoncalves
>> .org/2013/10/29/several-architectural-styles-with-java-ee-7/
>>
>> I've implemented the three different architectural styles and you can
>> have a look at : https://github.com/agoncal/agoncal-sample-javaee
>> /tree/master/03-TierArchitecture
>>
>> Unfortunately I still have an issue with the RESTendpoint doing a
>> paginate (I've asked some help in the jersey mailing list, but still no
>> news, you can have a look at :
>> https://java.net/projects/jersey/lists/users/archive/2013-10/message/64
>>
>> If you look at the code for the three styles, there are not many changes.
>> I would hope that Forge could help developers to generate different
>> architectural styles. As I said, we could do something like this (depending
>> on the future syntax : https://issues.jboss.org/browse/FORGE-944)
>>
>> * Horizontal :*
>>
>>    - jpa-scaffold-from-database
>>    - jsf-scaffold-from-entity
>>    - rest-scaffold-from-entity
>>
>>
>> *EJB Centric :*
>>
>>    - jpa-scaffold-from-database
>>    - ejb-scaffold-from-entity
>>    - jsf-scaffold-from-ejb
>>    - rest-scaffold-from-ejb
>>
>>
>> *REST centric :*
>>
>>    - jpa-scaffold-from-database
>>    - rest-scaffold-from-entity
>>    - jsf-scaffold-from-rest
>>
>> If that interests you, I would be more than happy to contribute to
>> something like that.
>>
>> Antonio
>>
>>
>>
>>
>> 2013/10/21 Vineet Reynolds Pereira <vpereira at redhat.com>
>>
>>>
>>>
>>> ----- Original Message -----
>>> > From: "Antonio Goncalves" <antonio.mailing at gmail.com>
>>> > To: "forge-dev List" <forge-dev at lists.jboss.org>
>>> > Sent: Monday, October 21, 2013 2:09:41 PM
>>> > Subject: [forge-dev] Several architectural styles in Forge (was
>>> Wondering about coding convention)
>>> >
>>> > 2013/10/21 Vineet Reynolds Pereira < vpereira at redhat.com >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > IMHO we should not be putting persistence concerns in either the JSF
>>> beans or
>>> > the REST resources.
>>> > They should go into a service or a repository or whatever data access
>>> pattern
>>> > is suitable for the context.
>>> > This is where we lack any standardization at the moment, and it would
>>> be
>>> > better to not limit this exercise to improving the conventions alone,
>>> but
>>> > also the architecture.
>>> >
>>> >
>>> > Vineet, this is the topic I'm writing about at the moment. To be
>>> honest, I
>>> > quite like to have persistent concerns in JSF beans and REST for
>>> certain
>>> > projects... but not all, and that's where I thing Forge should give
>>> some
>>> > choices. What I'm writing is about having 3 different architectural
>>> styles
>>> > that could be resume like this (using CLI) :
>>> >
>>> > Current (generates JSF/REST from entities) :
>>> > jsf-scaffold-from-entity
>>> > rest-scaffold-from-entity
>>> >
>>> > EJB Centric (add a service layer to deal with persistence) :
>>> > ejb-scaffold-from-entity
>>> > jsf-scaffold-from-ejb
>>> > rest-scaffold-from-ejb
>>> >
>>> > REST centric (the JSF backing beans use the REST endpoint, using
>>> JAX-RS 2.0
>>> > Client API) :
>>> > rest-scaffold-from-entity
>>> > jsf-scaffold-from-rest
>>> >
>>>
>>> Very interesting. I was about to suggest linking any work in this space
>>> with FORGE-944.
>>> Overall, I get the impression that we should structure commands based on
>>> developer workflows given common architectural styles.
>>>
>>> I'll await your post.
>>>
>>> >
>>> > I will let you know when the post is written, it will be clearer
>>> >
>>> > --
>>> > Antonio Goncalves
>>> > Software architect and Java Champion
>>> >
>>> > Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>> >
>>> > _______________________________________________
>>> > forge-dev mailing list
>>> > forge-dev at lists.jboss.org
>>> > https://lists.jboss.org/mailman/listinfo/forge-dev
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>
>>
>>
>> --
>> Antonio Goncalves
>> Software architect and Java Champion
>>
>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>  | Devoxx France <http://www.devoxx.fr/>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.org
> "Simpler is better."
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>



-- 
Antonio Goncalves
Software architect and Java Champion

Web site <http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
 | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
 | Devoxx France <http://www.devoxx.fr/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20131029/dc21b020/attachment.html 


More information about the forge-dev mailing list