|
|
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Уважаемые участники! Предлагаю воссоединиться для обсуждения практических вопросов. Появление "новых" технологий проектирования, программирования и средств разработки заставляет задуматься над извечным вопросом программиста - "НА ХРЕНА?" В переводе на литературный - а можно-ли из этого "нового" получить практическую выгоду. ИТАК: "Object Design" "Recursive Development" "Knowledge base" "Expert system" "Business driven application" Для меня эти понятия оказались более чем связаны. Последние 25 лет я работал в области мат.моделирования различных процессов от излучения очень неоднородных тел в совсем неоднородную среду до бизнес процессов реальных предприятий. Последний внедрённый опус - система управления туристического агенства - вобрало в себя все перечисленные выше аспекты. В обсуждении прошу опускать вопросы, давно представляющие "общее место" или оставлять ссылку на классиков для любопытсвующих. Также прощу не щеголять терминологией, давать хотя-бы краткий перевод сокращений также для любопытсвующих. Надеюсь также, что использование английского языка никого не приведёт в замешательство (в последнее время даже программировать стали на русском) Я лично постараюсь более упирать на физический смысл, нежели на конкретные методы реализации. "OBJECT DEZIGN" Объектное проектирование - тема, которой хотелось бы отдаться прежде всего. Начну с конца - постулата, который мне так и не удалось опровергнуть Object Dezign = Tranzaction Dezign Даное утверждение позволяет легко перейти от реляционной модели информации к объектной модели: Связи 1:1 и 1:M - являются характерным признаком того, что мы имеем дело с Экземпляром объекта (Object Instance) , т.е. связанные сущности являются свойствами головного объекта (Nested attributes). Вся обработка ЭКЗЕМПЛЯРА объекта, должна выполняться в рамках одной транзакции ибо изменение любого свойства объекта означает изменение ВСЕГО экземпляра объекта. Связи 0:1 и 0:M - реализуют ссылки на сторонние независимые сущности (Reference), Изменение ссылки не приводит к изменению объекта, на который ссылается атрибут. Есть куча примеров в подтверждение этого, самый простой критерий при проектировании - независимость информации, иначе за трубу можно вытащить весь пароход. Практический выход: .Net Dataset - Это НЕ ВИРТУАЛЬНАЯ БАЗА - Это набор данных, который обрабатвывается за одну тразакцию = Экземпляр объекта = Object Instance Утверждение уже более чем спорное... Поговорим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 02:20 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Истинно говорю вам! - 1 января 2000 года Земля натолкнётся на небесную ось! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 20:10 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Простите за банальности, Но тема слишком сложная, что бы не договориться изначально о терминологии. Продолжу по поводу "OBJECT DEZIGN" Почему объектная модель информации, а не традиционная диаграмма отношений логических объектов ERD (Entity-Relationship Diagramm)? Оказалось что общаться с заказчиками в терминах Объекты и их свойства существенно проще чем в терминах ERD, поскольку удаётся обойтись без мутного понятиия "Связи", когда сами проектировщики с этим термином не знают что делать, то-ли это связь а может уже сущность. Конечно из песни слов не выкинешь и приходится вводить различные типы атрибутов объекта для опиcания связей, как-то: ссылка, группа атрибутов, множественная группа... Но и в ERD связи имеют два имени, смотря со стороны какой сущности на них смотреть. С другой стороны, одно и то же свойство объекта может измениться в процессе осознания от простого атрибута (реализуемого как поле в таблице) до множественной группы атрибутов (записи в связанной таблице). Имя свойства и его физический смысл от этого не меняется. Но это уже следующая тема - "Recursive Development" Ещё один аспект - Расчетные (Виртуальные) свойства объекта. Расчётные атрибуты могут быть включены в описание объекта на равных правах с хранимыми атрибутами. Заказчика, в основном, не интересует расчетное это свойство или хранимое. Остаётся описать ПРАВИЛА получения значения для таких атрибутов. Вот и ещё одна тема - "Knowledge base" Да и в случае "хранимых" атрибутов есть место для правил. Это и значение по умолчанию, и проверки корректности данных. Конечно никто не отменял их реализацию стандартными средствами баз данных, но в большинстве случаев имеющиеся возможности сильно ограничены. Следующий вопрос, а может он и первый, который возникает при проектировании, это процедуры. А если точнее, то кто, что, когда и где делает, т.е. тот самый БИЗНЕС ПРОЦЕСС. Тема отдельная но неотъемлемая. Объектная модель дополненная описанием процедур позволяет ответить на вопрос ЧТО. ЧТО == Метод объекта Но ближе к телу... Я использовал для пректирования (и затем управление приложением) следующее описание (Модель, метадата,... как угодно называйте) см.приложение Для работы с описанием разработал приложение и пару процедур: DBSCHEMA_LOAD - Создание модели по существующей базе DDL_Create - Создание базы по модели XSD_Create - Создание схемы по модели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2007, 10:15 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander BezninПростите за банальности, Но тема слишком сложная, что бы не договориться изначально о терминологии. а о чем она(тема) вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2007, 10:21 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
такий розумный, аж страшно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2007, 15:55 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
iscrafm[а о чем она(тема) вообще? Перевожу на русский: А-у..., Господа! ЭТО (Бизнес процесс, экспертные системы) кто-нибудь САМ руками делал с практическим результатом ??? Поделитесь!!! Проблем внутри немерено... сиркотакий розумный, аж страшно ... Похоже у Вас есть опыт, поделитесь, не боитесь, что засмеют, я уже не боюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 08:23 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Александр, а может вы сначала просто объясните, хотя бы на примере ТурАгентства: 1. С какими проблемами проектирования, реализации и поддержки/развития вы столкнулись. 2. Какие варианты решения этих проблем вы рассматривали, к какому выводу пришли и почему. 3. Какие свои собственные конструкции вы изобрели и для чего - т.е. как эти конструкции позволили эффективно решить проблемы из пункта 1. Пока из ваших описаний совсем не понятно, коим образом object deZign и tranZaction deZign, что бы под ними не понималось, относятся к тематике Баз Знаний и Экспертных Систем и почему эти "технологии" понадобились для турагентства. Alexander BezninУважаемые участники! ... "Recursive Development" Понятия Recursive Development как устоявшегося термина в Гугле не нашёл. Что это? .... Даное утверждение позволяет легко перейти от реляционной модели информации к объектной модели: Связи 1:1 и 1:M - являются характерным признаком того, что мы имеем дело с Экземпляром объекта (Object Instance) , т.е. связанные сущности являются свойствами головного объекта (Nested attributes). Вся обработка ЭКЗЕМПЛЯРА объекта, должна выполняться в рамках одной транзакции ибо изменение любого свойства объекта означает изменение ВСЕГО экземпляра объекта. С книгой Domain-Driven Design Эрика Иванса знакомы? Связи 0:1 и 0:M - реализуют ссылки на сторонние независимые сущности (Reference), Изменение ссылки не приводит к изменению объекта, на который ссылается атрибут.Что в данном случае означает 0? Есть куча примеров в подтверждение этого, самый простой критерий при проектировании - независимость информации, иначе за трубу можно вытащить весь пароход.Да, при разработке высоконагруженных веб-приложений сейчас зачастую применяется физическая кластеризация связанных объектов по разнесённым физически узлам. Оказалось что общаться с заказчиками в терминах Объекты и их свойства существенно проще чем в терминах ERD, поскольку удаётся обойтись без мутного понятиия "Связи", когда сами проектировщики с этим термином не знают что делать, то-ли это связь а может уже сущность.Интересное наблюдение, пока не очень верится, тем более то принципиально ORM отличается от ERM скорее наличием методов, которые не то что заказчик - разработчик не всегда может нормально выделить (особенно люди с Data-Centric бэкграундом). Но и в ERD связи имеют два имени, смотря со стороны какой сущности на них смотреть.Это в каком стандарте прописано? С другой стороны, одно и то же свойство объекта может измениться в процессе осознания от простого атрибута (реализуемого как поле в таблице) до множественной группы атрибутов (записи в связанной таблице). Имя свойства и его физический смысл от этого не меняется.Осознание происходит в процессе разработки (анализа и преоктирования) или уже эксплуатации готовой системы? В чьей голове это осознание происходит? Ещё один аспект - Расчетные (Виртуальные) свойства объекта. Расчётные атрибуты могут быть включены в описание объекта на равных правах с хранимыми атрибутами. Заказчика, в основном, не интересует расчетное это свойство или хранимое. Остаётся описать ПРАВИЛА получения значения для таких атрибутов.С объектным паттерном Strategy знакомы? С системами бизнес-правил (Business Rules Engine)? Объектная модель дополненная описанием процедур позволяет ответить на вопрос ЧТО.При использовании объектного подхода процедур нет, есть методы, которые проистекают из детализации Функциональной модели (Use-Case Model). Я использовал для пректирования (и затем управление приложением) следующее описание (Модель, метадата,... как угодно называйте) см.приложение Для работы с описанием разработал приложение и пару процедур: DBSCHEMA_LOAD - Создание модели по существующей базе DDL_Create - Создание базы по модели XSD_Create - Создание схемы по моделиХороший такой боянчег, "нажитый непосильным трудом", поздравляю. При чём тут базы знаний и экспертные системы-таки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 09:53 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
МайевтикАлександр, а может вы сначала просто объясните, хотя бы на примере ТурАгентства: 1. С какими проблемами проектирования, реализации и поддержки/развития вы столкнулись. Спасибо за реальный ответ, Теперь по вопросам: Основная задача которую пришлось решать сразу - это Billing причём ON Line: Агент принимает от клиента заказ и должен в процессе разговора по телефону выполнить: 1.Бронирование услуг (авиа, ж.д, гостиниц ....) 2.Отослать предложения по поездке клиенту 3.Получить подтверждение, 4.Выпустить билеты, 5.Расчитать стоимость услуг и заказа в зависимости от формы оплаты, договора с клиентом, договора с каждым из поставщиков.... 6.Выпустить документы бух.учёта 7.Сформировать отчёт поставщику, 8.Собрать всё в два(Три при кредитовании) конверта и отдать курьеру, Надеюсь достаточно... Формы файлов для работы со сторонними системами постоянно изменяются, Алгоритмов расчёта - мягко говоря много (Каждый контракт) Форм печати - у всех поставщиков и у половины клиентов свои + дополнительные категории анализа (вплоть до полной системы учёта затрат у этого клиента), заведение которых надо проверять На остальные вопросы чуть позже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 19:50 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Как я понимаю, вы разрабатываете (разработали?) систему генерации физическиой модели базы данных на основании онтологических описаний. В связи с этим у вас вопросы ? у меня встречные вопросы - вы смотрели аналогичные системы? чем ваша отличается ? В какую конкретно СУБД ваши программы генерируют схему данных? Учитываете вы особенностти СУБД при генерации типов данных. ограничений и т.п. как именно генерируются свойства? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 05:53 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Майевтик1. С какими проблемами проектирования, реализации и поддержки/развития вы столкнулись? Продолжим, по поводу проблем т.е. изначально ожидалось постоянное изменение в процессе эксплуатации видов входной информации, алгоритмов расчёта и состава хранимых данных... к концу 1998 году, опыта разработки систем бух.учёта и документооборота уже хватало, но такого зоопарка я ещё не встречал. Попытка использования CASE (в данном случае это был Power Builder) показала, что изменчивость приложения потребует постоянной работы руками (до мозолей и без всякого удовольствия), даже если считать, что созданный в CASE программный код достаточно хорош и не противоречит собственным принципам (naming convention, error processing, multilingual). Заказчик тот был представительством инофирмы в России, и просил сделать что-нибудь быстро и дёшево, и еще Заказчик задробил использование RDBMS по причинам отсутствия денег на DBA... (предлагалось на выбор ORACLE или MS SQL), пришлось согласится в полной осознанке о последствиях на MS Access. В извечной делеме "программный код" или "описание" было принято решение в пользу описания. это решение также оставляло надежду на поэтапное развитие и внедрение системы путем добавления новых описаний без изменения кода. Кстати по поводу "Recursive Development" - этот термин мне подарили в 1995 в фирме Debis System Haus Gmbh, где посчастливилось руководить разработкой системы управления стандартами по заказу DIN и Mercedes. Там, после утверждения ТЗ, требовали в процессе разработки рабочую версию ПО каждые 15 дней. Через 4 итерации приложение было принято в эксплуатацию и продолжало разрабатываться дальше. Собственно ничего нового я и не изобретал... MS Access - оказался вполне благодарным животным и подкинул много интересных идей... Правда пришлось повозиться с многопользовательским режимом и многокомпонентной архитектурой приложения дабы хоть как-то эмулировать RDBMS но это темы другого форума... "Описание" Без загрузки данных из сторонних систем весь смысл приложения терялся, поскольку основная масса информации шла из систем бронирования. Слава богу терминальные приложения этих систем могли что-то сохранять на дисках рабочей станции. Более приличные давали описания сохраняемых файлов, менее - сохраняли в протокол маски экранов, третьи форматировли для печати текстовые файлы (Банк - Клиент) Требовалось создать форму выбора файлов, где показывалась бы ключевая информация для пользователей (Пассажир, номер билета, поставщик, дата отправления....) И обеспечить загрузку в таблицы БД для дальнейшей обработки Из имеющегося на тот момент - загрузка файлов регулярной структуры (CSV, XLS) Требовалось расширить на файлы нерегулярной структуры. Принял решение создать описание информации в этих файлах и описание куда и что загружать. Типичные случаи: - CSV - CSV c типизацией строк - Форматированный текст (Звёздное небо) Сейчас ситуация изменилась, но не координально Добавил загрузку XML и вылил воду из чайника, обеспечив преобразование исходных файлов сначала в XML Структура описания файла: ... Простите отвлекают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 12:05 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
МайевтикdeZign и tranZaction deZign Простите - Copy/Paste Видел, что-то не то, но сразу не сообразил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 14:01 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
MainframeКак я понимаю, вы разрабатываете (разработали?) систему генерации физическиой модели базы данных на основании онтологических описаний. В связи с этим у вас вопросы ? у меня встречные вопросы - вы смотрели аналогичные системы? чем ваша отличается ? В какую конкретно СУБД ваши программы генерируют схему данных? Учитываете вы особенностти СУБД при генерации типов данных. ограничений и т.п. как именно генерируются свойства? И это то-же, но как побочный эффект, да другие системы видел и пользовался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 17:11 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander BezninКстати по поводу "Recursive Development" - этот термин мне подарили в 1995 в фирме Debis System Haus Gmbh, где посчастливилось руководить разработкой системы управления стандартами по заказу DIN и Mercedes. Там, после утверждения ТЗ, требовали в процессе разработки рабочую версию ПО каждые 15 дней. Через 4 итерации приложение было принято в эксплуатацию и продолжало разрабатываться дальше.Это все очень похоже на Iterative development Iterative and incremental development IBM Rational Unified Process ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 17:22 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
BelyЭто все очень похоже на Iterative development Да похоже, общий смысл то-же, дело в ньюансах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 20:13 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Модератор: удалено по просьбе автора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 20:38 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Принял решение создать описание информации в этих файлах и описание куда и что загружать. Типичные случаи: - CSV - CSV c типизацией строк - Форматированный текст (Звёздное небо) Сейчас ситуация изменилась, но не координально Добавил загрузку XML и вылил воду из чайника, обеспечив преобразование исходных файлов сначала в XML Что-то не понимаю. Практически везде есть стандарты обмена. В Авиа это, например RP 1707-08. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 20:49 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов В Авиа это, например RP 1707-08. А первоисточник есть? в гугле не нашёл. Я наверное давно не смотрел новости в этой области и работаю по старинке, Но ни в Сирене ни в Amadeus мне об этих стандартах ничего не сказали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:07 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Сахават Юсифов В Авиа это, например RP 1707-08. А первоисточник есть? в гугле не нашёл. Я наверное давно не смотрел новости в этой области и работаю по старинке, Но ни в Сирене ни в Amadeus мне об этих стандартах ничего не сказали. http://www.google.com/search?q=IATA+RP+1707b&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8 Вот что-то уже есть. Да этим рекомендациям 1000 лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:12 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Вот что-то уже есть. Да этим рекомендациям 1000 лет. Т.е. есть подозрение, что указанные системы бронирования этот стандарт поддерживают, но за большие деньги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:22 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Код: plaintext 1. 2. 3. 4. 5. В связи такое ПО называется Mediation Device. Его задача преобразовать исходные файлы создавамые сетевым оборудованием в формат воспринимаемый биллинговой системой. Большинство файлов, это структурированный поток байтов, который содержит минимум метаданных и те в кодированном виде. В виде экранных форм данные почти никогда не предоставляются. Для преобразования таких файлов используются самые разные подходы, от разработки процедур на универсальном языке программирования типа C++, до разработки собственных скриптовых языков, которые декларативно-процедурными средствами отображают структуру входного файла в структуру файла на выходе. Задача заполнения и разбора форм встречается в процессе управления системой связи, когда в ответ на запрос объект управления возвращает экранную форму расчитанную на чтение с терминала человеком. В этом случае форму тоже можно рассматривать как поток байтов, но есть и более продуктивные модели, например наложение маски или синтаксический анализ. Такого класса ПО тоже существует в природе. Например всякоразные считыватели форм, как экранных так и бумажных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:31 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Сахават Юсифов Вот что-то уже есть. Да этим рекомендациям 1000 лет. Т.е. есть подозрение, что указанные системы бронирования этот стандарт поддерживают, но за большие деньги. Я видел российскую систему Регина (кажется, часть большой системы, если интересно то могу найти ссылку в избранных), там это поддерживается. А мне рекомендации дал Заказчик (аэропорт). На сайте IATA эти документы в свободном доступе не лежать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:32 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Alexander Beznin Сахават Юсифов Вот что-то уже есть. Да этим рекомендациям 1000 лет. Т.е. есть подозрение, что указанные системы бронирования этот стандарт поддерживают, но за большие деньги. Я видел российскую систему Регина (кажется, часть большой системы, если интересно то могу найти ссылку в избранных), там это поддерживается. А мне рекомендации дал Заказчик (аэропорт). На сайте IATA эти документы в свободном доступе не лежать. А вот и ТАИС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:34 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
А вот часть реального сообщения по IATA. Message ID: 220619 004 000 220633 MAY 07 BAKKKXH .HDQRMJ2 220619 PNL J2255/25JUN GYD PART1 CFG/012C144Y RBD C/CDZ Y/YNBMLHUQVGX AVAIL GYD ESB C012 Y019 -ESB000C -ESB000D -ESB000Z -ESB029Y 1AKAN/POLAT MR .L/PHXZP .R/PSPT HK1 994887/TR/AKAN/PMR/M .R/MCO/7714010043020 1ALILI/GALIB MR .L/PC871 .R/PSPT HK1 1244619/AZ/ALILI/GALIB/M .R/1ZZ DOB 09/11/82 .R/TKNM7714400650280 1ALIYEV/FUAD MR-A2 .L/PJBJJ .R/PSPT HK1 P1163640/AZ/ALIYEV/ .RN/FUAD/M 1ALIYEV/ORKHANMR .L/QBXT1 .R/PSPT HK1 P1113643/AZE/ALIYEV/ .RN/ORKHANMR/M .R/TKNM HK1 77144006477126 1ALIYEVA/AFSHAN MRS-A2 .R/PSPT HK1 P1163790/AZ/ALIYEVA/AFSHAN/ .RN/F .R/TKNM HK1 77144006506493 1CAPRAK/FAHRETTIN MR .L/QF2ZN .R/TKTNMB 7714400631364 1CELIK/MUSAMR .L/Q7D18 .R/PSPT HK1 TRP106526/TR/CELIK/MUSA/M .R/TKNM HK1 77144006516971 1DONDUOGLU/MUSTAFAMR .L/Q5413 .R/PSPT HK1 TRO361190/TR/ .RN/DONDUOGLU/MUSTAFAMR/M .R/TKNM HK1 77144006516923 1FATALIYEVA/R MISS .L/PM0RR .R/PSPT HK1 P2353966/AZ/ .RN/FATALIYEVA/RMISS/F .R/INFT HK1 FATALIYEVA/AYSEL .RN/08MTHS-1FATALIYEVA/R MISS 1GUL/ABDULLAH MR .L/QJQF3 .R/PSPT HK1 446555/TR/GUL/AMR/M 1HASHIMOVA/KAMALA MRS-B2 .L/PVWHQ .R/PSPT HK1 P2274085/AZ/ .RN/HASHIMOVA/KAMALA/F .R/TKNM HK1 77144006519465 1HEYDAROV/ALIFMR .L/PEEBZ .R/PSPT HK1 P 1457667/AZE/HEYDAROV/ .RN/ALIF/M .R/TKNM HK1 77144006530503 1HUSEYNOVA/GIYMAT MRS .L/PNRX7 .R/PSPT HK1 P2377121/AZ/ .RN/HUSEYNOVA/GIYMATMRS/F .R/TKNM HK1 77144006532415 1HUSEYNOVA/SHAMISIYYA MRS .L/PW57V .R/PSPT HK1 P1068520/AZ/ .RN/HUSEYNOVA/SHAMISIYYA/F .R/INFT HK1 HUSEYNLI/ALI .RN/19MTHS-1HUSEYNOVA/SHAMISIYYA MRS .R/1IN 21AUG05 1KELLE/ADNANMR-C3 .L/QB8GX .R/PSPT HK1 TRT473695/TR/KELLE/ .RN/ADNANMR/M .R/TKNM HK1 77144006516890 1KELLE/AHMETMR-C3 .R/PSPT HK1 TRN213297/TR/KELLE/AHMETMR/M .R/TKNM HK1 77144006516901 1KIRAC/HASAN MR .L/QNXQS .R/PSPT HK1 P699704/TR/KIRAC/HASANMR/ .RN/M .R/TKNM HK1 77144006532382 1KOYUN/YUKSELMR .L/PC14Z .R/PSPT HK1 241640/TR/KOYUN/YMR/M .R/TKNM HK1 77142029672252 1KURUCAY/LATIFMR .L/Q48DZ .R/PSPT HK1 828530/TR/KURUCAY/ .RN/LATIFMR/M 1MASIMOV/RMR .L/PSPX4 .R/PSPT HK1 P2274025/AZ/MASIMOV/RMR/M .R/MCO7714010043332 1OJAGVERDIYEVA/R MRS .L/Q9FYT .R/PSPT HK1 P2170701/AZ/ .RN/OJAGVERDIYEVA/RMRS/F 1ORUJOVA/GULSUN MRS .L/QJCXG .R/PSPT HK1 P1132310/AZ/ORUJOVA/ .RN/GULSUN/F .R/TKNM HK1 77144006503660 1OZDOGAN/AHMET MR-B2 .R/PSPT HK1 TRD674159/AZ/OZDOGAN/AHMET/M .R/TKNM HK1 77144006519476 1SARACOGLU/BERATICUMHURMR-D2 .L/QGLTH .R/PSPT HK1 TRN042349/ .RN/TR/SARACOGLU/BERATICUMHURMR/M .R/TKNM HK1 77144006498561 1SARACOGLU/IRINAMRS-D2 .R/PSPT HK1 P1606125/AZ/SARACOGLU/ .RN/IRINAMRS/F .R/TKNM HK1 77144006498572 ENDPART1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 21:39 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Господа, Не о стандартах разговор, так получилось, что тему зацепил, Разговор о реализации загрузчика, даже при известных стандартах. От Amadeus данные получаю в Air файлах, думаю они тоже придерживаютя некоторых стандартов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 22:11 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
mcureenabдо разработки собственных скриптовых языков, которые декларативно-процедурными средствами отображают структуру входного файла в структуру файла на выходе. Ну похоже, этой дорогой и идём товарищи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 22:24 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander BezninГоспода, Не о стандартах разговор, так получилось, что тему зацепил, Разговор о реализации загрузчика, даже при известных стандартах. Александр, я просто говорю о том, что если Вы посмотрели бы что сделано до Вас в области этой, то может вопрос о загрузчике и не возник бы. Больше не по теме не буду. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 22:50 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Посмотрел как пишут другие, и стало стыдно Постараюсь форматить сообщения в более приличном виде Повторю свой подход к описанию загрузчика: Цель – создать такой обработчик файлов, который 1. распознавал бы известные (имеющие описание) файлы 2. возвращал значения по имени [+индексу], а еще лучше по иерархическому имени (в стиле Excel ссылок или XPath) Прежде всего, потребовалось как-то получать часть текста. Задание координат лучше, чем в Excel придумать не удалось, посему при известных разделителях для строк и отдельных слов обработчик стал возвращать для: R8W3B5L3 – подстроку длиной 4 начинающуюся с 5 позиции 3-го слова в 8-ой строке заданного текста. R8W3: R40W6 – Область текста начиная со строки 8 по строку 40 и в каждой строке 4 слова начиная с 3 по 6 Lines(L2=”Н-”).Text – Область текста, сформированную из строк, в которых первые 2 символа содержали “H-” Words(25) – соответственно 25 слово из исходного текста На этом минимальном инструментарии 1. Задавались характерные признаки файлов PropertyRuleSeqNoXFileDefR1L14 = "Запись создана"1XFileDefR3L_3 = "ГРС"2XFileDefR20B62L1 in ("E";"Е")3 2. определялись именованные области (в стиле Excel) ItemItem TypeSourceTab.OrderDataTypeXMLTypeNumberTxtCellR20B63L101TextAKSrlTxtCellR20B62L12TextARAirLineTxtCellR16B55L203TextAOAirLineNoTxtCellR20B56L34TextAO…GrossCalcbkNumPart(R20B1L15)15MoneyAOTaxSumCalcGross - Tariff16MoneyAOTariffCalcbkNumPart(R18B1L15)17MoneyAOPayCryCalcbkCharPart(R20B1L15)18TextAOSegmentsTxtTableR10B16:R14B1619TextERCMTaxesTxtTableR19B1620TextEOCMSrcAmountsTxtCellR2B1:R16B1L1521TextEOS Для упрощения обработки пришлось таки типизировать именованные области: TxtSectionНерегулярная областьTxtTableОбласть регулярной структурыTxtCellЭлементарная (неделимая) областьCalcРассчитываемое значение Задавая для элементов подсказку (XmlType) можно получить вполне обрабатываемый XML и XSD XMLTypeDescriptionAKКлючевой атрибутARОбязательный атрибутAOНеобязательный атрибутERCMМножественный обязательный элементEOCMМножественный необязательный элементEOSНеобязательный простой элемент В результате хотелось, что бы обработчик текстовых файлов стал реагировать на запросы типа: Код: plaintext 1. 2. 3. 4. Помогла идея MS Office: Eval(Expression) Хуже, с точки зрения производительности, конечно, не бывает …, хотя для обработки описаний подходит Пришлось разработать языковые средства, но думаю, что существуют готовые разборщики выражений. Программная реализация состоялась в виде IEval – интерфейса обработки выражений В случае с загрузчиком файлов в программах стали доступны следующие конструкции Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ОПИСАНИЕ ЗАГРУЗКИ После создания обработчика текстовых файлов с интерфейсом IEval сделать описание загрузки уже было делом техники Для объекта, в данном случае Service (Услуга) задавалось файлы каких структур он обрабатывает PrpType RuleNameTransform 1AX_TKTTransform 1AX_HTLTransform 1AX_CAR А для атрибутов объекта указывалось имя (или выражение) определяющее источник данных Для TktNo (номера билета) PrpTypeRuleNameSeqNoRuleTransform1AX_TKT1Number Для Segments (Описание маршрута) PrpTypeRuleNameSeqNoRuleTransform1AX_TKT1SegmentsTransform1AX_HTL1SegmentTransform1AX_CAR1Segment Описание загрузки можно также рассматривать как XLT преобразование ПРОБЛЕМЫ Создавая описание файлов обмена, проникаешься подходами разработчиков сторонних систем … При отсутствии стандартов на обмен информации (это пока факт) ничего не остаётся, как изобретать эти стандарты самому. В большинстве случаев видно, что системы были разработаны в 19… мохнатом году и используются по сих пор. 1. Структура исходной информации НЕ СОВПАДАЕТ со структурой данных приложения: Т.е. в процессе загрузки необходимо обеспечить не только преобразование типов (12МАР => 12.03.07) 2. Обеспечить совместимую идентификацию 3. Обеспечить обработку недостающей (неоднозначной информации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 06:54 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
РЕШЕНИЯ: Наличие описания файлов обмена оказалось достаточным для создания прямого “OLE” При загрузке, для решения проблем уже понадобились дополнительные усилия (ПРАВИЛА) Расширение описания загрузки заключалось в задании нескольких правил в зависимости от тех или иных условий. Эта идея не нова, тот же MS Access предлагает такой объект как Macros, оставалось только расширить список обрабатываемых операндов. (MS Access позволял работать только со своими объектами и функциями) Например, компания HP периодически присылала в плоском файле (Excel) списки сотрудников и просила выполнять жёсткий контроль при выписке билетов учитывая подразделения, расчётные центры и ещё какие-то SBE При этом договориться о предоставлении XML было просто невозможно… На основании пришедшего файла надо было 1.Подработать в целях получения отчётности и дальнейшей работы с файлами систем бронирования список сотрудников a. Разделить ФИО сотрудника на фамилию имя и отчество (Разделители любые (и это у HP)) b. перевести с русского на английский, если заданы на русском (транслитерация) c. перевести с английского на русский, если заданы на английском (статистика) d. По косвенным признакам определить пол 2.Выделить уникальные списки a. компаний холдинга b. расчётных центров c. статей расхода 3.Обеспечить привязку полученных списков к уже существующей информации 4.Добавить новые элементы 5.Отправить в архив элементы, которых нет в пришедшем списке 6.Отразить изменения для существующих элементов Аналогично я поступал и при загрузке услуг из систем бронирования. Особый кайф обработка одной и той же информации, но на разных языках (Начиная от имени пассажира, до кодов аэропортов, классов перелётов, кодов валют и т.п.). Информация приходит на английском, а для клиента надо выводить на русском и наоборот. Когда Сирена вдруг убрала номер Бланка (единственный доступный идентификатор), я просто пошёл к ним в офис встал на колени и просил слёзно не делать этого… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 08:10 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Когда Сирена вдруг убрала номер Бланка (единственный доступный идентификатор), я просто пошёл к ним в офис встал на колени и просил слёзно не делать этого… Хорошо платят, наверное. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 18:13 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовХорошо платят, наверное. :) Да не очень, но я о другом... Если с входными формами ещё можно смириться, то требование о предоставлении отчётности (поставщикам) в виде форматированных XLS файлов уже раздражают (Это к теме стандартов) Ужели принимающая сторона, а это крупные авиакомпании, держат штат операторов для переколачивания данных в свои системы учёта продаж ??? Для экспорта данных я также воспользовался аналогичной системой описания выходных форм. На основании этого описания я тупо эммулирую работу оператора по вбиванию информации в требуемые ячейки (поля или формачу построчно текст). Темплейты то ещё и запоролены (отдельное спасибо). При данном подходе удалось удовлетворить практически всех потребителей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 18:58 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander Beznin Оказалось что общаться с заказчиками в терминах Объекты и их свойства существенно проще чем в терминах ERD, поскольку удаётся обойтись без мутного понятиия "Связи", когда сами проектировщики с этим термином не знают что делать, то-ли это связь а может уже сущность. Господь с Вами, зачем термины OD или ERD в разговоре с заказчиком! Пожалейте заказчика, общайтесь с ним в терминах его предметной области! Например, первое с чего я обычно начинаю работу с заказчиком - составление глоссария терминов заказчика, затем все работающие по проекту сотрудники его выучивают и не имеют права при общении с заказчиком отклоняться от этой терминологии. А вы хотите заказчика учить своему птичьему языку. Он деньги платит, да еще и должен вашу терминологию осваивать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2007, 21:56 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
dvvv составление глоссария терминов заказчика, затем все работающие по проекту сотрудники его выучивают и не имеют права при общении с заказчиком отклоняться от этой терминологии. А вы хотите заказчика учить своему птичьему языку. Он деньги платит, да еще и должен вашу терминологию осваивать? В том-то и дело, "Птичий язык" в качестве операндов имеет те самые любимые и понятные заказчику термины, коды и сокращения заказчики определяют сами, а мне лишь остаётся научить PC переводить с птичьего на транслируемый (интерпретируемый) язык, ну попутно в SQL или XPATH А уж как хранится информация, хуже или лучше, вопрос опыта разработчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 19:15 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
Alexander BezninВ том-то и дело, "Птичий язык" в качестве операндов имеет те самые любимые и понятные заказчику термины, коды и сокращения заказчики определяют сами, а мне лишь остаётся научить PC переводить с птичьего на транслируемый (интерпретируемый) язык, ну попутно в SQL или XPATH А, в такой постановке вопроса, конечно, я полностью согласен, это лучше, чем общаться в терминах сущностей и связей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 17:45 |
|
||
|
Бизнес процесс, экспертные системы, опыт
|
|||
|---|---|---|---|
|
#18+
РАСЧЁТ Пожалуй, это основная задача, связанная с понятием “Knowledge base” Мне приходилось столкнуться с 4-мя задачами в этой области 1. Расчёт стоимости услуг, в частности расчет стоимости билетов для клиента 2. Расчёт заработной платы 3. Расчёт амортизационных отчислений 4. Расчет стоимости импортируемого товара И если в последних 3-х случаях я шёл “стандартным” путём (Один запрограммированный алгоритм и куча коэффициентов в описании), то в первом (последнем по времени) пришлось применить систему ПРАВИЛ для получения искомого результата. Итак, Сколько стоит билет для клиента? ПриближениеКомментарий0 Столько - Сколько на нём написано. Фактически “увидев на клетке с тигром надпись буйвол = не верь глазам своим” 1На стоимость влияет форма оплаты (Invoice/Cash/CC). Могут возникать дополнительные сборы за счёт банковских % или налога с продаж (пока отменили)2Место оплаты услуг (Агентство / Касса поставщика; хотя агентство выполняло бронирование услуг)3Валюта продажи (+ конвертация)4Валюта покупки (+ конвертация)5Форма покупки (Invoice/Cash/CC). Могут возникать дополнительные сборы за счёт банковских % 6Контракт с поставщиком (использование спец.тарифов)7Контракт с клиентом (размер скидки и вознаграждения агентства) … При использовании систем бронирования выполняется тарификация услуг, и часть факторов уже учтена, в противном случае необходимо принимать во внимание все эти факторы в биллинговой системе. Контракты с поставщиком определяют, в минимальном варианте, размер комиссии агентства, Оказалось, что для авиаперевозчика (бланки билетов агентство получает напрямую) на процент комиссии влияют: Какая авиакомпания выполняла рейс, есть ли с данной компанией у владельца стока дополнительное соглашение, какой маршрут, какой тариф, какой класс и т.д И поставщик бланков почему-то обижается, если в отчёте о продажах все эти параметры учтены. Агент, выпуская билеты, может кое-что, и забыть или не знать (до 70 штук в день на разных бланках) Новая вводная – Агентство не имеет прямого договора с авиаперевозчиком, а получает бланки у другого агентства (VIP, MAVINS) Одна серия бланков (195) от разных поставщиков и в каждом случае свои условия… Ниже пример решения на основе Правил Code Name AttributeValueCodeValuencCmssSppCommission Included In Tariff (Rub)Formula0SupplierCode <> OwnCompany!Code and instr(type;"visa") > 0 and buyType notin ("Nnet";"NGross")Formula0SupplierCode <> OwnCompany!Code and instr(type;"visa") > 0 and buyType notin ("Nnet";"NGross")FormulancCmssSpp1ncCmssSpp1Commission of External Supplier Included In Tariff (Rub)FormulancTariff * CmssPercentOrder!Type = "Group"FormulancCmssSppStdncCmssSppStdCommission Included In Tariff (Rub) for Regular OrdersFormulancCmssSppUSDFormulancCmssSppRUBCalcCurrency = "RUB"ncCmssSppRUBCommission Included In Tarrif (Rub). Original Tariff is RubFormulaRulesValue(SpplComp!ContrTerms("SvcNcCmssSpp"))SpplComp!ContrTerms("SvcNcCmssSpp")!Countof(*) > 0FormulaCRSTariff * CmssPersent А здесь часть контракта с LH (Lufthansa) по поводу расчёта комиссии AttributeValueConditionCmssPcnt1CmssPercentCmssPcnt10TicketDate > 01.09.04 And Cities(code = [bkWordGet(Routing;1;"/";" ";"\";"-")])!Country = "DE"SvcNcCmssSppCRSTariff * CmssPcnt1 * NSRTicketDate > 01.09.04 And CalcCurrency <> "RUB"SvcNcCmssSppCRSTariff * CmssPcnt1TicketDate > 01.09.04 And CalcCurrency = "RUB" Итак Выше приведён алгоритм расчёта, который имеет 6 ветвлений и это один из простых случаев Не описанные переменные, используемые в формулах - это либо хранимая в таблицах информация, либо другие именованные правила. Отсутствие условий (здесь колонка Code Value) - Это правила умолчания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 20:17 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1544411]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 436ms |

| 0 / 0 |
