• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Part 2 design doubt:SCEA help

 
neelArchitect saha
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my design can i use
Front Controller-->Application Controller-->Business Delegate.
Can i say Application Controller as Request processor.
Please any SCEA help !!!
 
Geoffrey Chu
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

Sounds good to me, the Front Controller is the ActionRequest class (decodes client requests) and sends them to the Application Controller (Request Controller) who knows what to do with them. The Business Delegate will hide the location and messaging with the Objects.

regards,

Geoffrey



Originally posted by neelArchitect saha:
In my design can i use
Front Controller-->Application Controller-->Business Delegate.
Can i say Application Controller as Request processor.
Please any SCEA help !!!
 
Rashmi Razdan
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
will all 3 sit in ur web-tier???

if u understand from application controller the one which receives the requests from web-tier and hands over to the specific appln server component.. then it shud be like
frnt controller--business deligate and then appln controller...

As busiensss deligate forms the connectivity layer between the two..
 
Geoffrey Chu
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Rashmi,

This is what I think,

front controller -> app controller -> business delegate --> application service --> service facades

The Application Service will minimize business logic in service facades. The first three will live in the web-tier. The business delegate will translate all the remote exceptions as well.

What do you think?, Thanks.

Geoffrey


Originally posted by Rashmi Razdan:
will all 3 sit in ur web-tier???

if u understand from application controller the one which receives the requests from web-tier and hands over to the specific appln server component.. then it shud be like
frnt controller--business deligate and then appln controller...

As busiensss deligate forms the connectivity layer between the two..
 
Lucy Hummel
Ranch Hand
Posts: 232
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Hi Rashmi,

This is what I think,

front controller -> app controller -> business delegate --> application service --> service facades

The Application Service will minimize business logic in service facades. The first three will live in the web-tier. The business delegate will translate all the remote exceptions as well.

What do you think?, Thanks.

Geoffrey



Hi Geoffrey,

that sounds okay to me. But which component takes care for the next view?

Lucy
 
Geoffrey Chu
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Lucy,

Have a ScreenFlowManager next to the Application Controller (RequestProcessor). Based on the business logic, the App Controller will decide which screen will go next. A ViewFactory, ViewHelpers and Composite View will then do their work.

Geoffrey

Originally posted by Hummel Lucy:


Hi Geoffrey,

that sounds okay to me. But which component takes care for the next view?

Lucy
 
Lucy Hummel
Ranch Hand
Posts: 71
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Hi Lucy,

Have a ScreenFlowManager next to the Application Controller (RequestProcessor). Based on the business logic, the App Controller will decide which screen will go next. A ViewFactory, ViewHelpers and Composite View will then do their work.

Geoffrey


Hi Geoffrey,

So you mean, that your RequestProcessors defines and calls the next view? Or is the call done by Front Controller? So which component displays the next view Front Controller or [i]RequestProcessor[i]?

Lucy
 
Vinay Singh
Ranch Hand
Posts: 174
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To Keep it Simple :

Front Controller-->Request processor-->Business Delegate--Session Facade--Session Beans--Entity/Dao

Front Controller--Request processor--Business Deleegate , form part of web tier.
From Session Facade onwards, its on application server.
I don't feel the need of Application controller.. is it required??
View Mgmnt would be done by Screen Flow manager , which is invoked by Controller.
I think this is similar to Geoff's except for the application Controller.
Its based on lines of Sun's Pet Store Architecture.
Any Comments.
Vinay
 
Lucy Hummel
Ranch Hand
Posts: 71
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

o Keep it Simple :

Front Controller-->Request processor-->Business Delegate--Session Facade--Session Beans--Entity/Dao

Front Controller--Request processor--Business Deleegate , form part of web tier.
From Session Facade onwards, its on application server.
I don't feel the need of Application controller.. is it required??
View Mgmnt would be done by Screen Flow manager , which is invoked by Controller.
I think this is similar to Geoff's except for the application Controller.
Its based on lines of Sun's Pet Store Architecture.
Any Comments.
Vinay


Hi Vinay,

Yes, since Sesion Facade its is application tier

I do not know if ApplicationController can be left out and instead there is RequestProcessor

Lucy
 
Geoffrey Chu
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Vinay/Lucy,

You were right. If I follow SUN's recommendation, the Front Controller should be the one calling the ScreenFlowManager.

In Struts, FrontController is called ActionRequest and Application Controller is RequestProcessor.

According to Core J2EE Patterns, it is nice to have Application Services after the Business Delegate. It will make more complicated the design, but it will enable you to have Session Facades with less business logic.

Application Services will contain the Business Logic and will call Session Facades who will be just ports of entry of the EJBs/DAOs. Application Services are implemented as Command Factory and Commands.

Either way works, I guess it is a matter of extensibility and maintanability vs. making it more complicated.

Thanks,

Geoffrey



Originally posted by Lucy Hummel:


Hi Vinay,

Yes, since Sesion Facade its is application tier

I do not know if ApplicationController can be left out and instead there is RequestProcessor

Lucy
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic