That's an awesome list of migration issues, thanks Tomaz. I'm currently
working on a Seam 2 -> Java EE migration guide and you've nailed a good
deal of the issues on the head, which I'll try to address as I go.
On 28/11/11 20:28, Tomaž Cerar wrote:
> Just programming model is not enough as it covers maybe 10% of the problems
> with seam2--> cdi+seam3 migration.
> Also, there are scenarios that code that is automatically converted won't
> work. The biggest problems are:
> - @Out has no alternative in CDI (and rightly so)
> - @Factory as @Produces does not behave the same (producer from
> non-defendant scope cannot return null)
> - Component.getInstance("myComponent") can be mimicked in cdi but it is
> not the same
>
> I have tried to migrate a medium size project from seam2 to cdi+ seam3
> modules and the behavior of producers forced me to change the code quite a
> bit not just replace annotations.
>
> If we put this aside, what I have found out when porting project was lots of
> features of seam2 that have no replacements in cdi+seam3 or parts where
> replacement means changing lots of code.
> Currently there is no replacement or replacement is hard:
> - seam application framework - for witch I think there could be an easy port
> if we retain same functionality/concept
> - s:* tags - and taglibs in general(a4j:,rich:), there are no replacements
> for lots of components or behavior is totally different, changing all that is
> the biggest problem in project I am porting even with including monstrum like
> richfaces
> - seam mail - all the templates have to be changed - new concept is great but
> backward compatibly is non-existent
> - seam remoting - for gwt remoting now there is errai witch is great but
> migrating from seam gwt servlet to errai is whole project for itelf...
> - seam pdf/xls - there is (good) alternative but it means rewrite all the
> templates
> - rewriting support - what we have now is let's say ok(still missing few
> features of pages.xml), but external project, additional dependencies and
> non-seamless integration is quite a pain to maintain
> And other small things that is got used to :-)
>
> Really the biggest problem with migration is all that taglibs missing with no
> replacements, refactoring code is one thing and it can be quite well tested
> but refactor xhtml templates is a different beast that requires lots of
> changes to code and in some cases also UX and UI changes...
>
> Before trying to go this path I tried to migrate project step by step in the
> way that seam2 could co-exists with cdi on AS7, for that I have created a
> fork of seam2 on my github that runs native on AS7 or say batter it runs as
> JEE6 (JPA2,JSF2,...) it still has some issues but I stopped fixing that as
> the biggest problem was that it does play well with seam-persistence module
> as there is package clash... and I cannot use persistence in both seam
> components and in cdi ones.
>
> There are lots of ideas how to attack problems of migrating from seam2 to
> seam3 but as it seems there are lots of features missing and there is nothing
> to migrate to...
> We talked about migration with Pete and Lincoln on JUDCON in Boston where
> idea for migration of code was a plugin to forge that would refactor the code
> for you and not go with cdi extension that would that for you at runtime...
> Creating the bridge that would enable you getting cdi components in seam ones
> is quite easy if you know what you are doing but I don't know how useful it
> is in the long run, we have one project that is a hybrid like that and it
> gives us lots of development/maintenance issues...
>
>
> Cheers,
> tomaz
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Jozef Hartinger
> Sent: Friday, November 25, 2011 5:06 PM
> To: Antoine Sabot-Durand
> Cc: [email protected]
> Subject: Re: [seam-dev] what about a seam2 - CDI Bridge ?
>
> I've been working on something similar. It is a CDI extension that allows a
> Seam 2 application to run in an EE6 container without Seam 2.
> It focuses solely on the core programming model. Some of the Seam 2 -> CDI
> conversions are done at the deployment time while the rest is handled by a
> compatibility layer at runtime.
>
> On 11/25/2011 02:26 PM, Antoine Sabot-Durand wrote:
>> Reading the SeamNext thread and all these remarks about Seam 2 to Seam
>> 3 migration I was wondering how difficult would it be to create a Seam
>> 2 CDI extension to provide the same kind of bridge we have with Spring ?
>>
>> This bridge would be one way : using Seam 2 bean in CDI (the other way
>> is not relevant). It would help people to go thru the migration
>> process don't you think ?
>>
>> The biggest difficulty would probably be the Seam 2 navigation and
>> providing some kind of extension to merge JSF2 and Seam 2 navigation
>> seems a bit tricky.
>>
>>
>>
>> Antoine SABOT-DURAND
>>
>>
>> _______________________________________________
>> seam-dev mailing list
>> [email protected]
>> https://lists.jboss.org/mailman/listinfo/seam-dev
> _______________________________________________
> seam-dev mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/seam-dev
>
> !DSPAM:6,4ecfbd12173961628642973!
>
>
> _______________________________________________
> seam-dev mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/seam-dev
_______________________________________________
seam-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-dev