Protocol Router for Rich Client Front Controller
I would like to support multiple client types in my J2EE application - Web Client and Rich Client (Swing Application).
Java BluePrints (Designing Enterprise Applications
with the J2EETM Platform, Second Edition) suggests using a Protocol Router for centralized control in case of supporting multiple client types with multiple controllers - http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html.
I have several doubts with this approach and will appreciate very much any help with clarifying the following:
1) How does a Rich Client communicate to Protocol Router? Using HTTP? That means then that each request/response has to be wrapped in HTTP Request/Response object. It may impact the performance and make the communication between Rich Client and back-end slower.
2) If rich client communicates with Protocol Router through HTTP, what is the difference between Fron Controller for Web Client and for Rich Client?
3) The J2EE Tutorial on the other hand, shows direct connection from Application (Rich) Client to EJB layer - http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Ebank.html.
It will be greatly appreciated to know how would you address the above doubts.
Advertisement1) How does a Rich Client communicate to Protocol
Router? Using HTTP? Yes, HTTP . You are right about performance issues. That protocol router seems to me like like overengineering. Anyway, I think a WEB service could be better choice. It's a standart way how to wrap remote requests in HTTP.
2) If rich client communicates with Protocol Router
through HTTP, what is the difference between Fron
Controller for Web Client and for Rich Client?I think the difference is in types of requests. WEB client would request
WEB pages, SWING client doesnt need WEB pages. It would request contents
of list boxes and things like that.
I would suggest you to use EJB's with session facade pattern. Provide WEB service style access to your app. Many app. servers provide feature to expose SLSB as WEB services. Thus you will support almost any types of clients (.NET, Perl, whatever). You can also use WEB service to connect from you'r SWING client. If later you are not satisfied with performance, you can switch to RMI. If you use BusinessDelegate pattern then you will need to change BusinessDelegate only, just one class.
I have written an example EJB based app. which can be accessed by SWING client using RMI or SOAP, WEB client, .NET client and CORBA.
You can get it from:
feel free to ask questions, if you have any
- 1ICal day view upcoming events list--can it be turned off? 10-11
- 2I would like to know if theres anyway to make your photolibrary videos invisiable ? 10-11
- 3Batch split in returns 10-11
- 4InterCompany Payment 11-30
- 5HT5188 iTunes/ VPP /Apple Configurator 11-30
- 6Some .dmg files aren't recognized 11-30
- 7Inner and views 11-30
- 8Error "this moov file is damaged or unsupported" 11-30
- Vendor tobe searched on the base of Vendor Account Group10/11
- Vendor confirmations in purchase order10/11
- Output Determination Issue10/11
- OpenGL 4.1 support in 10.6.7 or Lion?11/30
- Is it possible to call COM objects from ABAP?11/30
- I lost my disk for cs5 creative suite 5.5 design premium but I have product code and a new computer I want to reinstall. What can I do?11/30
- How to have 2 versions of Reader on 1 computer11/30
- Accessing WiFi through public web page11/30
- VPDs - Am I missing something?11/30
- Which GPU for CS5.5?11/30