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
- 1How do I add a submit button to a pdf form? 10-11
- 2SMTP relaty to Office365 10-11
- 3Airport extreme and windows vista/8 computers 10-11
- 4I can only backup the datafiles but not the control files and SPFiles 10-11
- 5Deployed PAR file webservices are not displayed in SOAP admin 10-11
- 6Invalid key code and multiple installs 10-11
- 7Flash Builder 4.6 keeps crashing with "Adobe AIR.dll_unloaded" error 11-30
- 8How to get denomination of Notes ? for the amount paid 11-30
- Need to reset password for digital ID to sign doc in Adobe Reader on thinkpad using Windows10/11
- How to make exported Flash files as small as possible?10/11
- Need to Reinstall Adobe Acrobat X11/30
- Unable to connect, WILL NOT ALLOW FIREFOX TO EVERY OPEN, EVEN AFTER REINSTALLS.. RUNNING WINDOWS 711/30
- Solman 3.2 Instalation problem DbSlConnect11/30
- Generic Icon for M2V File Droplet?11/30
- About the 12,09 euro deal for Photoshop and Lightroom.11/30
- Computer shuts down when entering BIOS11/30
- Mac, Windows, and Fedora on Boot Camp?11/30
- Why cant i update my adobe flash player on my surface rt?11/30