В настоящее время у нас есть двухуровневое приложение Java Swing, работающее поверх MS SQL Server 2005. Вся бизнес-логика находится в базе данных. Клиент довольно старый (и не очень дружелюбный), и из соображений производительности и масштабируемости мы уже начали портировать некоторые сервисы на промежуточный уровень в Java.
Однако у нас все еще есть ряд краткосрочных и долгосрочных целей:
Выберите стек технологий для нового интерфейса
Это непросто — я вижу все, от веб-приложения на одном конце континуума до традиционного настольного приложения на другом — жизнеспособные варианты. Нынешний внешний интерфейс на самом деле не сложный (в основном основанный на формах), поэтому я вижу соответствие между веб/AJAX, но это та область, где мы не знаем того, чего не знаем.
Стеки в моем списке:
- Eclipse RCP, Netbeans RCP
- Flex/Flash, Silverlight, JavaFX
- Чистые интерфейсы Javascript (Sprout Core, Javascript MVC, ...)
- Веб-фреймворки на основе Java (Wicket, JSF, ...)
Найдите способ заставить текущее приложение работать приемлемо в удаленной ситуации
У нас есть клиенты, которые перепродают наше приложение более мелким клиентам и нуждаются в возможности удаленного развертывания. Из-за двухуровневой природы текущей архитектуры это приводит к ужасной производительности (например, вызов хранимой процедуры, которая возвращает 18 наборов результатов). В прошлом мы использовали решение Citrix, но такой подход никому не нравится. Туннелирование JDBC через порт 80 также кажется плохой идеей. Я начал задаваться вопросом, есть ли что-нибудь, что могло бы использовать подход, подобный X-Windows, для удаленного управления только частью графического интерфейса.