2010-08-14 3 views
4

В моей компании они наконец-то (о времени ...), чтобы преобразовать одно из наших самых продаваемых приложений из архитектуры с 2 уровнями в 3 уровня, так и на физическом уровне. Вероятно, мы подойдем либо к Delphi-Delphi-Oracle, либо к Delphi-Java-Oracle для изменения.Изменение приложения Delphi/Oracle от 2-х уровневого до 3-х уровневого

Это относительно старое и большое приложение, которое было создано и изменено в течение длительного времени, прежде чем я начал там работать. Рефакторинг, за исключением случаев, когда что-то нужно было изменить, обычно никогда не рассматривался. Кроме того, бизнес-логика присутствует в обоих фактических уровнях ... вздоха.

Физическое изменение меня не беспокоит, но логическое изменение будет своего рода прохождением через Ад. Чтобы максимально сгладить его, я хотел бы рассказать о том, какие компоненты Delphi лучше подходят для трехуровневой модели.

¿Какие альтернативы вы бы выбрали, чтобы использовать?

+1

Каковы движущие факторы для этого плана? Например, поддержка других баз данных или других интерфейсов (мобильных, сетевых, .net) или облачных развертываний? Это даст более четкую картину, например, для выбора между Delphi и/или Java в среднем уровне. – mjn

+0

Я попросил в основном то же самое: http://stackoverflow.com/questions/3431149/which-delphi-technology-to-use –

+1

@mjustin, есть две основные причины для нашего клиента: они хотят иметь возможность развертывать другие базы данных, если это необходимо, и они также хотят иметь возможность быстро масштабироваться, так как они растут 2 цифры каждый год. Thx для вашего комментария :-) –

ответ

3

Мы недавно преобразовали наше 2-уровневое приложение Delphi на 3 уровня с помощью RemObjects DataAbstract. Хотя начальная кривая обучения была довольно крутой, мы абсолютно рады результатам.

DataAbstract позволяет забыть о базовых гайках и болтах базы данных и сетевых подключений и сконцентрироваться на бизнес-логике. Он позволяет создать абстрактный уровень сервиса, который предоставляет вашим клиентам сервера хороший API. Используя этот API, мы подключаемся к серверу, используя как клиент Delphi, так и клиент Delphi Prism ASP.NET.

+0

Какие были самые трудные проблемы/вопросы, которые вы узнали при изучении использования RemObjects DataAbstract? –

+0

Я думаю, что самая тяжелая часть - это ваша голова вокруг того, как работает рамка DA. Я бы сказал, что документация менее чем фантастическая, но они отвечают на большинство вопросов быстро и информативно. DA позволяет создать систему с 3 уровнями, практически без кодирования. Просто создайте схему и все. К сожалению, то, как мы это делаем, мешало нам это делать, но мы все же обнаружили, что архитектура достаточно гибкая, чтобы позволить нам делать то, что нам нужно было быстро и довольно легко. Мысль о возвращении к системе с двумя уровнями теперь наполняет меня страхом ... удачи :) – norgepaul

3

Я нашел RemObjects довольно полезным. У них также есть DataAbstract, созданный сверху, но я не использовал его.

5

Другая хорошая Многозвенная структура библиотека kbmMW из components4developers: http://components4developers.com/

+0

+1 слышу хорошие вещи об этом. –

0

Вы никогда не думали DataSnap XE?