Originally posted by PETER BERGOFF:
Hi everyone,
Do you think it's okay to collapse the service locator and the business delegate into one class?
Also - although both of these classes are created in the business tier they physically reside with the client - correct?? So each client would need their own business delegate and service locator from the common business tier?
Many thanks for your help!!
Peter
Originally posted by Tomi Tuomainen:
I'm not quite sure that implementation of the Business Delegate would be same for all the clients. For example web app Business Delegate component would have to serve many clients (synchronized methods must be considered?) but swing app Business Delegate will always take care of one client. Maybe caching requirements could also be different for each client type.
Could we create different Business Delegate components (for example WebAppBusinessDelegate, SwingBusinessDelegate) and let the designers decide if these components can use (partly) same classes?
Tomi
Originally posted by Tomi Tuomainen:
Peter,
If I'm not totally lost here, each client will create their own Business Delegate and Service Locator and uses those to access business services. So each client (web and swing) could show their own access components in a component diagram. If the access is similar, this would mean copying the same component for both clients. If the access is different, we still could build a common component (with Abstract Factory) to serve all clients.
Please, correct me if I'm wrong!
Tomi
Originally posted by Parag Doshi:
I did not understand the access component part. What did you mean by access component?
The way I see it, the swing app can be architected in atleast 2 different ways. First one is where the client tier (EventController, for instance) communicates directly with the business tier via the business delegate (which I assume is what Tomi and Peter are driving towards)
and the second way is that the client controller (EventController) which resides on the client side, communicates with the web tier and the web tier depending on the request (url based, perhaps) would instantiate the right implementations of Business Delegate, Service locator etc (Abstract Factory pattern --creating family of related objects).
Originally posted by Tomi Tuomainen:
I'm still considering these both possibilities. The latter sounds very reasonable, but I still have doubts if this architecture gets too complicated because we need to create communication mechanism between web server and swing client. And can we truly have common presentation logic in web tier? But going with the first one may end in duplicating code and less maintenability. For example view helpers could be common for both, but is it best to reuse the same component within another client, or to centralize the logic by installing the component into just one client (web server)?
I'm not sure if this decision will affect scalability. If the logic resides directly in swing client workstation (and not in web server) that can't make the system less scalable. The amount of communication to EJB tier would probably be the same in both cases?
Tomi
[ July 25, 2004: Message edited by: Tomi Tuomainen ]
[ July 25, 2004: Message edited by: Tomi Tuomainen ]
Originally posted by D. Rose:
Hi Parag,
Is security an issue for travel agents? Aren't they inside the boundry?(using shared computer etc...)
Originally posted by Tomi Tuomainen:
Parag,
I agree with your non-functional aspects. If you just copy that to your assumptions and emphasize some of them, you should pass I think common presentation tier for all clients sounds better architecture in general. But this doesn't fit in my WAF that well (meaning that I'm not sure how to model that). And I'm sure that Swing -> EJB tier will work in practise so I'll probably go that way. Unless there are good arguments why I definitely shouldn't?
Tomi
The knights of nee want a shrubbery. And a tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
|