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
- 1Movie not loaded on Win 7 - 64bit 10-11
- 2Postings For FB50 using BAPI's 10-11
- 3Renaming Tracks Freezes iTunes for Two Minutes 11-30
- 4Programs don't respond with ipod plugged in 11-30
- 5G/L Account change 11-30
- 6Sql Server Configuration Manager fails to start 11-30
- 7Array in formula node 11-30
- 8Imports PO 11-30
- How can i change my AppleID in iCloud to match the one used on iPhone10/11
- Lumia 900 - WEIRD - Hairline Crack appeared out of...10/11
- Pantone Plus Color Bridge Swatches don't match10/11
- Dynamic picture in Smart forms10/11
- Table field set as "Initial" is not acceptinf duplicate entries10/11
- What is the best way to edit array elements (without making copies of the array)?11/30
- Printing problem in SD-DIVERSION ORDER11/30
- Facebook Extremely Slow from Tampa, FL from 6pm-11pm EST11/30
- Jsf panel grid prob..11/30
- Getting "program used to creat ethis object is AcroExch"11/30