Microsoft TechEd EMEA Developers

Наталия Елманова

Вычисления в «облаке» и Windows Azure

Новые инструменты моделирования

Windows 7

Visual Studio 2010 и .NET Framework 4

Silverlight 2

Security Development Lifecycle

TechEd и российские разработчики

 

Настоящая статья посвящена конференции Microsoft TechEd EMEA Developers, состоявшейся в конце ноября в Барселоне. На ней обсуждались новые технологии для разработчиков, анонсированные незадолго до начала мероприятия. Заметим, что в этом году появилось и много новшеств, и возрожденных спустя несколько лет старых концепций. Впрочем, обсудим все по порядку.

Вычисления в «облаке» и Windows Azure

Несколько лет назад в сообществе разработчиков активно обсуждалась концепция служб .NET Services — веб-служб, выполняющихся на серверах центров обработки данных, и возможность создавать свои решения на их основе. Несмотря на весьма активную маркетинговую кампанию и наличие некоторого количества удачных проектов с применением этих служб, о них на какое-то время забыли. И вот теперь эта концепция снова была возрождена под именем «вычисления в облаке» (Cloud Computing).

Windows Azure — это высокомасштабируемая платформа для внедрения веб-приложений, являющаяся реализацией концепции «облака» (иногда по отношению к этой платформе употребляют словосочетание «Windows in the cloud») и обеспечивающая хранение данных и выполнение приложений на серверах центров обработки данных Microsoft. Перенос приложений в «облако» позволяет отказаться от локальных серверов и тем самым сократить затраты на аппаратное обеспечение и обслуживание приложений. Microsoft рассчитывает на то, что компании пойдут на применение подобной архитектуры по разным причинам, как-то: обеспечение надежности и защиты данных, преодоление проблем, связанных с ограничениями в законодательстве разных стран, упрощение развертывания приложений и обеспечение доступа к ним из разных мест, тем более что существуют успешные реализации подобной архитектуры у других производителей, таких как Google и Amazon. Правда, обе упомянутые компании предоставляют набор базовых сервисов, весьма ограниченный по сравнению с тем, что предлагает Windows Azure.

Платформа Windows Azure включает несколько составных частей:

  • Microsoft .NET Services — набор масштабируемых служб, реализующих наиболее часто используемую разработчиками функциональность. В него входят такие компоненты, как Microsoft .NET Access Control Service для обеспечения аутентификации и авторизации пользователей, Microsoft .NET Service Bus для обеспечения взаимодействия приложений между собой, Microsoft .NET Workflow Service для управления потоками работ и сообщениями внутри «облака» (сами потоки работ могут быть созданы с помощью Visual Studio 2008 Workflow Designer);
  • Microsoft SQL Services — службы для работы с данными; в настоящее время включают только компонент Microsoft SQL Data Services, представляющий собой службу для хранения данных и обработки реляционных запросов;
  • Microsoft Live Services — набор сервисов для работы с данными пользователей и ресурсами приложений. Включает службы Mesh Services, позволяющие хранить все необходимые данные на серверах Microsoft и при необходимости синхронизировать их с различными устройствами, а также службы Identity Services, Directory Services, User-Data Storage Services, Communications and Presence Services, Search Services, Geospatial Services для управления аутентификацией, поиском, данными пользователей, их хранением и обменом и решения ряда других задач;
  • Microsoft SharePoint Services — планируемые к развертыванию в будущем службы для обеспечения совместной работы над документами и доступа к функциональности Microsoft SharePoint Services в «облаке»;
  • Microsoft Dynamics CRM Services — планируемые к развертыванию в будущем сервисы для доступа к функциональности Microsoft Dynamics CRM в «облаке»;
  • сервисы, предназначенные для поддержки самой платформы, то есть для хранения данных, обработки очередей запросов, выполнения кода и т.д.

Создание приложений на основе Azure можно осуществлять с помощью Visual Studio 2008. Windows Azure поддерживает такие протоколы и стандарты, как SOAP, REST (Representational State Transfer), XML, а также языки программирования и среды разработки как самой Microsoft, так и других компаний.

 

Рисунок

Первое время, на этапе тестирования, работа с платформой Azure будет бесплатной, однако для доступа к ней потребуется получить учетную запись. Позже применение Azure будет осуществляться на коммерческой основе.

Новые инструменты моделирования

На конференции также была представлена новая технология моделирования под кодовым названием Oslo. Она включает три компонента: M — настраиваемый текстовый язык моделирования, на основе которого можно создавать предметно-ориентированные языки, Qudrant — инструмент для графического моделирования, и основанный на СУБД SQL Server репозитарий для хранения моделей, позволяющий редактировать модели и в текстовом виде с помощью М, и в графическом виде с помощью Quadrant.

Подробнее о Windows Azure, а также о некоторых новых направлениях деятельности Microsoft в области развития средств моделирования и описания бизнес-процессов вы сможете узнать из интервью со Стивеном Мартином, старшим директором подразделения Connected Systems Division корпорации Microsoft, опубликованном в этом выпуске нашего журнала.

Windows 7

На конференции была продемонстрирована предварительная версия новой клиентской операционной системы Windows 7, бета-версия которой в ближайшее время станет доступна для загрузки. Из новшеств этой операционной системы отметим высокую скорость ее загрузки, обновленную панель задач, позволяющую осуществлять быстрый доступ к файлам и приложениям, средства для создания данных общего пользования в домашней сети, обновленные средства поддержки фотоаппаратов, принтеров, телефонов, программное обеспечение Multitouch для экранов, чувствительных к нажатию, позволяющее использовать разные способы нажатия для решения разных задач.

 

Рисунок

Windows 7

Visual Studio 2010 и .NET Framework 4

Совсем недавно было выпущено обновление Visual Studio 2008 SP1 (об этом мы писали в наших новостях). На TechEd Developer уже были анонсированы и впервые продемонстрированы новые версии Visual Studio и .NET Framework — Visual Studio 2010 и .NET Framework 4.

Из новшеств .NET Framework 4 отметим новые версии Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF), поддерживающие такие технологии Web 2.0, как REST, POX и ATOM, и отличающиеся гораздо более высокой производительностью, поддержкой параллельного программирования в многопроцессорных системах, улучшенной поддержкой REST и обмена общениями, наличием средств генерации workflow-приложений на основе XAML.

 

Рисунок

Visual Studio 2010 — среда разработки

Из продемонстрированных новшеств Visual Studio 2010 отметим средства упрощения работы с кодом, новые технологии для веб-разработки с помощью ASP .NET и Silverlight, средства создания приложений класса Office Business Applications, расширяющие функциональность офисных приложений и серверов для коллективной работы, и средства работы с неуправляемым кодом C++.

Проекты, связанные с разработкой приложений, становятся все более сложными, как правило, в них принимает участие много исполнителей, потому упрощение работы с кодом — это одна из важнейших задач для производителей средств разработки.

Из продемонстрированных средств наиболее интересными были удобные с точки зрения пользовательского интерфейса графические средства просмотра зависимостей между составными частями приложения (сборками, модулями) с возможностью детального просмотра их состава и средства генерации на основе кода UML-диаграмм последовательности (sequence diagram).

Еще одним новшеством является поддержка разработки, управляемой тестированием. Из среды разработки Visual Studio 2010 можно запустить процедуру тестирования с применением заранее созданного сценария — в результате появится список ручных операций, которые должен выполнить специалист по тестированию, а также инструменты для сохранения списка замеченных дефектов и полных сведений о них. Для работы с дефектами теперь доступен отладчик, поддерживающий предысторию, включая полное состояние компьютера на момент возникновения дефекта. Это позволит разработчику в дальнейшем воспроизвести дефект. Данное новшество очень полезно для создания качественного кода, ведь многие разработчики (равно как и специалисты по тестированию, и конечные пользователи) знают, что воспроизвести дефект, найденный во время тестирования, подчас бывает очень трудно. Вдобавок ко всему, действия специалиста по тестированию записываются в виде графического файла, который также может быть доступен разработчику. Исчерпывающая информация о дефекте позволяет найти источник проблемы и даже авторов, менявших соответствующий код. Отметим, что в новой версии Visual Studio используются Windows Presentation Foundation и Microsoft Extension Frameworks, новая технология, реализованная в Microsoft .NET Framework 4.0 и позволяющая легко устанавливать в среду разработки различные расширения.

На конференции также был анонсирован новый продукт, который называется Lab Management и является частью новой версии Visual Studio Team System. Он предназначен для ускорения тестирования распределенных приложений и основан на применении виртуальных машин для их имитации.

 

Рисунок

Visual Studio 2010 — диаграмма последовательности

Одним из новшеств недавно выпущенного инструмента Visual Studio 2008 была поддержка AJAX и JavaScript. Продукт продолжает развиваться в этом направлении — в Visual Studio 2010 включено много новинок, касающихся веб-разработки, в частности средства поддержки Silverlight.

Кроме того, в ожидаемую версию Visual Studio теперь включены инструменты для разработки и внедрения решений на основе SharePoint, а также большое количество готовых шаблонов решений.

Следует особо отметить средства работы с неуправляемым кодом C++ — теперь, наконец (как ни парадоксально это сегодня звучит), разработчики получат возможность делать с помощью Visual Studio все, что позволяла реализовывать Visual C++ 6. Помимо этого в инструмент включены новые средства поддержки параллельных вычислений, доступных на современных процессорах, а также средства поддержки технологии Multitouch, которая будет доступна в новой клиентской версии Windows — Windows 7.

Silverlight 2

Недавно компанией Microsoft была выпущена вторая версия технологии Silverlight, а также библиотека интерфейсных элементов для разработки приложений на ее основе. Новая версия Silverlight включает «уменьшенную» версию .NET Framework и может выполняться не только под управлением Windows, но и на некоторых других платформах (например, Apple Macintosh).

Платформа Geneva для управления доступом на основе требований

На конференции также была представлена платформа с кодовым названием Geneva для управления доступом на основе требований (claims-based access). Данная платформа (равно как и сама концепция управления доступом на основе требований) упрощает доступ пользователей к приложениям и службам по сравнению с общепринятой сегодня концепцией доступа на основе идентификации.

Требование в данной концепции представляет собой цифровой идентификатор, включающий определенные данные о пользователе (имя, e-mail, компания и т.д.). Кроме того, в данной концепции используется понятие маркера доступа (security token) — набора атрибутов, описывающего привилегии пользователя или процесса и содержащего сведения о компании, выпустившей этот маркер.

Упрощенно новую концепцию доступа можно сформулировать так: пользователь с помощью клиентского приложения или браузера создает требование, которое посредством протокола WS-Trust отправляется в трастовый центр, который создает маркер безопасности. Последний предоставляет доступ к защищенным приложениям или ресурсам. Преимуществом такого подхода является метод доступа для получения защищенной информации, стандартный для разных типов приложений.

Согласно концепции управления доступом на основе требований платформа Geneva включает три компонента для обеспечения доступа: Geneva Framework для создания .NET-приложений, рассылающих требования; Geneva Server — сервер для выпуска маркеров безопасности и управления доступом пользователей; Windows CardSpace — инструмент для пользователей и разработчиков, предназначенный для создания средств аутентификации.

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

Эта тема более подробно будет рассмотрена в одном из ближайших выпусков нашего журнала. Кроме того, мы планируем опубликовать интервью с представителями Microsoft, имеющими непосредственное отношение к созданию платформы Geneva.

Security Development Lifecycle

Создание безопасных приложений — это одна из самых актуальных тем, волнующих разработчиков. Поэтому с большим интересом были встречены анонсированные Microsoft новшества в области процесса обеспечения безопасности всего цикла разработки — SDL (Security Development Lifecycle).

Как мы уже знаем, процесс обеспечения безопасности всего цикла разработки применяется в самой корпорации Microsoft при создании всех ее продуктов. Этот процесс представляет собой строгую методику разработки безопасного программного обеспечения. В основе SDL лежат четыре фундаментальных принципа: безопасность при разработке, безопасность по умолчанию (максимальная защита за счет ограничения необязательных функций и предоставления пользователям минимально необходимых прав доступа), безопасность при развертывании, постоянная связь с пользователями.

SDL охватывает каждый этап процесса разработки программного обеспечения. Так, на этапе проектирования программисты и специалисты по безопасности используют методики моделирования угроз для выявления уязвимых мест архитектуры, на этапе создания кода осуществляется поиск уязвимых мест.

 

Рисунок

SDL Threat Modelling Tool

Из предложенных в этой области новшеств особый интерес представляет бета-версия инструмента для моделирования потенциальных уязвимостей в создаваемом программном обеспечении — SDL Threat Modelling Tool.

Указанный инструмент будет доступен всем разработчикам и позволит им упростить анализ и устранение уязвимостей создаваемых ими решений еще до того, как будет завершена разработка.

В ближайших выпусках нашего журнала мы более подробно обсудим вопросы обеспечения безопасности всего цикла разработки. В связи с этим мы планируем опубликовать интервью с Майклом Ховардом — одним из авторов книги «Защищенный код», весьма популярной среди российских разработчиков.

TechEd и российские разработчики

Из положительных моментов данного мероприятия в первую очередь следует отметить присутствие немалого количества российских разработчиков (с каждым годом их становится все больше). Это не может не радовать — значит, руководители компаний осознали, что разработчиков выгодно посылать на такие мероприятия, поскольку приобретенные ими знания окупят затраты на участие и связанные с этим накладные расходы.

Чем полезно посещение TechEd? Как минимум, возможностью получить сведения о новых технологиях из первых рук, опробовать их в учебной лаборатории (таковые всегда доступны на мероприятиях Microsoft), пообщаться с теми, кто разрабатывает эти технологии и использующие их продукты. В связи с этим нельзя не отметить такую традиционную акцию на мероприятиях Microsoft, как Ask the experts. Заключается она в организации на территории выставочного зала (который тоже всегда имеется на подобных мероприятиях) определенного количества стендов, посвященных различным технологиям Microsoft, где участники конференции могут задать свои вопросы специалистам, создававшим эти технологии и продукты. Здесь можно получить уникальные сведения о новых технологиях и советы по их применению, чего зачастую невозможно узнать больше нигде. А такие знания часто нужны и программистам, и их руководителям, выбирающим технологии, платформы и средства разработки для применения в ближайшем будущем. Без таких знаний довольно сложно выработать стратегию развития компании-разработчика или планы развития отделов и департаментов разработки — ведь все мы зависим от производителей технологий и платформ.

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

Новые технологии Microsoft для разработчиков: взгляд изнутри

О новых технологиях Microsoft, которые будут доступны разработчикам в ближайшее время, мы попросили рассказать Стивена Мартина, старшего директора подразделения ConnectedSystemsDivision корпорации Microsoft.

КомпьютерПресс: Какие новшества в области технологий разработки приложений следует ожидать от компании Microsoft в ближайшие год-два?

Стивен Мартин: Говоря о новшествах, которые появятся в ближайшие два года, для начала упомянем инфраструктурные технологии и решения. Это новая версия .NET Framework, изменения в Windows Workflow Foundations и Windows Communication Foundations. В Windows Workflow Foundations мы сосредоточились в первую очередь на повышении производительности приложений, а в Windows Communication Foundations была добавлена поддержка ряда новых протоколов.

 

Рисунок

Кроме того, мы добились интеграции этих двух технологий, а также работаем над улучшениями и расширениями в Windows Server. В частности, мы усовершенствовали Windows Server с тем, чтобы он мог одновременно эффективно работать и как сервер приложений, и как веб-сервер — ведь эффективный хостинг обоих типов приложений может дать определенные преимущества.

Еще мы продолжили работу над технологией моделирования с кодовым названием Oslo. Компонентами данной технологии являются инструмент для графического моделирования Quadrant, текстовый язык моделирования М (от слова Modelling) и репозитарий для хранения моделей. Все три компонента сейчас доступны в виде CTP (Community Technology Preview).

В области технологии Cloud Computing (вычисления в «облаке») две недели назад мы объявили о платформе Azure Services Platform, которая состоит из следующих компонентов: платформы SQL Services для хранения данных и управления ими, платформы Live Services, которая включает такую вещь, как Mesh (сервис, позволяющий пользователю хранить все необходимые данные на серверах Microsoft. — Прим. ред.), платформы .NET Services, которая предоставляет средства идентификации, управления потоками работ, мгновенного обмена сообщениями, а также сервисы для работы с функциональностью SharePoint и Microsoft CRM с целью расширения возможностей этих приложений. Все эти платформы также доступны в виде CTP, и клиенты могут оценить их возможности.

КП: Можете ли вы вкратце объяснить, в чем заключается концепция Cloud Computing?

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

Cloud Computing (вычисления в «облаке») — это новый способ решения подобных задач. Теперь у разработчиков есть выбор — они могут создавать обычные приложения .NET или использовать .NET Services, внедрить приложение локально или загрузить его в «облако», решив при этом, как именно оно должно масштабироваться. Можно также организовать обмен данными между приложениями в «облаке» и обычными локальными приложениями. При этом приложения для работы в «облаке» создаются с помощью .NET Framework, и те, кто знаком с этой платформой, легко смогут создавать такие приложения — ничего нового им изучать не придется.

Технически Cloud — это набор аппаратного и программного обеспечения, которое функционирует в центрах обработки данных, принадлежащих Microsoft, и на данный момент разработчик, чтобы протестировать эту технологию, должен получить соответствующую учетную запись, после чего сможет создавать приложения ASP .NET, транзакционные приложения, а также приложения, использующие имеющиеся у нас высокоуровневые сервисы. Cloud — это предложение Microsoft для высокоуровневой аппаратной и программной абстракции слоя приложений, позволяющее создавать приложения, не зависящие от возможности клиента содержать у себя СУБД или другие серверные приложения.

КП: Применяются ли в подобных вычислениях технологии виртуализации?

С.М.: Да, «облако» — это высоковиртуализованная среда.

КП: А что представляют собой службы Azure Services? Это словосочетание незнакомо нашим читателям…

С.М.: Мы анонсировали данную технологию совсем недавно. Это совокупность сервисов, доступных в наших центрах обработки данных, поверх которых разработчики могут создавать свои приложения. Составные части Azure — это новое технологическое явление. По существу, это среда исполнения «облака».

КП: Перейдем к технологиям моделирования, о которых вы упомянули. Что представляет собой язык M?

С.М.: М — это часть технологии Oslo. Как я уже говорил, технология Oslo включает три компонента: Qudrant — инструмент для графического моделирования, M — текстовый язык моделирования, а также репозитарий для хранения моделей. M — это предназначенный для разработчиков способ создавать предметно-ориентированные языки (Domain-Specific Language, DSL), служащие для формирования текстовых моделей. Будучи настраиваемым языком, он позволяет создавать любые модели. Генерируемые с его помощью специальные языки моделирования могут быть очень высокоуровневыми или, наоборот, низкоуровневыми, и с их помощью можно создавать, например, модели внедрения или модели приложений.

Уже существует ряд технологий моделирования, созданных с помощью М. Независимые разработчики могут создавать свои предметно-ориентированные языки, часть из которых уже доступна сообществу разработчиков. Сейчас мы очень тесно работаем с партнерами, убеждая их применять M. Кроме того, мы сами создали средство графического моделирования Quadrant с помощью М.

КП: А для чего именно предназначен Quadrant?

С.М.: Существуют разработчики, предпочитающие иметь дело с текстом, но есть и такие, кто любит работать с графическими изображениями. Если модель хранится в репозитарии, входящем в состав Oslo, ее можно увидеть в текстовом виде с помощью М или в графическом с помощью Quadrant. К примеру, я могу использовать Quadrant, если хочу спроектировать базы данных или описать поток работ, а также для описания связей между метаданными в базе данных и потоками работ либо для описания шаблона приложения.

Quadrant — это область, в которой мы тесно работаем с партнерами, особенно с компаниями, специализирующимися в вопросах моделирования бизнес-процессов (Business Process Modellng, BPM). Quadrant — это наиболее низкоуровневый инструмент среди всех BPM-средств, но с его помощью можно создавать высокоуровневые функции.

КП: Только что в качестве примера вы привели проектирование данных. Но ведь средства проектирования данных существуют не один десяток лет, и большинство из них может, как минимум, и генерировать DDL-код для генерации физической базы данных, и, наоборот, восстанавливать графическую модель по такому коду. То есть идея просмотра модели и в графическом, и в текстовом виде отнюдь не нова. То же самое касается и многих средств моделирования приложений — некоторые из них умеют генерировать код приложений или осуществлять обратное проектирование на основе имеющегося кода. В чем же заключается отличие Quadrant от других средств моделирования?

С.М.: Основное отличие Quadrant от других средств моделирования заключается в настраиваемости. С его помощью можно описать и спроектировать что угодно: данные, метаданные, потоки работ, взаимодействие потоков работ и данных, а кроме того, можно переключаться между текстовым и графическим описанием, определив фигуры и линии для их соединения. В настоящее время мы имеем дело с несколькими технологиями моделирования, одна из которых предназначена для проектирования баз данных, другая — для описания потоков работ, третья — для описания внедрения приложений и т.д. Quadrant же позволяет описывать все это вместе и добавлять в модели другие компоненты. Теперь это можно делать в едином инструменте, читая данные из единого репозитария как в текстовом виде с помощью M, так и в графическом — с помощью Quadrant.

КП: Такое ощущение, что вы только что говорили об UML. Чем проект Oslo отличается от этого стандарта моделирования?

С.М.: UML — один из стандартов, которые мы поддерживаем. Но многие разработчики считают, что UML не так прост в применении, как хотелось бы. Некоторым разработчикам интересна возможность создать предметно-ориентированный язык, начав с нуля, и создать новое приложение с его помощью. Поэтому мы думаем, что результатом проекта Oslo будет мощный инструмент, позволяющий в том числе использовать и UML, и другие методологии.

КП: Вы упомянули партнеров, специализирующихся в области BPM. Какие это компании, и что вы уже успели вместе сделать?

С.М.: IDS Scheer — наш ведущий партнер в данной области. С этой компанией мы работаем над рядом интересных проектов, например над использованием BuizTalk Server в качестве среды исполнения процессов, модели которых разработаны с помощью инструментов IDS Scheer. У нас есть партнеры, которые создают расширения для этого сценария внедрения, причем уже доступны демонстрационные примеры.

Среди наших партнеров — такие компании, как K2, Global 360 и ILog. Мы полагаем, что задача партнеров — создавать расширения и дополнительные функции для M и Quadrant и тем самым развивать платформу .NET. Пока мы предоставили партнерам первый релиз этой технологии с тем, чтобы они начали ее использовать, и многие члены Business Process Alliance уже приняли участие в ее разработке и применении. Многие наши партнеры также работают над реализацией BPM с помощью Windows Workflow Foundations и SharePoint.

КП: Что бы вы пожелали российским разработчикам?

С.М.: Россия — это большой и очень перспективный рынок. Нам всегда интересно, что российские разработчики думают о наших новых платформах. Поэтому мы были бы счастливы получить от них отзывы о наших технологиях.

КП: Большое спасибо за интересное интервью. Желаем вашей компании успехов в деле развития новых технологий и идей!

В начало В начало

КомпьютерПресс 12'2008

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует