Течения, движения, идеологии | Другие сайты |
Карта сайта | Форум | Гостевая книга |
Главный вход>>Аналитические статьи >> Идеальное и реальное в развитии корпоративных информационных систем
Идеальное и реальное в развитии корпоративных информационных систем
Введение в проблему
Мой опыт работы в крупных (богатых и технологически продвинутых) американских компаниях (таких как MCI WorldCom и Sprint) убедил меня в том, что в мире информационных техологий хорошо работают только демонстрационые примеры на больших презентациях. Слишком много внимания уделяется процессу презентации на идеальных данных - и слишком мало - процессу обращения в системе реальных данных.
Процесс идет обычно по одному из следующих сценариев.
Предлагаемая нами технология (Условное название D2C3) значительно понижает стоимость разработки и поддержки интегрированных информационных систем при высоком качестве проектных решений по структурам данных и очень высоком качестве информационного наполнения этих структур. Чем достигается такой результат?
Как решать проблему
В предлагаемой нами технологии (под которую разработана программная поддержка) результат достигается последовательным проведением двух больших принципов
и двух малых принципов
Разумеется для практического исполнения этих принципов необходима программная поддержка. Средства такой поддержки уже разработаны и находятся в процессе тестирования.
ПОСЛЕСЛОВИЕ
Я постарался изложить суть проблемы и суть решения кратко, без лишних подробностей. Цель данного текста - проинформировать потенциальных покупателей данного программного продукта о его возможностях и пригласить их к сотрудничеству.
Автономная ИТ-среда и бизнес-процессы
К настоящему времени (июль 2003) я уже написал и частично оттестировал ИТ-среду пригодную для погружения в нее подавляющего большинства известных мне ИТ-задач. Чтобы пояснить роль и место этой технологии вобщей ИТ-истории, приведу две таблицы.
Длительность цикла | АСУ | Текущая технология | Предлагаемая технология |
Изменить документ | месяц | неделя | Две минуты |
Изменить задачу | полгода | месяц | Два часа |
Добавить задачу | год | Три месяца | Два дня |
Управление доступом | АСУ | Текущая технология | Предлагаемая технология |
Персональный доступ | нет | выборочно | абсолютно |
Персональная ответственность | нет | выборочно | абсолютно |
Управление правами доступа | нет | централизовано | распределено |
Однако попытка прямо продать эту технологию обречена на неудачу.
Между покупателем, способным заплатить, и инструментом, за который он не заплатит, надо выстроить продукт, за который он заплатит и который легко и быстро можно приготовить с помощью этого инструмента. Тот кто идет в Макдональдс, не платит за печи в которых жарят чипсы. Он платит за сами чипсы.
Продолжая аналогию, надо представить себе категории покупателей (дети с родителями, группа подростков, влюбленная парочка, спешащие водители, не спешащие старики) разработать и предложить им типовые меню, сделать заготовки, чтобы выбравший ждал минуты.
В нашем случае, типы покупателей - это типы предприятий (Университет, Машиностроительнай
завод, Супермаркет, Турбюро)
Теперь надо описать каждый тип как клубок бизнес-процессов.
Для каждого бизнес-процеса заготовить ИТ-задачу и погрузить ее в ИТ-среду.
Выйти на клиента и предложить ему меню сообразно его типу.
Установить на его сервер те ИТ-задачи, которые он выбрал (для тех бизнес-процессов,
которые он выбрал).
Гибкость такого подхода становится очевидной, если сравнить его с тем, что мы имеем сегодня. Покупателя заставляют покупать системы и подсистемы вместо двух-трех задач, за которые он готов заплатить сегодня.
1 - База данных, объекты и пользователи, документы и запросы.
2 - Бизнес-процессы, модели, персонажи, функции, условно-конкретные критические
сценарии, старые и новые.
3 - Демонстрации и презентации
4 - Тесты
Центром разработки является Блок 2.
Один из вариантов - записать его на языке Java.
Модель (тип предприятия: завод, университет, госпиталь) это Java-package.
Персонаж (тип человека: сотрудник, администратор, посетитель) это Java-class.
Функция (тип действия: обслужить покупателя, получить товар, провести
семинар) - это Java-function.
Системные объекты (документы, деньги, единицы товара) это классы системного
Java-package.
Системные функции (послать документ, заплатить деньги) - это функции
системного класса Person от которого унаследованы классы всех персонажей.
В каждом пакете есть свой класс для демонстрации. В этом классе есть
несколько статических функций - сценариев.
Прокрутка сценариев порождает поток сообщений. Этот поток используется для
отладки сценариев.
Когда блок 2 завершен, по нему строятся блоки 1, 3 и 4. В идеале они строятся автоматически для определенной среды.
Блок 3 должен удовлетворять следующим критериям восприятия
Сценарии в блоке 2 должны быть построены так, чтобы при порождении блока
3 выйти на эти 4 критерия.
Соответственно подбираются демонстрируемые ситуации, персонажи, функции.
Для того, чтобы блоки 1,3,4 выполнить ассинхронно после готовности блока 2, необходимы промежуточные (21, 23, 24) скрипты. Нужно принять соглашения, позволяющие блоку 2 информацию записать в последовательный файл, а блокам 1,3,4 эту информацию считать и выполнить шаг за шагом.
Блок 1 получает
ввиде sql-операторов, которые надо выполнить над базой данных. После визуальной проверки, и, возможно, корректировки, эти запросы исполняются клиентом базы данных.
Блок 4 получает цепочки команд, выполнение которых над базой приводит к исполнению сценария, в том числе к созданию экземпляров пользователей и экземпляров документов, ввиде http-команд от клиента (или программы, имитирующей клиента), к серверу.
Блок 3 получает команды для исполнителя презентаций.
Второй вариант - сформировать блок 2 из специального редактора скриптов. Внутри этого редактора возможно редактировать данные блока 2, отлаживать их, формировать цепочки для блоков 1, 3, 4. Из этого же редактора их можно править и выполнять.
Третий вариант - записать блок 2 на простом XML
Инновационный процесс разделим на этапы
Обратим внимание на второй этап - методология. (Его обычно не выделяют). Методология - это критическая масса (сумма, система) идей, достаточная для создания технологии. Методология относится к технологии как стратегия к тактике.
Я предлагаю новую методологию создания и использования информационных систем. Чтобы увидеть новизну и преимущества этой методологии (условное название - FTS) надо сравнить ее с другими методологиями. Но по какому основанию мы будем их сравнивать?
Всякая методология есть "контракт" между некоторыми группами участвующими в процессе разработки и использования продукта. Все остальные группы вынуждены к этому "контракту" присоединиться. У каждой методологии свой набор групп, "пишущих контракт" и, соответственно, свой набор "присодинившихся" групп. Это положение применимо к любому продукту, но мы рассмотрим частный случай - продукт "информационная система".
Группа | Реляционные системы (OLAP) | Документо-ориентированные системы (Lotus Notes) |
Самотестируемые системы |
Аспектное проектирование (Aspect Programming) |
Объектно-ориентированный подход | Rational Rose -UML | FTS |
Сетевые Архитекторы | |||||||
Администраторы Баз данных | Типы данных | ||||||
Разработчики подсистем - программисты | Расширение технологии | ||||||
Тестеры | Тесты | ||||||
Продавец системы | Сценарии | ||||||
Покупатель системы | Презентации | ||||||
Активные пользователи (вводят данные) | Формы поддержки данных | ||||||
Пассивные пользователи (получают результаты) | Отчеты |
Я не рассматриваю здесь две раннии методологии (функциональное программирование ФП и структурное программирование СП), которые были контрактами между авторами разных модулей (ФП) и авторами фрагментов одного модуля (СП) соответственно. В те времена языки программирования были слабыми, а программы, соответствено, длинными. Уже объектно-ориентированный подход (ООП) есть контракт между разработчиками подсистем каждая из которых состоит из многих модулей.
По таблице видно, что FTS предлагает самый широкий "контракт" из всех перечисленных. Невовлеченность сетевых архитекторов компенсируется простотой сетевых решений.
Предлагаемая технология FTS состоит из двух частей (F-помечено оранжевым и T-помечено красным. F - готово как технология, Т - как технология - в работе).
FTS предполагает (1) описание сценариев на стандартном XML. После чего (2) генерируются презентации, тесты и типы данных. (3) После ручной корректировки типов создаются структуры базы данных. (4) Формы поддержки генерируются в процессе работы (динамически). (5) Отчеты пишутся полуавтоматически. (6) Расширение технологии происходит редко.
Ближайшая задача по продукту - MLM (Multi-level-marketing) как учебная модель. Ближайшая задача по технологии - три генератора, преобразующие набор сценариев в (1)презентацию, (2)структуры данных и (3) тестовые цепочки. В работе также два тест-клиента. Первый тестирует все линки, доступные клиенту, на выполнимость. Второй выполняет тестовые цепочки после генератора тестов.
Аналоги и конкуренты
Среди российских софт-производителей никто не разрабатывает систем, начинающих работу с анализа и оптимизации бизнес процессов.
Среди зарубежных софт-производителей этим занимается например Cognos. Продажи этой компании выросли запоследний год на 25% (по данным cnews.ru) что говорит об общей перспективности направления. Однако на российском рынке зарубежные компании такого типа не могут конкурировать с российскими. Во первых по цене продукта. Во вторых, по набору готовых бизнес-моделей, сделанных на западном (а не российском) материале. И, в третьих, по необходимсти плотного сопровождения, когда совершенствование бизнес-модели происходит мелкими толчками и только при наличии тесного контакта разработчика и клиента. Соответственно клиент платит мелкими порциями, что является для него единственным психологически приемлемым вариантом.
Таким образом та российская компания, которая выйдет на российский рынок с программами, начинающими работу с анализа и оптимизации реальных бизнес-процессов, (при условии что эта компания обеспечит качественное и плотное сопровождение своих программ, а возможно и обслуживание сетевых серверов и серверов баз данных) получит монополию на российском рынке по крайней мере на один год.
Дополнительным конкурентным преимуществом моего проекта является оригинальная модель данных (FTS-модель) и оригинальная система управления правами доступа пользователей. Эти два фактора обеспечивают высокую управляемость системы, чистоту данных и легкость структурной модификации.
Течения, движения, идеологии | Другие сайты |