Как вы правильно догадались, JSR 296 потерпел неудачу в своих целях, и с 2009 года, когда было объявлено, что оно не было бы включено в JDK 7, его разработка была приостановлена. Появились несколько вилок, и я работал с большинством из них, включая проекты, основанные на архитектуре Swing/RESTful.
Лучший вариант IMHO в настоящее время представлен Netbeans Platform, общей структурой для приложений Swing, которая может использовать большинство компонентов, написанных для создания самой Netbeans IDE. documentation действительно завершен, и если вы уже знакомы с разработкой настольных систем, вам будет очень легко учиться.
Что касается интерфейса с серверным компонентом, я бы создал набор RESTful API с использованием Spring или даже набора простых сервлетов. Я рекомендую использовать ORM, например JPA или Hibernate; вы получите бесплатную кеширование, объединение и гибкость схемы. На стороне толстого клиента я обычно создаю клиента REST, используя Apache HTTPComponents. Использование HTTP упрощает преодоление брандмауэров и механизм безопасности, который обычно создается для обеспечения хотя бы интернет-трафика.
Последний совет, который я могу предоставить, - использовать JSON для полезной нагрузки, которую вы собираетесь обменивать по HTTP-соединению между клиентом и сервером. JSON является компактным, основанным на тексте, и его можно легко конвертировать из POJO (простых старых объектов Java) с помощью GSON.
Спасибо за подсказки! Но я не хочу NetBeans, и я меньше говорю о том, как общаться с серверной частью (там мы используем чистый Java API, так или иначе, что не обсуждается). Мой вопрос был больше о запуске и выключении приложения Swing. – Hannes
Вы имеете в виду, как запустить и остановить настольное приложение на рабочем столе (клиенте)? – elbuild
Нет, я говорю о широкомасштабной обработке ошибок приложения, настройке ресурсов, безопасном выходе из приложения. Средство: не только System.extit (0) на некоторых событиях кнопки ;-) – Hannes