Сообщения

Сообщения за октябрь, 2009

Интеграция на уровне вызовов или мета-данных?

Изображение
Архитектура ИС на основе Web-сервисов позиционируется как поддерживающая динамическое связывание с помощью мета-языков WSDL , UDDI и SSDL , а так же принципы CRUD/REST , однако, это распространенное мнение обманчиво, о чем писал еще в 2002 году Густаво Алонсо в статье " Мифы про веб-сервисы " ( Gustavo Alonso - Myths around Web Services ). К сожалению, сейчас все материалы, на английском языке по этому вопросу в интернете ведут на битые ссылки, а кое-какие даже на страницу 404 на сайте Microsoft Research (о причинах остается догадываться... а для того, чтобы привести тут ссылку, мне пришлось достать копию статьи из своего бекапа и разместить у себя на сервере). Не буду повторять тут пять основных критических тезисов Алонсо, но постараюсь рассмотреть саму теоретическую возможность динамического связывания в разных архитектурах, безотносительно конкретных реализаций, проприетарных технологий и торговыхмарок. Рассмотрим композитную информационную систему, состоящую из неско

Литература 2

Еще хочу порекомендовать: 1. Д. Тапскотт "Электронно-цифровое общество" (Don Tapscott "The digital economy") 1999. На каждой странице этой книги Вы найдете десяток готовых идей для бизнеса. 2. У. Эшби "Введение в кибернетику" (William Ross Ashby Introduction to Cybernetics) 1962. Классическое произведение по самоорганизующимся системам. 3. Ибн ал-Араби. "Геммы мудрости" и другие работы, особенно что касается теории единства бытия, даже если Вам кажется, что это от информационных систем далеко, но в то время и в тех местах любая наука была богословской дисциплиной, поэтому и лексика и абстракции у ал-Араби такие, что предварительно нужно изучить Торру, Книги пророков, Новый завет, Коран. 4. Н. Винер "Кибернетика, или Управление и связь в животном и машине" (Norbert Wiener "Cybernetics: Or Control and Communication in the Animal and the Machine") 1948. Замечательная книга, которую просто обязан прочитать каждый ИТ архит

Конец индустриального века

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

REST и CRUD против RPC

Изображение
Развитие сетевых коммуникаций началось со специализированных протоколов, заточенных под прикладные нужды и повторяющих функциональность друг друга во многих случаях. Концепция эта называется RPC (Remote Procedure Call) или вызов удаленных процедур . Характеризуется RPC тем, что функциональность приложения полностью отображена в наборе команд протокола, например: FTP, POP, NNTP, протоколы СУБД, не говоря уже про многочисленные протоколы систем промышленной автоматизации или прикладных систем. Более поздние RPC стали абстрактными, т.е. появился некий стандарт, описывающий протокол, а уже на его основе разрабатывались прикладные службы, обладающие конкретным набором команд, например: SunRPC, DCOM, CORBA, Java RMI, и т.д. Следующий шаг заключался в ограничении набора команд до "универсального минимума" и перенесении всей смысловой нагрузки в параметры вызовов. Подход этот получил название CRUD по первым буквам команд ( create, read, update and delete ), а архитектура информацио

Иерархия и эгалитарность

В архитектуре систем вопрос о двух подходах, иерархическом и сетевом (с равноправными узлами), встает давно и в самых разных аспектах: 1. В задаче классификации (taxonomy) - Классификация с единым корневым элементом против классификации на основе равноправного списка. 2. В задаче моделирования данных (data modeling) - Иерархическая вложенность, подчиненность или порождение объектов против сетевой модели данных с произвольными связями. 3. В задаче взаимодействия подсистем (distributed systems) - Архитектура клиент-сервер, многоранговая иерархия против одноранговых (пиринговых или peer-to-peer) сетей. 4. В задаче управления (control theory) - Централизованное управление (с единым целеполаганем или же с единым центром управления высокого уровня и каскадной иерархией разукрупнения задач управления) против независимых систем управления отдельными технологическими процессами без единого центра. 5. В задаче организационного менеджмента (project management) - Принцип единоначалия и ие

Язык Моделирования

Моделирование подразумевает наличие формального языка для описания модели. Таким языком может выступать как графическое представление модели в виде блок-схемы или графа, так и аудио/видео сигнал цифровой или аналоговый, регулярная грамматика или же бинарный файл. Ни один язык не может быть ни полным, ни универсальным, ни самым лучшим. Язык может быть только адекватным или не адекватным для решения конкретной задачи или достижения поставленной цели. Цель языка - хранить модель или передать ее от одного модуля системы управления к другому. Конечно же, каждый модуль или слой не может "понимать" модель целиком. Более того, вычислительная техника далека от понимания семантики модели и работает на уровне той абстракции, какую может обрабатывать алгоритм программного обеспечения ( представленный на активном языке ). Это не значит, что цифровая обработка не в состоянии создать модель объекта, совсем наоборот, задачи автоматизации зачастую сводятся к формализации вводимых и выводим

Модель и мета-модель

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

Литература

Для начала дискуссии хочу привести несколько ссылок, которые раскрывают различные аспекты моделирования данных. Это и антологические источники и учебники, а так же научные труды, отличаются полнотой и объективностью: 1. Д. Цикритзис и Ф. Лоховски "Модели данных" 1982 (русскоязычное издание "Финансы и статистика" 1985). Это замечательный обзор, включающий реляционные, сетевые, фреймовые, иерархические, бинарные, семантические, инфологические модели данных в аспекте моделирования с помощью вычислительной техники. 2. Умберто Эко "Поиски совершенного языка" 2007 (оригинальное издание "La ricerca della lingua Perfetta" 1993). Эссе об истории лингвистических моделей данных, начиная от каббалистов и искателей первоязыка, создателей комбинаторных моделей и алфавитов, полиграфий и философских языков, попыток всеобщей классификации и кодификации знаний, до гипертекста и современных течений. 3.  К. Дж. Дейт "Введение в системы баз данных" 2