powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Bold for Delphi /Bold for C++. Вторая попытка.
170 сообщений из 170, показаны все 7 страниц
Bold for Delphi /Bold for C++. Вторая попытка.
    #32744974
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bold for Delphi /Bold for C++.
----------------------------

Возвращаюсь к теме 2-х месячной давности. Если сразу не прибъёте, попробую последовательно рассказать об этом чуде, что я сам понял. Не в плане "Ура - даешь гербалайф!", а в плане - что сам знаю и умею.

Судя по всему - первоначально никто (и я в т.ч.) нифига не понял. Поцапались - и разошлись. Народ продолжает рубать n-х звенку c реляционными СУБД.

Ну, сразу скажу: первое-наперво - это вовсе не замена РСУБД - приложений. Это попытка войти в здание через парадную дверь, а не через чердачное (или подвальное - кому как нравится) окно.

В общем, несмотря на все классные фичи, которыми заманивают нас в MDA, суть мне представляется все - таки в другом - MDA - технология - это средство (методология?), позволяющая объединить требования к проекту с кодом проекта.

Суть в том, что модель приложения хранится в самом приложении, и приложение управляется этими требованиями. Т.е. приложение фукционирует в плане требований к модели - и все изменения в документации (т.е.) в модели тут же отражаются и на поведении приложения. Ну вот, собственно говоря, и все. А все остальное - просто полезности и вкусности, которые просто обязаны сопровождать ОО - среду. Если вам мало - то легко создаются новые (контролы, инструменты, адаптеры к СУБД и проч.).

В общем - вполне реальное средство довести свой проект до завершения в рамках заранее установленного срока или бюджета.
-----------------------------

По поводу примеров применения:

Приложения MDA в действии
Области использования
• Управление финансами/Страховое дело
• Правительство
• Промышленность
• Оборона
• Электронная коммерция
• Средства массовой информации/Шоу - бизнес
• Розничная продажа/Оптовая торговля
• Управление транспортом/Логистика
• Системная интеграция
• Независимая торговля программными продуктами
• и другие…

Клиенты
• Парламент Швеции
• Национальное Собрание, Парламент Франции
• Шведское телевидение
• l’Etat de Fribourg
• US Government Agency
• Вооруженные силы Швеции
• Министерство обороны Швеции – Агенство Исследований
• фирма Neosight Techologies
• Landesumweltamt (Бранденбург)
Brandenburg
• Carmenta
• Autoliv
• Ahola Transport
• Universitat Augsburg
• Vertec Ltd
• IPAT
• InterLan
• Nimbus
• Open IAC
• B&F Groep
• RIL Partner
• TimeWarp Engineering
• Know IT
• Marotz
• и другие…


Примеры


Управление финансами, система управления фондовой биржей
Описание Система управления фондовой биржей в оффшорной финансовой индустрии
Пользователи Международный Институт Финансов
Объем 150 классов, 2 миллиона объектов
Инструментарий Rational Rose, Microsoft SQL Server, Windows NT

Правительство, система управления налогами
Описание Система управления налогами для индивидуальных лиц и предприятий
Пользователи 200 налоговых регистрационных пунктов, административный персонал
Объем 130 классов, 10 миллиона объектов
Инструментарий Rational Rose, Microsoft SQL Server, Microsoft OS

Оборона, система регистрации утилизации взрывчатых веществ

Описание Информационная система для регистрации исполнения утилизации взрывчатых веществ
Пользователи Полиция, армия и другие «допущенные к телу…». Применялась во время боевых операций на Балканах.
Объем 350 классов, 500 000 объектов
Инструментарий Rational Rose, Sybase, Microsoft OS

Средства массовой информации/Управление производством в шоу-бизнесе

Описание Система управления ресурсами для всего персонала, студийным оборудованием и т.д.
Пользователи 200 административных аппаратов объемной телевизионной сети
Объем 300 классов, 2 миллиона объектов
Инструментарий Rational Rose, Informix, Windows NT/95/98, сетевое окружение

Управление транспортом/Логистика

Описание Система поддержки анализа, планирования и продаж в реальном масштабе времени.
Пользователи Обслуживающий персонал транспортных корпораций
Объем 230 классов, 2,5 миллиона объектов
Инструментарий Rational Rose, InterBase, Windows 2000, Nokia Communicator, данные глобальной системы позиционирования (GPS)

Управление финансами/Электронное банковское дело

Описание Средний уровень COM – системы для частной банковской системы на базе AS/400.
Пользователи Чрезвычайно большая группа частных банков
Объем 60 классов, 5000 объектов, размещенных в конфигурационном файле XML
Инструментарий Windows 2000, Rose 2000e, AS/400 Host Access Class Library (HACL)

Заявления и ссылки

“Теперь мы работаем более чем в 10 раз быстрее, чем могли раньше, и мы завершили создание продукта, который действительно мощный и стабильный. Мы получили спокойствие, и мы получили время для того, чтобы действительно понять клиента и совместно принять решение о том, как можно построить лучшие системы.”
Hans Karlsen, Technical Project Manager, Swedish Parliament

“Bold позволяет вам строить действительно замечательные приложения. Я пользуюсь им 3 года, и все еще доволен ими.”
Samuel Iseli, Development Manager, Vertec ltd

“Мне понадобилось совсем немного времени, чтобы начать использовать Bold for Delphi, а все наши парни буквально считают, что BoldSoft создал для них рабочие места.”
“…это мощная вещь, и я думаю - чрезвычайно мощная!”
Randy Trexler, Technical Project Manager, US Federal Agency

Productivity Award Statement: “Delphi фирмы Borland предыдущий победитель Jolt Award – в течение длительного времени пользовался признанием среди разработчиков. А теперь Bold for Delphi фирмы Boldsoft позволяет вам строить приложения, управляемые моделью на Delphi.”
Roger Smith, Technical Editor, Software Development Magazine, July 2001

----------------------------
А теперь и я кое-что делаю...

=mv=
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32745388
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх...
mv извините, но все, что идет ниже слов
В общем - вполне реальное средство довести свой проект до завершения в рамках заранее установленного срока или бюджета.
сильно портит то, что идет выше этих слов... Хотя я понимаю, что вы хотели как лучше.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32745393
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то двусмысленно я ответил.
Я хотел сказать, что зря вы привели эти рекламные цитаты, они (цитаты) портят впечатление от поста.
Рассказали бы про свой опыт, про свой проект.
Что удалось, что не удалось
Какие трудности.
Как их преодолели.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32745553
Прохожий2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mvBold for Delphi /Bold for C++.
----------------------------
Возвращаюсь к теме 2-х месячной давности. Если сразу не прибъёте, попробую последовательно рассказать об этом чуде, что я сам понял. Не в плане "Ура - даешь гербалайф!", а в плане - что сам знаю и умею.
Судя по всему - первоначально никто (и я в т.ч.) нифига не понял. Поцапались - и разошлись. Народ продолжает рубать n-х звенку c реляционными СУБД. Рассказывай дальше, по крайней мере один слушатель обеспечен. Кстати, в примерах про налоговую - есть ли подробности, где это и что (аналог нашей налоговой службы) ?
Я был бы не прочь послушать в стиле - как менялись твои представления по мере изучения : какие вопросы возникали, как решались.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32747796
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и вообще, меня всегда настораживают те продукты, про кот. написанно только ХОРОШО, нет ни одного продукта без НЕХОРОШЕСТЕЙ, тем более новых.

Мне бы хотелось услышать недостатки и как можно полно....
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32747878
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достоинства проявляются при знакомстве с продуктом, а вот недостатки обычно выявляются по ходу плотной работы с ним. В итоге чтобы сразу при знакомстве обьективно оценить достоинства и недостатки какого либо продукта нужно как минимум иметь неслабый опыт работы с аналогичными технологиями и продуктами. Я в таких случаях по рассказам о каком либо чуде сразу спрашиваю собеседника о мотивации перехода на этот продукт. Если обьективной мотивации нет, то есть собеседник может только рассказать как все круто, сослаться что все в мире теперь так работают или же что это более современное средство, революция или еще чего - все это означает только, что все рассказы о достоинствах можно пока пропускать мимо ушей и подождать, пока рассказчик реально не поработает и не хлебнет порцию недостатков, вот тогда будет можно и посмотреть на продукт :)

P.S. Все вышесказанное я не относил к хозяину топика, просто так сказать высказал собственный жизненный опыт. Мне лично очень интересно слушать о Bold, так как мне показалось, что изюминка в нем есть, значит ее нужно конкретизировать и принять на вооружение, а не освистывать даже не разобравшись. Особенно после заявлений, что это методология я честно говоря вообще заинтригован, так как сейчас как раз вот и разрабатываю собственную методологию разработки 2-х звенных клиент-серверных проектов на базе экстремального программирования и моя концепция очень сильно судя по описаниям mv смахивает в том числе и на MDA, только у меня модель проекта храниться в БД, существуют понятия прототипов сущностей, эталонных процедур точек входа и выхода, для каждого прототипа существуюет юнит-тест, на базе моего языка шалонов ASA MacroSQL для каждой физического таблицы БД есть возможность обвязать их логическими аттрибутами из словаря проекта (это с C# уже дернуто), которые автоматически влияют на генерацию ХП и триггеров с шаблонов, ссылающихся на эти аттрибуты. Ну и плюс сразу поддерживается генерация по определенным в словаре проекта стилям представлений визуальных DataWindow, которые могут экспортироваться в библиотеки PBL, а значит дальше использоваться в клиентской части, написанной на PowerBuilder или .NET платформе при установленном на ней DataWindow.NET. Чуть позже я в свой топик выложу детальные описания и скриншоты дизайнера, будет интересно сравнить с Bold :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32748555
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про недостатки.
-----------------
Ну, да. Недостатков всегда больше, чем хотелось бы. Нашел уже пару явных глюков. А как же в нашем деле без этого? Правдо, все пока разрешилось нормально.
Ну, вот еще, например - вопросы локализации. Как скромно написано в книжке , вопросы локализации легко разрешаются простым Rational-Rose скриптом (пример в приложении книжки). Угу. Не далее как вчера нарвался на то, что при генерации скрипта, для имен автоматически созданных классов (реализующих множественную ассоциацию), используются имена классов модели, и, если они русские - то и имена объектов программы на Delphi будут "транслитерированы". Т.е. просто кракозябрами. Причем процесс "транслитерации" забит программно - его можно либо отключить, либо включить - изменить таблицу перекодировок не представляется возможным. Хотя и эту беду обошел. Думаю, дальше буду использовать специально добавленные в модель тэг - параметры, в которых буду хранить русские имена объектов модели. Но это мелочь, правда? Всю жизнь на англиском проектировали, у тут нефиг было губу раскатывать. Хотя, если переделать одну малюсенькую процедурку в сырцах...

Ну, еще - когда создал первое многопользовательское приложение, и меня уже распирало от гордости при виде того, как у юзеров автоматически меняются совместно редактируемые данные (это та фича, про которые многие "релиционщики" говорят, что она не нужна - так по мне, ее просто было тяжело реализовать. IMHO.), возникли проблемы с совместными блокировками. Но и с этим разобрался - просто прочитал в доках описание концепции регионов . Все очень прозрачно.


Ну, стандартные контролы мне не очень нравятся. Потихоньку затачиваю свои контролы. В доках есть описание процесса "болдификации" "обычных" контролов.

Еще не нравится то, что в сгенерированных файлах кода (ну, если, к примеру, хочу переопределить виртуальную функцию класса в коде Delphi), не работает Class Copletion. Ну да ладно, было время (Турбо Паскаль!), когда ничего такого и в помине не было.
-------------------------

Насчет своей работы. Сейчас добиваю визуальный дизайнер для конфигурирования комплекта поставки программного обеспечения. Внешне выглядит как MS Visio, с прямоугольничками и связями между ними. Ну, граф с разными видами связей между узлами. Реализация графического интерфейса (настраиваемого) заняла всего 2-3 дня, еще день - на "болдификацию" (ну, чтобы данные в базе сохранялись). Сечас, когда добью "красоту", попробую "обернуть" рисовалку в Bold - контрол.


Да, еще раз по поводу книжке - купите и прочтите. Многое там опущено (объем все-таки небольшой) - но как вводный курс очень даже ничего. Да, с Bold идет масса документации в электронном виде (есть ли в печатном - не знаю :).

Очень жалко, но "опытные" программисты при разговоре часто не въезжают, о чем речь. Хотя идея чрезвычайна проста и красива. Може, опубликование реализованных фич продукта (это все второстепенно, поверьте! - главное - сама идея) поможет заинтересовать народ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32749994
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, пожалуй, стоит начать с архитектуры. Или с возможностей. Ну ладно, архитектура.

Далее аббревиатура ОП будет означать Объектное пространство или объектный слой.

Обозначения:
-------------

COM Client Любой "COM-говорящий" клиент, который может получить типизированный или нетипизированный доступ к ОП
Webserver Плагины могут быть написаны для любого веб-сервера, в есть демка для IIS
Bold aware Controls Нативные Delphi - компоненты, использующие OCL для доступа к ОП.
VCL Controls Стандатрные котролы Delphi
DB Controls Стандатрные DB - контролы
Bold Aware COM Controls Нативные Delphi COM aware Bold - компоненты, components, использующие OCL для доступа к ОП
VCL adapter Компонент, который предоставляет доступ к любому свойству любого VCL компонента, чтобы сделать его Bold aware
Bold Dataset Компонент, который позволяет получить доступ к бизнес - объектам как к набору данных, (TDataset Delphi)
COM exporter Генерирует код для интерфейсов и врапперы для бизне - объектов
XML gateway Извлекает любые данные ОП в виде XML - потоков
Presentation mapping Предназначен для манипуляции с данными из уровня представления к ОП
Object space Собственно - само объектное пространство ( ОП ). Место, где живут бизнес - объекты
Client Side Handle/HTTP Клиентская часть HTTP - соединения с ОП
Client Side Handle/COM Клиентская часть COM/DCOM - соединения с ОП
Server side handle/HTTP Серверная сторона HTTP - соединения с ОП
Server side handle/COM Серверная сторона COM/DCOM - соединения с ОП
Persistence Handle Дескриптор ОП
OR Mapper Реализует двусторонее преобразование запросов между ОП и реляционной СУБД
BDE Mapper Преобразует запрос к уровню данных к любому источнику данных, сформированному с помощью BDE
ADO Mapper Преобразует запрос к уровню данных к любому источнику данных, сформированному с помощью ADO (не требует BDE)
IB Mapper Преобразует запрос к уровню данных к любому источнику данных, сформированному с помощью компонентов IBX (используется СУБД InterBase) (не требует BDE)
File Mapper Выполняет преобразование запроса к уровню хранения данных в XML поток (не требует BDE)
Propagator Сервер сихронизации, оповещает клиентов об изменениях состояния бизнес-объектов, произошедших в уровне хранения данных
UML Model Содержит метамодель вашего приложения.
DBMS Любая подходящая СУБД.
XML Текстовый файл XML, сгенерированный Bold for Delphi.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750207
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, а теперь - о возможностях.

Возможности

Ну, как всегда, сперва бла-бла-бла (можно не читать первые два абзаца :)
Технология Bold является реализацией переноса в приложение UML моделей. Различные свойства продукта Bold for Delphi помогают упростить процесс перемещения между моделью и кодом с помощью разнообразного набора сервисов, таких, как генерация схемы, механизмы размещения данных и их отображения. Он также позволяет получать готовые приложения с удивительно малым объемом кода.
Реализация модели предполагает, что приложение знает о модели. Управляя разработкой приложения на основании информации о модели, мы приближаемся к новой мощной технологии, называемой «Процесс Разработки, Основанной На Модели» (Model Powered Development).
Производительность
Производительность, выраженная во времени разработки, вызывает дикую радость пользователя (пъянки, пляски, песни и проч.), максимально использующего Bold - технологию. RAD – природа продукта дает непревзойденную скорость при итеративной разработке и требует минимум кодирования. Рабочая среда дает Вам мощное ядро возможностей как программисту, каких не заказывал Вам ни один пользователь - такие, как управляемый моделью механизм drag and drop, полный доступ к модели и т.д.. Преобразователь OCL в SQL естественным образом преобразует выражение OCL в высокопроизводительные запросы SQL, уменьшая нагрузку на локальную машину.

Все, дальше - по делу.


Масштабируемость Механизм Синхронизациии Объектного Пространства (Object Space Synchronization) совместно с механизмом Распространения (Enterprise propagation engine) позволяет объектам бизнес- слоев выглядеть одинаково у огромного числа клиентов. Когда один из клиентов сохраняет сделанные им изменения, немедленно посылется сообщение остальным клиентам, заинтересованным в текущий момент в состоянии класса или объекта. Обработчики архитектуры отображения (model view architecture handles) извлекает свежие данные из DBMS, когда требуется клиенту, без всякого дальнейшего вмешательства. (=mv= - реализуется на "раз-два", и выглядит очень прикольно).

Поддержка погопользовательского доступа Сервер управления блокировками (Concurrency Management Server) управляет регионами путем их блокирования, не позволяя клиентам модифицировать данные, модифицируемые в данный момент другими клиентами.
Оптимистическое блокирование гарантирует, что изменения не будут случайным образом перезаписаны. Возможно блокирование на коллекцию глобально во всем приложении, на класс или на сохраняемый атрибут.
COM - aware объектное пространство, совместно с функционально полным набором COM - aware визуальных компонентов (GUI –controls) позволяет разрабатывать токого клиента. Кодирование упрощено и выполнено путем автоматической генерации интерфейсов (IDL-code) и адаптеров классов.

Поддержка Модели
Для манипулирования с информацией о модели и просмотра ее имеется среда разработки, основанная на технологии Bold. То есть Bold – приложение рабтает с мета – моделью UML как с бизнес - моделью!
Значения вычисляемых атрибутов может быть получено безо всякого кодирования. Достаточно указать OCL - выражение, необходимое для вычисления значения – и все. Естественно, возможна кодовая реализация (Object Pascal - Delphi т.е. ;) вычисляемых атрибутов для вещей, трудно достижимых (либо невозможно) в предложениях OCL. Атрибуты могут быть так же Обратно Вычисляемыми (Reverse Derived). В большинстве случаев подобным путем могут быть вычислены ассоциации.
Разрабатываем модель в Rational Rose или в любом инструменте для моделирования, поддерживающем XMI, а затем запрашиваем наш компонент, чтобы он связался с моделью. И все - модель имортирована.

Особенности при работе с моделью:
Представление модели, основанное на UML 1.3
Импорт из Rational Rose
Bold – специфициующие добавления в Rational Rose
Поддержка определяемых пользователем тег - значений
Импорт потоков XMI

Объектное пространство
Объектное Пространство Bold (Bold Object Space) – это то место, где живут Ваши бизнес - объекты. Это – средний уровень в данной трехуровневой архитектуре. Он чрезвачайно тщательно разработан так, чтобы ничего не знать об устрйстве уровне представления или об уровне данных. Тем не менее, навигация по отношениям всегда будет гарантировать, что связанные объекты быдут отфетчены (извлечены то есть) из базы данных.

Ограничения
Ограничения теперь могут быть добавлены в модель и могут помочь в заставить работать бизнес – правила безо всякого дальнейшего кодирования.

Транзакции в объектном пространстве
Bold реализует транзакции в объектном пространстве, начиная с r2.0. (а сейчас 4.0!)

Механизм запросов
В дополнение к существующему событийному механизму, когда возникает необходимость, может быть добавлен связанный механизм запросов для доступа и манипулирования всеми элементами объектного пространства. Это очень мощная инфраструктура для разрешения, блокировки и авторизации.

OCL
Существуют методы получения значений OCL – выражений как параметров. Это очень производительный метод извлечения результатов из объектного пространства. Эти выражения могут быть вычислены сразу (или возможна подписка на них), чтобы получит результат "вживую" или выполнить некоторую логику, когда были изменены конкретные значения объекта или коллекции объектов.

Откаты
Объектное пространство поддерживает транзакции, которые могут быть использованы для изоляции от комплексных изменений, которые в дальнейшем могут быть неудачными. В этом случае возможен откат сделанных изменений.
(=mv= - Undo - Redo - юзеры заныли сразу - "а почему сразу нельзя сделать было?")

Итого:
Object Space Synchronization Server
Нетипизированный COM – доступ к Объектному Пространству
Типизированный COM – доступ к Объектному Пространству
Вычисляемые обратно – вычисляемые атрибуты
Кодирование свободно – вычисляемых атрибутов и ролей
Временная навигация в объектном пространстве
Логика 3-х – уровневой архитектуры
Обширный набор лагических атрибутов
Поддержка ограничений для модели
Поддердка обновление объектов для новых версий
Поддержка извлечения данных в XML
Возможность добавления типов данных, определяемых пользователем
Многоуровневый undo/redo


Уровень данных
Bold for Delphi отображает всю Вашу бизнес – модель в реляционную базу данных. Схема базы данных, которая отображает Вашу бизнес – классы и отношения, генерируется автоматически. Поддерживаемый набор атрибутов включет стандартный набор типов, таких, как строки, различные числовые типы. Ваши собственные атрибуты, используемые в процессе, должны быть использованы в модели.
Автогенерация схемы основывается на диалекте SQL ANSI92. Имеется возможность подцепить Ваши собственные SQL-операторы, чтобы принять участие в фазе генерации базы. Все штатные операции построения схемы могут быть переделаны.
Одна из наиболее изумительных возможностей – Эволюция Модели (Model Evolution). Она позволяет преобразовывать схему на основании предыдущей версии модели в схему, которая соостветствует текущей версии модели. Все это позволяе максимально обеспечить сохранность и целостность данных.

Итого:
Сервер управления блокировками (Concurrency Management Server)
Полный набор атрибутов для управления уровнем данных
Физическая 3-х - уровневая архитектура
Поддержка для атрибутов, определяемых пользователями
Поддержка определяемых пользователем многоколонных атрибутов
Поддержка для удаленных серверов хранения данных
Расширение для версионности объектов (Object Versioning Extension)
Оптимистическое блокирование
Оптимизированный потоковый XML формат
Отображение модили в базу, хранимое в базе
Эволюционная трансформация модели/схемы
Эволюционная трансформация модели/данных
Совместимость модели/схемы с будущей версией
Совместимость модели/схемы с предыдущей версией
Поддержка default - знаечений в БД

Графический интерфейс
Графический интерфейс подключается к объектному пространству, использую выражения OCL. Все наши компоненты позволяют Вам специфицировать одно или больше OCL – выражений, чтобы получит некоторое подмножество наших бизнес – объектов или их членов. Набор of Bold-aware - компонентов приблизительно соответствует набору DB-компонентов. Также имеется очень мощный Bold aware компонент для работы с деревьями.
Enterprise edition поставляется с эквивалентным набором COM-enabled натуральных VCL-компонентов, который позволяет вам выполнить построение тонкого клиента. Чтобы защитить Ваши вложения в толстого клиента, конвертер толстого в тонкий клиент включен в продукт. Он изменяет значимые части кода и формирует из него эквивалент в виде тонкого клиента.
Расширенный набор дескрипторов как стартовая точка для обработки ваших данных. Некоторые дескрипторы могут быть соединены в цепочки с целью моделирования отношений и создания набора объектов.
Продукт поставляется с исходным кодом всех размещаемых компонентов, как визуальных, так и невизуальных.

Итого по GUI:
Функционально полный набор VCL model aware - компонентов
Функционально полный набор COM enabled – компонентов
Функционально полный набор обработчиков объектов для получения данных из объектного пространства.
Адаптеры между DB – компонентами и Bold - компонентами (TBoldDataset)
Оптимизированные multy – valued компоненты
Общий адаптер между VCL – свойствми и Объектным Пространством (TBoldPropertyController)
Акции (от TActions) для общих задач

Дизайн - тайм
Разработчики найдут множество полезных возможностей в дизайн – тайме, таких, как на интуитивно – понятный редактор для свойств и компонентов. Очень полезен для редактирования конткстно – зависимый OCL – редактор, который позволяет Вам премещаться по модели для создания собственных сложных OCL – выражений методом point – and - click. Другой мощный редактор компонента – это внутренний UML Редактор Модели, который обрабатывает модель в дизайн - тайме. Он позволит редактировать все важные части модели (=mv= по мне - в Rose удобнее. Хотя, может, не привык еще) . Дополнительно, он позволяет в дизайн – тайме перетаскивать элементы модели на форму.
Связанные свойства Bold сгруппированы в Bold - категории.
После импортирования модели из Rose или XMI, генератор на основании шаюлона сгенерирует код для всей вашей модели, включая список типов, методы доступа к типам для атрибутов и ролей.
Bold for Delphi обеспечивает генерацию кода Delphi, чтобы обеспечить доступа к иерархии классов, определенной в модели. Члены доступны как настоящие типы Delphi или как члены классов. Генерируются модули – заглушки для реализации бизнес - логики.
По желанию, Вы также можете сгенерировать код IDL, также, как и адаптеры для всех бизнес - классов. Это позволит использовать COM в вашем приложении и написать клиентов в любом COM-aware – инструменте разработке (VB, VC++, Office и т.д.).
Выражения OCL в компонентах могут быть вычислены для проверки в дизайн - тайме.

Итого по дизайн – тайму:
Проверка OCL
Контекст – чувствительный OCL - редактор
Генерация IDL и кода адаптеров
Уличшенные редакторы свойств и компонентов
Drag and drop из редактора модели
Внутренний редактор модели
Генерация кода, основанная на шаблонах
Проверка OCL – выражений в модели
Доступ по одному щелчку мыши к редактору модели

Ран - тайм
В ран - тайме мощь MDA сверкает во всю силу (прям в глазай рябит). Типо-чувствительный автоматический drag-and-drop поддерживает drag and drop :), где только такое возможно, и наполняет отображение модели гарантированной логикой связи между объектами и их отображаемыми значениям и другими ценными возможностями. Короче, это нажо видеть.
Новая возможность управления преобразованием OCL выражения в стандартный SQL - оператор. Она дает заметное повышение производительность при формировании одиночных объетов из можества классов.

Итого по Ран – тайму
Преобразование OCL в SQL
Расширенные механизмы подписок
Отимизация представления модели в рантайме
Оптимизация объектного пространства
Управление памятью/распределение/цепочками дескрипторов

Прочее

Масса примеров в комплекте. Плюс толковое описание принципов работы по каждому из примеров. Естественно, множество примеров рассматриваемой рабочей среды упрощены для уменьшения затрат времени. Примеры включают маленькие приложения, примеры компонетов и куски кода, иллюстрирующие возможности применения технологии.

Итого по Прочему:
Преобразователь Толстого коиента в Тонкий
Расширенный набор примеров (ну, типа - Simple сперва был набор, а потом расширили. Но примеры классные =mv=)
Примеры компонентов
Help, интегрированный в IDE
Исходный код для компонентов GUI
Определение интерфейсов для все модулей

------------------
Уфф! Overfuck!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750228
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я уже и говорил, это архитектура, как никакая другая, подходит для реализации многозвенок, а для К-С прилож. уж слишком тяжела.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750234
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и идея в К-С прилож. совсм другая - основная нагрузка на СЕРВЕР.
А для многозвенок очень даже подходит, так как бизнес логика реализуется в Сервере Приложения (только вот про констрайнты мне совсем не нравится идея).
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750309
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, блин... 2-х - звенки - 3-х звенки... О чем вообще разговор-то?
Ну ладно, если хочешь. Поговорим.
Ну, для "классической" трехзвенки - с " физическим " разделением на три уровня тут тоже попариться нужно, несмотря на наличие Clientifier. Тут все-таки предполагается сорее логическое разделение по уровням - представление, бизнес-логика - хранение. А реализовать - да хоть в одном модуле, используя XML - потоки для хранения данных. При создании прототипов приложения я так и делаю, чтобы, типа - "Пришел к заказчику, воткнул в комп флешку - и все работает".

А так, если с вашей точки зрения - то скорее я использую 2-х звенку. Ну, плюс модуль синхронизации - Propagator на одном из компьютеров. Если хочешь, пусть такая схему будет называться трехзвенкой. Да хоть семизвенка - что в это упираться-то? Главное - MDA!
Ну, все-таки, этот разговор - уход от темы.

Все фигня, кроме пчел.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750448
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvПроизводительность
Производительность, выраженная во времени разработки, вызывает дикую радость пользователя (пъянки, пляски, песни и проч.), максимально использующего Bold - технологию. RAD – природа продукта дает непревзойденную скорость при итеративной разработке и требует минимум кодирования. Так, все-таки, в цифрах - какой именно прирост производительности дает Bold? Можно ли сказать, что если при традиционной разработке некого приложения трудоемкость составит около 12 чел/мес, то использование Bold дает экономию в 2-4-6-... чел/мес? Какие преимущества дает Bold при разработке бизнеслогики (не останавливаясь на возможностях создания интерфейса с применением drag-n-drop без ручного кодирования)?

Спасибо
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750577
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, в первом посте сказано было о 10-кратном улучшении производительности, а автор книжки утверждает, что гораздо больше. Боюсь вызвать поток насмешек обсуждением этого вопроса. Насчет сокращения времени разработки - это правда. Автор книжки, когда внедрял технологию в своей фирме, по собственной инициативе, "долгими зимними вечерами", за месяц создал рабочую систему из 150 табличек (ну, далее нужно говорить не о табличках, а о классах). Я думаю, такая система как раз соответствует 10-12 человеку-месяцам.

Ну, думаю, как всгда - нужно время на освоение. Вспомните свои первые клиент - серверные приложения. И сравните с "не первыми".

авторКакие преимущества дает Bold при разработке бизнеслогики (не останавливаясь на возможностях создания интерфейса с применением drag-n-drop без ручного кодирования)?
Хорошо. Про графический интерфейс ни слова.
- Ну, об этом уже говорилось. Бизнес - объекты живыт в ОП, которое управляется напрямую UML - моделью. UML - модель "живет" в приложении. Нет разрыва между документацией и реализацией. Я имею в виду бизнес-логику, естественно.
- Плюс, учитывая ограничения UML - модели - используется язык OCL.
- если и этого Вам мало - дополнительные бизнес-правила могут реализовываться в коде (Delphi / C++), но опять-таки как реализация в коде операций/атрибутов/ассоциаций/ограничений модели. Т.е. опять все в рамках модели.
- достаточно эффективный механизм отображения объектного пространства на пространство реляцинных СУБД. Т.е. ты практически не занимаешься SQL - кодированием. Если хочешь оптимизации - пожалуйста, есть возможность.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750619
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще такой вопрос:

Где хранится бизнес-логика? Судя по всему.... Непонятно где, что-то :)

Но скорее всего на клиенте. Так?
Или бОльшая часть на клиенте, остальное в БД?
Есть ли хоть какие хранимые процедуры в БД. которые генерятся автоматически. И если есть, чего они выполняют?

ЗЫ Я это к чему? К тому, что если все на клиенте, то без него система не система уже и БД никому не нужна и никакой пользы не принесет.
Правда может кому-то и не нужен доступ к системе извне клиента. Но обычно случается, что доступ нужен.

Лично мне так было бы нехорошо.

Ну и про скорость работы системы хотелось бы узнать, правда как сравнить то ее с к-с? :))

авторПравительство, система управления налогами
Описание Система управления налогами для индивидуальных лиц и предприятий
Пользователи 200 налоговых регистрационных пунктов, административный персонал
Объем 130 классов, 10 миллиона объектов
Что тут подразумевается под объектами?


-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750638
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли хочешь оптимизации - пожалуйста, есть возможность

А каким образом? В смысле, где там вообще лежит то, чего можно оптимизировать и как к оному подобраться и изменить? И не переправится ли оно обратно в следующую.... ну компиляцию или сборку или чего там делается, когда вносятся изменения :)

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750701
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Тигра.
1. Бизнес - логика хранится непосредственно в модели.
А модель - в приложении. Это ж MDA (Model Driven Architecture)

2. Доступ к базе (как и управление генерацией схемы базы) реализуется посредством специальных адаптеров. Если тебе мало существующих - реализуй свои. Все исходники в наличии. Автор многократно упоминаемой книжки делал "свои" адаптеры, которые генерировали, кроме таблиц, еще и ХП (для Oracle, насколько я помню).

3. Насчет скорости
а. Ну, давай сравним MS SQL и MySQL. В каком случае скорость больше? Нужна конкретная задача, которую каждый реализует, как может.
б. Мне (пока) хватает.
в. Система изначально использует парадигму кэширования всех выполняемых изменений, так что, если придерживаться этой парадигмы, скорость можно обеспечить потрясающую.
в. Еще раз - все зависит от конкретной задачи и от знаний/умений разработчика. Или ты не согласен.

4. Объекты - это объекты. В плане ООП. Экземпляры классов в Delphi/C++, например.

5. По поводу изменений структуры модели/базы. Отдельный разговор. Следите за новостями.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750718
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Тигра.
1. Бизнес - логика хранится непосредственно в модели.
А модель - в приложении. Это ж MDA (Model Driven Architecture)

2. Доступ к базе (как и управление генерацией схемы базы) реализуется посредством специальных адаптеров. Если тебе мало существующих - реализуй свои. Все исходники в наличии. Автор многократно упоминаемой книжки делал "свои" адаптеры, которые генерировали, кроме таблиц, еще и ХП (для Oracle, насколько я помню).

3. Насчет скорости
а. Ну, давай сравним MS SQL и MySQL. В каком случае скорость больше? Нужна конкретная задача, которую каждый реализует, как может.
б. Мне (пока) хватает.
в. Система изначально использует парадигму кэширования всех выполняемых изменений, так что, если придерживаться этой парадигмы, скорость можно обеспечить потрясающую.
в. Еще раз - все зависит от конкретной задачи и от знаний/умений разработчика. Или ты не согласен.

4. Объекты - это объекты. В плане ООП. Экземпляры классов в Delphi/C++, например.

5. По поводу изменений структуры модели/базы. Отдельный разговор. Следите за новостями.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750787
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я и с одного раза понимаю :))

автор1. Бизнес - логика хранится непосредственно в модели.
А модель - в приложении. Это ж MDA (Model Driven Architecture)
Понятно
автор2. Доступ к базе (как и управление генерацией схемы базы) реализуется посредством специальных адаптеров. Если тебе мало существующих - реализуй свои. Все исходники в наличии. Автор многократно упоминаемой книжки делал "свои" адаптеры, которые генерировали, кроме таблиц, еще и ХП (для Oracle, насколько я помню).
Я не про такой доступ. Я имею ввиду доступ не из клиента, а извне. Независимо от клиента доступ к БД без потери логической целостности. Но теперь понятно, что такое тут невозможно.

автор3. Насчет скорости
а. Ну, давай сравним MS SQL и MySQL. В каком случае скорость больше? Нужна конкретная задача, которую каждый реализует, как может.
Это да, и сказал - как померить то? Просто может была подобная система на к-с технологии....
авторв. Система изначально использует парадигму кэширования всех выполняемых изменений, так что, если придерживаться этой парадигмы, скорость можно обеспечить потрясающую.
А где они кэшируются? И как это может влиять на скорость???
авторв. Еще раз - все зависит от конкретной задачи и от знаний/умений разработчика. Или ты не согласен.
Конечно согласен :)
автор4. Объекты - это объекты. В плане ООП. Экземпляры классов в Delphi/C++, например.
Ну то есть а переводе на к-с - количество всех записей таблиц в БД. Ну, не густо получается.
автор5. По поводу изменений структуры модели/базы. Отдельный разговор. Следите за новостями.
Не, не структуры - я спрашивал про достаточно эффективный механизм отображения объектного пространства на пространство реляцинных СУБД. Т.е. ты практически не занимаешься SQL - кодированием. Если хочешь оптимизации - пожалуйста, есть возможность.
Вот где делать то оптимизацию??? В запросах, которые лежат в исходниках клиента?

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750803
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, тигра, я не понимаю, что ты спрашиваешь, наверное. Хотя очень стараюсь. Давай "выделим нить обсуждения, и обсудим ее". По одному вопросу, если можно.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750813
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra Не, не структуры - я спрашивал про достаточно эффективный механизм отображения объектного пространства на пространство реляцинных СУБД. Т.е. ты практически не занимаешься SQL - кодированием. Если хочешь оптимизации - пожалуйста, есть возможность.
Вот где делать то оптимизацию??? В запросах, которые лежат в исходниках клиента? Понятие "оптимизация" != "оптимизация БД". Оптимизировать можно и UML модель.

При оптимизации системы имеет смысл оптимизировать наиболее критичные для этой системы участки. Если логика в базе - то SQL запросы. Если на клиенте - то клиента. Если посередине, то средний уровень.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750858
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ и с одного раза понимаю :))
Пардон, нажал не туда.


авторЯ не про такой доступ. Я имею ввиду доступ не из клиента, а извне. Независимо от клиента доступ к БД без потери логической целостности. Но теперь понятно, что такое тут невозможно.

Ну, так же, как и обычная реляционная СУБД не защищена от доступа со стороны программ, работающих с файлами ОС "напрямую" :)

автор Просто может была подобная система на к-с технологии....

Была у нас простая справочная система на полтора десяка юзеров, переписал ее на новой технологии - тетки вроде не вопят. InterBase (FireBird 1.5) Но там не было критичных запросов - чисто справочная система - изредка формирование разной статистики. Объем базы невелик - файл около 70 мегабайт. Ну, первоначальная загрузка данных стала чуть быстрее - но думаю, и на старой системе этого можно было достичь.


авторА где они кэшируются? И как это может влиять на скорость???
В объектном пространстве. А потом, когда нужно - все изменения скопом сбрасываются в СУБД. Я думаю, что работа с ОП все-таки быстрее, чем с дисковой подсистемой? :)

авторНу то есть а переводе на к-с - количество всех записей таблиц в БД. Ну, не густо получается.

Ну, тут уже другие правила при проектировании сущностей. Может и не густо, а может - и густо.

авторВот где делать то оптимизацию??? В запросах, которые лежат в исходниках клиента?

Ну, насчет оптимизации. Если тебя не устраивает производительность запросов по "по умолчанию", то есть копоненты, в которых ты прямо ручками шишешь SQL - запрос, как в до боли знакомой TQuery.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750897
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один
При оптимизации системы имеет смысл оптимизировать наиболее критичные для этой системы участки. Если логика в базе - то SQL запросы. Если на клиенте - то клиента. Если посередине, то средний уровень.

Братцы, я не понимаю интерес именно с этой стороны. Когда вы приложения с использованием SQL - серверов делать стали, вас в первую очередь, интересовали вопросы оптимизации?

Ну, есть возможность отладки на разных уровнях, в т.ч. и трассировка SQL - запросов. И изменение параметров системы для улучшения производительности.

- Граждане извозчики! Автомобиль позволяет развить скорость до 30 верст в час, он состоит из кузова, мотора, и ходовой части!
Вопросы есть?

... куда вожжи...?
... а по буеракам?
... в Тверь до вечера поспеешь? Иди ты!
... охр@нел совсем, а куда подковы, совсем новые?
... лошади пугаться будут!
... да он пъяный!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750976
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОдинПонятие "оптимизация" != "оптимизация БД". Оптимизировать можно и UML модель.

Нет, тут как раз вопрос про БД. Это и mv подтвердил дальше.

авторНу, так же, как и обычная реляционная СУБД не защищена от доступа со стороны программ, работающих с файлами ОС "напрямую" :)
Неееееее, вопрос не про защиту - как раз про наоборот. Т.е. в своей системе я могу в большинстве случаев хоть откуда - хоть из asp.net - дернуть ХП и сделать какое-то "бизнес-логическое" действие, т.е. ХП внутри себя сделает чего-то, призведет манипуляции с данными. вызовет еще n ХП - и в результате получится некоторое доведенное до логического окончания действие. Например провести заказ в статус, или переместить товар и т.д. Мне для это нужно в большинстве случаев всего то написать exec MyStoredProc @id = ... и все.
Это частный пример, можно делать все, что угодно. И не всегда есть необходимоть/возможность/время запускать клиента.
В случае же Bold получается, что так никак не сделать. Потому что только клиент контролирует всю логику работы системы.

авторВ объектном пространстве. А потом, когда нужно - все изменения скопом сбрасываются в СУБД. Я думаю, что работа с ОП все-таки быстрее, чем с дисковой подсистемой? :)
Ну БД то тоже кэширует данные, и неплохо это делает :)
А вот как же тогда другие клиенты - они то не узнают о сделанных изменениях. Т.е. в большинстве случаев все же нужно сбрасывать данные сразу, без кэширования.

авторНу, насчет оптимизации. Если тебя не устраивает производительность запросов по "по умолчанию", то есть копоненты, в которых ты прямо ручками шишешь SQL - запрос, как в до боли знакомой TQuery.
Теперь понятно :)

авторБратцы, я не понимаю интерес именно с этой стороны. Когда вы приложения с использованием SQL - серверов делать стали, вас в первую очередь, интересовали вопросы оптимизации?
Сначала нет, а потом так заинтересовали....!!!!
Поэтому обжегшись на молоке, дуем на воду.
Тем более что если отсутствуют нормальные способы оптимизации, то на фиг такая система. Потому сразу и спрашиваем :)



-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32750994
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБратцы, я не понимаю интерес именно с этой стороны. Когда вы приложения с использованием SQL - серверов делать стали, вас в первую очередь, интересовали вопросы оптимизации?
Да нет, конечно же впервую очередь не интересовало. Просто рано или поздно все мы наступили на такие грабли, которые больно бьются и называются "Ограничения". И это касается всего чего угодно - от Access-а до самых современных средств разработки и моделирования приложений. Так что вот второй раз наступать на эти грабли никому ой как не хочется (во всяком случае я еще такого человека не встречал), поэтому так все дотошно и интересуются ограничениями :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751027
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Т.е. в своей системе я могу в большинстве случаев хоть откуда - хоть из asp.net - дернуть ХП и сделать какое-то "бизнес-логическое" действие, т.е. ХП внутри себя сделает чего-то, призведет манипуляции с данными. вызовет еще n ХП - и в результате получится некоторое доведенное до логического окончания действие. Например провести заказ в статус, или переместить товар и т.д. Мне для это нужно в большинстве случаев всего то написать exec MyStoredProc @id = ... и все.
Это частный пример, можно делать все, что угодно. И не всегда есть необходимоть/возможность/время запускать клиента.
В случае же Bold получается, что так никак не сделать. Потому что только клиент контролирует всю логику работы системы.

Ты невнимателен. Посмотри на описание - про COM - клиентов.

авторНу БД то тоже кэширует данные, и неплохо это делает :)
Кэширование на клиенте несет совсем иную смысловую нагрузку. Ты о таком режиме не слышал?

авторА вот как же тогда другие клиенты - они то не узнают о сделанных изменениях. Т.е. в большинстве случаев все же нужно сбрасывать данные сразу, без кэширования.

Ты невнимателен. Есть механизм пропагаторов.

авторТем более что если отсутствуют нормальные способы оптимизации, то на фиг такая система.

Система есть, но "нормальна" ли она для каждого отдельно взятого девелопера?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751058
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТы невнимателен. Посмотри на описание - про COM - клиентов.
Внимателен.
Но как-то меня не прикалывает вызывать COM-объект для того, чтобы например перевести заказ в нужный статус.

авторКэширование на клиенте несет совсем иную смысловую нагрузку. Ты о таком режиме не слышал?
Ну или мы говорим о кэшировании данных, или о чем-то другом. Если о первом, то ..... совсем уж не иную.

авторТы невнимателен. Есть механизм пропагаторов.
Внимателен:
Propagator Сервер сихронизации, оповещает клиентов об изменениях состояния бизнес-объектов, произошедших в уровне хранения данных
Как другой клиент увидит изменения, если их в БД еще нет? То, что он узнает об изменениях, не поможет. Или propagator рассылает измененные данные? Не думаю что-то. А если не рассылает - то чтобы другой клиент увидел изменения, первый клиент должен их положить на сервер БД. А как же тогда Система изначально использует парадигму кэширования всех выполняемых изменений, так что, если придерживаться этой парадигмы, скорость можно обеспечить потрясающую.
Или я что-то не то думаю, не о том кэшировании? Тогда как оно связано со скоростью?
Во!
Как кэширование изменений связано с потрясающей скоростью?

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751091
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНо как-то меня не прикалывает вызывать COM-объект для того, чтобы например перевести заказ в нужный статус.
Это проще, чем кажется. Но конечно, насильно мил не будешь.

авторНу или мы говорим о кэшировании данных, или о чем-то другом. Если о первом, то ..... совсем уж не иную.

Данные на серваке кэшируются с целью уменьшения обращения к дисковой подсистеме. Данные на клиенте кэшируются:
- с целью выполнения последовательности некоторых дествий, которые интересны серверу только после их логического завершения. Например - формирования составного документа.
- с целью уменьшения трафика сети.


авторВнимателен:
Невнимателен.

авторКак другой клиент увидит изменения, если их в БД еще нет? То, что он узнает об изменениях, не поможет. Или propagator рассылает измененные данные? Не думаю что-то. А если не рассылает - то чтобы другой клиент увидел изменения, первый клиент должен их положить на сервер БД. Беда, беда. Привык ты к кусорам всяким, не понимаешь. Вот пример. На экране юзера отображается два поля - Фамилия и Имя. Юзер извлек эти поля не по принципу SQL - "select и зыбыл", а получив унакальный идентификатор объекта. Об получении этого объекта он известил пропагатор, и попросил его извещать обо всех изменениях, сделанных с этим объектом (подписалься на этот объект). Ну, вот, когда кто-то меняет объекты, эти кто-то извещают пропагатор об изменениях. Если ты подписался на эти объекты, то получаешь от пропагатора соотв. сообщение, и повторно отфетчивешь объект. А выглядит все очень прикольно - ты сделал изменение в фамилии - и все юзеры через положенное время увидели результат. Скажи - такое приработе РСУБД возможно в общем виде, с отображением произвольной структуры вьюх? Я лично объяснял заказчику, что это не нужно, потому что он не понимает своей выгоды от не-реализации такой фичи. А тут - все на поверхности.

авторКак кэширование изменений связано с потрясающей скоростью? Все еще не понятно.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751103
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА если не рассылает - то чтобы другой клиент увидел изменения, первый клиент должен их положить на сервер БД.

Извини, пропустил. Да, конечно, когда КЛИЕНТ посылает данные на сервер, только тогда пропагатор и начинает работать. Т.е. "у себя в кармане" копайся сколько влезет, а как кидаешь все на сервер - пожалте через пропагатор. Тут еще про механизм блокировок и про регионы поговорить нужно.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751136
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБеда, беда. Привык ты к кусорам всяким, не понимаешь. Вот пример. На экране юзера отображается два поля - Фамилия и Имя. Юзер извлек эти поля не по принципу SQL - "select и зыбыл", а получив унакальный идентификатор объекта. Об получении этого объекта он известил пропагатор, и попросил его извещать обо всех изменениях, сделанных с этим объектом (подписалься на этот объект). Ну, вот, когда кто-то меняет объекты, эти кто-то извещают пропагатор об изменениях. Если ты подписался на эти объекты, то получаешь от пропагатора соотв. сообщение, и повторно отфетчивешь объект. А выглядит все очень прикольно - ты сделал изменение в фамилии - и все юзеры через положенное время увидели результат. Скажи - такое приработе РСУБД возможно в общем виде, с отображением произвольной структуры вьюх
Какие курсоры? Я их видел то два раза за год. Что, не знаю чтоли, как извещения работают?
Только при чем тут вьюхи???
Ну сделать подписку на изменения можно и в обычной к-с системе, и не так сложно. Но нужно ли? Лишний трафик, кстати :). Но если сильно нужно - да нефиг делать, сделаем. :)
Но тогда кэшировать нельзя - никто ничего не увидит. Неувязочка однако.

авторДанные на серваке кэшируются с целью уменьшения обращения к дисковой подсистеме. Данные на клиенте кэшируются:
- с целью выполнения последовательности некоторых дествий, которые интересны серверу только после их логического завершения. Например - формирования составного документа.
- с целью уменьшения трафика сети.
Ну так и к-с так же делает.

И так и не понятно - где тут скорость? Где скорость, зависящая именно от кэширования технологией Bold? Скорость чего? Можно ли конкретный пример, чтобы было видно, что и как ускорилось?

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751141
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБеда, беда. Привык ты к кусорам всяким, не понимаешь. Вот пример. На экране юзера отображается два поля - Фамилия и Имя. Юзер извлек эти поля не по принципу SQL - "select и зыбыл", а получив унакальный идентификатор объекта. Об получении этого объекта он известил пропагатор, и попросил его извещать обо всех изменениях, сделанных с этим объектом (подписалься на этот объект). Ну, вот, когда кто-то меняет объекты, эти кто-то извещают пропагатор об изменениях. Если ты подписался на эти объекты, то получаешь от пропагатора соотв. сообщение, и повторно отфетчивешь объект. А выглядит все очень прикольно - ты сделал изменение в фамилии - и все юзеры через положенное время увидели результат.
То есть если я через ISQL напишу UPDATE Table SET FIO = <Значение> WHERE Man_id = <Код> , то все клиенты, написанные на Bold будут об этом извещены ? Или же мне нужно такие изменения делать только опять же через Bold и любой такой запрос из левого приложения или хранимой процедуры вызовет несоотвествие данных, лежащих на сервере и хранящихся у клиентов, что и происходит при классической реализации клиент-сервера ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751169
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тигра, опять ты меня развел... Очень уж ты эмоционален. Хорошо хоть, что общаемся в виртуале.

авторКакие курсоры? Я их видел то два раза за год. Что, не знаю чтоли, как извещения работают?
Только при чем тут вьюхи???

Ну да, вьюхи тут не причем. Я имею в виду, что то, что получил клиент с сервера (в обычной к-с системе) - это как на бумаге отпечатано. Ну, получил ты результаты запроса типа

Код: plaintext
1.
  Select t1.Field1, t2.Field2 from Table1 t1 outer join
    Table2 t2 on (t2.id_t1 = t1.id_t1)
, смотришь на него, а редактировать без написания соотв. update - sql не можешь. А в данном случае не можешь в принципе. Потому что Id__t1, Id_t2 не присутствуют в выборке.


авторНу сделать подписку на изменения можно и в обычной к-с системе, и не так сложно. Но нужно ли? Лишний трафик, кстати :). Но если сильно нужно - да нефиг делать, сделаем. :)
Хорошо тебе. Умный ты.
Ну, а тут все это есть изначально.

авторНу так и к-с так же делает.
Ну, да, есть такой режим.

авторИ так и не понятно - где тут скорость? Где скорость, зависящая именно от кэширования технологией Bold? Скорость чего? Можно ли конкретный пример, чтобы было видно, что и как ускорилось?

Извини, не понял вопроса.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751188
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv...Ну, получил ты результаты запроса типа

Код: plaintext
1.
  Select t1.Field1, t2.Field2 from Table1 t1 outer join
    Table2 t2 on (t2.id_t1 = t1.id_t1)
, смотришь на него, а редактировать без написания соотв. update - sql не можешь. А в данном случае не можешь в принципе. Потому что Id__t1, Id_t2 не присутствуют в выборке.


Ничего не понял. Редактировать с сохранением в БД без написания update невозможно. Так и никто не может редактировать. А вот если t1.Field1, t2.Field2 - альтернативные ключи - то очень даже можешь редактировать
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751196
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99 mv...Ну, получил ты результаты запроса типа

Код: plaintext
1.
  Select t1.Field1, t2.Field2 from Table1 t1 outer join
    Table2 t2 on (t2.id_t1 = t1.id_t1)
, смотришь на него, а редактировать без написания соотв. update - sql не можешь. А в данном случае не можешь в принципе. Потому что Id__t1, Id_t2 не присутствуют в выборке.


Ничего не понял. Редактировать с сохранением в БД без написания update невозможно. Так и никто не может редактировать. А вот если t1.Field1, t2.Field2 - альтернативные ключи - то очень даже можешь редактировать

Ага! Попался один! А вот в Bold мы работаем не с копией данных, а с самими данными! И там такое делается как само собой разумеющаяся вещь.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751205
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да почему эмоциональный, просто пытаюсь докопаться до сути - самой :)

авторсмотришь на него, а редактировать без написания соотв. update - sql не можешь. А в данном случае не можешь в принципе. Потому что Id__t1, Id_t2 не присутствуют в выборке.
А я обычно ИД-шники включаю. И с успехом редактирую :) Через вызов ХП.

авторХорошо тебе. Умный ты.
Ну, а тут все это есть изначально.
А всегда ли нужно, вот в чем вопрос. Зачем зр трафик жрать, на БД нагрузку. А то подписаны 100 клиентов на один объект, а он изменился. И все 100 в БД полезли. Тормоза начались..... А зачем? Если из них только трем эти изменения нужны.

авторИзвини, не понял вопроса.
Ну так всяко уже задавал :)
Давай еще попробую: каким образом кэширование изменений приводит к потрясающей скорости? Пример очень желателен - без и со скоростью.

Я же не с проста вопросы задаю. Просто сравниваю: есть ли что-нибудь такое в этой технологии, что мне сильно бы помогло? Пока есть только одно ЗА - удобство разработки (а может и не удобство это), когда и логика и данные и клиент делаются вместе и связаны. Но пока что и много ПРОТИВ - логика на клиенте, отсюда проблемы с обновлением и клиента, и БД, и вообще с проведением изменений, проблема с доступом, точнее непрозрачность системы, которая без своего клиента не существует в принципе, ну и т.п. И все эти ПРОТИВ очень сильно перевешивают это ЗА. Потому что я и сейчас не испытываю особых проблем с разработкой.

И еще. Ну хорошо, позволила эта технология быстро разработать систему. А сопровождать? Ну разработали мы вместо полгода за два месяца - а потом вдруг оказалось, что поддержка настолько тяжела, внесение изменений настолько трудо и времяемко, получение отчетов и другой информации обычными способами из БД вообще невозможно, тормоза страшные а оптимизация в следствие зашитости логики и запросов в клиента так гиморно производится, что ............. а ну его нафиг такую систему, пусть заказчик сам с ней ...%;№"*?:

Это не к этой технологии конкретно и не к какой-то конкретно системе а вообще - рассуждения о любой системе.

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751208
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторАга! Попался один! А вот в Bold мы работаем не с копией данных, а с самими данными! И там такое делается как само собой разумеющаяся вещь.

Ну-ка ну-ка, как это??? Вы прямо с файлом БД работаете чтоли? Неужели в БД можно записать/обновить данные без запроса???

Эээээ, да это вы попались. Как же вы можете обновить данные объекта без его ID, если на этом (на объектах) построена вся технолгия? Не получится - может вы просто не видите запрос на изменение?

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751211
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, кстати, вы же немного выше сами говорили:
авторДанные на клиенте кэшируются......
автор..... и повторно отфетчивешь объект.......

Так как же вы ........

Нда, я только сейчас прочувствовал фразу:
А вот в Bold мы работаем не с копией данных, а с самими данными!

ЗЫ Я абсолютно спокоен! Без эмоций! Просто интересно уже стало. Продолжение следует.........

Ну и кстати: всем хороших выходных, а то устал я так за неделю.......

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751215
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА я обычно ИД-шники включаю. И с успехом редактирую :) Через вызов ХП.
Да понятно.

авторА всегда ли нужно, вот в чем вопрос. Зачем зр трафик жрать, на БД нагрузку. А то подписаны 100 клиентов на один объект, а он изменился. И все 100 в БД полезли. Тормоза начались..... А зачем? Если из них только трем эти изменения нужны.
Ну, ты даешь! Если тебе что-то не нужно, то же не делаешь этого? Если только трем нужны - то пусть только три и пописываются :)

авторДавай еще попробую: каким образом кэширование изменений приводит к потрясающей скорости? Пример очень желателен - без и со скоростью.
Извини, Тигра, но для меня эти вещи как сами собой разумеющиеся - попробуй, к примеру, К-С прогу сделать, что быстрее - когда ты на каждый чих лезешь на сервер, начинаешь транзакцию, отсылаешь запрос, потом заканчиваешь транзакцию, или когда пакетом данные обновляешь?

авторНо пока что и много ПРОТИВ - логика на клиенте, отсюда проблемы с обновлением и клиента, и БД, и вообще с проведением изменений, проблема с доступом, точнее непрозрачность системы, которая без своего клиента не существует в принципе, ну и т.п. Ох, у тебя память типа кольцевого регистра - уже все забыл...

Код: plaintext
Потому что я и сейчас не испытываю особых проблем с разработкой.
А я вот - наоборот. Стараюсь упрстить процесс разработки.


авторНу хорошо, позволила эта технология быстро разработать систему. А сопровождать? Ну разработали мы вместо полгода за два месяца - а потом вдруг оказалось, что поддержка настолько тяжела, внесение изменений настолько трудо и времяемко, получение отчетов и другой информации обычными способами из БД вообще невозможно, тормоза страшные а оптимизация в следствие зашитости логики и запросов в клиента так гиморно производится, что ............. а ну его нафиг такую систему, пусть заказчик сам с ней ...%;№"*?: А сопровождение - просто сказка. Изменение структуры модели/базы/репликации - ух, как здорово. Но домой уже пора.

Пока.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751233
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv Ага! Попался один! А вот в Bold мы работаем не с копией данных, а с самими данными! И там такое делается как само собой разумеющаяся вещь.Сильно сказано :-)) Ты хоть сам-то понял, что сказал?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32751354
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvИзвини, Тигра, но для меня эти вещи как сами собой разумеющиеся - попробуй, к примеру, К-С прогу сделать, что быстрее - когда ты на каждый чих лезешь на сервер, начинаешь транзакцию, отсылаешь запрос, потом заканчиваешь транзакцию, или когда пакетом данные обновляешь?
Вы уж меня извините, но сейчас абсолютно все так и делают. Называется это кэшированные или отложенные изменения. Где то это напильником нужно обработать (как в ADO под Access например), где то просто компонентку прицепить (тот же TUpdateSQL для Delphi или DataAdapter для ADO.NET), а где то это на автопилоте поддерживается (тот же PowerBuilder). Все могут открыть соединение, считать данные, отцепиться от сервака и сколько угодно работать до тех пор, пока клиент не потребует перечитать данные или сохранить все изменения. На изменения опять же открывается соединение, стартуется транзакция, посредством вызовов DDL или ХП на каждую измененную запись вызывается нужный оператор у сервера и после завершения сохранения транзакция коммититься или откатывается в зависимости от результата. Делается все это автоматически ! У меня все таки возникает впечатление, что Вы не только теорию РСУБД плохо знаете, но оказывается еще и Delphi то же. Может быть оно и субьективное, но тогда пожалуйста повнимательнее следите за своими высказываниями, чтобы у участников не возникало таких мыслей (а пока именно они и возникают).
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32764522
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, грипповал неделю. Вот обещанный рассказ о сопровождении модели. В аттаче. Перевел, как сил хватило. От себя могу добавить - в общем-то, все не так уж и сложно. Открываешь демку, смотришь доку.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32831391
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Месяц работал, сюда не заглядывал... Мдя...

Неужели так никто и не заинтересовался системой?

Все мазохисты, что ли, или так любят низкоуровневое программирование?

Смотрите, в Delphi 2005 система ECO позиционируется как центральное новшество. Останетесь на остановке со своими ХП/Триггерами, а поезд с MDA дальше уедет!

Если кому интересно - появилось масса доков по-русски, да и опыт в разработке / отладке / оптимизации Bold for Delphi. Пишите.

Всем привет и счастливо оставаться!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32831414
Andr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mv Неужели так никто и не заинтересовался системой? ...
Если кому интересно - появилось масса доков по-русски, да и опыт в разработке / отладке / оптимизации Bold for Delphi Неправда ваша (про никто) :). Начали копать помаленьку.
Правда сразу начали смотреть в сторону TBoldCOMServerHandle (DCOM),
когда сама модель на сервере лежит (типа классической трехзвенки).
Есть ли наработки/опыт/грабли в этом направлении или стоит плюнуть ?
Просто в инете нашлось всего две ссылки по этой теме.
Дальше - что там с отчетами не очень ясно.
Еще - что-нибудь про разработку в Bold-е для команды (принципы, особенности и тд)
Ну и про доки на русском - можно ссылки, или на е-mail за посылкой приходить ? :)
Про ECO vs Bold пару слов послушать бы. Где-то мелькало, что служба качества Borland пока не пропустила Bold в 2005.
Если есть инфа по новым реализованным проектам (в т.ч. по своим) - тоже интересно.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32831444
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, вот аттач-то
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32831445
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andr2 Начали копать помаленьку.
Правда сразу начали смотреть в сторону TBoldCOMServerHandle (DCOM),
когда сама модель на сервере лежит (типа классической трехзвенки).
Есть ли наработки/опыт/грабли в этом направлении или стоит плюнуть ?
Просто в инете нашлось всего две ссылки по этой теме.
Дальше - что там с отчетами не очень ясно.
Еще - что-нибудь про разработку в Bold-е для команды (принципы, особенности и тд)
Ну и про доки на русском - можно ссылки, или на е-mail за посылкой приходить ? :)
Про ECO vs Bold пару слов послушать бы. Где-то мелькало, что служба качества Borland пока не пропустила Bold в 2005.
Если есть инфа по новым реализованным проектам (в т.ч. по своим) - тоже интересно.

Насчет работы в команде - где-то читал, найду, скажу. Ну, тут мне представляется вообще идеал - выкладываешь для общего обозрения/юзанья ядро с моделью и интерфейсами к ней, и каждый рубит в своем направлении - кто ГУИ, кто дополнительную функциональность в коде и проч. Главное - все работают с одной моделью. И число девелоперов должно кардинально снизиться. (Да и где их много взять-то под Bold ?:-)

Ну, TBoldCOMServerHandle у меня еще впереди, похоже. ХОТЯ ТЕСТЫ ГОНЯЛ, И НИКАКИХ ПРАКТИЧЕСКИХ ПРОБЛЕМ НЕ ЗАФИКСИРОВАЛ. Ну, может, не так удобно, как при двухзвенке - типа, OCL - конструкции "ручками" писать придется. Хотя есть Clientifier, можно попробовать.

Насчет отчетов - ну, что за трабла? Если есть старые привычные, DB - ориентированные генераторы - врубаешь TBoldDataSet - и вперед. А еще есть пакет BoldRave. Халявный. Вот здесь.

ECO. Автор книжки (К.Грибачев) про это рассказывал, он был одним из бета - тестеров Delphi 2005. Говорил, что развивается помаленьку, все лучше и лучше. Хотя у него (да, честно говоря, и у меня) душа к .Net не лежит. Пока. Жизнь заствит, и мы перейдем...

Проекты. Недавно злобные руководители заставили реализовать систему хранения документов. COM/DCOM клиент/сервер. С произвольной системой раубрикации документов, настройкой уровней отображения и т.п. Так вот, за три недели от постановки задачи до реализации полностью реализовал и переработал три практически независимые модели. Вариант с раелизацией стандартными средствами (для меня это было примерно так - ErWin <-> InterBase <-> Delphi с метанием туда-сюда) отпал почти сразу из-за ограниченных сроков. Руководство просто пищит. Зарплату подняло.
Предполагамый рабочий объем базы - 20~50 гигабайт. Потестили в жестких условиях, работает с приемлимой скоростью. Хотя пришлось оптимизировать, конечно. Да, оптимизация тут - просто абассацца... (отдельный разговор). Объем модели (на сегодняшний день) небольшой - 17 классов, число пользователей в сети - до сотни, предполагаем юзать механизм пропагатора. Ну, не вполне устраивают стандартные контролы (карасиво хотца), будем RAD Studio (Bold Edition) покупать.

Еще проект - пока заморожен - до февраля - система дистрибуции. На данный момент реализованы компоненты (Bold - aware) для рисования схем и диаграмм, оттачивалась схема модели. Очень классно, - меняешь значение в ОП - а на картинке прямоугольник меняет свои координаты/размеры. И наоборот. Ну, это только заготовки для работы. Вся работа еще впереди.

Да, еще знакомые забацали штуковину, из тех, что сейчас модно CRM называть. За неделю. С диаграммами Ганта, сложными выборками/отображениями и т.п.


Насчет доков. Вот тут кое-что (из попытк перевода + собственные домыслы) см. аттач.)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32831448
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и как это я умудрился перепутать местами два последних сообщения?

Ну, еще разные штуки/доки есть, но они большие, а аттач не влазят.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32832180
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv
Проекты. Недавно злобные руководители заставили реализовать систему хранения документов. COM/DCOM клиент/сервер. С произвольной системой раубрикации документов, настройкой уровней отображения и т.п. Так вот, за три недели от постановки задачи до реализации полностью реализовал и переработал три практически независимые модели. Вариант с раелизацией стандартными средствами (для меня это было примерно так - ErWin <-> InterBase <-> Delphi с метанием туда-сюда) отпал почти сразу из-за ограниченных сроков. Руководство просто пищит. Зарплату подняло.
Здорово ! Особенно про зарплату. Вот это - реальный эффект :)
А чего DCOM используется ? Ведь эта технология уже мхом поросла.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32833058
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один mv
Проекты. Недавно злобные руководители заставили реализовать систему хранения документов. COM/DCOM клиент/сервер. С произвольной системой раубрикации документов, настройкой уровней отображения и т.п. Так вот, за три недели от постановки задачи до реализации полностью реализовал и переработал три практически независимые модели. Вариант с раелизацией стандартными средствами (для меня это было примерно так - ErWin <-> InterBase <-> Delphi с метанием туда-сюда) отпал почти сразу из-за ограниченных сроков. Руководство просто пищит. Зарплату подняло.
Здорово ! Особенно про зарплату. Вот это - реальный эффект :)
А чего DCOM используется ? Ведь эта технология уже мхом поросла.

А почему бы не юзать предлагаемые готовые решения, если они уже есть?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32833115
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv ОдинЗдорово ! Особенно про зарплату. Вот это - реальный эффект :)
А чего DCOM используется ? Ведь эта технология уже мхом поросла.

А почему бы не юзать предлагаемые готовые решения, если они уже есть? Да кто же против ? Речь о том, что технология распределенных приложений у MS развивалась так:
DCOM (позавчерашний день) - COM+ (вчерашний) - Remoting (сегоднешний) - Indigo (завтрашний, на тек. момент не существует)
Если разработчики Bold не захотели связываться с .Net (Remoting) , что понятно, то почему бы не взять хотя бы COM+ ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32833178
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДа кто же против ? Речь о том, что технология распределенных приложений у MS развивалась так:
DCOM (позавчерашний день) - COM+ (вчерашний) - Remoting (сегоднешний) - Indigo (завтрашний, на тек. момент не существует)
Если разработчики Bold не захотели связываться с .Net (Remoting) , что понятно, то почему бы не взять хотя бы COM+ ?

Да пофиг вообще, что за система тебе интерфейсы предоставляет, хоть Corba...
Я имел в виду частный случай - использование утилиты EntrprisePropagator. Не нарвится - пиши свои сервисы, тем более, что все довольно прозрачно...

Главное тут - в MDA, а остальное - рюшечки.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32833219
grikon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Про Bold и проекты созданные на нем

Как выяснилось, некоторые наши разработчики уже достаточно давно и успешно используют Bold. За истекший период (3 месяца) на контакт выходили около десятка подобных товарищей. Спектр приложений - самый широкий - от Интернет-магазинов до службы продажи автобусных билетов в рамках области. Рассказ MV про повышение зарплаты - вещь привычная и подтверждается всеми :-)

2. Про ECO - технология ECO в С#Builder и Delphi 8 практически мало полезна. Это были первые попытки портирования Bold для .NET. Возможностей - мало, багов - достаточно.

3. Про ECO II - в D2005 эта технология переработана коренным образом.
Из вкусностей - полностью настраиваемый маппер ОП-СУБД, подконтрольный разработчику. Это, в частности, позволяет взять чужую БД, сделанную традиционным способом, "заглотнуть" ее в ECO-II и восстановить автоматом UML-модель, с которой в дальнейшем работать уже новым способом, забыв о БД.
Вторая вкусность - ECO II поддерживает ASP .Net WEB Forms, что позволяет легко создавать MDA-приложения для WEB. Для Bold такая попытка (независимый пакет IWBold) в свое время закончилась провалом.
Есть и другие вкусности. Старые баги исправлены, новые добавлены, процесс непрерывный и практически эта технология - одна из важнейших для Borland.
Одно пока "НО" - не совсем удобный встроенный UML-редактор. Но "и это пройдет", он тоже перерабатывается.

4. Bold для 2005 протестирован (Win32) и выйдет очень скоро (по слухам, конечно :-)

5. Имеются основания утверждать, что сразу после нового года заработает новый русскоязычный сайт по всем Bold-подобным технологиям, включая форум.
Приглашаются модераторы, если есть желание.
Новый адрес и подробности сообщу по факту.

Успехов.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32833221
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grikon
3. Про ECO II - в D2005 эта технология переработана коренным образом.
Из вкусностей - полностью настраиваемый маппер ОП-СУБД, подконтрольный разработчику. Это, в частности, позволяет взять чужую БД, сделанную традиционным способом, "заглотнуть" ее в ECO-II и восстановить автоматом UML-модель, с которой в дальнейшем работать уже новым способом, забыв о БД.
Даже мне не верится...

grikon
Одно пока "НО" - не совсем удобный встроенный UML-редактор. Но "и это пройдет", он тоже перерабатывается.

А что, Розу уже нельзя юзать будет :(?

Ну, да и фиг с ней.

grikon
4. Bold для 2005 протестирован (Win32) и выйдет очень скоро (по слухам, конечно :-)

Совместимость проектов - то сохранилась?
grikon
5. Имеются основания утверждать, что сразу после нового года заработает новый русскоязычный сайт по всем Bold-подобным технологиям, включая форум.
Приглашаются модераторы, если есть желание.
Новый адрес и подробности сообщу по факту.

Вау!
---------------------
grikon, пара вопросов:

- TBoldGrid/TVirtualTreeView фиговато работают с механизмом наследования форм/фреймов (ну, в факах об этом упоминается). Скажи, Rad-Studio пакет имеет смысл приобретать? (я в плане избавления от этих глюков и приобретения новых)
- по поводу "тонкой" настройки. Выполняю отсортированные выборки, EvaluatedInPS, что называется. Ну, нутром чувствую, что если в РСУБД по конкретному полю завести индекс, то будет быстрее, естественно. Ну, так как в модели указать такой тэг атрибута (Sorted какой-нибудь, что ли...). А то как-то пошловато после генерации базы ручкми ее подправлять...
- в новой версии не разрешилась проблем с тормозами при выборке сущности, на которую ссылаются масса других (про
Код: plaintext
BoldPerformMultilinkConsistencyCheck := False; BoldPerformMultiLinkConsistenceCheckLimit :=  1 ;
я знаю)?
- доступ к классу - ассоциации? Ну, типа, создал я ассоциацию (0..n - 0..n) с конкретным экземпляром другого класса, соответственно, автоматом создается экземпляр класса - ассоциации, ну вот, как к нему получить доступ - без вспомогательных дескрипторов списка и глупого перебора всех экземпляров классов - ассоциации на совпадение с связанным классом?
------------
Вопросы глупые, конечно, но достали уже...
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32834236
Andr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mv - в новой версии не разрешилась проблем с тормозами при выборке сущности, на которую ссылаются масса других
А можно поподробнее про проблему: в каких случаях возникает, на каких объемах и как боретесь ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32834722
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andr2
А можно поподробнее про проблему: в каких случаях возникает, на каких объемах и как боретесь ?

Ну, вариант модели: Имеется класс Estimate (Смета), который имеет переменное число атрибутов . Соответственно, имеется класс, хранящий описания этих атрибутов (Attr_Def): наименование, тип (целый-строка-дата-деньги и т.д.). Каждой смете соответствует набор значений (Attr_Value) атрибутов, каждое значение ассоциировано со своим типом (Attr_Def). Естественно, при уничтожении сметы (Estimate) нужно убивать все ее значения атрибутоа - но тут вопросов нет - реально существует 30-50 атрибутов, немного. Другое дело, когда убивается ставший ненужным экземпляр описания атрибутов (Attr_Def). Тут надо завалить все соотв. Attr_Value во всех сметах. Этих смет - в районе сотни тысяч. Так что операция удаления занимает несколько секунд. Неприятно, но потерпеть можно. Более ненприятно другое. Когда я пытаюсь в справочнике проскроллировать список описаний атрибутов, то при переходе с объекта на объект происходит подгрузка всех ассоциированных Attr_Value. По 2-3 секунды каждый раз. Потом, по второму разу, конечно, ассоциации не подгружаются, и все выполняется шустро. Но до тех пор, пока служебные компоненты не выгрузят неиспользуемые объекты (память-то не бесконечная...). Решение:
1. Вместо "обыкновенного" класса Attr_Value я ассоциирую Estimate напрямую с описанием Attr_Def, а для хранения значений, Attr_Value создаю как класс-ассоциацию такой связи. Все работает существенно быстрее (в сотни раз).

2. Для такой "проблемной" мультиассоциации я сбрасываю Bold - тег DeleteAction c Cascade обратно в <Default>, а операцию каскадного удаления выполняю русками, перекрыв соотетственный фреймворк - метод PrepareDelete. Вообще все тормоза ушли, но удаление чуть медленнее работает. Но и тут вопрос решился - см. п.3.

3. Перед групповыми операциями с коллекиями вызываю метод EnsureObjects и т.п. (Почти в ту же тему использование метода FetchLinksWithObjects) Охрененно быстрее работает.

4. Принудительно вынесение групповых операций в одну транзакцию (по умолчанию - они отдельные). Ну о-о-о-чень шустрее работает.

5. Отключение неиспользуемых возможностей - на выбор: Model.UseReadOnly, Model.UseXFiles, Model.UseClockLog, Model.UseClockLog, Model.UseModelVersion. Иногда помогает.


6. Работа с отключенными екоторыми механизмами контроля:

Loading Multilinks in an object space with many objects in it has very bad
performance. The reason is that the multilink has to find all (non-dirty) singlelinks that is pointing to it in memory, but that was not present in the fetched set of objects. The time to perform this operation is linear to the number of objects in memory. It is possible to switch this checking off, please refer to the documentation for the global variable BoldPerformMultilinkConsistencyCheck . и т.п.

------------------
Так вот, к чему это все я? А вот к чему:

Было сказано:
Note This global variable is a workaround for a problem that will be resolved more efficiently in a future release (by keeping a hash table over the loaded singlelink ends for example). When the problem is solved properly, this variable will be removed).

Так вот и я о том же - может быть, проблема - то уже "сольвед", и не надо с бубнами пыгать?


-------------
Т.е. эта проблема - не проблема. Все в наших руках. Но работать хочется меньше. Хочется больше отдыхать.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32843987
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрел я этот болд, и другие продукты. Нигде нет маппинга на хп. Это печально. Поэтому не использую. И компоненты Болда уж слишком сложены для понимания.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32844433
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ДынникСмотрел я этот болд, и другие продукты. Нигде нет маппинга на хп. Это печально. Поэтому не использую. И компоненты Болда уж слишком сложены для понимания.
Posted via ActualForum NNTP Server 1.1

Ну что ты так грустно... Все ж исходники адаптеров в наличии.

А что сложно? Или ты без чтения доков пытался пробиться? Тогда, пожалуй, да.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32844467
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман ДынникСмотрел я этот болд, и другие продукты. Нигде нет маппинга на хп. Это печально. Поэтому не использую. И компоненты Болда уж слишком сложены для понимания.
Posted via ActualForum NNTP Server 1.1

Любопытно насчет "и другие продукты". Какие ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32844549
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто "И другие". Тоже сложны для понимания. Потому и не использую.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32846437
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал я посоздавать сущности в Дельфи 2005. Появился такой вопрос:
Можно ли отображать в гридах и контролах русские наименования классов и атрибутов?
Можно, конечно, создавать кастомные кинтролы, в которых и писать капшоны, но может быть для этого есть встроенные средства.
Вот у класса и атрибута есть такие совйства, как:
1. Alias
2. Former Names
но как ими пользоваться я пока не понял
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32848449
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кончно, можно. Например, во встроенном UML - редакторе создаем класс Собаки, нажимаем Ctrl+A, вводим в DelphiName - TDogs, в ExpressionName и TableName - Dogs. И все. То же и с атрибутами. Только вместо TableName - ColumnName.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32848478
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Old NickПопробовал я посоздавать сущности в Дельфи 2005. Появился ...

Оп-с! Delphi 2005 вышел? И Bold в нем есть? Расскажи чуть-чуть!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32848553
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там не совсем Bold, там Core Objects, но это одно и тоже.
Главное что можно писать в нем на C#. А то я отвык уже от паскаля, да и C# во всем выгоднее паскаля, кроме конструкторов пожалуй.
Внешне не отличается от Дельфи 8, просто глюки исправлены и есть возможность писать приложения под Win32 (Дельфи 9, так сказать), вот только поддержки Core Objects нет, а жаль, можно было б просто перетащить свой проект с Дельфи 7 на Дельфи 2005, ан нет...

О чем еще сказать? Случайно обнаружил возможность обзывать члены класса русскими именами :-) То-то начнется в программировании по-русски
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32848560
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>Другие это какие
tiOPF к примеру, если для delphi.
XPO для .NET
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32852140
grikon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех фанатов, новичков, а также сомневающихся, а также и возможных временных (:-)) противников MDA - с Новым Годом !
Давайте немного "воспарим" над реальностью и помечтаем - ведь в следующем году случится -таки перелом в сознаниии большинства программистов приложений БД. Желаю Вам, наконец, перейти из разряда ремесленников (очень, конечно, квалифицированных - серьезно) в ряды творцов ! Россия всегда была сильна не ремеслинниками, а именно творцами. Пусть Новый Год принесет новое качество работы, и новую радость и удовлетворение от работы, и, возможно,
новые зарплаты :-)
Поэтому - творите, господа, творите, товарищи - ведь вы все - замечательные
Люди ! Специалисты с Большой буквы. Поздравляю Вас и да пребудет с вами творческий импульс от самого Творца !


Всегда готовый поддержать
Константин Грибачев
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32852222
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За цвет Российского и мирового IT - сообщества!
За нас, мужики (и дамы)!

Ура!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32852333
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а те кто на bold-ах сидит, это творцы или ремесленники?
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32852808
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынника те кто на bold-ах сидит, это творцы или ремесленники?
Posted via ActualForum NNTP Server 1.1

Модера-а-тор!

Тут есть сомневающиеся!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32852851
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mv
я просто спрашиваю :))
и при чем здесь модератор...? :-/
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32852891
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, типа, да, не причем...

А что ж ты на нашу природную скромность наступаешь?

Ну вот, на: творцы, мы, скромные, но дико талантливые. Хотя и очень ленивые.

Я лично могу бревна здоровенные таскать. Но только лежа.

----------------

Меня прет, меня прет, потому что Новый год...
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32856622
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv
...
пара вопросов:
...
- по поводу "тонкой" настройки. Выполняю отсортированные выборки, EvaluatedInPS, что называется. Ну, нутром чувствую, что если в РСУБД по конкретному полю завести индекс, то будет быстрее, естественно. Ну, так как в модели указать такой тэг атрибута (Sorted какой-нибудь, что ли...). А то как-то пошловато после генерации базы ручкми ее подправлять...
...
------------
Вопросы глупые, конечно, но достали уже...

Если кому интересно - то нет в Bold стандартных средств управления индексацией поля таблицы, хранящего атрибуты класса.

Впрочем, это легко обходится... Думаю заюзать дополнительные тэг - параметры.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32857210
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, почитал на выходных книжку по MDA (MDA Explained: The Model Driven Architecture™: Practice and Promise) - так вот, в процессе создания приложения по схеме MDA место Bold-а - это только генерация кода по PSM. Так что, Bold <> MDA.

PS. Для пояснения схемки:
PIM - Platform independent model
PSM - Platform specific model

PPS. Правда, схемка эта пока только теория. Если интересно, читайте здесь: http://www.omg.org/mda/
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32858372
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sybase PowerDesigner - чем не MDA?
Он даже официально позиционируется как MDA.
Настройки - тонкие :))
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32858546
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShrКстати, почитал на выходных книжку по MDA (MDA Explained: The Model Driven Architecture™: Practice and Promise) - так вот, в процессе создания приложения по схеме MDA место Bold-а - это только генерация кода по PSM. Так что, Bold <> MDA.

PS. Для пояснения схемки:
PIM - Platform independent model
PSM - Platform specific model

PPS. Правда, схемка эта пока только теория. Если интересно, читайте здесь: http://www.omg.org/mda/

Ну, Bold - хоть тресни, PSM. Потому что для Delphi/C++. Ну, может быть, для Kylix.

Ну, а если рассматривать, начиная с моделирования в Rational Rose? Модель в Rose можно считать PIM? Тогда да, по-моему.

Да, братцы, новый русский ресурс родился по поводу MDA технологии:

http://mda.hostok.net
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32858764
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvНу, а если рассматривать, начиная с моделирования в Rational Rose? Модель в Rose можно считать PIM? Тогда да, по-моему.

Нет, модель в Rational Rose нельзя рассматривать как PIM:
MDA Explained: The Model Driven Architecture™: Practice and PromiseUML has some weak points that stop us from generating a complete PSM from a PIM. The weak area in UML is in the behavioral or dynamic part. UML includes many different diagrams to model dynamics, but their definition is not formal and complete enough to enable the generation of a PSM.Т.е. UML недостаточно выразителен для, скажем, написания методов. Есть, конечно, расширения, но, насколько мне известно, они тоже не дотягивают до полного описания модели.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32858770
Shr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShrЕсть, конечно, расширения, но, насколько мне известно, они тоже не дотягивают до полного описания модели.Неточно выразился. Не дотягивают до полного описания проектируемой системы.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32860149
grikon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спор (если это спор :-) вполне бессмысленен. Есть одни книжки про MDA, а есть другие. Есть UML, а есть UML-2 и Exeсutable UML.
Трудно спорить о том, чего не существует. MDA пока нигде не реализована. Тем более, что никто не знает, что это такое (стандарта нет). Есть только приближения, и у каждого разработчика - свое видение.
Bold - это, безусловно, не MDA. Bold - это Borland MDA :-)
А вообще, приглашаю всех желающих на http://mda.hostok.net
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32875973
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди, просто счастлив, что нашел ваш сайт, а особенно ветку уже месяц работаю на BOLD просто великая штука, напсал( почти )проектик с нуля 75 классов, плюс навороты, драг дроп и прочее.
А главное работает :).
Вот толко один вопросик. Может e кого етсь ссылочка на работающий Bold-Rave?
и еще кто нибюудь работал с deBold компонентами?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32876049
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триалка в RAD - Studio не работает - там *.bpl скомпилирована над Bold - ом 4.0.0.21, а сейчас - 4.0.1.0. Я уж и так и эдак к этим ребятам обращался - ни в какую.

Короче - изучил по документации (виртуально, т.сказать :).
Пришлось купить. Ну, в общем, эта штука соответствует моим ожиданиям - только вот с саппортом траблы - в Vipper Software какие-то временные оргинизационные сложности.

Если будешь покупать - бери сразу Professional, т.к. Standard почему-то откомпилена тоже с 4.0.0.21., а в Professional - все соурсы.

Да, если не можешь напрямую заплатить по Vise Standard (and better) - то учти, что эти ребята живут во Влвдивостоке - если что - могу телефон дать. Мне кажется, напрямую платить проще. Я заплатил 29 декабря, платеж через Deutche Bank (охренеть можно!) прошел только 11 декабря.

А что тебя с deBold интересует?

Вот тут у меня было что-то:
автор
=====================================
Инструкции для deBoldPropagatorModule.pas
=====================================

1) Наследуйте новый модуль данных от существующего и переопределите:

//Mandatory overrides
function GetBoldSystemHandle: TBoldSystemHandle; virtual; abstract;
function GetBoldModel: TBoldModel; virtual; abstract;

2) В рантайме, если нужен пропагатор, то просто создайте экземпляр вашего нового модуля данных.



=====================================
ИНструкции для deBoldAutoForms.pas
=====================================

1) В форме, создаваемой для редактирования вашего объекта, выполните:

initialization
deBoldAutoForms.RegisterFormClassForElementClass(TPersonForm, TPerson);

2) В событии BoldAFP, чтобы получить класс формы, выполните:
Result := deBoldAutoForms.GetFormClassForElement(Element);



=====================================
ИНструкции для deAutoIncManager.pas
=====================================

----------------------
Инсталляции в ROSE
----------------------

1) Установите deBold.PTY в каталог TaggedValues), выбрав Tool->model properties->Add.
2) При импорте в Bold, вы сперва должны добавить deBold в свойство Tools вашего компонента BoldUMLRoseLink.



----------
Применение
----------

Из-за сложности рассмтриваемых компонентов я попытаюсь вкратце описать, как их испольщовать.

Первое: Вы должны добавить тег-параметр к атрибуту, который д. стать автоинкрементным. Чтобы это сделать (Из Bold - редактора, перейдите в

Tools->Edit Tagged Values. Из следующего окна (должен быть выбран именно тот атрибутd) выполните Tools->Add Tagged Value. Значение

"Tool" нужно дял deBold, значение "Name" нужно для AutoIncId, а значение "Value" должно быть вышим собсвенным идентификатором, к примеру,

PERSON или PURCHASEORDER. И "deBold", и "AutoIncId" являются регистро - зависимыми.

Второе: Класс TdeBoldAutoIncManager является TBoldPersistenceHandlePassthrough. Имеется в виду, что для использования его вы должны

указать ваш TBoldSystemHandle.PersistenceHandle для TdeBoldAutoIncManager вместо Вашего действительного persistence handle, а затем указать

TdeBoldAutoIncManager для действительного persistence handle путем использования его NextPersistenceHandle. Этот компонент будет

перехватывать обновления в persistence перед их выполнением, которые будут разрешать при необходимости назанчать auto-inc числовые значения.

Третье: Классс TdeBoldAutoIncManager не назначает числовые значения. Он передает это в производный от TdeAbstractBoldAutoIncProvider класс, с помощью class TdeBoldAutoIncProvider . Вот так это и работает...

1) System.UpdateDatabase;

2) AutoIncManager проверяет все атрибуты новых объектов на предмет наличия тег - параметров deBold.AutoIncId, и помещает AutoIncId в список AutoIncId - ов.

3) Событие OnPrepareAutoIncIdList класса TdeAutoIncProvider вызывается с уникальным списком AutoIncId-ов. Оно дает Вам возможность выполнить предварительную обработку IDs. Вы можете пожелать выполнить пессимистическую блокировку IDs с помощью сервера блокировок или просто можете пожелать убедиться, что все генераторы существуют, перед тем как будете извлекать какое - либо значение из генератора.

4) Для каждого auto-inc - атрибута каждого нового объекта будет вызвано TdeAutoIncProvider.OnGetAutoIncValue . Значение AutoIncId будет передано, и выполучите результат в целой переменной Result, которую выдолжны использовать для определения следующего числа.

5) Событие OnCompleteAutoIncIdList класса TdeAutoIncProvider вызывается с исходным списком уникальных AutoIncId - ов. Это позволяет разблокировать пессимистическую блокировку на ID's, если Вы их перед этим заблокировали, или выполнить другие нужные вещи.


-----------
Примечания:
-----------

A) При возникновении исключения в OnPrepareAutoIncIdList, OnCompleteAutoIncIdList все еще будет исполняться.

B) При возникновении исключении OnGetAutoIncValue, все автоинкрементные значения будут сброшены в ноль (если ResetOnFail = true), а

OnCompleteAutoIncIdList будет все еще исполняться.

C) За обработку исключения в OnCompleteAutoIncIdList отвечаете вы, и учтите, что данные уже были переданы в следующий дескриптор слоя

хранения (похоже на вставку значений в базу данных).

D) Чтобы быть уверенным ы обеспечении ссылочной целостности, и в том, что всякие объекты, которые были одифицированы в целях автоинкремента

значения, значение должно быть добавлено в той же самой транзакции методом вызова calling AddDirtyObject, AddDirtyObjectList, или

AddDirtyObjects.


Ну, все, что знал - сказал. (c) - Особенности национальной охоты
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32876739
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЛюди, просто счастлив, что нашел ваш сайт, а особенно ветку уже месяц работаю на BOLD просто великая штука, напсал( почти )проектик с нуля 75 классов, плюс навороты, драг дроп и прочее.
А главное работает :).
Работает - даже хелло ворд работает, особенно если один пользователь его запускает :)

И чего за система, сколько пользователей, какова нагрузка? Написать просто работающую программу - это уже в детских садах пишут. А вот работающую в боевых условиях..... Вот это то интересно.

-- Tygra's --
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878210
2 tygra

--------------------

Да ничего не работает, не парься. Сходи, лучше посравнивай "MS SQL vs Oracle", или "преимущество реализации ссылочной целостности в триггерах vs в констреинтах". Нафиг тебе оно нужно - реляционные базы еще долго просуществуют, на хлеб заработаешь. Не забывай только уши брить.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878212
Впрочем, сейчас это даже модно - хвастаться растительностью на ушах.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878249
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mv
А что тебя с deBold интересует?
Ну, все, что знал - сказал. (c) - Особенности национальной охоты

Readme.txt я тоже читал, спасибо только за перевод.
Конкретно меня работа с deBold. как что, может примеры есть.
Я ведь " молодой " еще. :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878302
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Vпроектик с нуля 75 классов, плюс навороты, драг дроп и прочее.
А главное работает :).


какой кошмар. нафига столько классов ? таблица - класс ?

ужас сколько бесполезного и ненужного кода генериться.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878325
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik Alex Vпроектик с нуля 75 классов, плюс навороты, драг дроп и прочее.
А главное работает :).


какой кошмар. нафига столько классов ? таблица - класс ?

ужас сколько бесполезного и ненужного кода генериться.


Ну что за безапелляционно - декларативные заявления?

Ну, с чето ты взял - что тут однозначно таблица = класс? Может и больше, а может - и меньше. Здесь сущность представляется не таблицей, а классом.

Ма-а-а - ппинг ("г" - с характерным придыханием)! Вот как это называется.

-------------------
По поводу маппинХа. У нас в конторе про проекты, сделанные в Bold for Delphi, говорят - "в балде". Ударение на "а". Протяжное та-акое. Как у клятых москалей.
-------------------

А классов там еще больше генерится, чем ты думаешь...

-------------------
Как думаешь, почему языки программирования оперируют с объектами, а не с записями? Чтобы глупых студентов запутать?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878544
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvКак думаешь, почему языки программирования оперируют с объектами, а не с записями?2 mv
Расскажите пожалуйста как в Bold сделана отчетная система ?
Хотя бы тезисно.

Интересует следующее: обычно(обычно!) клиент-сервер (РСУБД) приложение на стороне клиента действительно оперирует с объектами, которые далеко не прямо проецируются на РСУБД структуру.
Исключение составляют отчеты. Которые очень часто есть фактически красиво нарисованные результаты SQL выборок. Т.е. при построении отчетов оперируют именно что с записями, а не с объектами.

А какое решение применяется в Bold ?
Будет ли отчет неким отображением коллекции, свойства каждого элемента которой будут выбираться get-ерами из базы ?
Или применяется более изящное решение ?

Интересует скорее физика построения отчета, а не его описание в рамках модели. Т.е., если можно, ответ не :

я рисую класс "отчет", задаю параметры, затем пишу Отчет->Выбрать_все_за период[начало, конец]

а что на самом деле происходит при этом ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878671
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsik Alex Vпроектик с нуля 75 классов, плюс навороты, драг дроп и прочее.
А главное работает :).


какой кошмар. нафига столько классов ? таблица - класс ?

ужас сколько бесполезного и ненужного кода генериться.
Необходимо для реализации Полиморфизма и прочего,
например есть строка а в ней значениеа e меня 10 -15 разных видов строк.
вот и набратлось много классов,
Да плюс драг дроп реализовать, изи справочника данные связать. и все. я думаю обоснованно, пока что. ну а так как я еще молод ? мне это простительно,
Самое главное в моей ситсеме возможность вставить в строку документа любое значение и сделать это с помощью драг дроп, плюс каждая строка может иметь отображение разное по определению.
Вот и взялось много классов.
может жто не правильно ? зато по ООП:).
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878675
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди, Человеки - вопрос есть:
вы каким образом используете автоформы: пишете свой автоформ провайдер или на каждый объект свою форму и используете BoldPlaceableAFP.
или вообще не не используете ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878772
Использую исключительно при отладке. Мои бизнес - объекты слишком сложны, чтобы их показывать пользователям.

Ну, в крайнем случае - генерю свою автоформу
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878800
Один
... как в Bold сделана отчетная система ?
Хотя бы тезисно.

Интересует следующее: обычно(обычно!) клиент-сервер (РСУБД) приложение на стороне клиента действительно оперирует с объектами, которые далеко не прямо проецируются на РСУБД структуру.
Исключение составляют отчеты. Которые очень часто есть фактически красиво нарисованные результаты SQL выборок. Т.е. при построении отчетов оперируют именно что с записями, а не с объектами.

А какое решение применяется в Bold ?
Будет ли отчет неким отображением коллекции, свойства каждого элемента которой будут выбираться get-ерами из базы ?
Или применяется более изящное решение ?

Интересует скорее физика построения отчета, а не его описание в рамках модели. Т.е., если можно, ответ не :

я рисую класс "отчет", задаю параметры, затем пишу Отчет->Выбрать_все_за период[начало, конец]

а что на самом деле происходит при этом ?
Ваши идеи чрезвычайно интересны. Лично я отчеты созавал всегда по старинке - коллекцию представлял как TDataSet, а дальше все как обычно.
Но после ваших слов крепко задумался.

------------------

Еще в Bold есть набор компонентов, позволяющий создавать отчеты напрямую в RAVE, без преобразования в TDataDet.

А насчет описания отчета в рамках модели... А почему бы и нет?

автор Отчет->Выбрать_все_за период[начало, конец]

- а оно все так и работает, вы говорите почти в нотации языка OCL. Только правильный класс описать нужно. Хотя лично мне не нравится привязывать разработку отчетов к метамодели, но идея чрезвычайно интересная - можно создать базовый класс отчет, затем компонент, его визуализирующий, и распечатывающий. А также экспортирующий в RTF/HTML/XLS... Классно.

Да, умеют же некоторые товарищи идеями разбрасываться. Теперь опять работать не хочется - об отчетах думать буду.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878896
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наш ответ Чемберлену
автор Отчет->Выбрать_все_за период[начало, конец]

- а оно все так и работает, вы говорите почти в нотации языка OCL. Я догадывался, что оно так и работает :)
Но это - внешняя сторона, мой же вопрос был в другом. Наверное я плохо объяснил.

Есть РСУБД. Есть язык SQL, посредством которого можно работать с сервером баз данных. Других средств для общения с СУБД нет, т.е. на каком то низком уровне MDA приложение все равно генерирует SQL запросы.

Идем дальше.
SQL язык - язык работы с множествами. В этом его "сила" и суть.
Создатели MDA совершенно точно подметили, что есть некая нестыковка между РСУБД и клиентскими приложениями, а именно то, что клиентское приложение работает с объектами, классами, а не результатами множественных выборок (строками). И они (создатели) предложили систему, которая подходит к проектированию со стороны модели. Естественно преимущества SQL при этом теряются, т.к. множествами никто не оперирует. Взамен получаем более легкий/удобный подход к проектированию всего приложения в целом. Во всяком случае так я это понимаю, поправьте меня, если я не прав.

Но есть несколько исключений. Одно из них - отчеты (а еще аналитика всякая). Отчеты, как я уже писал - это красиво показанные результаты выборок. Т.е. множества строк.

Пример.
Допустим есть класс "автомобиль". У него есть какие то свойства. Данные по автомобилям можно получить 2 способами.
1 сделать коллекцию экземпляров класса "автомобиль", в каждом из них вызвать метод GetData, в результате чего к серверу уйдет n запросов вида select * from Auto where id=x.
2 а можно просто сделать select * from Auto и получить какой-нибудь DataSet

Первый подход - более "объектный", а второй - более "реляционный"

Вот меня и интересует какой применяется в Bold.
Когда я пишу Отчет->Выбрать_все_за период
что происходит на самом деле ?
1 или 2 ? Или их комбинация ? Или что-то третье ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878910
Один

Пример.
Допустим есть класс "автомобиль". У него есть какие то свойства. Данные по автомобилям можно получить 2 способами.
1 сделать коллекцию экземпляров класса "автомобиль", в каждом из них вызвать метод GetData, в результате чего к серверу уйдет n запросов вида select * from Auto where id=x.
2 а можно просто сделать select * from Auto и получить какой-нибудь DataSet

Первый подход - более "объектный", а второй - более "реляционный"

Вот меня и интересует какой применяется в Bold.
Когда я пишу Отчет->Выбрать_все_за период
что происходит на самом деле ?
1 или 2 ? Или их комбинация ? Или что-то третье ?

1. Можно и так, можно и эдак.

Есть специальный метод для класса EnsureObjects (и похожие на него) - который скопом грузит всю коллекцию, за одну сессию. А можно и по одному объекту. Все зависит от задачи. В общем - в зависимости от Ваших религиозных взглядов и Ваших представлениях о структуре Вселенной.

Car.allInstances

- транслируется в -

select * from Car.

Car.allInstances->select(color='Бежевый')->orderBy(ModelName)
- транслируется в -

select * from Car where color='Бежевый' order by ModelName

А вот Car.allInstances.at[4] транслируется в более сложный запрос - к таблице объектов, в которой ищется индекс объекта №4, и этот объект выбирается. Впрочем, хотя и к двум (как минимум) таблица - но тоже шустро.

А можно и по другому. Действительно, все объекты в память могут загружаются при фактическом к ним обращении. Причем это регулируется вплоть до конкретного атрибута (признак Delayed Fetch). Это тоже поддается управлению.

2. А что ты хотел узнать-то? Включай монитор SQL - запросов, да оптимизируй на здоровье. Можно вообще напрямую SQL - запросами рулить (тьфу - тьфу, мне не понадобилось пока).

3. Меня поначалу тоже такие безобразия интересовали. Индексы, низкоуровневые транзакции и проч. Все просто, как кусок хозяйственного мыла. Просто работает.

Шире мыслить нужно, господа девелоперы!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32878922
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наш ответ Чемберлену
3. Меня поначалу тоже такие безобразия интересовали. Индексы, низкоуровневые транзакции и проч. Все просто, как кусок хозяйственного мыла. Просто работает.

Шире мыслить нужно, господа девелоперы! Я и пытаюсь мыслить шире. "Шире" в данном случае подразумевает, что я хочу разобраться, как внутри работает волшебная палочка. Прежде, чем начинать ею размахивать :)

На мой вопрос вы ответили, спасибо.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32885697
kibill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex V
Ты вроде как искал работающюю ссылку на Bold-Rave.
Вот держы: http://cc.borland.com/ccweb.exe/listing?id=20457
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32885913
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kibill Alex V
Ты вроде как искал работающюю ссылку на Bold-Rave.
Вот держы: http://cc.borland.com/ccweb.exe/listing?id=20457
Спасибо я нашел, думал что и там его нету, ошибку выдавал, а просто сервак занят был.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32885916
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот Еще вопросик есть Вычисляемые значения в классах, если их сделать persistant то они все равно не хранятся в базе, а хотелось бы.
Есть способы хранить самому но не очень удобно.
Кто нибудь разбирался с этой траблой?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32886073
Не понял. Вычисляемые значения - зачем хранить?

Они же вычисляемые!
Интересно, а при фетче из базы что бы ты хотел получать - вычисленные значения или сохраненные? :)
----------------
(Ну, заведи спец. атрибут, где будешь хранить результаты вычислений - а как еще?)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32886108
Alex V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну да в принципе это я и сделаю,
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32891376
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то интересовался возможностью использования национального набора символов в автоформах и т.д.

На днях ворос решен принциапиально - К.Грибачев создал компонент, который просто нужно положить на модуль данных и активизировать - и ... все. Болд заговорил по - русски.

Порсмотреть и скачать можно здесь:

http://mda.hostok.net/forums/viewtopic.php?t=34
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32902779
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один mvКак думаешь, почему языки программирования оперируют с объектами, а не с записями?2 mv
Расскажите пожалуйста как в Bold сделана отчетная система ?
Хотя бы тезисно.

Интересует следующее: обычно(обычно!) клиент-сервер (РСУБД) приложение на стороне клиента действительно оперирует с объектами, которые далеко не прямо проецируются на РСУБД структуру.
Исключение составляют отчеты. Которые очень часто есть фактически красиво нарисованные результаты SQL выборок. Т.е. при построении отчетов оперируют именно что с записями, а не с объектами.

А какое решение применяется в Bold ?
Будет ли отчет неким отображением коллекции, свойства каждого элемента которой будут выбираться get-ерами из базы ?
Или применяется более изящное решение ?

Интересует скорее физика построения отчета, а не его описание в рамках модели. Т.е., если можно, ответ не :

я рисую класс "отчет", задаю параметры, затем пишу Отчет->Выбрать_все_за период[начало, конец]

а что на самом деле происходит при этом ?

Неожиданное информация в разрезе Вашего вопроса:

Вы только посмотрите, какие вещи люди делают:


http://mda.hostok.net/forums/viewtopic.php?t=46


Да, еще: теперь Bold говорит не только по - английски и по-русски, но и по - молдавански, по - украински, по - белорусски и по всяковски:

http://mda.hostok.net/forums/viewtopic.php?t=34
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32909790
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, пожалуй, стоит начать с архитектуры. Или с возможностей. Ну ладно, возможности.

Возможности

Ну, как всегда, сперва бла-бла-бла (можно не читать первые два абзаца :)
Технология Bold является реализацией переноса в приложение UML моделей. Различные свойства продукта Bold for Delphi помогают упростить процесс перемещения между моделью и кодом с помощью разнообразного набора сервисов, таких, как генерация схемы, механизмы размещения данных и их отображения. Он также позволяет получать готовые приложения с удивительно малым объемом кода.
Реализация модели предполагает, что приложение знает о модели. Управляя разработкой приложения на основании информации о модели, мы приближаемся к новой мощной технологии, называемой «Процесс Разработки, Основанной На Модели» (Model Powered Development).
Производительность
Производительность, выраженная во времени разработки, вызывает дикую радость пользователя (пъянки, пляски, песни и проч.), максимально использующего Bold - технологию. RAD – природа продукта дает непревзойденную скорость при итеративной разработке и требует минимум кодирования. Рабочая среда дает Вам мощное ядро возможностей как программисту, каких не заказывал Вам ни один пользователь - такие, как управляемый моделью механизм drag and drop, полный доступ к модели и т.д.. Преобразователь OCL в SQL естественным образом преобразует выражение OCL в высокопроизводительные запросы SQL, уменьшая нагрузку на локальную машину.

Все, дальше - по делу.


Масштабируемость Механизм Синхронизациии Объектного Пространства (Object Space Synchronization) совместно с механизмом Распространения (Enterprise propagation engine) позволяет объектам бизнес- слоев выглядеть одинаково у огромного числа клиентов. Когда один из клиентов сохраняет сделанные им изменения, немедленно посылется сообщение остальным клиентам, заинтересованным в текущий момент в состоянии класса или объекта. Обработчики архитектуры отображения (model view architecture handles) извлекает свежие данные из DBMS, когда требуется клиенту, без всякого дальнейшего вмешательства. (=mv= - реализуется на "раз-два", и выглядит очень прикольно).

Поддержка погопользовательского доступа Сервер управления блокировками (Concurrency Management Server) управляет регионами путем их блокирования, не позволяя клиентам модифицировать данные, модифицируемые в данный момент другими клиентами.
Оптимистическое блокирование гарантирует, что изменения не будут случайным образом перезаписаны. Возможно блокирование на коллекцию глобально во всем приложении, на класс или на сохраняемый атрибут.
COM - aware объектное пространство, совместно с функционально полным набором COM - aware визуальных компонентов (GUI –controls) позволяет разрабатывать токого клиента. Кодирование упрощено и выполнено путем автоматической генерации интерфейсов (IDL-code) и адаптеров классов.

Поддержка Модели
Для манипулирования с информацией о модели и просмотра ее имеется среда разработки, основанная на технологии Bold. То есть Bold – приложение рабтает с мета – моделью UML как с бизнес - моделью!
Значения вычисляемых атрибутов может быть получено безо всякого кодирования. Достаточно указать OCL - выражение, необходимое для вычисления значения – и все. Естественно, возможна кодовая реализация (Object Pascal - Delphi т.е. ;) вычисляемых атрибутов для вещей, трудно достижимых (либо невозможно) в предложениях OCL. Атрибуты могут быть так же Обратно Вычисляемыми (Reverse Derived). В большинстве случаев подобным путем могут быть вычислены ассоциации.
Разрабатываем модель в Rational Rose или в любом инструменте для моделирования, поддерживающем XMI, а затем запрашиваем наш компонент, чтобы он связался с моделью. И все - модель имортирована.

Особенности при работе с моделью:
Представление модели, основанное на UML 1.3
Импорт из Rational Rose
Bold – специфициующие добавления в Rational Rose
Поддержка определяемых пользователем тег - значений
Импорт потоков XMI

Объектное пространство
Объектное Пространство Bold (Bold Object Space) – это то место, где живут Ваши бизнес - объекты. Это – средний уровень в данной трехуровневой архитектуре. Он чрезвачайно тщательно разработан так, чтобы ничего не знать об устрйстве уровне представления или об уровне данных. Тем не менее, навигация по отношениям всегда будет гарантировать, что связанные объекты быдут отфетчены (извлечены то есть) из базы данных.

Ограничения
Ограничения теперь могут быть добавлены в модель и могут помочь в заставить работать бизнес – правила безо всякого дальнейшего кодирования.

Транзакции в объектном пространстве
Bold реализует транзакции в объектном пространстве, начиная с r2.0. (а сейчас 4.0!)

Механизм запросов
В дополнение к существующему событийному механизму, когда возникает необходимость, может быть добавлен связанный механизм запросов для доступа и манипулирования всеми элементами объектного пространства. Это очень мощная инфраструктура для разрешения, блокировки и авторизации.

OCL
Существуют методы получения значений OCL – выражений как параметров. Это очень производительный метод извлечения результатов из объектного пространства. Эти выражения могут быть вычислены сразу (или возможна подписка на них), чтобы получит результат "вживую" или выполнить некоторую логику, когда были изменены конкретные значения объекта или коллекции объектов.

Откаты
Объектное пространство поддерживает транзакции, которые могут быть использованы для изоляции от комплексных изменений, которые в дальнейшем могут быть неудачными. В этом случае возможен откат сделанных изменений.
(=mv= - Undo - Redo - юзеры заныли сразу - "а почему сразу нельзя сделать было?")

Итого:
Object Space Synchronization Server
Нетипизированный COM – доступ к Объектному Пространству
Типизированный COM – доступ к Объектному Пространству
Вычисляемые обратно – вычисляемые атрибуты
Кодирование свободно – вычисляемых атрибутов и ролей
Временная навигация в объектном пространстве
Логика 3-х – уровневой архитектуры
Обширный набор лагических атрибутов
Поддержка ограничений для модели
Поддердка обновление объектов для новых версий
Поддержка извлечения данных в XML
Возможность добавления типов данных, определяемых пользователем
Многоуровневый undo/redo


Уровень данных
Bold for Delphi отображает всю Вашу бизнес – модель в реляционную базу данных. Схема базы данных, которая отображает Вашу бизнес – классы и отношения, генерируется автоматически. Поддерживаемый набор атрибутов включет стандартный набор типов, таких, как строки, различные числовые типы. Ваши собственные атрибуты, используемые в процессе, должны быть использованы в модели.
Автогенерация схемы основывается на диалекте SQL ANSI92. Имеется возможность подцепить Ваши собственные SQL-операторы, чтобы принять участие в фазе генерации базы. Все штатные операции построения схемы могут быть переделаны.
Одна из наиболее изумительных возможностей – Эволюция Модели (Model Evolution). Она позволяет преобразовывать схему на основании предыдущей версии модели в схему, которая соостветствует текущей версии модели. Все это позволяе максимально обеспечить сохранность и целостность данных.

Итого:
Сервер управления блокировками (Concurrency Management Server)
Полный набор атрибутов для управления уровнем данных
Физическая 3-х - уровневая архитектура
Поддержка для атрибутов, определяемых пользователями
Поддержка определяемых пользователем многоколонных атрибутов
Поддержка для удаленных серверов хранения данных
Расширение для версионности объектов (Object Versioning Extension)
Оптимистическое блокирование
Оптимизированный потоковый XML формат
Отображение модили в базу, хранимое в базе
Эволюционная трансформация модели/схемы
Эволюционная трансформация модели/данных
Совместимость модели/схемы с будущей версией
Совместимость модели/схемы с предыдущей версией
Поддержка default - знаечений в БД

Графический интерфейс
Графический интерфейс подключается к объектному пространству, использую выражения OCL. Все наши компоненты позволяют Вам специфицировать одно или больше OCL – выражений, чтобы получит некоторое подмножество наших бизнес – объектов или их членов. Набор of Bold-aware - компонентов приблизительно соответствует набору DB-компонентов. Также имеется очень мощный Bold aware компонент для работы с деревьями.
Enterprise edition поставляется с эквивалентным набором COM-enabled натуральных VCL-компонентов, который позволяет вам выполнить построение тонкого клиента. Чтобы защитить Ваши вложения в толстого клиента, конвертер толстого в тонкий клиент включен в продукт. Он изменяет значимые части кода и формирует из него эквивалент в виде тонкого клиента.
Расширенный набор дескрипторов как стартовая точка для обработки ваших данных. Некоторые дескрипторы могут быть соединены в цепочки с целью моделирования отношений и создания набора объектов.
Продукт поставляется с исходным кодом всех размещаемых компонентов, как визуальных, так и невизуальных.

Итого по GUI:
Функционально полный набор VCL model aware - компонентов
Функционально полный набор COM enabled – компонентов
Функционально полный набор обработчиков объектов для получения данных из объектного пространства.
Адаптеры между DB – компонентами и Bold - компонентами (TBoldDataset)
Оптимизированные multy – valued компоненты
Общий адаптер между VCL – свойствми и Объектным Пространством (TBoldPropertyController)
Акции (от TActions) для общих задач

Дизайн - тайм
Разработчики найдут множество полезных возможностей в дизайн – тайме, таких, как на интуитивно – понятный редактор для свойств и компонентов. Очень полезен для редактирования конткстно – зависимый OCL – редактор, который позволяет Вам премещаться по модели для создания собственных сложных OCL – выражений методом point – and - click. Другой мощный редактор компонента – это внутренний UML Редактор Модели, который обрабатывает модель в дизайн - тайме. Он позволит редактировать все важные части модели (=mv= по мне - в Rose удобнее. Хотя, может, не привык еще) . Дополнительно, он позволяет в дизайн – тайме перетаскивать элементы модели на форму.
Связанные свойства Bold сгруппированы в Bold - категории.
После импортирования модели из Rose или XMI, генератор на основании шаюлона сгенерирует код для всей вашей модели, включая список типов, методы доступа к типам для атрибутов и ролей.
Bold for Delphi обеспечивает генерацию кода Delphi, чтобы обеспечить доступа к иерархии классов, определенной в модели. Члены доступны как настоящие типы Delphi или как члены классов. Генерируются модули – заглушки для реализации бизнес - логики.
По желанию, Вы также можете сгенерировать код IDL, также, как и адаптеры для всех бизнес - классов. Это позволит использовать COM в вашем приложении и написать клиентов в любом COM-aware – инструменте разработке (VB, VC++, Office и т.д.).
Выражения OCL в компонентах могут быть вычислены для проверки в дизайн - тайме.

Итого по дизайн – тайму:
Проверка OCL
Контекст – чувствительный OCL - редактор
Генерация IDL и кода адаптеров
Уличшенные редакторы свойств и компонентов
Drag and drop из редактора модели
Внутренний редактор модели
Генерация кода, основанная на шаблонах
Проверка OCL – выражений в модели
Доступ по одному щелчку мыши к редактору модели

Ран - тайм
В ран - тайме мощь MDA сверкает во всю силу (прям в глазай рябит). Типо-чувствительный автоматический drag-and-drop поддерживает drag and drop :), где только такое возможно, и наполняет отображение модели гарантированной логикой связи между объектами и их отображаемыми значениям и другими ценными возможностями. Короче, это нажо видеть.
Новая возможность управления преобразованием OCL выражения в стандартный SQL - оператор. Она дает заметное повышение производительность при формировании одиночных объетов из можества классов.

Итого по Ран – тайму
Преобразование OCL в SQL
Расширенные механизмы подписок
Отимизация представления модели в рантайме
Оптимизация объектного пространства
Управление памятью/распределение/цепочками дескрипторов

Прочее

Масса примеров в комплекте. Плюс толковое описание принципов работы по каждому из примеров. Естественно, множество примеров рассматриваемой рабочей среды упрощены для уменьшения затрат времени. Примеры включают маленькие приложения, примеры компонетов и куски кода, иллюстрирующие возможности применения технологии.

Итого по Прочему:
Преобразователь Толстого коиента в Тонкий
Расширенный набор примеров (ну, типа - Simple сперва был набор, а потом расширили. Но примеры классные =mv=)
Примеры компонентов
Help, интегрированный в IDE
Исходный код для компонентов GUI
Определение интерфейсов для все модулей

------------------
Уфф! Overfuck!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32909799
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёклмн! Я не хотел! Случайно на кнопочку нажал...

Почему нельзя редактировать удалять свои посты?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32914283
Гость Bold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как подписаться на BoldListHandle чтобы при изминении количества объектов (в BoldListHandle) я получал уведомление ???
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32914396
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ты можешь подписаться как на само Expression твоего ListHandle (в контексте его RootHandle, конечно), либо на Expression + '->size' - в последнем случае ты будешь получать извещение именно об изменении количества элементов.

Мне кажется, если бы ты расказал чуть поподробнее (в предметном плане), то можно было бы помочь более конкретно.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32914438
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, к примеру, взять TBoldPlaceableSubscriber, повесить его на тот же Handle, который является Root для твоего listHandle, и ловить событие OnReceive. Тут ты будешь получать извещения на все события с измением коллекции, содержащейся в ListHandle. А если быть щепитильным, то в OnSubScribeiElement можно подписаться конкретно на изменение объема коллекции, как - нибудь вот так:

Код: plaintext
1.
2.
3.
4.
begin
  Element.SubscribeToExpression('self', Subscriber, true);
  Element.SubscribeToExpression('self->size', Subscriber, true);
end

Первую строчку ты можешь даже убрать, как мне кажется. Попробуй!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32929676
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Всех с прадником, мужики!

2. Всем, кому интересен Bold/ECO и прочая MDA - ссылка


mda.hostok.net

снова ожила!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32950335
mv1. Всех с прадником, мужики!

2. Всем, кому интересен Bold/ECO и прочая MDA - ссылка


mda.hostok.net

снова ожила!

1. Ну, с 8 марта, мужик!

2. Ну, был я ТАМА. Ну, круто, конечно. И чего? И где все это брать?

Получается: для проектирования Rational Rose нужен, да Delphi Architect, да еще какую-нибудь реляционную СУБД все равно надо. Да еще НОРМАЛЬНЫЕ визуальные компоненты докупать надо.

И сколько все это стоить будет?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32950384
Andr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Старый маньяк. Получается: для проектирования Rational Rose нужен,

Спрашивал там про ModelMaker vs Rational Rose, ничего вразумительного не ответили :(
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32950623
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я пытался тебе ответить, да что-то у них с форумом не в порядке было (аттачи не аттачились). Вот тебе инфа по Модель Майкеру (кривовато: сам переводил). ИМХО, больно уж много ограничений при работе с ним. Лучше уж Роза.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32951016
Andr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mvДа я пытался тебе ответить, да что-то у них с форумом не в порядке было (аттачи не аттачились). Вот тебе инфа по Модель Майкеру (кривовато: сам переводил). ИМХО, больно уж много ограничений при работе с ним. Лучше уж Роза.
Спасибо за информацию.
А c какими версиями Rose bold нормально работает ?
Вроде где-то читал, что чуть ли не с любой, но не уверен.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32957451
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От Rose 98 и далее.

Да, при инсталляции выбирайте - custom установку, и ВСЕ чекбоксы сбрасывайте в "пусто". Тогда инсталляция - мнимальная, около 50Мб всего, и ничего лишнего мешать не будет.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32967776
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #32990669
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще документация (на русском) новая (здесь ранее спрашивали об этом):

По поводу изменения модели (эволюции) в процессе разработки/сопровождения:

http://mda.hostok.net/forums/download.php?id=51


По поводу разработки компонентов под Bold:

http://mda.hostok.net/forums/download.php?id=50

Как видно, все не просто, а очень просто...
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33007492
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33019377
Вчера на Borland-конференции представитель Borland заявил, что Bold для Delphi 2005 ( Win32) будет выпущен в свет до конца апреля.

Будут убраны старые и добавлены новые глюки. А вообще радует, что продукт развивается.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33054575
Качаем новый Bold - 2005:

Вот отсюда

Добавлены почти все исходники.

А вот прямая ссылка

Процесс продолжается!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33074078
YuryP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите. Недавно начал изучать Болд. Сделал UML дигр. в ModelMaker
Class1 Документ ("Номер", "Дата") - например накладная.
Class2 Имущество ("Серия", "Номер") - например бланки строгой отчетности
Class3 Тип Имтущества ("Наименование") - например Бланк1, Бланк2 и т.д.
см. схему

в делфи делаю форму с 3 гридами
грид Имущество связан с гридом Документ
грид Тип имущества ни с чем не связан

Почему мне удается ввести имущество по документу БЕЗ УКАЗАНИЯ типа имущества?
Почему при сохранении данных в БД не проверяется целостность данных.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33075424
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сайт MDA переехал:

http://mda-delphi.ru

Ну вот, там есть демки с описанием и исходниками. И форум.
И книжку почитай.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33075967
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuryPПомогите. Недавно начал изучать Болд. Сделал UML дигр. в ModelMaker
Class1 Документ ("Номер", "Дата") - например накладная.
Class2 Имущество ("Серия", "Номер") - например бланки строгой отчетности
Class3 Тип Имтущества ("Наименование") - например Бланк1, Бланк2 и т.д.
см. схему

в делфи делаю форму с 3 гридами
грид Имущество связан с гридом Документ
грид Тип имущества ни с чем не связан

Почему мне удается ввести имущество по документу БЕЗ УКАЗАНИЯ типа имущества?
Почему при сохранении данных в БД не проверяется целостность данных.

Констреинты начинают работать сразу, но точку принятия решения (т.е. момент, когда логическая последовательность операций завершена) ты выбираешь сам. Вплоть до того, что ты можешь объект в противоречивом состоянии записать в базу - до следующего сеанса редакторования. А можешь сделать и как в "стандартном" подходе - при нарушении констреинтов не разрешать писать объект в базу.

См. пример в демках. Всего-то несколько строчек кода в базовом бизнес- классе - и объекты в базу при нарушени констреинтов не пишутся. Все достаточно гибко.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33299757
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где взять этот BOLD?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33299763
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07

m> А где взять этот BOLD?

Если мне не изменяет маразм, то в версии Architect Edition

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33299848
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Болд для Дельфи2005 свободно с исходниками у Борланда скачивается.

Сходи сюда: http://mda-delphi.ru/forums

Там все расскажут и покажут.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33300056
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Но я работаю с CBUilder 5 или 6. Чуществует ли Bold пригодный для этого?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33300819
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Up
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33321368
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спешу всех обрадовать.

1.Болд будет и в DeXter. Примерно того же уровня поставка, что и в Delphi2005.
2. ECO-III - на подходе. Вовсю тестирование идет. К старым фичам добавили, кроме всего прочего, возможность использования дополнителных аспектов UML ( частности - диаграммы состояний ).
3. Уже сейчас доступен транслятор модели Bold в модель ECO.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33380164
Alex Zhuravlev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, поделитесь файликом bfd.pty от Bold для тети розы. Что-то найти немогу. :(
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33386702
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex ZhuravlevНарод, поделитесь файликом bfd.pty от Bold для тети розы. Что-то найти немогу. :(

Ну, он же "там", в дистрибе прямо...
Их там даже два -
в C:\Program Files\Boldsoft\BfDR40D7Arch\Rose
и в C:\Program Files\Boldsoft\BfDR40D7Arch\Source

И тетушка сама его ищет.

Ну ладно - вот:
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #33387898
Alex Zhuravlev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mv Alex ZhuravlevНарод, поделитесь файликом bfd.pty от Bold для тети розы. Что-то найти немогу. :(

Ну, он же "там", в дистрибе прямо...
Их там даже два -
в C:\Program Files\Boldsoft\BfDR40D7Arch\Rose
и в C:\Program Files\Boldsoft\BfDR40D7Arch\Source

И тетушка сама его ищет.

Ну ладно - вот:
Да,я тормоз и ламер. :(
Все дело в том, что тут пробегала ссылка на болд 2005, а там такого файла в поставке нет.... После установки болда для Д7 много вопросов у меня исчезло, там даже хелп есть. ;)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Bold for Delphi /Bold for C++. Вторая попытка.
    #35621678
Aleksandr (kkk)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё. Тихо. Всё погасло..
Кто-нибудь ещё использует Болд или ему подобные? И если да, то что?
Действительно интересно узнать Ваше отношение к выше изложеному - прошло ведь уже несколько лет после последнего поста.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35809037
VSY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VSY
Гость
Aleksandr (kkk),

BDS2006 + BoldForDelphi :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35820703
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, все юзают hibernate/nhibernate :), либо вовсе ничего не юзают, а пишут хп и живут счастливо.
самое опасное в orm - это то, что происходит размазывание ролей. в итоге разработчик db или dba обязан знать маппинг, иначе он не может безболезненно оптимизировать структуру бд или работать с бд иными средствами.

з.ы. как ни крути - bold сильно связанная штука, а это не есть хорошо, потому как к чему у нас должна стремиться архитектура? - правильно :) - к масштабируемости, асинхронным вызовам и слабой связности компонентов и подсистем.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35828541
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большие ограничения, на самом деле.
Убогий язык запросов.
Закрытость. Во всех отношениях.

Но идеи классные, конечно.
Может быть, многие механизмы следует реализовывать на уровне ОС, а не как надстройку над СУБД.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35828899
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextMan
Может быть, многие механизмы следует реализовывать на уровне ОС, а не как надстройку над СУБД.
дык, MS вроде обещало встроить свою СУБД в ось :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35829594
ytrcnvfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123NextMan
Может быть, многие механизмы следует реализовывать на уровне ОС, а не как надстройку над СУБД.
дык, MS вроде обещало встроить свою СУБД в ось :)
1. Имелись в виду механизмы пропагации и т.п., т.е. как раз надстройка.
2. Да врут они все. Еще в 2000-й обещали...
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35889799
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksandr (kkk)Всё. Тихо. Всё погасло..
Кто-нибудь ещё использует Болд или ему подобные? И если да, то что?
Действительно интересно узнать Ваше отношение к выше изложеному - прошло ведь уже несколько лет после последнего поста.

Использую

Delphi 2007
+ BoldForDelphi2006 + Rose + RBoldModelTranslit (Компонент К.Грибачёва)
+ DevExpress 6 (гриды и деревья (болдовыми гридами пользуюсь только для отладки))
+ TBoldDataSet (мое не большое изменение что б подружить с TcxGrid)

= Отличный инструмент разработчика!
, немного капризный и требующий много времени для освоения, но я считаю, результаты стоят того.

Окуратное(правильное) использование ОСL, создание индексов в базе "ручками" и Совмещение 2 подходов взятия данных через ОП, и напрямую запросом, позволяет получить хорошую производительность.

По моим наблюдениям Bold дает высокое приимущество в тех задачах, где предметная область меняется ежедневно, а заказчик "не понимает" что он хочет. Т.к. изменения вносятся "относительно мгновенно".

Ну есть конечно и ситуации, где "традиционный" поход дает больше преимуществ.
Так что считаю, господа, что надо находить золотую середину, и использовать как те так и другие средства.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35901593
yumata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я начал работать с Bold еще в 2004 г.
Сначала писал проекты на нем и в полной мере оценил мощь и скорость разработки.
А потом написал СВОЙ фреймворк - чтобы ВООБЩЕ не кодировать, а просто писать OCL-запросы (ну и немного сам OCL расширил) - www.yumata.info
Кстати - на сайте можно скачать offline-контент старого форума по MDA

__________________________________________________
Гениальные программисты пишут гениальные программы.
Успешные программисты - пишут для Газпрома :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35915818
Zanh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юрий Шинк,
У меня проблема с TBoldataset, поможете ?
Схема такая:
ListHandle
|
BoldDataSet <- SQL Server - Table: (ID, Name, BirthDate)
|
DBGrid

Вот когда ввожу дату рождения в Грид, всегда выскакивает ошибку:
"0.0 is not valid timestamp"
хотя для birthdate использую тип DateTime
Не знаю что делать
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35919273
Zanh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yumataЯ начал работать с Bold еще в 2004 г.
Сначала писал проекты на нем и в полной мере оценил мощь и скорость разработки.
А потом написал СВОЙ фреймворк - чтобы ВООБЩЕ не кодировать, а просто писать OCL-запросы (ну и немного сам OCL расширил) - www.yumata.info
Кстати - на сайте можно скачать offline-контент старого форума по MDA

__________________________________________________
Гениальные программисты пишут гениальные программы.
Успешные программисты - пишут для Газпрома :)

Здавствуйте !
Я знаю, что вы Гениальный программист, поэтому прибегу к вам за помощь, но пока никто не откликивает. У меня проблема с TBoldDataSet. Он почему то не хочет работать с моим DateTime
данными. Ввожу дату в Грид, а он всегда выдает ошибку: "0.0 is not valid timestamp".
Что мне делать ? Использовать String типа "01.01.2009" (например) вместо DateTime ?
Или может быть у кого есть нормально работающий TBoldDataSet ?
Большое спасибо и с нетерпением жду вашего совета.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35919304
Зань
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksandr (kkk)Всё. Тихо. Всё погасло..
Кто-нибудь ещё использует Болд или ему подобные? И если да, то что?
Действительно интересно узнать Ваше отношение к выше изложеному - прошло ведь уже несколько лет после последнего поста.

Ауууууууу!
Опять действительно всё тихо и всё погасло ....
Кто-нибудь ещё использует Болд и поможет начинающему бедному студенту ....
Люди добрые, где вы ???
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35926677
Jungle Boy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗаньAleksandr (kkk)Всё. Тихо. Всё погасло..
Кто-нибудь ещё использует Болд или ему подобные? И если да, то что?
Действительно интересно узнать Ваше отношение к выше изложеному - прошло ведь уже несколько лет после последнего поста.

Ауууууууу!
Опять действительно всё тихо и всё погасло ....
Кто-нибудь ещё использует Болд и поможет начинающему бедному студенту ....
Люди добрые, где вы ???

А зачем орете ? Ведь Болд умирает, и его программисты наверно то же ...
Их нет, нечего ждать от них в ответ. Сейчас используйте ECO (правда только в .Net) !!!
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35926739
S-Vd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zanh,

А если "Use timestamp" попробовать поставить в false?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35928403
Morozova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S-Vd,

У меня такая же ситуация. Я убрал галочку в Use timestamp, не помогло.
Потом убрал еще Use X files, и все пошло. Попробуйте. Может это вам подойдет.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35928422
Zanh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MorozovaS-Vd,

У меня такая же ситуация. Я убрал галочку в Use timestamp, не помогло.
Потом убрал еще Use X files, и все пошло. Попробуйте. Может это вам подойдет.


Огромное Вам всем спасибо !
У меня сработало.
Теперь смогу дописать свою программку до конца.
Жалко, что у нас в институте не у кого спросить.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35939977
Zanh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юрий ШинкAleksandr (kkk)Всё. Тихо. Всё погасло..
Кто-нибудь ещё использует Болд или ему подобные? И если да, то что?
Действительно интересно узнать Ваше отношение к выше изложеному - прошло ведь уже несколько лет после последнего поста.

Использую

Delphi 2007
+ BoldForDelphi2006 + Rose + RBoldModelTranslit (Компонент К.Грибачёва)
+ DevExpress 6 (гриды и деревья (болдовыми гридами пользуюсь только для отладки))
+ TBoldDataSet (мое не большое изменение что б подружить с TcxGrid)

= Отличный инструмент разработчика!
, немного капризный и требующий много времени для освоения, но я считаю, результаты стоят того.

Окуратное(правильное) использование ОСL, создание индексов в базе "ручками" и Совмещение 2 подходов взятия данных через ОП, и напрямую запросом, позволяет получить хорошую производительность.

По моим наблюдениям Bold дает высокое приимущество в тех задачах, где предметная область меняется ежедневно, а заказчик "не понимает" что он хочет. Т.к. изменения вносятся "относительно мгновенно".

Ну есть конечно и ситуации, где "традиционный" поход дает больше преимуществ.
Так что считаю, господа, что надо находить золотую середину, и использовать как те так и другие средства.


Друзья,
У кого есть BoldGridPro, не дадите ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35940496
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zanh
Вот когда ввожу дату рождения в Грид, всегда выскакивает ошибку:
"0.0 is not valid timestamp"

У меня не было этой ошибки я на той панели все 6 галочек "Use ..." отключил

Zanh
Друзья,
У кого есть BoldGridPro, не дадите ?

Зачем вам BoldGridPro?, используте лучше DevExpress, в их только в одном QuantumGrid на порядок больше возможностей, а ещё там DBTree, PivotGrid, VerticalGrid и др. приятные вещи.
К дасету присоединил и всё запары с сортировками, групировками, фильтрациями закончились, да и кодировать практически не надо.

И DevExpress найти на много проще, так как он довольно распространен.
Ну если не хотите отваливать ~1600$, и не найдёте его на Торете, то можно попробовать утроится на работу программистом. Там первый день дадут устанавливать компоненты. Вот можно их и на флешку скинуть и идти домой. Пол дня работы и DevExpress у Вас!

При связке BoldDataSet и QuantumGrid
в GridDBTableView . DataController.DataModeController. поставь SyncMode в False либо GridMode в True в зависимости от режима. В DBTree номально работает и так.

В первом случае обращаться к объекту примерно так
Person := TPerson(lhPerson.ObjectList.Elements[gtvPerson.Controller.FocusedRecord.RecordIndex]);
Где
gtvPerson: TcxGridDBTableView;
lhPerson: TBoldListHandle;
Person: TPerson; - Болдовский объект.


И вот что я поправил в BoldDataSet.pas чтобы он работал без тормозов.
Проблема в том что QuantumGrid имет свой внутрений буфер и он синхрозируется с болддатасетом столько раз сколько записе в болддатасете + 1, при включённой цепочки.
Ибо при > 100 записей они начинаются а при > 1000 можно идти пить чай.
...
TBoldAbstractDataSet = class(TDataSet)
...
protected
FTimerResyncYuri: TTimer;
procedure FTimerResyncYuriTimer(Sender: TObject);
procedure ResyncYuri;
...
ResyncYuri; //Resync([]);
...
ResyncYuri; //Resync([]);
...
...
...
procedure TBoldAbstractDataSet.ResyncYuri;
begin
FTimerResyncYuri.Enabled := False;
FTimerResyncYuri.Enabled := True;
end;

procedure TBoldAbstractDataSet.FTimerResyncYuriTimer(Sender: TObject);
begin
FTimerResyncYuri.Interval := 100;
FTimerResyncYuri.Enabled := False;

if Active then
Resync([]);
end;

Ну здесь так сказать решение в лоб, чтоб понять смысл. Наверняка можно и не использовать Timer и правильней бы писать наследника. Но это без проблемно работает.

Удачи. Надеюсь, поможет.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #35941031
Zanh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юрий Шинк,

Спасибо вам огромное. Я пробовал, все ОК.
Действительно не нужно искать BoldGridPro.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36077290
yumata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, что не отвечал - я на пару месяцев уехал в отпуск и не был на форуме.
Вот сейчас только начал работать - готовлю к выходу первый релиз.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36151292
S-Vd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть класс человек, к нему привязан класс зарплата (один ко многим). В классе зарплата есть поле год и поле сумма. Как мне посчитать всю зарплату за все года у этого человека?

Можно ли как то это сделать через OCL-выражение "sum"?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36172242
S-Vd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь знает как пользоваться BoldExceptionHandler?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36189954
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S-VdЕсть класс человек, к нему привязан класс зарплата (один ко многим). В классе зарплата есть поле год и поле сумма. Как мне посчитать всю зарплату за все года у этого человека?

Можно ли как то это сделать через OCL-выражение "sum"?

Думаю както так:
Person.allInstances->select(Nom = 232).Zarplata.SummaBabla->sum

Если людей много, и зарплат тоже много, я бы воспользовался SQL, т.к. при выражение этом в память клиента будут загружены все Person и походу вся Zarplata.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36200307
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, это дико занимательно - исследовать OCL и заниматься UML - моделированием, но, имхо, почти все, кто пытался юзать болд, давным-давно забросили его.
Скачайте оффлайн-версию старого болд-сайта-форума да перечитайте его.
Это же атас какой-то. Дядьки занимаются тем, что пытаются на ощупь надыбать доков, исходников и очень экзотических компонентов. Постоянно борются с ограничениями модели, с ограничениями языка запроса, с производительностью, с засиранием памяти, с настройкой пропагаторов и проч. механизмов, с глюками, которые разработчики и на собираются патчить, вообще не знаю с чем...
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36206580
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NextManНарод, это дико занимательно - исследовать OCL и заниматься UML - моделированием, но, имхо, почти все, кто пытался юзать болд, давным-давно забросили его.
Скачайте оффлайн-версию старого болд-сайта-форума да перечитайте его.
Это же атас какой-то. Дядьки занимаются тем, что пытаются на ощупь надыбать доков, исходников и очень экзотических компонентов. Постоянно борются с ограничениями модели, с ограничениями языка запроса, с производительностью, с засиранием памяти, с настройкой пропагаторов и проч. механизмов, с глюками, которые разработчики и на собираются патчить, вообще не знаю с чем...

Полностью с Вами согласен.
Тем не менее, хочу подметить, что заниматься UML - моделированием полезно для здоровья ))
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36211593
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36218619
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BOLD - ГОВНО! И лучше им не пользоваться.
Жалко, что ни у кого нету полных исходников.

Господа, кто ни будь знает какие-нибудь аналоги или похожие технологии?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36218889
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий Шинк,
например, посерьезней
и попроще
... но уже не для делфи

p.s. Господа и Г..НО не очень сочетаются
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36219105
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий Шинк, не кипятись.
Исходники есть, но таки да, лучше им не пользоваться.
...
Смотри, какая интересная шняжка.

Исходники (понятные!) все в наличии, простая, как кусок хозяйственного мыла, и для Delphi.
Язык запросов в объектном пространстве там тоже довольно убогий, но легко пользоваться SQL...

И развивается.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36231191
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за эмоции :-), я посмотрел эти ссылки и понял что BOLD - НЕ г..но!

iscrafm, NextMan спасибо за инфу.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Bold for Delphi /Bold for C++. Вторая попытка.
    #36904056
Зань
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Юрий Шинк,

А все таки, извините конечно за наглость, есть у кого-нибудь rad-studio 2.0 bold edition ?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36955919
Юрий Шинк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зань,

У меня нету, только демка. Да и зачем он Вам..?, тот же EhLib 5.2 обошел его по функционалу.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36966315
Зань, у меня есть. Покупал за кровные.
Не использую, как и весь "болт". Чего и тебе советую.

"Делиться" не буду, дабы не поощрять твое "зависание на болту".

Считай, это подарок: скорее переболеешь.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #36975767
У меня есть.,

Чтоб вернуть кровные...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Bold for Delphi /Bold for C++. Вторая попытка.
    #37697583
haliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv,

Добрый день.
Bold + TcxDBLookUpComboBox. Как получить BoldId для связи?
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37709871
BoldID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как то так

function TBusinessClassesRoot.BoldID: Integer;
begin
Result := StrToInt(BoldObjectLocator.BoldObjectID.AsString);
end;
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37764633
haliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос на засыпку. Кто-нибудь занимался более серьезным решением вопрос тормозов с cxGrid? В предложенном варианте существуют проблемы.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37764634
haliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BoldID,

Спасибо за помощь :)
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37782040
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haliffВопрос на засыпку. Кто-нибудь занимался более серьезным решением вопрос тормозов с cxGrid? В предложенном варианте существуют проблемы.

Тормозит локальная работа грида или его взаимодействие с базой? Если второе, то иногда может лечится непросто.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37783062
haliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавная ситуация происходит.
При просмотре объекта Bold открывается форма, на вкладках которой в QuantumGrid выводятся все ссылающиеся на этот объект объекты. Т.е. например смотрю объект Контрагент, а на вкладке - все проводки с ним связанные. Для показа проводок использую cxGrid. Форма открывается, ОСНОВНЫЕ поля контрагента показываются, а лукапы (тожe cx) и все cxGrid - пустые. При этом форма кликабельна, перемещаема и.т.д. Проходит секунд 10 (на тестовой, практически пустой базе), и гриды и лукапы заполняютсяю При использовании родных для болда компонент зависов не происходит даже на 10000 связанных объектов
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37783063
haliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока смотрю только локально
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37785347
Юрий -
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
haliff, самое первое что сделай по профилируй sql-запросы. Скорее всего ты там увидишь тысячу одинаковых, для загрузки деталей(связанных объектов), лечится примерно так:

Код: pascal
1.
2.
3.
4.
5.
6.
procedure TfDialogs.bpsAkauntReceive(...);
begin
  // Масовая загрузка
  TAkaunt(lhAkaunt.CurrentBoldObject).Kontaktiruet.EnsureObjects;
  TBoldSystem.DefaultSystem.FetchLinksWithObjects(TAkaunt(lhAkaunt.CurrentBoldObject).Kontaktiruet, 'persona');
...


Метод вызывается при смене главного объекта.


Второе, в TBoldDS при работе с соединённым хенглами, есть ещё один косячёк, может это не косяк но он портил мне всю малину. При беге по датасету на каждый шаг меняет CurrentBoldObject в lh, соответственно все кто к нему соединены грузятся. (т.е. вы перешли на 10-ю запись, детали загрузятся с 1-10, а вам нужно 1 и 10), и если соединён схГрид то он сразу пробежится по всем без вашего ведома и и так невзначай загрузит все детали. Решений такого поведения много, я исправил здесь TBoldAbstractDataSet.DoAfterScroll; также таймером, как и прошлый раз.

Удачного разгона.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37797924
Юрий -
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для 1-го пункта забыл ещё: BoldDatabaseAdapterXXX.SQLDatabaseConfig.FetchBlockSize := MAX для используемой СУБД.
...
Рейтинг: 0 / 0
Bold for Delphi /Bold for C++. Вторая попытка.
    #37896681
haliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А готов кто-нибудь взяться за халтуру- сделать полноценный датасет для Bold?
Полноценный-значит с поддержкой Filter, Locate и.т.д
На коленке написанный неполноценный датасет дал прирост производительности(на глаз) более 10 раз.
Готов оплатить деньгами. Аська 310301940, skype tfProject
...
Рейтинг: 0 / 0
170 сообщений из 170, показаны все 7 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Bold for Delphi /Bold for C++. Вторая попытка.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]