Re: [s2] Re: What's the future of Action, events / dispatching and IoC/CoR

2006-07-24 Thread Duong BaTien
Hello Ted:

What you describe is interesting. I do not have time in the next couple
of weeks. But please post on this list when you have something concrete
about XWork "interceptors" in the nexus. (i change the subject from
CoC/CoR to IoC/CoR. Correct me if i am wrong).

BaTien


On Mon, 2006-07-24 at 10:22 -0400, Ted Husted wrote:
> On 7/23/06, Adam Hardy <[EMAIL PROTECTED]> wrote:
> > - dependency injection by Spring for my services / delegates (/ daos)
> 
> S2 uses Spring as its default object factory, and Action properties
> can be injected from Spring by matching the property name with the
> object factory ID.
> 
> 
> > - replacing all the struts parameters to my methods with a context object
> 
> S2 uses a content object internally, so that seems in line.
> 
> 
> > - an exception handling switch
> 
> Like S1, S2 includes a declarative exception handler.
> 
> 
> > - a mechanism for handling 'on-the-fly' URL & query strings for 
> > actionForwards
> 
> Like S1, S2 lets you specify a "default" action to use when nothing
> else matches. Wildcards are also supported.
> 
> 
> > I expect this won't take me too long to achieve (a day or two) but I would 
> > still like to >'future-proof' what I write - or should I say, 
> > 'future-orientate', since experience tells me that
> >most 'future-proofing' underestimates the wild changes that the
> future may bring.
> >
> > Can anyone involved in struts 2 tell me about potential brick walls that 
> > this sort of Action
> >base class and its children would be heading into? I checked out the
> dev list for hints and
> >saw oblique references to Chain of Commands but couldn't guage much
> from the threads
> > there.
> 
> S2 doesn't use Commons Chain internally. S2 relies on the notion of
> "interceptors" to do what we did in S1 with the Chain of Commands.
> Essentially, interceptors are POJO filters that let us run custom code
> before and after a key event, like invoking an Action class.
> 
> The package that delivers the interceptor mechanism is XWork. XWork
> also handles matcing things like URIs to action mappings and it
> provides the base validation framework. Surprisingly little is
> actually in Struts 2 itself. Most of the functionality derives from
> XWork, which is web-neutral. XWork is already being used to power
> other frameworks.
> 
> If I had understood interceptors and XWork better when we were
> creating Commons Chain, I would have pushed harder for us to use XWork
> in 1.3 instead of Commons Chain. Jason tried to explain it to me once,
> but it didn't click. I in turn mentioned using XWork with Struts to
> Don Brown, which became the nexus of TI, which evolved into the
> merger.
> 
> >
> > Regards
> > Adam
> 
> --  HTH, Ted.
> * http://www.husted.com/struts/
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [OT] Link to Web Part?

2006-07-22 Thread Duong BaTien
On Sat, 2006-07-22 at 14:09 -0400, Frank W. Zammetti wrote:
> Hi BaTien,
> 
> You may want to have a look at this Wiki page as well:
> 
> http://wiki.apache.org/struts/AjaxStruts
> 
> I presume your using Struts as your overall framework since you posted 
> to this list :)  This page has some links and info to get you going with 
> AJAX (Michael, I just noticed two images that used to be there are 
> broken links now... any idea what happened?)
> 
> I of course have a bias in saying AjaxParts Taglib is a good choice :) 
> But there are plenty of excellent alternatives (DWR, Dojo and Prototype 
> to name probably the top ones), so you'll have some fun playing with 
> them all :)
> 
> Frank

Thanks Frank. Yes i know. I also look at Dojo and Facelets on the
client-side tree.

Regards

BaTien


> 
> Duong BaTien wrote:
> > Thanks Ted. Yes, i start to wet my feet with ajax. There are so many
> > things to catch up.
> > 
> > BaTien
> > 
> > 
> > On Sat, 2006-07-22 at 12:38 -0400, Ted Husted wrote:
> >> On 7/21/06, Duong BaTien <[EMAIL PROTECTED]> wrote:
> >>> I remember somewhere on this list an announcement of Web Parts in the
> >>> sourceforg.net (collection of various web components such as Filter,
> >>> logging, etc). Do someone has a link?
> >> Rick Reumann also posted an article about using Web Parts
> >>
> >> * http://www.learntechnology.net/struts-ajax-crud.do
> >>
> >> For a complete list of links to everything Struts, visit Struts Central.
> >>
> >> * http://www.StrutsCentral.net/
> >>
> >> HTH, Ted.
> >>
> >> -
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> > 
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> > 
> > 
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [OT] Link to Web Part?

2006-07-22 Thread Duong BaTien
Thanks Ted. Yes, i start to wet my feet with ajax. There are so many
things to catch up.

BaTien


On Sat, 2006-07-22 at 12:38 -0400, Ted Husted wrote:
> On 7/21/06, Duong BaTien <[EMAIL PROTECTED]> wrote:
> > I remember somewhere on this list an announcement of Web Parts in the
> > sourceforg.net (collection of various web components such as Filter,
> > logging, etc). Do someone has a link?
> 
> Rick Reumann also posted an article about using Web Parts
> 
> * http://www.learntechnology.net/struts-ajax-crud.do
> 
> For a complete list of links to everything Struts, visit Struts Central.
> 
> * http://www.StrutsCentral.net/
> 
> HTH, Ted.
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [OT] Link to Web Part?

2006-07-21 Thread Duong BaTien
Thanks Wendy and Michael. Have a good weekend. I got it.

BaTien

On Fri, 2006-07-21 at 16:47 -0700, Wendy Smoak wrote:
> On 7/21/06, Duong BaTien <[EMAIL PROTECTED]> wrote:
> > I remember somewhere on this list an announcement of Web Parts in the
> > sourceforg.net (collection of various web components such as Filter,
> > logging, etc). Do someone has a link?
> 
> http://javawebparts.sourceforge.net/
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[OT] Link to Web Part?

2006-07-21 Thread Duong BaTien
I remember somewhere on this list an announcement of Web Parts in the
sourceforg.net (collection of various web components such as Filter,
logging, etc). Do someone has a link?

Thanks


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [shale] Is there a Dialog Scope?

2006-06-05 Thread Duong BaTien
On Mon, 2006-06-05 at 11:14 -0700, Craig McClanahan wrote:
> On 6/5/06, Duong BaTien <[EMAIL PROTECTED]> wrote:
> >
> > Hello Craig:
> >
> > Could you let us know if you are a part of the proposed Web Beans that
> > combine Shale, Oracle ADF, and Seam? It may even more useful if you can
> > roughly lay out the direction of your vision in this area.
> 
> 
> I am indeed, in the sense that I worked with Gavin on preparing the JSR
> submission in the first place, and I am going to be Sun's representative on
> the Expert Group.
> 
> My personal vision for this sort of thing is centrally based on the idea
> that a successful foundation framework should serve as an integration
> platform for lots of different specialized frameworks, even if those
> specialized frameworks might have individual implementations of the same
> functional area.  Look at the success of Spring ... a criticial success
> factor is how the dependency injection framework, used as a foundation,
> embraces alternative approaches to the same problem areas, because one size
> does not fit all needs.  I would get real nervous if we tried to build a
> single monolithic architecture that allowed only one "blessed" approach to
> each need.
> 
> For example, you can use Shale, ADF Faces, and Seam today ... by themselves
> or in any of the possible combinations ... because they all are based on
> JSF.  Yes, there are functionality overlaps ... and that's a good thing.
> Pick the right combination of technologies that meet the needs of your
> particular project.  So, why standardize Web Beans, then?  It's sort of like
> the early days of web frameworks, when everyone was solving their needs by
> building their own webapp frameworks.  There is enough experience in the
> world today to raise the base level of functionality provided by the
> platform.  The binding and state management capabilities contemplated in the
> JSRs will provide solutions to problems that people like me who provide
> frameworks :-) shouldn't necessarily *have* to build ourselves ... let alone
> applicaton developers.
> 
> Of course, even if the Web Beans JSR[1] comes to fruition and is adopted,
> nothing forces you to use it, or all of it -- any more than using a JavaEE
> platform application server forces you to use EJBs if you don't want to.
> But adopting technologies that get standardized does make it more likely
> that you'll get competitive product offerings from multiple providers (along
> with tools support) more quickly than might otherwise occur.
> 
> Thanks
> >
> > BaTien
> > DBGROUPS
> 
> 
> Craig

Thanks again for the response.

> 
> [1] http://jcp.org/en/jsr/detail?id=299


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [shale] Is there a Dialog Scope?

2006-06-05 Thread Duong BaTien
Hello Craig:

Could you let us know if you are a part of the proposed Web Beans that
combine Shale, Oracle ADF, and Seam? It may even more useful if you can
roughly lay out the direction of your vision in this area.

Thanks

BaTien
DBGROUPS
 

On Mon, 2006-06-05 at 10:09 -0700, Craig McClanahan wrote:
> On 6/5/06, Adam Brod <[EMAIL PROTECTED]> wrote:
> >
> > Hi-
> >
> > JBoss Seam provides addition Scopes beyond Request, Session, Application
> > and None.  In particular, JBoss has a Conversation Scope that stores your
> > data for the duration of a specific conversation.  This frees the
> > developer from stuffing data in the session and then manually removing it
> > at the end of the dialog.
> >
> > Does Shale Dialog offer that functionality?  I want to configure my bean
> > with Scope=Dialog.  It would live for the duration of the dialog, and then
> > to be automatically destroyed by the Dialog Manager.
> 
> 
> Shale's dialog feature[1] does indeed support this kind of state
> saving/destroying, although it is not directly treated as a separate scope.
> Instead, Dialog provides a way for your application to store a context
> object (in session scope) that stays in existence for the remainder of a
> particuar conversation with the user, then is thrown away for you.  The
> simplest sort of object to use would be a Map implementation with arbitrary
> keys.  Alternatively, you could construct a context class with properties
> specific to the particular use case of each dialog.  JSF components can be
> bound to this state object with a standard value binding expression
> (something like "#{state.data.foo}" to get to a property or map entry named
> "foo"), so your learning about all the techniques you already use to bind
> components to request scoped objects carries over.
> 
> Note that there are currently some outstanding bugs in this area of Shale,
> particularly with respect to having more than one dialog active at the same
> time (either on the same page, or across windows) -- but the basic
> functionality works well for a single active dialog.  These issues are high
> on my priority list to get them addressed, because I feel this is mission
> critical before a 1.0 General Availability release of Shale.
> 
> Please let me know what I can do.
> >
> > Thanks,
> >
> > Adam Brod
> > Product Development Team
> 
> 
> Craig
> 
> [1] http://struts.apache.org/struts-shale/features-dialog-manager.html


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Shale] How to code simple container-managed login form

2005-06-22 Thread Duong BaTien
Greetings:

As promised, i report back my solutions and hope this may help others.
It turns out that there is also some issues directly related to Shale
Dialog due to its current interactions with Jsf.

On Sat, 2005-06-11 at 08:47 -0600, Duong BaTien wrote:
> On Fri, 2005-06-10 at 23:08 -0400, Frank W. Zammetti wrote:
> > Duong BaTien wrote:
> > > First, thanks for an extra help.
> > 
> > No problem... I hope I can help further :)
> > 
> > > The whole idea is to use SSL for confidential pages such as logon,
> > > change username / password, edit profile with confidential data. Other
> > > time some resources may just be protected by roles. The ideal situation
> > > is to switch between SSL and Non-SSL using proper configuration on
> > > stand-alone tomcat (not with tomcat and apache front end).
> > 
> > So it is within the same webapp... I think Craig raised a valid point in 
> > that case... once the connection isn't secured, a would-be hacker can 
> > play some games by sniffing the wire.  If security is important enough 
> > to encrypt certain pages, I would wonder if they really all should be 
> > encrypted.  Let's move beyond that though because if that's your 
> > requirement than that's what you have to pull off :)
> > 
> Yes, if everything is straight then our life is simpler isn't it? Some
> files are too big and ssl will kill us in the business world. We protect
> them using roles.
> 
> > > The issue with standalone tomcat is that once the user is login under
> > > SSL, all connections including public resources not protected by web.xml
> > > after the SSL will be in SSL under the same application.
> >
A good solution was proposed by Steve Ditlinger in his JavaWorld paper
(Feb 2002) and later evolved into sslext for Struts. The approach is
quite easy to implement for any framework. This is what we do under Jsf.
>  
> > I don't know what the spec says in this regard... this could be a by 
> > design mechanism, or it could be a bug in Tomcat.  It might be worth 
> > researching though... you may be trying to fight something that is 
> > actually working as it is supposed to.
> > 
> That is what a great developer community is about. Unfortunately, i am
> not a hard core developer.
> 
> > > I did that but the same issue of serving public resource with SSL still
> > > persist after the SSL connection. Note: I just found out that i did
> > > something wrong so i still have to qualify this result(?).
> > 
> > When you say "public resource", what does that mean?  Do you mean an 
> > unconstrained resource?
> > 
> Yes, unconstrained resource.
> 
> > > Because i have not been able to switch between ssl (not for the session
> > > id but for Confidential data) and non-ssl connection, i work out the
> > > second plan to use 2 web applications under the same tomcat host and use
> > > tomcat SingleSignOn to co-ordinate user sessions under the 2 web apps: 1
> > > for SSL and 1 for non SSL.
> > 
The SSO solution is a step more complex than the dynamic switching
between SSL and non-ssl. It is justifiable when you want a quick
integration among different web applications. See below our simple
2-step approach.

> > Just a shot in the dark, but what if you define a constraint on your 
> > UNPROTECTED resources and define the transport guarantee as NONE?  It 
> > sounds like the user will always pass through a secured page first, so 
> > they would have a session established and be authenticated to a user 
> > realm, so I *think* it will work... I wonder if that will force it to a 
> > non-SSL state though?
> >
No, this won't work - at least under our own tests.

>  
> This is a good suggestion. I wil try this simple and easy thing first.
> 
> > > That is what i hope to get some help. The issue has nothing to do with
> > > shale. I am sure that some one has done this successfully with
> > > standalone tomcat. I appreciate any help. I ask this list under Shale
> > > because under the scenario as explained below that i need 2 web apps, i
> > > want to use shale for both.
> > 
> > Certainly asking this on the Tomcat list would probably get you some 
> > further help... There may be some folks that that already know the ins 
> > and outs of Tomcat specifically better than I do.
> > 
> As i said i picked up a thread called Forced Non-SSL from tomcat user
> list and promised to report back the result of my investigation for the
> benefit of others.
> 
> > > Yes, this is what i expect. But the reality is that the 

Re: [Shale] How to code simple container-managed login form

2005-06-11 Thread Duong BaTien
On Fri, 2005-06-10 at 23:08 -0400, Frank W. Zammetti wrote:
> Duong BaTien wrote:
> > First, thanks for an extra help.
> 
> No problem... I hope I can help further :)
> 
> > The whole idea is to use SSL for confidential pages such as logon,
> > change username / password, edit profile with confidential data. Other
> > time some resources may just be protected by roles. The ideal situation
> > is to switch between SSL and Non-SSL using proper configuration on
> > stand-alone tomcat (not with tomcat and apache front end).
> 
> So it is within the same webapp... I think Craig raised a valid point in 
> that case... once the connection isn't secured, a would-be hacker can 
> play some games by sniffing the wire.  If security is important enough 
> to encrypt certain pages, I would wonder if they really all should be 
> encrypted.  Let's move beyond that though because if that's your 
> requirement than that's what you have to pull off :)
> 
Yes, if everything is straight then our life is simpler isn't it? Some
files are too big and ssl will kill us in the business world. We protect
them using roles.

> > The issue with standalone tomcat is that once the user is login under
> > SSL, all connections including public resources not protected by web.xml
> > after the SSL will be in SSL under the same application.
> 
> I don't know what the spec says in this regard... this could be a by 
> design mechanism, or it could be a bug in Tomcat.  It might be worth 
> researching though... you may be trying to fight something that is 
> actually working as it is supposed to.
> 
That is what a great developer community is about. Unfortunately, i am
not a hard core developer.

> > I did that but the same issue of serving public resource with SSL still
> > persist after the SSL connection. Note: I just found out that i did
> > something wrong so i still have to qualify this result(?).
> 
> When you say "public resource", what does that mean?  Do you mean an 
> unconstrained resource?
> 
Yes, unconstrained resource.

> > Because i have not been able to switch between ssl (not for the session
> > id but for Confidential data) and non-ssl connection, i work out the
> > second plan to use 2 web applications under the same tomcat host and use
> > tomcat SingleSignOn to co-ordinate user sessions under the 2 web apps: 1
> > for SSL and 1 for non SSL.
> 
> Just a shot in the dark, but what if you define a constraint on your 
> UNPROTECTED resources and define the transport guarantee as NONE?  It 
> sounds like the user will always pass through a secured page first, so 
> they would have a session established and be authenticated to a user 
> realm, so I *think* it will work... I wonder if that will force it to a 
> non-SSL state though?
> 
This is a good suggestion. I wil try this simple and easy thing first.

> > That is what i hope to get some help. The issue has nothing to do with
> > shale. I am sure that some one has done this successfully with
> > standalone tomcat. I appreciate any help. I ask this list under Shale
> > because under the scenario as explained below that i need 2 web apps, i
> > want to use shale for both.
> 
> Certainly asking this on the Tomcat list would probably get you some 
> further help... There may be some folks that that already know the ins 
> and outs of Tomcat specifically better than I do.
> 
As i said i picked up a thread called Forced Non-SSL from tomcat user
list and promised to report back the result of my investigation for the
benefit of others.

> > Yes, this is what i expect. But the reality is that the non-protected
> > resources NOT under  are served by ssl once ssl is
> > used, at least as i see it and also reported by another user in tomcat
> > user list under standalone tomcat 5.5.9.
> 
> Interesting... That *sounds* like a bug, but again, I'd be interested to 
> know what the spec says.  Might be exactly what *should* happen.  But if 
> you can, give my suggestion a try... Could be a simple fix :)
> 
Yes, this is my intention. I will report back to this list my
investigation and the result i choose since i am planning to use shale
for a production project by the end of this year.

> > Yes, i know and did that under pure html for testing. I ask for Jsf
> > because if i have to go to the route of having 2 web applications: 1 for
> > ssl connection and 1 for non-ssl connection, then i want to further
> > explore if i can use shale for both rather than ssl application for just
> > simple workaround.
> 
> Gotcha.  Let's see if we can't get it working the way you expected 
> though, and the way I would have expected it too... we might both learn 
> something here :)
> 
I hope the list won't mind for the question predominantly tomcat and
related to shale only at a higher level.

BaTien
DBGROUPS



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[Shale] How to code simple container-managed login form

2005-06-10 Thread Duong BaTien
Hello Craig:

Using Shale, could you show how to code simple container-managed login
form with j_username, j_password, and j_security_check and shed some
light on the following attempt.

Specifically, i am attempting to use simple tomcat 5.5.9 SingleSignOn to
dynamically switching between SSL application and non-SSL application
under the same host:

1) Non-SSL application:
   1.1) For protected resources, using roles but, not under SSL the app
will check user SSO cookie. If not existed, it direct user to SSL logon.
If the cookie existed, SingleSignOn will take care of the role
protection.
   1.2) For using SSL resources such as login, editProfile using Shale
Dialog, etc, it will put a cookie having user current requested page for
the SSL application to return to the non-SSL protocol.

2) SSL application: Get the user remote page for switching back to HTTP
after the SSL session. All resources will be protected by SSL and roles.

Behind both applications is tomcat JDBCRealm, for now, to a single data
source.

P.S: I tried RequestDispatcher using Shale preprocess command to direct
all pages not under the SSL secure directory, and let tomcat handle
SSL-protected pages. But this does not solve the problem that once the
user is connected using SSL, the SSL connection stays on with non-ssl
pages. Is there any simpler and/or better approach? JOSSO is the next
level up that i do not have resource for now. Besides, i want to use
Shale for both non-SSL and SSL applications.

Thanks.

BaTien
DBGROUPS



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [OT] Business Layer Ideas

2005-05-27 Thread Duong BaTien
On Fri, 2005-05-27 at 16:00 -0400, David Whipple wrote:
> This is an off topic post, but there seem to be a lot of people with good
> opinions here.
> 
> I am trying to provide a framework (based on Stuts and Spring) for our
> company
> to use.  I'd like to make a reinforcement of the business layer in
> applications.
> 
> We do not use EJBs, so a lot of the patterns that are out there do not seem
> to
> apply.  I have not been able to find any references I like.
> 
> The goal is to encourage better program design and development by
> having a clear definition of what are the business objects in the program.
> 
> We want to come up with a way through patterns to help programmers avoid
> poor
> programming practices.  Clear separation into layers is one basic idea
> behind
> this.  We want to come up with some interface to the business layer which
> will
> force programmers to know what are to be the business objects in their
> architecture.
> 
> Does anyone have any ideas and/or know of any references for this?
> 
> Thanks,
> Dave
> 
Greetings:

We use Chain of Responsibility (CoR) implemented by commons-chain and
its Agility to construct a Request/Response framework to connect a
request to its designated service, whether the designated service is in
a web-application service container, a portlet container, auth for
authentication/authorization, or a Jcr container. At the business layer,
the designated service may use other services in other containers. e.g.
the personalization of auth container uses UserDaoImpl of DAO container.

We use Spring IoC to assemble chain Catalogs and their commands. Hence
the request/response framework is based on CoR/IoC integrated with your
presentation engine at the front. We use Jsf+Tiles as our presentation
engine.

The good thing is that available infrastructure takes care of detailed
connections while isolating the dependencies of itemized services within
1 container and among containers. Developers just need to plug in the
required specified functionality based on design contract.

We integrate the Request/Response with workflow using Shale Dialog and
Spring WebFlow to produce Request/Response/Workflow Business Application
Framework.

More detailed discussion is in the following link, which will be updated
by 2nd week of June after the release of RedHat Fedora 4.

http://www.dbgroups.com/docs/architecture.html#BusinessApplicationsFramework


Hope this may help.

BaTien
DBGROUPS

> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: AW: AW: [OT] Recommendation of Wiki and Chat engines

2005-04-28 Thread Duong BaTien
Leon Rosenberg wrote:
Aehm... Don't know any, but i can give you mine?
Tell me what the engine has to do, and I'll check whether my engine can
provide it. 
Maybe take it off-list :-)

Leon 
 

That is ok. Thank you. I am looking at NFC Chat.
BaTien
 

-Ursprüngliche Nachricht-
Von: Duong BaTien [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 28. April 2005 21:01
An: Struts Users Mailing List
Betreff: Re: AW: [OT] Recommendation of Wiki and Chat engines

Leon Rosenberg wrote:
   

JSPWiki. We are happy with it.
 

Thanks Leon:
Yes, i did take a look and seem to like it. How about Java 
Chat engine?

BaTien
DBGROUPS
   


 

-Ursprüngliche Nachricht-
Von: Duong BaTien [mailto:[EMAIL PROTECTED]
Gesendet: Donnerstag, 28. April 2005 20:08
An: Struts Users Mailing List
Betreff: [OT] Recommendation of Wiki and Chat engines
Hello list:
I am in the market for a Java Wiki and a Java Chat (open sources or 
commercial). Do you mind to share your experience in using these 
collaboration tools and/or your recommendations.

Thanks
BaTien
DBGROUPS


   

-
   

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
  

   

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: AW: [OT] Recommendation of Wiki and Chat engines

2005-04-28 Thread Duong BaTien
Leon Rosenberg wrote:
JSPWiki. We are happy with it.
 

Thanks Leon:
Yes, i did take a look and seem to like it. How about Java Chat engine?
BaTien
DBGROUPS

 

-Ursprüngliche Nachricht-
Von: Duong BaTien [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 28. April 2005 20:08
An: Struts Users Mailing List
Betreff: [OT] Recommendation of Wiki and Chat engines

Hello list:
I am in the market for a Java Wiki and a Java Chat (open 
sources or commercial). Do you mind to share your experience 
in using these collaboration tools and/or your recommendations.

Thanks
BaTien
DBGROUPS

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


[OT] Recommendation of Wiki and Chat engines

2005-04-28 Thread Duong BaTien
Hello list:
I am in the market for a Java Wiki and a Java Chat (open sources or 
commercial). Do you mind to share your experience in using these 
collaboration tools and/or your recommendations.

Thanks
BaTien
DBGROUPS

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [REFERENDUM] Struts is a Community

2005-04-10 Thread Duong BaTien
Ted Husted wrote:
As of about 2a EST this morning, 134,788 messages were posted to this
list. Even for five years, that's a lot of traffic!
Most of those messages have been about users helping other users. Some
others, often marked "Friday" or "Beer" have been about users
entertaining users. :) And, occasionally, we have waxed introspective
and discussed "What is Struts anyway?".
Some people have said that Struts is a brand that marks a product. Our
benefactor, the Apache Software Foundation, calls Struts a "Project".
Project is a good word, but it's really a euphemism: Project is an ASF
code word that means "Community". From an ASF perspective, we're not
here to build software, but to build a development community, and let
the community build the software. We believe that great communities
build great technology.
Over the years, the Struts community *has* built some great
technology. Aside from the Struts Action package, we've built Tiles
and the Validator. We've built Bean-Utils and the Digester. And
Collections, and File Upload, and Resources. And Chain. A good portion
of all the components in the Jakarta Commons today is technology that
Struts built.
The technologies that Struts built are not just gizmos we use with our
own controller or taglib components. Dozens of other software
projects, and thousands of teams, use these technologies every day,
whether they use our application framework or not.
IMHO, this is what it means to be a community rather than a product, a
people rather than a brand. It means that first we try to help each
other, and then we try to package our solution to share with all
comers. But, the map is not the land, and the solution is not the
project.
Since today is my birthday, I thought I'd take the liberty of calling
for a referendum on a topic that is close to my heart:
What do you say? Are we a product or a community?
Here's my +1 for community. 

-Ted.
 

A community with common interest in good software technologies is why i 
am here.

Happy Birthday :-)
BaTien
DBGROUPS
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: How to create a web flow with Struts

2005-04-09 Thread Duong BaTien
Matt Raible wrote:
Dakota Jack wrote:
I will answer your question after clarifying BaTien's failure to
respond to your question and his shameless promotion of another
product through subterfuge.  He is creating confusion.  That is the
whole point of Struts-Shale.
Please be forewarned that Struts-Shale is not Struts.  Struts-Shale is
an entirely different product, something like an incipient version of
Tapestry, which has nothing in common with Struts except it too is a
framework.  BaTien is not being completely fair or honest with you in
his response.  He is, in effect, trying to get you to seek a solution
that has nothing to do with your initial inquiry, in order to promote
his love for JSF, which is antithetical to Struts as we know it.
The "we" BaTien talks about, in my opinion, is a small group of
zealots trying to save a fairly old framework idea, JSF, from the
trash heap.
Now -- YOUR QUESTION.
 

While you may be correct in BaTien's intentions, he does mention a 
worthwhile project: Spring Web Flow.  This is a web flow (wizard) 
framework that was developed on top of Struts initially and can very 
much be used with Struts.
http://forum.springframework.org/viewtopic.php?t=4604

There is a sample application (BirthDate) in Spring's CVS and it will 
be a part of a PR2 release on Sunday night.  I plan on looking at 
Spring Web Flow this weekend and integrating into a Struts project 
next week.

Matt
Matt:
I am interested in your evaluation of Spring Web Flow and your progress 
in this area. :-) Please share you experience.

BaTien
DBGROUPS
I would need some clarification of your question to answer it.  What
do you mean by "the web flow will take the user to all the
applications necessary to fulfill
the service"?  User navigation information is very easy to save to a 
database. 
Jack


On Apr 9, 2005 8:43 AM, Duong BaTien <[EMAIL PROTECTED]> wrote:
 

Néstor Boscán wrote:
  

Hi
I have a new project were I have to create an application that is a 
web flow
of multiple standalone applications. Basically the user picks a 
service and
the web flow will take the user to all the applications necessary 
to fulfill
the service. We want to be able to save in a database the user 
navigation
information. Has anybody done something like this with struts?

Regards,
Néstor Boscán


I have not done this. But this is the direction we are heading to.
Craig, the inventor of Struts Commons-Chain and Struts-Shale, has
proposed a DialogController and is trying to incorporate features of
Spring Web Flow.
I found it is very useful as a state engine. You may take a look at
Struts-Shale. I am also interest to what you are doing in this area.
BaTien
DBGROUPS
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
  

 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: How to create a web flow with Struts

2005-04-09 Thread Duong BaTien
Dakota Jack wrote:
I will answer your question after clarifying BaTien's failure to
respond to your question and his shameless promotion of another
product through subterfuge.  He is creating confusion.  That is the
whole point of Struts-Shale.
Please be forewarned that Struts-Shale is not Struts.  Struts-Shale is
an entirely different product, something like an incipient version of
Tapestry, which has nothing in common with Struts except it too is a
framework.  BaTien is not being completely fair or honest with you in
his response.  He is, in effect, trying to get you to seek a solution
that has nothing to do with your initial inquiry, in order to promote
his love for JSF, which is antithetical to Struts as we know it.
The "we" BaTien talks about, in my opinion, is a small group of
zealots trying to save a fairly old framework idea, JSF, from the
trash heap.
 

Greetings:
It is you again :-)
The "we" means our own group who puts its money, time and effort in 
creating a service that "we" believe can effectively compete. The web 
flow is one of the key area "we" (our group) concentrate in. That is why 
i am interested in how other people try to do it with their own 
committed financial resources. I am interested in how you do it as well 
with the real deliverables.

"We" are just a bunch of pragmatic technology entrepreneurs. "We" do not 
take any dogmatic approach. I try to leverage on existing deliverables 
and honestly share with the community what i get out of it.

This is weekend. We can laugh :-)
BaTien
DBGROUPS
Now -- YOUR QUESTION.
I would need some clarification of your question to answer it.  What
do you mean by "the web flow will take the user to all the
applications necessary to fulfill
the service"?  User navigation information is very easy to save to a database.  

Jack

On Apr 9, 2005 8:43 AM, Duong BaTien <[EMAIL PROTECTED]> wrote:
 

Néstor Boscán wrote:
   

Hi
I have a new project were I have to create an application that is a web flow
of multiple standalone applications. Basically the user picks a service and
the web flow will take the user to all the applications necessary to fulfill
the service. We want to be able to save in a database the user navigation
information. Has anybody done something like this with struts?
Regards,
Néstor Boscán

 

I have not done this. But this is the direction we are heading to.
Craig, the inventor of Struts Commons-Chain and Struts-Shale, has
proposed a DialogController and is trying to incorporate features of
Spring Web Flow.
I found it is very useful as a state engine. You may take a look at
Struts-Shale. I am also interest to what you are doing in this area.
BaTien
DBGROUPS
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   


 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: How to create a web flow with Struts

2005-04-09 Thread Duong BaTien
Néstor Boscán wrote:
Hi
I have a new project were I have to create an application that is a web flow
of multiple standalone applications. Basically the user picks a service and
the web flow will take the user to all the applications necessary to fulfill
the service. We want to be able to save in a database the user navigation
information. Has anybody done something like this with struts?
Regards,
Néstor Boscán
 

I have not done this. But this is the direction we are heading to. 
Craig, the inventor of Struts Commons-Chain and Struts-Shale, has 
proposed a DialogController and is trying to incorporate features of 
Spring Web Flow.

I found it is very useful as a state engine. You may take a look at 
Struts-Shale. I am also interest to what you are doing in this area.

BaTien
DBGROUPS
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Shale And Spring: Using Spring Dependency Injection With Shale

2005-04-07 Thread Duong BaTien
Hello list:
I like to report that using today 20050407 shale.jar and 
shale-spring.jar, shale and spring work togather as documented by Craig.

BaTien
DBGROUPS
==
Duong BaTien wrote:
Thanks. I will find time to do it.
BaTien
DBGROUPS
Craig McClanahan wrote:
Please try out the latest nightly version of the "use cases" sample
app.  It uses Spring to provide the business logic object (and
associated DAO) for the login use case.
Craig
On Apr 5, 2005 10:13 AM, Duong BaTien <[EMAIL PROTECTED]> wrote:
 

I reply to dev list but the mail was not accepted.
  

BaTien



Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Struts 
Wiki" for change notification.

The following page has been changed by CraigMcClanahan:
http://wiki.apache.org/struts/ShaleAndSpring
New page:
+++-- Shale And Spring: Using Spring Dependency Injection With Shale
Since version 1.1.5 of Spring, that framework has included a 
convenient integration with JavaServer Faces that may be 
leveraged in a Shale based application.  The integration includes 
a custom JSF {{{VariableResolver}}} implementation that is 
invoked first whenever a value binding or method binding 
expression is evaluated.  In other words, the JSF managed beans 
facility behaves like this:

* If there is a registered managed bean for the specified name, 
use the standard JSF facilities to create it (as usual).

* If there is a configuration for this bean in the Spring 
WebApplicationContext, use Spring's BeanFactory to create it.

* If neither of the above facilities recognizes the name, return 
{{{null}}}.

This technique allows you to transparently use JSF value binding 
expressions (either in components, or through programmatic 
manipulation) that access beans managed by Spring instead of by 
the JSF managed beans facility.



Hello Craig:
I make a quick test on my site.
The current working condition has shale.jar, spring-core.jar,
spring-context.jar and spring-web.jar (1.1.5) . It works with or 
without
using org.springframework.web.jsf.DelegatingVariableResolver

Now i add shale-spring.jar, it has the exception as in the enclosed
psi1.log. The exception happens with or without the inclusion of
org.springframework.web.jsf.DelegatingVariableResolver in faces 
config.

BaTien
DBGROUPS

  
--010504080503040606030709
Content-Type: text/plain;
name="psi1.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="psi1.log"
2005-04-05 09:18:24,622 [main] DEBUG 
javax.faces.application.ApplicationF=
actory - New ApplicationFactory instance created
2005-04-05 09:18:24,677 [main] ERROR 
org.apache.myfaces.webapp.StartupSer=
vletContextListener - Error initializing ServletContext
java.lang.IllegalArgumentException: Class 
org.springframework.web.context=
=2EWebApplicationContext is no javax.faces.el.VariableResolver
 at 
org.apache.myfaces.config.FacesConfigurator.getApplicationObject(Face=
sConfigurator.java:535)
 at 
org.apache.myfaces.config.FacesConfigurator.configureApplication(Face=
sConfigurator.java:481)
 at 
org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurat=
or.java:193)
 at 
org.apache.myfaces.webapp.StartupServletContextListener.initFaces(Sta=
rtupServletContextListener.java:105)
 at 
org.apache.myfaces.webapp.StartupServletContextListener.contextInitia=
lized(StartupServletContextListener.java:88)
 at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContex=
t.java:3827)
 at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4=
343)
 at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)=

 at 
org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
 at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)=

 at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478=
)
 at 
org.apache.catalina.core.StandardService.start(StandardService.java:4=
80)
 at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:231=
3)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.=
java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:25)


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Shale And Spring: Using Spring Dependency Injection With Shale

2005-04-05 Thread Duong BaTien
Thanks. I will find time to do it.
BaTien
DBGROUPS
Craig McClanahan wrote:
Please try out the latest nightly version of the "use cases" sample
app.  It uses Spring to provide the business logic object (and
associated DAO) for the login use case.
Craig
On Apr 5, 2005 10:13 AM, Duong BaTien <[EMAIL PROTECTED]> wrote:
 

I reply to dev list but the mail was not accepted.
   

BaTien

 

Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.
The following page has been changed by CraigMcClanahan:
http://wiki.apache.org/struts/ShaleAndSpring
New page:
+++-- Shale And Spring: Using Spring Dependency Injection With Shale
Since version 1.1.5 of Spring, that framework has included a convenient 
integration with JavaServer Faces that may be leveraged in a Shale based 
application.  The integration includes a custom JSF {{{VariableResolver}}} 
implementation that is invoked first whenever a value binding or method binding 
expression is evaluated.  In other words, the JSF managed beans facility 
behaves like this:
* If there is a registered managed bean for the specified name, use the 
standard JSF facilities to create it (as usual).
* If there is a configuration for this bean in the Spring 
WebApplicationContext, use Spring's BeanFactory to create it.
* If neither of the above facilities recognizes the name, return {{{null}}}.
This technique allows you to transparently use JSF value binding expressions 
(either in components, or through programmatic manipulation) that access beans 
managed by Spring instead of by the JSF managed beans facility.

 

Hello Craig:
I make a quick test on my site.
The current working condition has shale.jar, spring-core.jar,
spring-context.jar and spring-web.jar (1.1.5) . It works with or without
using org.springframework.web.jsf.DelegatingVariableResolver
Now i add shale-spring.jar, it has the exception as in the enclosed
psi1.log. The exception happens with or without the inclusion of
org.springframework.web.jsf.DelegatingVariableResolver in faces config.
BaTien
DBGROUPS

   

--010504080503040606030709
Content-Type: text/plain;
name="psi1.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="psi1.log"
2005-04-05 09:18:24,622 [main] DEBUG javax.faces.application.ApplicationF=
actory - New ApplicationFactory instance created
2005-04-05 09:18:24,677 [main] ERROR org.apache.myfaces.webapp.StartupSer=
vletContextListener - Error initializing ServletContext
java.lang.IllegalArgumentException: Class org.springframework.web.context=
=2EWebApplicationContext is no javax.faces.el.VariableResolver
 at org.apache.myfaces.config.FacesConfigurator.getApplicationObject(Face=
sConfigurator.java:535)
 at org.apache.myfaces.config.FacesConfigurator.configureApplication(Face=
sConfigurator.java:481)
 at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurat=
or.java:193)
 at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(Sta=
rtupServletContextListener.java:105)
 at org.apache.myfaces.webapp.StartupServletContextListener.contextInitia=
lized(StartupServletContextListener.java:88)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContex=
t.java:3827)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4=
343)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)=
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)=
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478=
)
 at org.apache.catalina.core.StandardService.start(StandardService.java:4=
80)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:231=
3)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.=
java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:25)
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Shale And Spring: Using Spring Dependency Injection With Shale

2005-04-05 Thread Duong BaTien
I reply to dev list but the mail was not accepted.
BaTien
 

Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.
The following page has been changed by CraigMcClanahan:
http://wiki.apache.org/struts/ShaleAndSpring
New page:
+++-- Shale And Spring: Using Spring Dependency Injection With Shale
Since version 1.1.5 of Spring, that framework has included a convenient 
integration with JavaServer Faces that may be leveraged in a Shale based 
application.  The integration includes a custom JSF {{{VariableResolver}}} 
implementation that is invoked first whenever a value binding or method binding 
expression is evaluated.  In other words, the JSF managed beans facility 
behaves like this:
* If there is a registered managed bean for the specified name, use the 
standard JSF facilities to create it (as usual).
* If there is a configuration for this bean in the Spring 
WebApplicationContext, use Spring's BeanFactory to create it.
* If neither of the above facilities recognizes the name, return {{{null}}}.
This technique allows you to transparently use JSF value binding expressions 
(either in components, or through programmatic manipulation) that access beans 
managed by Spring instead of by the JSF managed beans facility.
 

Hello Craig:
I make a quick test on my site.
The current working condition has shale.jar, spring-core.jar, 
spring-context.jar and spring-web.jar (1.1.5) . It works with or without 
using org.springframework.web.jsf.DelegatingVariableResolver

Now i add shale-spring.jar, it has the exception as in the enclosed 
psi1.log. The exception happens with or without the inclusion of 
org.springframework.web.jsf.DelegatingVariableResolver in faces config.

BaTien
DBGROUPS
   

--010504080503040606030709
Content-Type: text/plain;
name="psi1.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="psi1.log"
2005-04-05 09:18:24,622 [main] DEBUG javax.faces.application.ApplicationF=
actory - New ApplicationFactory instance created
2005-04-05 09:18:24,677 [main] ERROR org.apache.myfaces.webapp.StartupSer=
vletContextListener - Error initializing ServletContext
java.lang.IllegalArgumentException: Class org.springframework.web.context=
=2EWebApplicationContext is no javax.faces.el.VariableResolver
at 
org.apache.myfaces.config.FacesConfigurator.getApplicationObject(Face=
sConfigurator.java:535)
at 
org.apache.myfaces.config.FacesConfigurator.configureApplication(Face=
sConfigurator.java:481)
at 
org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurat=
or.java:193)
at 
org.apache.myfaces.webapp.StartupServletContextListener.initFaces(Sta=
rtupServletContextListener.java:105)
at 
org.apache.myfaces.webapp.StartupServletContextListener.contextInitia=
lized(StartupServletContextListener.java:88)
at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContex=
t.java:3827)
at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4=
343)
at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)=
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)=
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478=
)
	at org.apache.catalina.core.StandardService.start(StandardService.java:4=
80)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:231=
3)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.=
java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:25)
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [Shale]: , , DialogController and Tiles

2005-04-02 Thread Duong BaTien
Craig McClanahan wrote:
 

Craig:
Do you like to speculate and/or share the timing of this?
   

IBM (RAD) and Oracle (ADF) both have libraries that include components
for this purpose.
I have seen other libraries as well, from companies like Otrix.  My
favorite example is one of their JSF components, a tree control ...
but a tree control that is backed by a database of 6000 possible
entries.  The component only downloads the portions of the data needed
for the currently expanded nodes, and uses asynchronous background
communication to grab more data when you expand new nodes.
 

This sort of things keeps Java developers useful and makes us busy. Thanks.
BaTien
DBGROUPS
 

BaTien
DBGROUPS
   

Craig
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [Shale]: , , DialogController and Tiles

2005-04-02 Thread Duong BaTien
Craig McClanahan wrote:
On Apr 2, 2005 11:25 AM, NetSQL <[EMAIL PROTECTED]> wrote:
 

Craig McClanahan wrote:
   

And there's even JSF components around that do this sort of thing too :-).
 

AFAIK JSF was not designed for client rendering (hence "Server" faces,
not "Client" faces). It can be done in the same way one can get JSP or
Servlet API to render on the Client.
   

See my response to BaTien for some pointers to existing libraries of
JSF components that already do the kind of thing we are talking about.
 

Please somone correct me if I am wrong.
   

The "server" part of the name JavaServer Faces refers to the fact that
you are constructing components that do two things on the server side:
* Render some sort of representation of themselves
* Trigger events on an HTTP request (after restoring the
 previous server side state, if any).
plus a standard MVC-style front controller framework to manage the
HTTP transactions (including a request processing lifecycle, event
management, server-side validation, and navigation that anyone
familiar with Struts will see is similar to what any front controller
framework provides).
The key thing many newcomers miss is that JSF itself is totally
agnostic about what kind of representation is created (other than the
fact that there are a few standard components that are HTML specific,
primarily to get you started).  You can certainly render simple HTML
widgets directly on the server, as these standard components do.  But
you can do a lot more.
Let's say you wanted to build a dropdown control that, in addition to
the typical behavior of a dropdown list, had a way to refresh the
dropdown list contents via an asynchronous call to the server (so you
don't have to refresh the entire page).  Instead of creating the
markup itself, you'd generate the JavaScript code (or, more likely, a
call into some JavaScript library that is already included in your
application).  The JavaScript code would use DHTML to construct the
dropdown list component and dynamically add it to the client side DOM,
and would also offer a method that could be triggered (from some other
client side JavaScript) to go refill the list asynchronously.
It's still a server side component, but instead of rendering markup
you are rendering client side code that creates markup.
However, because it conforms to a standard component API, you have
made it easy for a page developer to construct a user interface using
these components, without that developer having to understand all the
intricacies of JavaScript and DHTML, and how it actually works under
the covers.  And, that developer can intermix components from other
JSF component libraries as well, because they all share a common API
and runtime environment.  The developer can even use a tool like
Creator that makes assembling a page an exercise in drag-n-drop, and
configuring the component properties.
Finally, with JSF you get to leverage the front controller both for
form submits and for responding to the background XmlHttpRequest
calls.
Readers familiar with Tapestry will be chuckling about now, saying "we
can do that too".  And they are right ... Tapestry provides a server
side UI component framework that can do all this as well --
demonstrating that a component oriented architecture can provide a
powerful basis for creating sophisticated applications, without
exposing all the nitty gritty details to the developer.  Indeed, it is
the lack of a component architecture in Strust 1.x that requires you
to go assemble all of the pieces as tag libraries and filters and
such, as well as have to do other things like data conversion
yourself.
JSF (at least in version 1.0 and 1.1) doesn't offer any of the
standard JavaScript libraries to help you build components like this. 
Instead, it lets you write components that leverage such libraries
that already exist in order to allow page authors to easily construct
pages that use such libraries, without having to have a deep
understanding of how all that JavaScript and DHTML stuff actually
functions.

Doing more to support building components like this more easily,
however, is definitely on the table in JSF 2.0.
In the mean time, I'll be doing more in Shale to provide a JSF-based
runtime environment for these kinds of components -- after all, an
XmlHttpRequest request can be processed through a front controller
just like a form submit can be, and mapping the incoming event to the
corresponding processing logic is pretty much the same for both cases.
 

Hello Craig:
You answer to Vic, but many of us - me included - get benefit from this 
insight.

BaTien
DBGROUPS
 

.V
   

Craig
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [Shale]: , , DialogController and Tiles

2005-04-02 Thread Duong BaTien
Craig McClanahan wrote:
On Apr 2, 2005 9:53 AM, NetSQL <[EMAIL PROTECTED]> wrote:
 

Craig McClanahan wrote:
I'm quite intrigued by the Web Flow project in
   

Swing's sandbox  ...
 

Not Swing.
Spring or Don Brown's Ajax-Strtus sandbox I assume are both called "Flow".
   

Yes, I meant "Spring".  They also recently released a milestone of this code.
 

Yes, i did take a quick look at Spring Web Flow. I am looking forward to 
your integration under Shale. One small feature in the workflow that 
seems quite useful is the persistence of each specified step so user 
does not need to start from the beginning.

 

( I am glad it's in the back of your mind Freud. XUL, Flex, XAML, Ajax
(aka DHTML), JDNC all render on the client and improve performance by
offloading rendering from the server.)
   

And there's even JSF components around that do this sort of thing too :-).
 

Craig:
Do you like to speculate and/or share the timing of this?
BaTien
DBGROUPS
At least not yet.
.V
   

Craig
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [Shale]: , , DialogController and Tiles

2005-04-01 Thread Duong BaTien
Craig McClanahan wrote:
On Apr 1, 2005 2:11 PM, Duong BaTien <[EMAIL PROTECTED]> wrote:
 

Hello Craig:
Well, this is Friday so we can take it easy on the debate between Struts
and Jsf. This is about Struts-Shale, Jsf and Tiles.
First, thank you for your contributions in CoR commons-chain and Shale.
I had some time to re-visit shale and have successfully implemented
shale as a servlet filter, its view controller with myfaces
JspTilesViewHandlerImpl, and DialogController. Some questions:
1) The logon Dialog demonstrates an implementation of DialogController
using hard-coded methods as entry points. Is there any thought of a
generic Dialog bean whose actions and processes are assembled on-demand
via CoR/IoC?
   

What would the method binding expression look like in this case? 
Today, the last component of this expression is the name of the method
to be called, and you'd either have to maintain that or provide some
sort of custom method binding expression evaluator that did something
like creating a context and then firing off a chain.

It might just be simpler to compose a Context object, and fire off the
appropriate chain, yourself inside the event handling methods.  With a
suitable helper function, each event handling method could be a simple
one liner.
On a parallel note, I'm quite intrigued by the Web Flow project in
Swing's sandbox, and am trying to carve out enough time to integrate
it into Shale.  It is much more fleshed out than DialogController, and
includes nice concepts like nested subflows.
 

Do you mean Spring's sandbox? I will take a look at it.
2) Association between view id and viewController is quite handy. I am
able to associate each view id, assembled from complex tiles fragments,
with a specialized viewController that pull part of the data from a
dialogController. All tiles fragment use Jsf . Now moving to
the shale , is it intended to replace jsf  if more
than 1 fragments requires viewController? I have not tested this case
with myfaces tile viewHandler. I think i should wait for shale custom
ViewHandler that works with tiles.
   

Yes, the intent is that  would replace  in order
to provide the lifecycle event calls for every fragment's
ViewController bean.  If/when David gets done on extracting Tiles out
of Struts, and integrating it with Shale, we'll likely want a
component that does a combination of what  and
 do, so the developer won't have to use both.
 

Wow :-) i am waiting for this.
The last time I tried (pre-1.0.9 though) the entire Shale use cases
example worked correctly with MyFaces as well as with the JSF RI.  In
particular, there's a portion of the unit tests that verifies the
event calls occur in the correct order.
 

But that does not have myfaces tiles viewHandler. I think will be broken 
under the current tiles viewHandler.

3) If  is intended to replace  to work with tiles,
can it be done in such a way that each request needs to instantiate only
2 request-scope viewControllers for 2 fragments (portlet menu and its
display fragments depending on which portlet user clicks)?
   

I suppose you could do that by specifying two subviews in the "outer"
page prepared by the portal server; but I want the ability to use
subviews *inside* a single portlet as well -- hence the desire to
support an arbitrary number of initialized ViewControllers per
request.
 

This is the ideal case as long as it is NOT hard hooked. So a portlet 
application does not have to fire up request-scope viewControllers when 
not needed.

 

BaTien
DBGROUPS
   

Craig
 

Thanks. Have a good weekend.
BaTien
DBGROUPS
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


[Shale]: , , DialogController and Tiles

2005-04-01 Thread Duong BaTien
Hello Craig:
Well, this is Friday so we can take it easy on the debate between Struts 
and Jsf. This is about Struts-Shale, Jsf and Tiles.

First, thank you for your contributions in CoR commons-chain and Shale. 
I had some time to re-visit shale and have successfully implemented 
shale as a servlet filter, its view controller with myfaces 
JspTilesViewHandlerImpl, and DialogController. Some questions:

1) The logon Dialog demonstrates an implementation of DialogController 
using hard-coded methods as entry points. Is there any thought of a 
generic Dialog bean whose actions and processes are assembled on-demand 
via CoR/IoC?

2) Association between view id and viewController is quite handy. I am 
able to associate each view id, assembled from complex tiles fragments, 
with a specialized viewController that pull part of the data from a 
dialogController. All tiles fragment use Jsf . Now moving to 
the shale , is it intended to replace jsf  if more 
than 1 fragments requires viewController? I have not tested this case 
with myfaces tile viewHandler. I think i should wait for shale custom 
ViewHandler that works with tiles.

3) If  is intended to replace  to work with tiles, 
can it be done in such a way that each request needs to instantiate only 
2 request-scope viewControllers for 2 fragments (portlet menu and its 
display fragments depending on which portlet user clicks)?

BaTien
DBGROUPS
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Struts Business Logic :: Best Practices

2005-03-11 Thread Duong BaTien
Ted Husted wrote:
As to business objects, the usual advice is to use Plain Old Java
Objects (POJOs).
The current MailReader example application is an excellent example of
creating a set of interfaces to represent business logic, then
instantiating a set of classes to implement the business logic.
The MailReader uses a Struts PlugIn to create the business logic beans
in application scope. Another good approach is to use Spring to create
your business objects. Here, you might use a PlugIn to create the
Spring instance in application scope, and then call the Spring
instance to create everything else.
Of course, my favorite way to manage business objects now is as a
Chain of Responsbility. But, to get started, you probably want to use
plain old business beans, as the MailReader does.
All this is to say, option 2. The Actions call the business beans, and
the beans do all the heavy lifiting. (Actions shouldn't know *how* to
do things, just who to ask to get things done.)
The iBATIS DAO layer is cool, but if you don't need a switchable DAO,
you can do the same thing using your own interfaces.
Of course, my favorite way to do business logic now is using the Chain
of Responsiblity. But, that's a bit bleeding edge right now :)
-Ted.
 

Hello Ted and concerned developers:
I just like to make this piece-meal update on how we use commons-chain 
and hope to get some feedback from gurus out there.

   1) I modify chain CatalogBase and ChainBase to turn CoR Catalog, 
Command, Filter, and Chain into POJO configurable using IoC. This will 
avoid an issue that Vic said about the Rich Client.

   2) Extending the naming approach of Agility, bean references are all 
in names, including the DTO to keep DO and UI objects consistent.

   3) All component services are done with chain Command. I am waiting 
for some "de-facto" standard of having conditional chain. Have you and 
struts committers set down the best way to do it?

BaTien
DBGROUPS
On Fri, 11 Mar 2005 14:57:51 +0530, karthikeyan balasubramanian
<[EMAIL PROTECTED]> wrote:
 

Hi all,
 Struts DB Access Best Practices thread gave me great insight on how
I should proceed with db operations.
 I have one more question.  Where do you keep your business logic
code.  Right now I am thinking to use
1. Struts(JSP, Actions)
2. Simple class(Managers) to keep all our business logic code
3. IBATIS for database abstraction.
Actions can call Managers to get the job done and Manager can use
iBATIS to access DB.
Is this a good approach or is there a better approach than this?
Looking forward for your response.
Have a great day.
Karthikeyan B
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   


 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Struts or SpringFramework

2005-02-18 Thread Duong BaTien
Vic wrote:
It is by far my favorite topic (and for all early RiA adaters).
Email me a vin at friendvu.com or  at (hardly used) forums at 
sandraSF.com.
I use chain for SoA dispatching from hessian, not on JDNC side 
(becuase JNLP classloader looks at digester as a security violation 
:-(  )
On JDNC I had to do some MVC work, I think they have a junior group 
from Sun on this on their side. (They don't even have a DTO concept 
:-P  )

.V

Thanks. As i go along in the next 2 months i will probably email you 
privately and/or join your forums.

BaTien
DBGROUPS

Hello Vic:
I have looked at jdic and JNLP application and want to explore 
further for off-line applications. Hope you may share your experience 
in using commons-chain in Swing (and possibly with Spring IoC) under 
JDesktop Integration Component. This is your favorite topic isn't it?

BaTien
DBGROUPS


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Struts or SpringFramework

2005-02-18 Thread Duong BaTien
Vic wrote:
You can put your toe in Spring(Tapestry or JSF) and see how it feels 
becuase you know the Struts side.

Or. you can start doing commons-chain now! And then plug it into 
anything. What Ted Husted said on dev list was words to the effect:
"people should be no longer be writing Struts applications. They 
should be writing commons-chains (CoR) applications. Then just plug it 
into Struts. ".
I chose to  write commons-chain applications, that I plug into... Swing.

.V
Hello Vic:
I have looked at jdic and JNLP application and want to explore further 
for off-line applications. Hope you may share your experience in using 
commons-chain in Swing (and possibly with Spring IoC) under JDesktop 
Integration Component. This is your favorite topic isn't it?

BaTien
DBGROUPS
Larry Meadors wrote:
Without exception, every developer I have talked to personally that
has tried SpringMVC said it was way more complex than struts, and
ended up going back (almost all the way) to struts.
What I have heard is a killer combination is "Spring-managed Struts".
In this permutation, you use struts with a Spring-based request
processor instead of the default struts one. Then, you get much of the
benefit of using spring (managed beans, IoC, etc...) and continue to
use vanilla struts for the remainder of your application.
I have been hoping to use this model for the last month or so, but
have been too busy to try it myself. Stupid job. ;-)
Larry
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]