| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Много звеньевые распределенные системы |
| Автор: drkot 25.6.2014, 09:59 |
| Кто чем пользовался для построения? Какие впечатления? |
| Автор: PointerToNil 25.6.2014, 20:00 |
| на sql.ru больше хороших отзывов о http://www.realthinclient.com/details/ (http://sourceforge.net/projects/rtcsdk/ бесплатна) http://www.components4programmers.com/products/kbmmw/ тоже все применявшие хвалят и никто не жалуется (есть бесплатная codegear edition) но без описания задачи это игра в угадайку (может, вам message queue нужно, типа http://zeromq.org?) а на вопрос "какие велосипеды лучше?" сразу напрашивается ответ - "только свои" |
| Автор: drkot 25.6.2014, 21:11 |
| Задача достаточно абстрактная, поэтому и вопрос так поставлен. ключевые задачи: - достаточно простой и универсальный протокол обмена, что позволит унифицировать сетевую часть (XML, JSON или городить свое) - очень интересна возможность асинхронной работы. То есть запрос отправляется и не ждет ответа, а ответы приходят по мере их формирования - ну и стабильность... например компоненты из серии DBX имеют внутренние утечки по памяти и использовать их в связке не интересно, да и по функционалу позволяют только базовые вещи делать... а то что свои велосипеды лучше, это факт, но их надо зачать, выносить и родить. |
| Автор: PointerToNil 25.6.2014, 22:35 |
| упомянутые компоненты заточены под трехзвенки, в том числе переправляют на клиента наследник стандартного tdataset (для пользовательского интерфейса - любые любимые db-aware контролы), то есть о протоколе можно вообще не думать, но можно спуститься и уровнем ниже качай демки, изучай прилагаемые примеры использования, куча документации оба однозначно надежнее и безглючнее, чем изкоробочный ClientDataSet/MIDAS/DataSnap |
| Автор: PointerToNil 26.6.2014, 03:44 |
| велосипеды не всегда "вынашиваются" отдельно от проекта, иногда эволюционно растут вместе с ним вот и тут - кинуть через сокеты на другой компьютер примитивный тип (интегер, строку и т.п.) и получить такой же примитивный ответ - пара-пяток десятков строк программирования (первый байт - код типа сообщения, для строки - сначала длина и т.д.), синхронность/асинхронность определяется выбранными сокетными функциями/компонентами, если асинхронность дошла до того, что ответы могут прийти в последовательности, не соответствующей вызовам - придется добавить в вызов номер сообщения, который возвращать в ответе, хочется посылать сложные объекты - разобраться со встроенной сериализацией (tstream.writecomponent) и т.д. - если начальные требования просты, то начальный велосипед может быть элементарным, но если хочется сразу датасеты пересылать - лучше взять готовое решение |