Что такое метаданные программирование

Метаданные и прикладное программирование

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

Что такое метаданные

Самое простое для понимания определение: метаданные – это данные о д.html»’. Чаще всего к метаданным относят информацию, описывающую структу.html»’пользуемых программой данных, а также, способы их представления, методы их обработки, права доступа к ним и прочие настройки. Большинство более-менее качественных ресурсов в интернете созданы на базе некоторой системы управления содержимым сайта, которая, в свою очередь, формирует “контент” веб-страниц на основе определенной информации, извлекая ее, к примеру, из базы данных. Эта информация и является метаданными по отношению к содержимому управляемого сайта, потому как содержит перечень страниц, панелей, меню, профилей пользователей и прочих структурных элементов сайта – является данными, описывающими данные.

В настоящее время само по себе использование метаданных при разработке программ и ресурсов в интернете.h.html’не является откровением, но то, к.html»’на сколько широко и глубоко эти метаданные используются, существенно влияет не только на «читаемость» программного кода или html разметки, но и на и возможность декомпозиции программы на отдельные функциональные компоненты, пригодные, в том числе, для повторного использования.

Трехуровневая архитектура программных продуктов

Многим известна трехуровневая архитектура программных продуктов, представленная уровнем работы с данными, уровнем бизнес – логики, который определяется назначением программы и третьим уровнем — уровнем пользовательского интерфейса. В этой статье рассмотрим метаданные, как инструмент для отделения уровня работы с данными от уровня бизнес – логики и, как средство “разгрузки” уровня пользовательского интерфейса от ненужных ему деталей.

Читайте также:  Программирование чпу основные понятия

Состав и применение метаданных в прикладном программировании

Большинство программных продуктов, выполняющих что-то осмысленное и полезное, используют для хранения своих данных реляционные базы данных – этот путь естественный и весьма хорошо «протоптан». По этой причине выделить описание используемых программой таблиц в элемент метаданных кажется логичным и первым, что приходит в голову. Хранение в специальных структурах данных информации о таблицах (имя, перечень полей с указанием типа и прочих атрибутов) позволит инкапсулировать логику работы с отдельной таблицей (например: чтение, обновление, вставка и удаление записей) в специальном сервисе. Этот сервис мог бы предоставлять удобный программный интерфейс, а при инициализации получать на вход метаданные, описывающие структуру нужной вам таблицы – метаописание таблицы. Естественно, сразу приходит мысль в раздел метаданных включить метаописание соединения с базой данных. Такой подход поможет изолировать особенности работы с той или иной СУБД (Oracle, MS Access, MS SQL Server, MySQL и т.п.) от общего подхода к работе с данными.

Метаопределение интерфейса таблицы

Если вы мыслите категориями объектно-ориентированного подхода к проектированию программных продуктов, то согласитесь с аргументом, что работы с базой данных в терминах таблиц, пусть д. html’осредством сервисов, работающих на основе метаданных, — недостаточно для полноценного отделения уровня работы с данными от уровня бизнес – логики. Объекты, с которыми имеет дело программа, могут не описываться исключительно отдельными записями конкретной таблицы: элементы информационной модели могут быть представлены в базе данных совокупностью связанных записей, хранящихся в разных таблицах. Да и логика интерпретации данных одной и той же таблицы может отличаться в каждом конкретном случае, и определяться контекстом использования, например, текущим бизнес — сценарием или профилем пользователя.

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

Следующим шагом, логично завершающим первый этап разработки набора метаданных, является введение метаописания информационного объекта, которое, помимо уникального имени, будет..html»ь коллекцию ссылок на интерфейсы таблиц с указанием различных характеристик этих ссылок – компонентов объекта. Смысл такого подхода в том, что моделируемые программой объекты зачастую имеют множество функциональных аспектов, которые создаются по различным шаблонам проектирования и предоставляют информацию о своем состоянии через отдельные интерфейсы. Для каждого объекта, в таком случае, должен быть, как минимум, определен тип связи с экземплярами его компонентов, например: “один ко многим”, “один к одному”, “один к одному или нулю” (наличие информации необязательно) и т.д. Разработка и реализация сервиса работы с данными программы в терминах экземпляров информационных объектов – брокером информационных объектов — существенно поможет в решении поставленной выше задачи: отделении реализации уровня работы с данными от реализации уровня бизнес – логики. Уровень пользовательского интерфейса также будет упрощен, потому как User Interface будет иметь дело с экземпляром или коллекцией экземпляров информационных объектов и их брокером. Методы этого брокера будут позволять создавать, читать, удалять и сохранять изменения в информационном объекте в знакомом многим контексте транзакций. Также, проверки целостности и допустимости значений атрибутов компонентов (свойств интерфейсов) уместно частично возложить на сервисы метаданных.

Метаданные - это вещь в себе

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

Если тема применения метаданных в прикладном программировании вам интер..html» то предлагаю продолжить знакомиться с ней в контексте рассмотрения вопросов информационного моделирования на примере демонстрационной программы.

Курс для начинаю..html»рограммистов на C# и VB.NET.

Построение SQL запросов и работа с базой данных.

Источник

Оцените статью