Logo    
Деловая газета CitCity.ru CITKIT.ru - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

29.03.2017

Google
WWW CITForum.ru
С Новым годом!
2005 г.

SDMX-ML - XML-формат обмена статистическими данными и метаданными

Подготовлено: по материалам зарубежных сайтов
Перевод: Intersoft Lab

В предыдущей статье было рассказано о появлении нового стандарта для обмена статистическими данными и метаданными - SDMX (Statistical Data and Metadata Exchange). Предлагаемый ниже материал посвящен техническим деталям нового стандарта - описанию его основных конструкций и понятий; в нем также приводится фрагмент кода. Первая версия стандарта SDMX выпущена в двух вариантах - на основе XML и синтаксиса EDIFACT1.

Способы организации данных

Основным положением стандарта SDMX является структурированность статистических данных, эта структура названа "ключевым понятием" (key family). "Наборы данных" (data sets) состоят из категорий более низкого порядка - "групп" (groups), которые формируются в зависимости от степени их сходства. Каждая группа, в свою очередь, состоит из одного или нескольких "рядов" (series) данных (или "профилей" (sections) в том случае, если данные представлены не во временных рядах). Каждому ряду или профилю ставится в соответствие так называемый "ключ" (key), т.е. набор значений, соответствующих каждому кластеру так называемых "понятий" (concepts), которые также именуются "измерениями" (dimensions). Этот ключ определяет (идентифицирует) ряд или профиль данных. При этом каждый ряд или профиль данных состоит из одного или более так называемых "наблюдений" (observations), которые обычно включают два элемента: время получения данных и собственно значение (т.е. наблюдаемая величина). Помимо того, метаданные могут быть добавлены на любом уровне этой структуры в качестве описательных "атрибутов" (attributes). "Списки кодов" (сode lists) (или "перечисления" - enumerations) и другие элементы, необходимые для представления данных и метаданных, также используются в тех случаях, когда они могут быть представлены в соответствующих синтаксических форматах.

Между структурой "куба" (cube structure), обычно используемой для обработки статистических данных, и "ключевым понятием" информационной модели SDMX существует некоторое сходство. Важно отметить, что данные, структурированные в соответствие с информационной моделью SDMX, оптимизированы для обмена, в т.ч. с партнерами, которые не имеют технической возможности для обработки данных, поступающих от сложных статистических систем в виде кубических структур. Временные ряды стандарта SDMX могут рассматриваться как "продольные срезы" (slices) куба. Такой срез определяется своим ключом. Ключ содержит значения всех характеристик, входящих в ключевое понятие, за исключением временного измерения. Данные, структурированные в соответствии со стандартом SDMX, могут быть преобразованы в кубические форматы; полученные в результате базы данных могут использоваться для обмена в соответствие с этим стандартом.

Форматы данных SDMX

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

  1. Определение структуры (Structure Definition). Все типы сообщений формата SDMX-ML имеют общий способ представления метаданных, необходимых для понимания и обработки набора данных. Этот способ представления основывается на языке XML.
  2. Данные родового типа (Generic Data). Все статистические данные, которые можно оформить с помощью стандарта SDMX-ML, могут быть размечены в соответствии с этим форматом данных согласно содержанию сообщения об определении структуры. Этот формат разработан для предоставления данных на web-сайтах, а также для работы с ними при таких сценариях, когда приложения, получающие данные, не могут детально распознать структуру набора данных до его окончательной загрузки. Данные, оформленные в таком формате, не отличаются компактностью, но зато предоставляют возможность легко использовать все аспекты набора данных. Однако этот формат не обеспечивает строгой проверки соответствия между набором данных и его структурным определением с помощью родового XML-парсера.
  3. Компактные данные (Compact Data). Этот формат имеет отношение только к ключевому понятию того набора данных, который он определяет. Он создается путем последовательных операций преобразования ("мэппинга") между конструкциями метаданных, заданных в сообщении об определении структуры, и компактным форматом. Формат поддерживает обмен больших наборов данных в формате XML (похожем на SDMX-EDI) и предусматривает передачу как неполных (поэтапное обновление), так и целых наборов данных.
  4. Вспомогательные данные (Utility Data). От многих инструментов и технологий XML ожидают выполнения функций, за которые "отвечает" схема XML. Одна из этих функций - тесная связь между XML-конструкциями, описанными в схеме, и данными в соответствующем XML-документе. Жесткое определение типа данных также рассматривается как нормальное явление; оно поддерживает полную проверку данных, снабженных тэгами. Этот тип сообщений, также как и сообщения компактных данных, относится только к ключевому понятию набора данных, но он разработан для поддержки проверки и других функций XML-схемы. Он также может быть получен из сообщения об определении структуры путем проведения ряда стандартных операций преобразования. Для проведения проверки с помощью XML-парсера необходимо, чтобы набор данных был полным.
  5. Перекрестные данные (Cross-Sectional Data). В отличие от данных, ориентированных на обработку в виде временных рядов, часть статистических данных состоит из большого количества наблюдений, полученных в один и тот же момент времени. Этот тип сообщений, так же как и сообщения компактных данных, относится только к ключевому понятию набора данных, но ориентирован на этот отличный от временных рядов способ представления данных. Перекрестный формат основывается на том же описании структуры набора данных, что и другие форматы (форматы временных рядов) для того, чтобы поиск мог осуществляться среди временных рядов, а его результаты затем форматировались для этого типа обработки, если это необходимо.
  6. Запрос (Query). Данные и метаданные часто находятся в базах данных, доступных через интернет. Поэтому возникает необходимость в стандартном документе запроса, который позволял бы осуществлять поиск в базах данных и возвращать результаты в формате SDMX-ML. Документ запроса - это практическое применение информационной модели SDMX для использования в web-сервисах и приложениях, которые управляются базами данных. Он позволяет посылать стандартные запросы провайдерам данных, используя эти технологии.

Поскольку все форматы SDMX-ML являются практическим воплощением одной и той же информационной модели, а все сообщения о данных могут быть получены из сообщения об определении структуры, которое описывает набор данных, то между всеми форматами данных возможно осуществление стандартных операций преобразования. Эти операции могут проводиться с помощью родовых инструментов трансформации, полезных для всех пользователей SDMX-ML. Помимо того, эти инструменты не относятся только к отдельным ключевым понятиям наборов данных, а являются общеупотребительными (даже если форматы, с которыми они имеют дело, являются таковыми).

Модули XML-схемы

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

Каждый модуль - это отдельный экземпляр элемента схемы W3C XML (W3C XML Schema Language), связанный со своим собственным пространством имен XML. В тех случаях, когда эти модули взаимозависимы, они используют механизм импортирования XML-схемы для использования конструкций, описанных в других модулях. Ниже приведено краткое описание этих модулей:

  • модуль, содержащий конструкции общего сообщения, в том числе общую информацию заголовка, используется со всеми другими модулями SDMX (Файл схемы - "SDMXMessage.xsd");
  • модуль, содержащий описание структурных метаданных, таких как ключевые понятия, концепции и перечни кодов (Файл схемы - "SDMXStructure.xsd");
  • модуль, содержащий конструкции, общие для всех типов SDMX-сообщений (Файл схемы - "SDMXCommon.xsd"). Он необходим для всех остальных SDMX-ML-модулей. Для удобства добавлено пространство имен XML ["xml.xsd"], предоставляемое W3C для включения атрибута xml:lang в схемы;
  • модуль, описывающий родовой формат (т.е. формат, не относящийся только к какому-то одному ключевому понятию) для форматирования данных (Файл схемы "SDMXGenericData.xsd");
  • модуль для описания структуры сообщения родового запроса (Файл схемы "SDMXQuery.xsd"). Этот модуль необходим, в частности, создателям и пользователям web-сервисов;
  • модуль, устанавливающий общие рамки для использования во всех схемах, относящихся только к одному ключевому понятию, для обмена, обновления и исправления баз данных (Файл схемы "SDMXCompactData.xsd"). Этот модуль может использоваться при двустороннем взаимодействии;
  • набор модулей, создаваемых и поддерживаемых теми, кто создает "компактные" схемы, относящиеся к конкретным к ключевым понятиям. Этот набор не поддерживается организацией SDMX;
  • модуль, устанавливающий общие рамки для использования во всех схемах, относящихся только к одному ключевому понятию, для web-мастеров и разработчиков, использующих стандартные инструменты XML (Файл схемы "SDMXUtilityData.xsd"). Этот модуль необходим для обработки и публикации;
  • набор модулей, создаваемых и поддерживаемых теми, кто создает "прикладные" ("Utility") схемы, относящиеся только к одному ключевому понятию. Этот набор не поддерживается организацией SDMX;
  • модуль, устанавливающий общие рамки для использования во всех схемах, относящихся только к одному ключевому понятию, для перекрестных данных (Файл схемы "SDMXCrossSectionalData.xsd"). Этот модуль используется для двусторонней и перекрестной обработки данных;
  • набор модулей, создаваемых и поддерживаемых теми, кто создает "перекрестные" (Файл схемы "Cross-sectional") схемы, относящиеся только к одному ключевому понятию. Этот набор не поддерживается организацией SDMX.

Пример электронного документа в формате SDMX-ML

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

Статистические данные, приведенные в этом примере, это величины внешнего долга, подлежащие погашению, в млн. долларов США. Данные приводятся на каждый месяц на начало отчетного периода:

Отчетный период Данные
2000-01 3.14
2000-02 3.14
2000-03 4.29
2000-04 6.04
2000-05 5.18
2000-06 5.07
2000-07 3.13
2008-08 1.17
2000-09 1.14
2000-10 3.04
2000-11 1.14
2000-12 3.24

XML-код этого примера представлен в Листинге 1.

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

Корневой элемент <GenericData> используется для передачи данных относящихся к различным основных понятиям. В данном примере в элементе <GenericData> содержатся два сложенных элемента <Header> и <DataSet>. Остановимся на каждом из них.

Элемент первого уровня <Header> определяет заголовочные поля, некоторые из которых представлены в этом примере. Элемент <ID> описывает поток данных, которое в сочетании с указанием времени однозначно идентифицирует набор данных. Элемент <Test> показывает, является ли сообщение тестовым или нет. <Truncated> используется в сообщениях, которые генерируются в ответ на запрос (<Query>), и содержит значение true (истина) только в том случае, если ответ был сокращен в соответствии с требованиями, предъявляемыми к размеру и задаваемыми с помощью атрибута defaultLimit в сообщении запроса. Элементы <Name> и <Prepared> - указывают имя передачи и дату подготовки, соответственно, а <Sender> и <Receiver> несут информацию о передающей и получающей стороне. Элемент <DataSetAgency> содержит идентификатор/сокращение учреждения, хранящего набор данных, а <DataSetID> - идентификатор передаваемого набора данных. Значение элемента <DataSetAction> определяет, является ли данное сообщение обновлением (Update) или подразумевает удаление (Delete) - сообщение нельзя использовать с сообщением UtilityData. <Extracted> -это временная отметка из системы, предоставляющей данные. Наконец, <ReportingBegin> и <ReportingEnd> указывают начало и конец отрезка времени, к которому относится сообщение.

Элемент второго уровня <DataSet> включает одну или несколько групп, которые составляют передаваемый набор данных. Рассмотрим некоторые элементы, входящие в состав <DataSet>: <GroupKey>, <Attributes> и <Series>.

Элемент <GroupKey> содержит знания ключей (элементы <Value>); заметим, что все эти элементы, если они не являются групповыми символами, должны присутствовать и в элементе <Series>. <GroupKey> - необязательный элемент, однако если передаются элементы <Attributes> (т.е. документация - значения ключевых понятий), то <GroupKey> должен присутствовать в сообщении.

Элемент <Series> определяет структуру временного ряда и включает значения ключей (элемент <SeriesKey>), значения для всех атрибутов (элемент <Attributes>) и совокупность наблюдений (элемент <Obs>). Элемент <SeriesKey> описывает содержание ключа временного ряда, при этом для каждого невременного измерения должно быть передано значение (элемент <Value>), причем в том порядке, в котором во ключевом понятии определены измерения. Элемент <Obs> определяет структуру наблюдения - время (элемент <Time>) и значение (элемент <ObsValue>), а также значения для каждого атрибута (<Attributes>), назначенного ключевым понятием для наблюдения.

Заключение

В этой и предыдущей статье был рассмотрен новый стандарт SDMX для обмена статистическими данными и метаданными между различными организациями как на национальном, так и на международном уровне. Данный формат был разработан в рамках так называемой инициативы SDMX - Statistical Data and Metadata Exchange Initiative2, возникшей при непосредственном участии крупнейших финансовых и экономических международных организаций, таких как Международный валютный фонд, Европейский Центральный Банк и др.

С полной спецификацией этого стандарта можно познакомиться на сайте SDMX-инициативы: http://www.sdmx.org.

Примечания:

1 См. прим. 4 в статье "Инициатива SDMX: новые подходы к обмену статистическими данными".

2 Инициатива обмена статистическим данными и метаданными.

Размещение рекламы — тел. +7 495 4119920, ICQ 232284597

Подписка на новости IT-портала CITForum.ru
(библиотека, CITKIT.ru, CitCity)

Новые публикации:

24 декабря

CITKIT.ru:

  • Новогодние поздравления
  • Сергей Кузнецов. Цикл Операционные системы: Ностальгия по будущему:

  • Алексей Федорчук. OpenSolaris 2008.11 Release

  • Сергей Голубев:

  • Евгений Чайкин aka StraNNik (Блогометки):

    17 декабря

  • С.Д.Кузнецов. Базы данных. Вводный курс

    10 декабря

    CITKIT.ru:

  • OpenSolaris 2008.11 Release

  • Альтернативные ОС: две грустные истории (С.Кузнецов)
  • Nokia N810 — доведение до ума
  • CitCity:

  • Платформа 2009: заоблачные перспективы Microsoft

    4 декабря

  • Лекция С.Д.Кузнецова Понятие модели данных. Обзор разновидностей моделей данных

    CITKIT.ru:

  • OpenSolaris 2008.11 Release. Первые впечатления

  • Linux vs FreeBSD: продолжим "Священные войны"?

  • Nokia N810 as is

  • Индульгенция для FOSS

  • Друзья СПО'2008

    26 ноября

  • Нечеткое сравнение коллекций: семантический и алгоритмический аспекты

    CitCity:

    CITKIT.ru:

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • 19 ноября

  • Проблемы экономики производства крупных программных продуктов

  • Язык модификации данных формата XML функциональными методами

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Заметки к книге:

  • FreeBSD: монтирование сменных устройств и механизм HAL
  • Текстовый редактор ee

    12 ноября

  • Правило пяти минут двадцать лет спустя, и как флэш-память изменяет правила (Гоц Грейф, перевод: Сергей Кузнецов)

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:
  • OSS в России: взгляд правоведа (В.Житомирский)

  • Новая статья из цикла С.Голубева "Железный марш":

    29 октября

  • О некоторых задачах обратной инженерии

  • Веб-сервисы и Ruby

  • Тестирование web-приложений с помощью Ruby

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

  • PuppyRus Linux - беседа с разработчиком (С.Голубев)

  • Сергей Кузнецов. Заметка не про Linux

    22 октября

  • Обзор методов описания встраиваемой аппаратуры и построения инструментария кросс-разработки

    CITKIT.ru:

  • Сергей Кузнецов. Почему я равнодушен к Linux

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • Что надо иметь
    3. Базовые познания

    CitCity:

  • Управление IT-инфраструктурой на основе продуктов Microsoft

    15 октября

  • Методы бикластеризации для анализа интернет-данных

    CitCity:

  • Разъемы на ноутбуках: что они дают и зачем их так много?
  • AMD Puma и Intel Centrino 2: кто лучше?

    CITKIT.ru:

  • Новый цикл статей С.Голубева
    Железный марш:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    8 октября

  • Автоматизация тестирования web-приложений, основанных на скриптовых языках
  • Опыт применения технологии Azov для тестирования библиотеки Qt3

    Обзоры журнала Computer:

  • SOA с гарантией качества
  • Пикоджоуль ватт бережет
  • ICT и всемирное развитие

    CitCity:

  • Пиррова победа корпорации Microsoft

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Статья из архива:

  • Я живу в FreeBSD (Вадим Колонцов)

    Новые Блогометки:

  • Перекройка шаблона Blogger или N шагов к настоящему
  • Blogger. Comment style
  • Screenie или глянцевый снимок экрана

    2 октября

    CITKIT.ru:

  • Сага о FreeBSD (А. Федорчук)

    Zenwalk: пакет недели

  • Банинг — интеллектуальное развлечение (С.Голубев)

    CitCity:

    25 сентября

  • Клермонтский отчет об исследованиях в области баз данных

    CITKIT.ru:

  • Пользователям просьба не беспокоиться... (В.Попов)

  • Снова про ZFS: диск хорошо, а два лучше
  • Командная оболочка tcsh (А.Федорчук)

    Zenwalk: пакет недели

    17 сентября

  • T2C: технология автоматизированной разработки тестов базовой функциональности программных интерфейсов
  • Технология Azov автоматизации массового создания тестов работоспособности

    CITKIT.ru:

  • FreeBSD: ZFS vs UFS, и обе-две — против всех (А.Федорчук)

    Zenwalk: пакет недели

  • Дачнет — практика без теории (С.Голубев)

    10 сентября

  • За чем следить и чем управлять при работе приложений с Oracle
  • Планировщик заданий в Oracle
    (В.Пржиялковский)

    CITKIT.ru:

  • Microsoft: ответный "боян" (С.Голубев)

  • Причуды симбиоза, или снова "сделай сам" (В.Попов)

  • Файловые системы современного Linux'а: последнее тестирование
  • Zsh. Введение и обзор возможностей
    (А.Федорчук)

    Описания пакетов Zenwalk: Zsh, Thunar, Thunar-bulk-rename, Xfce4-places-plugin, Xfce4-fsguard-plugin

    Блогометки:

  • Google Chrome
  • Лончер для ASUS Eee PC 701

    3 сентября

    CITKIT.ru:

  • Заметки о ядре (А.Федорчук):

    Добавлены описания пакетов Zenwalk: Galculator, Screenshot, Gnumeric, Pidgin

    В дискуссинном клубе:

  • И еще о Википедии и Google Knol

  • Лекция для начинающего линуксоида (С.Голубев)

    26 августа

  • Транзакционная память (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Открыт новый проект Zenwalk: пакет недели

  • Статья Текстовые процессоры и их быстродействие: конец еще одной легенды?

    21 августа

    CITKIT.ru:

  • Почему школам следует использовать только свободные программы (Ричард Столлман)
  • Беседа Сергея Голубева с учителем В.В.Михайловым

  • Википедия или Гуглезнание? Приглашение к обсуждению (Алексей Федорчук)
  • Народная энциклопедия от Google (StraNNik)

  • Обзор Mandriva 2009.0 Beta 1 Thornicrofti
  • Новичок в Линукс: Оптимизируем Mandriva 2008.1

  • Книга Zenwalk. Приобщение к Linux:

    13 августа

    CitCity:

  • Мирный Atom на службе человеку. Обзор платы Intel D945GCLF с интегрированным процессором
  • Обзор процессоров Intel Atom 230 на ядре Diamondville

  • iPhone - год спустя. Скоро и в России?

    CITKIT.ru:

  • Интермедия 3.4. GRUB: установка и настройка (из книги Zenwalk. Приобщение к Linux)

    6 августа

  • СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности? (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Интермедия 2.2. Что неплохо знать для начала (из книги Zenwalk. Приобщение к Linux)

  • И снова про шрифты в Иксах (А.Федорчук)

  • 20 самых быстрых и простых оконных менеджеров для Linux

  • Дело о трех миллиардах (С.Голубев)

    30 июля

  • OLTP в Зазеркалье (Пересказ: С. Кузнецов)

    CitCity:

  • Будущее BI в облаках?
  • Тиражные приложения и заказная разработка. Преимущества для заказчика
  • Дискуссия со сторонниками заказной разработки

    CITKIT.ru:

  • Новые главы книги Zenwalk. Приобщение к Linux:
  • Глава 8. Пакеты: средства установки, системы управления, системы построения
  • Глава 9. Zenwalk: репозитории, пакеты, методы установки

    23 июля

    CITKIT.ru:

  • Все против всех. 64 vs 32, Intel vs AMD, tmpfs vs ext3
  • Две головы от Intel

  • Zenwalk: обзор штатных приложений (глава из книги "Zenwalk. Приобщение к Linux")

  • Нормально, Григорий...

    16 июля

    Обзоры журнала Computer:

  • Перспективы и проблемы программной инженерии в XXI веке
  • Большие хлопоты с большими объемами данных
  • Перспективы наноэлектроники

    CITKIT.ru:

  • Интермедия о лицензиях (А.Федорчук. "Zenwalk. Приобщение к Linux")

  • Есть ли будущее у KDE?

  • Linux в школе: альтернативный вариант в задачах

  • Шифр (приключения агента Никодима)

    10 июля

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия вступительная. Linux или GNU/Linux? Как вас теперь называть?
  • Глава 5. Среда Xfce
  • Глава 6. Xfce: приложения и плагины

  • ZUR (Zenwalk User Repository) FAQ

    2 июля

  • Персистентность данных в объектно-ориентированных приложениях (С. Кузнецов)

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия 1.2. Дорога к Zenwalk'у. Период бури и натиска
  • Интермедия 3.3. Немного о Linux'е и "железе"
  • Глава 4. Настройка: инструментами и руками
  • Интермедия 4.1. Zenpanel и конфиги: поиски корреляции

  • Интервью с Жан-Филиппом Гийоменом, создателем дистрибутива Zenwalk

  • Linux в школе: первые итоги (С. Голубев)

    25 июня

    CITKIT.ru:

  • Zenwalk. Приобщение к Linux (А. Федорчук)

  • Логика и риторика (С.Голубев)

  • Технология Tru64 AdvFS

  • Ханс Райзер предлагает отвести полицейских к телу Нины

    18 июня

  • Проекты по управлению данными в Google (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • ОС и поддержка "железа": мифы и реальность (А. Федорчук)

  • Linux в школе: другие дистрибутивы

  • Пинок (С. Голубев)

    4 июня

  • Ландшафт области управления данными: аналитический обзор (С. Кузнецов)

    CITKIT.ru:

  • Linux в школе: слово заинтересованным лицам

  • SlackBuild: пакеты своими руками

  • Linux от компании Novell. Установка и обзор openSUSE Linux

    Все публикации >>>




  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 4119920, ICQ 232284597 Пресс-релизы — pr@citcity.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...