You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by hantsy <ha...@yahoo.com.cn> on 2013/04/07 16:22:16 UTC

Tapestry 5 and Java EE6/CDI

Hi all, 

I want to know if Tapestry has some plan to be integrated with Java EE, such as
how to use CDI with Tapestry, I know Tapestry has its DI container, it
can be replaced with CDI when I select Java EE6(none Spring/Hibernate project)?

I have used Tapestry4 before, and know little about the newest Tapestry 5.


Hantsy


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry 5 and Java EE6/CDI

Posted by Geoff Callender <ge...@gmail.com>.
Oops, when I referred to "client-side" and server-side" I actually meant
"web-tier" and "business-tier".

Geoff

On 9 April 2013 16:26, Geoff Callender
<ge...@gmail.com>wrote:

> I realise you are referring to more than just Conversations support but
> I'll just address Conversations since I don't know what other benefits
> you're hoping to get.
>
> From my reading, Wicket's Conversation CDI module is at best
> controversial, eg:
>
>      http://comments.gmane.org/gmane.comp.java.wicket.devel/29265
>
> and the rationale for it has been questioned, eg:
>
>
> http://apache-wicket.1842946.n4.nabble.com/Conversation-scope-in-wicket-td1885269.html
>
> In any event, you can easily add client-side Conversations to Tapestry.
> JumpStart has a drop-in solution that gives you these methods:
>
>     startConversation();
>     saveToConversation(...);
>     restoreFromConversation(...);
>     endConversation();
>
> You just drop the Conversations and Conversation class from either of
> these examples into your project:
>
> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingformfragments/START/wiz4
>
>
> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingpages1/wiz5
>
> It saves the conversation in the session, but you could easily
> re-implement it to use the database if that's your requirement.
>
> If your requirement is server-side Conversations then don't forget JEE has
> an existing solution: stateful session beans.
>
> HTH,
>
> Geoff
>
> On 9 April 2013 13:22, hantsy <ha...@yahoo.com.cn> wrote:
>
>> Hi Bob,
>>
>> Thanks for clarifying this for me
>>
>> Exactly as u said, I only want to use Tapestry5 as JSF alternative for
>> web tier. CDI is the standard DI in Java EE, not only a DI container,
>> but provides other features, such as State management, events etc.
>>
>> Wicket provides a official CDI module for Java EE, support the powerful
>> Conversation in wicket, which is very useful to build stateful
>> application.
>>
>> Hantsy
>>
>> On 4/8/2013 10:40, Bob Harner wrote:
>> > Hantsy,
>> >
>> > For the non-CDI parts of your question:
>> >
>> > Remember that JEE is really just a very large, only loosely-related bag
>> of
>> > specifications and reference implementations. It includes JPA, JCA, JSF,
>> > JDBC <http://en.wikipedia.org/wiki/Java_Database_Connectivity>,
>> > RMI<http://en.wikipedia.org/wiki/Remote_Method_Invocation>
>> > , JMS <http://en.wikipedia.org/wiki/Java_Message_Service>, EJB, JTA,
>> CDI,
>> > Bean Validation, and many others, most or all of which work perfectly
>> fine
>> > outside of a full JEE container environment. In JEE terms, Tapestry
>> Core is
>> > an alternative to JSF. But pretty much all the rest of the JEE APIs can
>> be
>> > used with a Tapestry application about as easily as with anything else,
>> simply
>> > because Tapestry is a well-designed Java web framework that can run in a
>> > standard JEE app server (although it doesn't require one).
>> >
>> > For the JEE APIs where it makes the most sense, there are Tapestry
>> > integrations -- either provided with Tapestry (Tapestry-JPA,
>> > Tapestry-beanvalidator) or as 3rd party modules such as the one Lenny
>> > mentioned.
>> >
>> > Tapestry does offer a very strong IOC capability, but you can chose to
>> use
>> > it or not in your own Tapestry apps. If you'd rather use EJB (or
>> Spring),
>> > there is no harm, and Tapestry IOC won't get in your way if you don't
>> use
>> > it.
>> >
>> > Tapestry 5 is only superficially like Tapestry 4, but much improved in
>> > every single way possible. If you're still deciding whether to use
>> Tapestry
>> > 5, be sure to invest a little time with the Tapestry Tutorial (
>> > http://tapestry.apache.org/tapestry-tutorial.html) to find out.
>> >
>> > On Sun, Apr 7, 2013 at 11:26 AM, Lenny Primak <lprimak@hope.nyc.ny.us
>> >wrote:
>> >
>> >> There is no 'official' plan to integrate Tapestry with JEE.
>> >> There is, however, a module that integrates Tapestry with JEE / CDI
>> that
>> >> you can use.
>> >> It doesn't replace Tapestry's DI (Tapestry-IoC) but it lets you use
>> EJB /
>> >> CDI beans in your pages
>> >> and components, as well as other features.
>> >>
>> >> http://code.google.com/p/flowlogix
>> >> http://code.google.com/p/flowlogix/wiki/TapestryLibrary
>> >>
>> >>
>> >> On Apr 7, 2013, at 10:22 AM, hantsy wrote:
>> >>
>> >>> Hi all,
>> >>>
>> >>> I want to know if Tapestry has some plan to be integrated with Java
>> EE,
>> >> such as
>> >>> how to use CDI with Tapestry, I know Tapestry has its DI container, it
>> >>> can be replaced with CDI when I select Java EE6(none Spring/Hibernate
>> >> project)?
>> >>> I have used Tapestry4 before, and know little about the newest
>> Tapestry
>> >> 5.
>> >>> Hantsy
>> >>>
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >>> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> >> For additional commands, e-mail: users-help@tapestry.apache.org
>> >>
>> >>
>>
>> --
>> Fulltime Java EE Freelancer/Developer from China.
>>
>> Blog: http://hantsy.blogspot.com
>> LinkedIn: http://cn.linkedin.com/in/hantsy
>>
>> Hire me on oDesk <https://www.odesk.com/users/%7E01364b53cb1f4c5597> or
>> Elance <http://hantsy.elance.com>.
>>
>
>

Re: Tapestry 5 and Java EE6/CDI

Posted by Geoff Callender <ge...@gmail.com>.
I'm pleased to hear you've found it helpful.

Cheers,

Geoff

On 11/04/2013, at 7:11 PM, hantsy wrote:

> Thanks provides the tapestry jumpstart showcase...I was benefited from
> these source codes in the early tapestry experience..
> 
> Hantsy
> On 4/9/2013 19:33, Thiago H de Paula Figueiredo wrote:
>> On Tue, 09 Apr 2013 03:26:08 -0300, Geoff Callender
>> <ge...@gmail.com> wrote:
>> 
>>> You just drop the Conversations and Conversation class from either of
>>> these examples into your project:
>>> 
>>> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingformfragments/START/wiz4
>>> 
>>> 
>>> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingpages1/wiz5
>>> 
>> 
>> Or use the tynamo-conversations package:
>> http://docs.codehaus.org/display/TYNAMO/tapestry-conversations+guide
>> 
> 
> -- 
> Fulltime Java EE Freelancer/Developer from China.
> 
> Blog: http://hantsy.blogspot.com
> LinkedIn: http://cn.linkedin.com/in/hantsy
> 
> Hire me on oDesk <https://www.odesk.com/users/%7E01364b53cb1f4c5597> or
> Elance <http://hantsy.elance.com>.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry 5 and Java EE6/CDI

Posted by hantsy <ha...@yahoo.com.cn>.
Thanks provides the tapestry jumpstart showcase...I was benefited from
these source codes in the early tapestry experience..

Hantsy
On 4/9/2013 19:33, Thiago H de Paula Figueiredo wrote:
> On Tue, 09 Apr 2013 03:26:08 -0300, Geoff Callender
> <ge...@gmail.com> wrote:
>
>> You just drop the Conversations and Conversation class from either of
>> these examples into your project:
>>
>> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingformfragments/START/wiz4
>>
>>
>> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingpages1/wiz5
>>
>
> Or use the tynamo-conversations package:
> http://docs.codehaus.org/display/TYNAMO/tapestry-conversations+guide
>

-- 
Fulltime Java EE Freelancer/Developer from China.

Blog: http://hantsy.blogspot.com
LinkedIn: http://cn.linkedin.com/in/hantsy

Hire me on oDesk <https://www.odesk.com/users/%7E01364b53cb1f4c5597> or
Elance <http://hantsy.elance.com>.

Re: Tapestry 5 and Java EE6/CDI

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Tue, 09 Apr 2013 03:26:08 -0300, Geoff Callender  
<ge...@gmail.com> wrote:

> You just drop the Conversations and Conversation class from either of  
> these examples into your project:
>
> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingformfragments/START/wiz4
>
> http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingpages1/wiz5

Or use the tynamo-conversations package:  
http://docs.codehaus.org/display/TYNAMO/tapestry-conversations+guide

-- 
Thiago H. de Paula Figueiredo

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Tapestry 5 and Java EE6/CDI

Posted by Geoff Callender <ge...@gmail.com>.
I realise you are referring to more than just Conversations support but
I'll just address Conversations since I don't know what other benefits
you're hoping to get.

>From my reading, Wicket's Conversation CDI module is at best controversial,
eg:

     http://comments.gmane.org/gmane.comp.java.wicket.devel/29265

and the rationale for it has been questioned, eg:


http://apache-wicket.1842946.n4.nabble.com/Conversation-scope-in-wicket-td1885269.html

In any event, you can easily add client-side Conversations to Tapestry.
JumpStart has a drop-in solution that gives you these methods:

    startConversation();
    saveToConversation(...);
    restoreFromConversation(...);
    endConversation();

You just drop the Conversations and Conversation class from either of these
examples into your project:

http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingformfragments/START/wiz4

http://jumpstart.doublenegative.com.au/jumpstart/examples/wizard/usingpages1/wiz5

It saves the conversation in the session, but you could easily re-implement
it to use the database if that's your requirement.

If your requirement is server-side Conversations then don't forget JEE has
an existing solution: stateful session beans.

HTH,

Geoff

On 9 April 2013 13:22, hantsy <ha...@yahoo.com.cn> wrote:

> Hi Bob,
>
> Thanks for clarifying this for me
>
> Exactly as u said, I only want to use Tapestry5 as JSF alternative for
> web tier. CDI is the standard DI in Java EE, not only a DI container,
> but provides other features, such as State management, events etc.
>
> Wicket provides a official CDI module for Java EE, support the powerful
> Conversation in wicket, which is very useful to build stateful application.
>
> Hantsy
>
> On 4/8/2013 10:40, Bob Harner wrote:
> > Hantsy,
> >
> > For the non-CDI parts of your question:
> >
> > Remember that JEE is really just a very large, only loosely-related bag
> of
> > specifications and reference implementations. It includes JPA, JCA, JSF,
> > JDBC <http://en.wikipedia.org/wiki/Java_Database_Connectivity>,
> > RMI<http://en.wikipedia.org/wiki/Remote_Method_Invocation>
> > , JMS <http://en.wikipedia.org/wiki/Java_Message_Service>, EJB, JTA,
> CDI,
> > Bean Validation, and many others, most or all of which work perfectly
> fine
> > outside of a full JEE container environment. In JEE terms, Tapestry Core
> is
> > an alternative to JSF. But pretty much all the rest of the JEE APIs can
> be
> > used with a Tapestry application about as easily as with anything else,
> simply
> > because Tapestry is a well-designed Java web framework that can run in a
> > standard JEE app server (although it doesn't require one).
> >
> > For the JEE APIs where it makes the most sense, there are Tapestry
> > integrations -- either provided with Tapestry (Tapestry-JPA,
> > Tapestry-beanvalidator) or as 3rd party modules such as the one Lenny
> > mentioned.
> >
> > Tapestry does offer a very strong IOC capability, but you can chose to
> use
> > it or not in your own Tapestry apps. If you'd rather use EJB (or Spring),
> > there is no harm, and Tapestry IOC won't get in your way if you don't use
> > it.
> >
> > Tapestry 5 is only superficially like Tapestry 4, but much improved in
> > every single way possible. If you're still deciding whether to use
> Tapestry
> > 5, be sure to invest a little time with the Tapestry Tutorial (
> > http://tapestry.apache.org/tapestry-tutorial.html) to find out.
> >
> > On Sun, Apr 7, 2013 at 11:26 AM, Lenny Primak <lprimak@hope.nyc.ny.us
> >wrote:
> >
> >> There is no 'official' plan to integrate Tapestry with JEE.
> >> There is, however, a module that integrates Tapestry with JEE / CDI that
> >> you can use.
> >> It doesn't replace Tapestry's DI (Tapestry-IoC) but it lets you use EJB
> /
> >> CDI beans in your pages
> >> and components, as well as other features.
> >>
> >> http://code.google.com/p/flowlogix
> >> http://code.google.com/p/flowlogix/wiki/TapestryLibrary
> >>
> >>
> >> On Apr 7, 2013, at 10:22 AM, hantsy wrote:
> >>
> >>> Hi all,
> >>>
> >>> I want to know if Tapestry has some plan to be integrated with Java EE,
> >> such as
> >>> how to use CDI with Tapestry, I know Tapestry has its DI container, it
> >>> can be replaced with CDI when I select Java EE6(none Spring/Hibernate
> >> project)?
> >>> I have used Tapestry4 before, and know little about the newest Tapestry
> >> 5.
> >>> Hantsy
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >>> For additional commands, e-mail: users-help@tapestry.apache.org
> >>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> >> For additional commands, e-mail: users-help@tapestry.apache.org
> >>
> >>
>
> --
> Fulltime Java EE Freelancer/Developer from China.
>
> Blog: http://hantsy.blogspot.com
> LinkedIn: http://cn.linkedin.com/in/hantsy
>
> Hire me on oDesk <https://www.odesk.com/users/%7E01364b53cb1f4c5597> or
> Elance <http://hantsy.elance.com>.
>

Re: Tapestry 5 and Java EE6/CDI

Posted by hantsy <ha...@yahoo.com.cn>.
Hi Bob,

Thanks for clarifying this for me

Exactly as u said, I only want to use Tapestry5 as JSF alternative for
web tier. CDI is the standard DI in Java EE, not only a DI container,
but provides other features, such as State management, events etc.

Wicket provides a official CDI module for Java EE, support the powerful
Conversation in wicket, which is very useful to build stateful application.

Hantsy

On 4/8/2013 10:40, Bob Harner wrote:
> Hantsy,
>
> For the non-CDI parts of your question:
>
> Remember that JEE is really just a very large, only loosely-related bag of
> specifications and reference implementations. It includes JPA, JCA, JSF,
> JDBC <http://en.wikipedia.org/wiki/Java_Database_Connectivity>,
> RMI<http://en.wikipedia.org/wiki/Remote_Method_Invocation>
> , JMS <http://en.wikipedia.org/wiki/Java_Message_Service>, EJB, JTA, CDI,
> Bean Validation, and many others, most or all of which work perfectly fine
> outside of a full JEE container environment. In JEE terms, Tapestry Core is
> an alternative to JSF. But pretty much all the rest of the JEE APIs can be
> used with a Tapestry application about as easily as with anything else, simply
> because Tapestry is a well-designed Java web framework that can run in a
> standard JEE app server (although it doesn't require one).
>
> For the JEE APIs where it makes the most sense, there are Tapestry
> integrations -- either provided with Tapestry (Tapestry-JPA,
> Tapestry-beanvalidator) or as 3rd party modules such as the one Lenny
> mentioned.
>
> Tapestry does offer a very strong IOC capability, but you can chose to use
> it or not in your own Tapestry apps. If you'd rather use EJB (or Spring),
> there is no harm, and Tapestry IOC won't get in your way if you don't use
> it.
>
> Tapestry 5 is only superficially like Tapestry 4, but much improved in
> every single way possible. If you're still deciding whether to use Tapestry
> 5, be sure to invest a little time with the Tapestry Tutorial (
> http://tapestry.apache.org/tapestry-tutorial.html) to find out.
>
> On Sun, Apr 7, 2013 at 11:26 AM, Lenny Primak <lp...@hope.nyc.ny.us>wrote:
>
>> There is no 'official' plan to integrate Tapestry with JEE.
>> There is, however, a module that integrates Tapestry with JEE / CDI that
>> you can use.
>> It doesn't replace Tapestry's DI (Tapestry-IoC) but it lets you use EJB /
>> CDI beans in your pages
>> and components, as well as other features.
>>
>> http://code.google.com/p/flowlogix
>> http://code.google.com/p/flowlogix/wiki/TapestryLibrary
>>
>>
>> On Apr 7, 2013, at 10:22 AM, hantsy wrote:
>>
>>> Hi all,
>>>
>>> I want to know if Tapestry has some plan to be integrated with Java EE,
>> such as
>>> how to use CDI with Tapestry, I know Tapestry has its DI container, it
>>> can be replaced with CDI when I select Java EE6(none Spring/Hibernate
>> project)?
>>> I have used Tapestry4 before, and know little about the newest Tapestry
>> 5.
>>> Hantsy
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>

-- 
Fulltime Java EE Freelancer/Developer from China.

Blog: http://hantsy.blogspot.com
LinkedIn: http://cn.linkedin.com/in/hantsy

Hire me on oDesk <https://www.odesk.com/users/%7E01364b53cb1f4c5597> or
Elance <http://hantsy.elance.com>.

Re: Tapestry 5 and Java EE6/CDI

Posted by Bob Harner <bo...@gmail.com>.
Hantsy,

For the non-CDI parts of your question:

Remember that JEE is really just a very large, only loosely-related bag of
specifications and reference implementations. It includes JPA, JCA, JSF,
JDBC <http://en.wikipedia.org/wiki/Java_Database_Connectivity>,
RMI<http://en.wikipedia.org/wiki/Remote_Method_Invocation>
, JMS <http://en.wikipedia.org/wiki/Java_Message_Service>, EJB, JTA, CDI,
Bean Validation, and many others, most or all of which work perfectly fine
outside of a full JEE container environment. In JEE terms, Tapestry Core is
an alternative to JSF. But pretty much all the rest of the JEE APIs can be
used with a Tapestry application about as easily as with anything else, simply
because Tapestry is a well-designed Java web framework that can run in a
standard JEE app server (although it doesn't require one).

For the JEE APIs where it makes the most sense, there are Tapestry
integrations -- either provided with Tapestry (Tapestry-JPA,
Tapestry-beanvalidator) or as 3rd party modules such as the one Lenny
mentioned.

Tapestry does offer a very strong IOC capability, but you can chose to use
it or not in your own Tapestry apps. If you'd rather use EJB (or Spring),
there is no harm, and Tapestry IOC won't get in your way if you don't use
it.

Tapestry 5 is only superficially like Tapestry 4, but much improved in
every single way possible. If you're still deciding whether to use Tapestry
5, be sure to invest a little time with the Tapestry Tutorial (
http://tapestry.apache.org/tapestry-tutorial.html) to find out.

On Sun, Apr 7, 2013 at 11:26 AM, Lenny Primak <lp...@hope.nyc.ny.us>wrote:

> There is no 'official' plan to integrate Tapestry with JEE.
> There is, however, a module that integrates Tapestry with JEE / CDI that
> you can use.
> It doesn't replace Tapestry's DI (Tapestry-IoC) but it lets you use EJB /
> CDI beans in your pages
> and components, as well as other features.
>
> http://code.google.com/p/flowlogix
> http://code.google.com/p/flowlogix/wiki/TapestryLibrary
>
>
> On Apr 7, 2013, at 10:22 AM, hantsy wrote:
>
> > Hi all,
> >
> > I want to know if Tapestry has some plan to be integrated with Java EE,
> such as
> > how to use CDI with Tapestry, I know Tapestry has its DI container, it
> > can be replaced with CDI when I select Java EE6(none Spring/Hibernate
> project)?
> >
> > I have used Tapestry4 before, and know little about the newest Tapestry
> 5.
> >
> >
> > Hantsy
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: Tapestry 5 and Java EE6/CDI

Posted by Lenny Primak <lp...@hope.nyc.ny.us>.
There is no 'official' plan to integrate Tapestry with JEE.
There is, however, a module that integrates Tapestry with JEE / CDI that you can use.
It doesn't replace Tapestry's DI (Tapestry-IoC) but it lets you use EJB / CDI beans in your pages
and components, as well as other features.

http://code.google.com/p/flowlogix
http://code.google.com/p/flowlogix/wiki/TapestryLibrary


On Apr 7, 2013, at 10:22 AM, hantsy wrote:

> Hi all, 
> 
> I want to know if Tapestry has some plan to be integrated with Java EE, such as
> how to use CDI with Tapestry, I know Tapestry has its DI container, it
> can be replaced with CDI when I select Java EE6(none Spring/Hibernate project)?
> 
> I have used Tapestry4 before, and know little about the newest Tapestry 5.
> 
> 
> Hantsy
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org