Моя компания является поставщиком программных решений для крупной телекоммуникационной компании. Среда в настоящее время основана на IBM WebSphere с внешними серверами IBM Portal, взаимодействующими с кластером внутренних серверов приложений WebSphere, предоставляющих службы EJB. Некоторые портлеты используют наш собственный шаблон MVC, а некоторые написаны на JSF.
Недавно мы сделали экспериментальное приложение с расширенным/толстым клиентом, которое взаимодействует напрямую с компонентами EJB на внутренних серверах. Он был написан с использованием платформы NetBeans и использует клиентскую библиотеку приложений WebSphere для установления связи с компонентами EJB.
Самым болезненным моментом было заставить клиента использовать безопасную связь JAAS/SSL. Но после того, как это было решено, мы обнаружили, что полнофункциональный клиент имеет ряд преимуществ по сравнению с клиентскими приложениями веб-портала, к которым мы привыкли:
- Огромное преимущество в производительности (CORBA по сравнению с HTTP, исключая посредника Portal Server)
- Разработка упрощается и ускоряется благодаря использованию визуального конструктора NetBeans и в целом надежной архитектуры Swing.
- Цикл отладки сокращается за счет отсутствия необходимости развертывания клиентского приложения на тестовом сервере.
- Никакой мешанины технологий, как при веб-разработке (Struts, JSF, JQuery, HTML, JSTL и т. д. и т. д.)
Потерпев некоторое время мучения веб-разработки (даже JSF), я пришел к следующему выводу: богатые клиенты подходят не для каждой ситуации, но когда вы разрабатываете внутреннюю интранет-систему решение, то вы сойдете с ума, если не примете во внимание платформу NetBeans или Eclipse RCP.
Любые комментарии/опыт работы с многофункциональными клиентами по сравнению с веб-клиентами?