Научная статья на тему 'Разработка гаджетов для операционных систем семейства Microsoft Windows nt'

Разработка гаджетов для операционных систем семейства Microsoft Windows nt Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
959
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГАДЖЕТ / ВИДЖЕТ / АППЛЕТ / ПЛАГИН / РАЗРАБОТКА / MICROSOFT / WINDOWS / GADGET / WIDGET / APPLET / PLUG-IN / THE DEVELOPMENT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Любич С. А.

Рассматриваются основные моменты, связанные с разработкой гаджетов. Приводятся описание составляющих гаджета, а также возможные решения некоторых проблем, возникающих при их разработке под операционные системы семейства Microsoft Windows NT.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPING GADGETS FOR OPERATING FAMILY SYSTEMS MICROSOFT WINDOWS NT

The article discusses the main aspects related to the development of gadgets. There are descriptions of the main components of the gadget and solutions to some problems that arise when developing for family of operating systems Microsoft Windows NT.

Текст научной работы на тему «Разработка гаджетов для операционных систем семейства Microsoft Windows nt»

S.A. Budkov, G.N. Klintsov, E.V. Larkin

The kinematics of rotary tunnel/excavation combine, which is a compound mecha-tronic complex is described. The dependences, which are linked a space positions of separate units, such as: the base, the rotor and rock-destruction elements relative to the center line of tunnel, are obtained. Dependences are intended for calculation and optimization of parameters of complex.

Key words: tunnel/excavation complex, rotor, rock-destruction element, tunnel, kinematics, co-ordinate system.

Budkov Segrey Anatolyevich, postgraduate, elarkin@mail.ru, Russia, Tula, Tula State University,

Klintsov Grigoriy Nikolaevich, student, argon-eldar@mail.ru, Russia, Tula, Tula State University,

Larkin Eugene Vasilyevich, doctor of technical sciences, professor, the head of a chair, elarkin@mail.ru, Russia, Tula, Tula State University

УДК 004.422.832

РАЗРАБОТКА ГАДЖЕТОВ ДЛЯ ОПЕРАЦИОННЫХ СИСТЕМ СЕМЕЙСТВА MICROSOFT WINDOWS NT

С.А. Любич

Рассматриваются основные моменты, связанные с разработкой гаджетов. Приводятся описание составляющих гаджета, а также возможные решения некоторых проблем, возникающих при их разработке под операционные системы семейства Microsoft Windows NT.

Ключевые слова: гаджет, виджет, апплет, плагин, Microsoft, Windows, разработка.

С появлением операционной системы Windows Vista у программистов появилась возможность создавать особые программы, называемые гаджетами. Программы, схожие по функционалу, программисты, пишущие для других операционных систем, разрабатывали намного раньше. Примерами могут служить Java-апплеты или плагины для разных приложений. Так как программисты используют разные библиотеки для разработки приложений для разных операционных систем, термины, и как следствие, значения этих терминов различаются в зависимости от тех платформ, на которых ведется разработка. Так, например, в операционной системе An-

droid используется термин виджет, а в операционных системах от Microsoft схожие по функционалу программы называются гаджетами. Определения различных терминов и примеры их адаптации к разным системам представлены в табл. 1.

В данной статье будут изложены основы разработки таких программ именно для семейства Microsoft Windows NT, поэтому и в названии и в содержании статьи фигурирует термин «гаджет».

Несмотря на довольно долгое существование всей линейки операционных систем Microsoft Windows NT (первая операционная система данного семейства Windows NT 3.1 была выпущена 27 июля 1993 года), возможность создавать гаджеты появилась только в последних операционных системах, начиная с Windows Vista (дата выпуска - 30 января 2007). Учитывая слабую популярность Windows Vista, связанную, прежде всего, с огромным количеством системных недоработок, на гаджеты поначалу, внимания особого не обращали, но впоследствии гаджеты стали портиро-вать даже на Windows XP. С выпуском Windows 7 особых различий в структуре самих гаджетов не произошло, поэтому способ разработки гаджетов, описанный в данной статье, применим для всей линейки операционных систем, где возможно их использование.

Таблица І

Сравнительная таблица адаптации терминов

Термин Определение Адаптирован

Г аджет (англ. gadget - приспособление, прибор) Устройство, как правило, сравнительно небольшого размера, подключаемое по стандартизированному интерфейсу к более сложным устройствам и выполняющее ограниченный круг задач, расширяя тем самым функционал основного устройства Изначально это определение термина было дано для электромеханических устройств, но со временем оно стало справедливо и для некоторых компьютерных программ

Виджет (англ. widget) Слово «widget» впервые фиксируется в 1926 году в том же значении, что и gadget - «приспособление, штуковина». Предполагают, что на его форму повлияло gadget, а происходит он из which it - «этот, как его» Используется как название класса вспомогательных мини-программ - графических модулей, которые размещаются в рабочем пространстве соответствующей родительской программы и служат для решения отдельных рабочих задач или быстрого получения информации из интернета без помощи веб-браузера

Окончание

Термин Определение Адаптирован

Апплет (англ. applet от application -приложение и let -уменьшительный суффикс) Несамостоятельный компонент программного обеспечения, работающий в контексте другого, полновесного приложения, предназначенный для одной узкой задачи и не имеющий ценности в отрыве от базового приложения Наиболее часто термин используется в следующих значениях: 1. Java-апплет - программный компонент в двоичном коде виртуальной машины Java, исполняется в окне браузера Web-страниц. 2. Элемент модульных диалоговых сред X Window System (GNOME, KDE, Xfce), Microsoft Windows, Apple Mac OS. Является приложением в машинном коде для соответствующей ОС, взаимодействует с основным приложением (менеджером окон) посредством стандартного API

Плагин (англ. plugin) Независимо компилируемый программный модуль, динамически подключаемый к основной программе, предназначенный для расширения и/или использования её возможностей. Также может переводиться как «модуль» Плагины обычно выполняются в виде разделяемых библиотек. Основное приложение предоставляет сервисы, которые плагин может использовать. Плагины являются зависимыми от сервисов, предоставляемых основным приложением и зачастую отдельно не используются

Рассмотрим наиболее общую структуру организации гаджета. Установочный файл гаджета представляет собой ZIP-архив с расширением gadget. Внутри этого архива обязательно должны располагаться 2 файла:

1. Файл манифеста с расширением xml, в котором содержится основная информация о самом гаджете [1].

2. Основной файл гаджета с расширением htm. Этот файл и содержит основной функционал гаджета.

Рассмотрим подробнее файл манифеста гаджета.

<?xml version-'1.0" encoding="UTF-8"?>

<gadget>

<name>Czech Info</name>

<version>1.0</version>

<author name="Stanislav A. Ljubich"> </author>

<copyright>2011 LSA</copyright>

<description>Some info about Czech Republic.</description> <icons> <icon height="48" width="48" src="logo.png" />

</icons>

<hosts> <host name="sidebar">

<base src-'gadget.html" apiVersion="1.0.0" type="HTML"/> <permissions>full</permissions>

<platform minPlatformVersion="0.3 "/>

</host>

</hosts>

</gadget>

Краткая характеристика каждого из основных элементов файла манифеста, представлена в табл. 2. Следует понимать, что файл манифеста может быть изменен: в него могут быть добавлены или удалены некоторые элементы, однако необходимо следить за тем, чтобы в его описании всегда присутствовали обязательные элементы.

Имя файла манифеста всегда должно быть таким: gadget.xml. Жесткого требования к имени основного html-файла не предъявляется. Это обусловлено тем, что сначала соответствующая служба операционной системы инициализирует файл манифеста, а лишь потом основной файл. Имя основного файла может быть любым, доступным в системе. Главное указать в параметре src атрибута base элемента host правильное имя основного файла: <base src="someothername.htmr.../>. Теперь рассмотрим структуру основного файла гаджета.

Таблица 2

Описание основных элементов файла манифеста

Элемент Наличие Описание

<?xml version="1.0" encoding="UTF-8"?> Обязательно Декларация XML определяет версию XML и кодировку символов, используемых в документе. Этот специфический документ соответствует спецификации XML 1.0 и использует набор символов UTF-8 (unicode)

<gadget> Обязательно Включает в себя элементы потомков, которые и определяют сам гаджет

<name> Обязательно Определяет название гаджета, которое отображается в описании гаджета на странице панели управления Windows Sidebar

<version> Обязательно Определяет версию гаджета. Sidebar использует это значение во время установки гаджета. Если уже был установлен гаджет с таким же именем, то Sidebar прежде всего сравнивает версии и если версии различаются, то пользователь вынужден выбрать соответствующую версию

<author> Опционально Отображает информацию о разработчике гаджета. Среди его атрибутов можно выделить: url - интернет адрес сайта разработчика; logo - содержит путь к логотипу разработчика

Окончание

Элемент Наличие Описание

<copyright> Опционально Определяет атрибуты, относящиеся к авторскому праву

<description> Опционально Содержит более подробную информацию о гаджете

<icons> Опционально Указывает размеры и путь к логотипу гаджета

<hosts> Обязательно Элемент идентифицирует приложение, которое принимает гаджет. Его элементы потомки определяют поведение гаджета для специфического хостового приложения

Более наглядно отображаемые элементы и их соответствующая визуализация представлены на рис. 1.

Рис. 1. Соответствие видимых элементов файла манифеста

с их визуализацией

В базовом виде данный файл представляет собой обычный html-файл. Никаких дополнительных требований к его структуре не предъявляется. Это позволяет разработчику создавать самые разнообразные гаджеты, начиная от самого простого с использованием только языка разметки гипертекста, заканчивая полноценными Flash и Silverlight приложениями, используя при этом основной файл как своеобразный контейнер. Так как основной файл гаджета пишется на языках типа CSS, HTML, JavaScript, необходимо наличие хотя бы одного установленного веб-браузера. В случае если гаджет использует другие веб-фреймворки, то необходимо и их наличие и установка соответственно. Одним из признаков хорошего тона

332

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

1. В основной файл гаджета добавить следующие скрипты:

<script type="text/javascript" src="Silverlight.js"></script>

<script type="text/javascript">

function onSilverlightError(sender, args) { var errorType = args.ErrorType; var iErrorCode = args.ErrorCode;

var errMsg = "Unhandled Error in Silverlight Application";

if (errorType == "ImageError" || errorType == "MediaError") {...}

if (errorType == "ParserError") {.}

else if (errorType == "RuntimeError") {.}

throw new Error(errMsg); }

</script>

В блоках {...} осуществляется только формирование и изменение переменных errorType, iErrorCode и errMsg, и в целях экономии размера статьи их код не приводится.

2. В содержание проекта, помимо файла манифеста и основного файла, добавить файл Silverlightjs, в котором собственно и происходит проверка наличия необходимой версии фреймворка, а также отлавливание основных типов ошибок. Этот файл может быть автоматически сформирован при разработке приложения.

3. Также необходимо проследить, чтобы при добавлении приложения на основной html-файл присутствовал параметр, определяющий обработчик события, в случае возникновения ошибки:

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">

<param name="source" value="ClientBin/SLParsing1.xap"/>

<param name="onError" value="onSilverlightError" />

<param name="background" value="white" />

<param name="windowless" value="true" />

<param name="minRuntimeVersion" value="3.0.40818.0" />

<param name="autoUpgrade" value="true" />

<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style=Mtext-decoration:noneM> <img src=Mhttp://go.microsoft.com/fwlink/?LinkId=161376M alt="Get Microsoft Silverlight" style="border-style:none"/> </a> </object>

Содержание проекта гаджета может изменяться в зависимости от

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

Закрыть Размер Параметры Перемещение

Рис. 2. Базовое меню гаджета внешнего уровня

В зависимости от особенностей гаджета это меню может содержать разные управляющие кнопки, однако во всех без исключения гаджетах присутствуют кнопки: Закрыть (убирает гаджет с рабочего стола Windows) и Перемещение. Также базовое меню гаджета может содержать кнопки: Параметры (выводит на экран дополнительные настройки) и Размер. Каждый гаджет может иметь два состояния: docked и undocked. Максимальная ширина docked гаджета составляет 130px, для undocked нет ограничений, но рекомендуется не превышать 400px. Текущее состояние гаджета отражает переменная System.Gadget.docked, а при его изменении происходит событие System.Gadget.onUndock или System.Gadget.onDock. В обработчике изменения состояния нужно задать размеры body. Изменение класса body позволяет удобно управлять отображением внутренних элементов [2]:

function dockStateChanged() { if (System.Gadget.docked) { $(document.body).removeClass('undocked')

.addClass('docked')

.css('width', '130px')

.css('height', '145px');

} else {

$(document.body).removeClass('docked')

.addClass('undocked')

.css('width', '260px')

.css('height', '240px');

}

}

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для работы со страницей настроек нужно указать файл с ее разметкой:

System.Gadget.settingsUI = 'settings.html'.

После этого на панели меню гаджета появляется пиктограмма, клик на которой открывает настройки гаджета. Сохранить и получить параметры гаджета можно с помощью методов System.Gadget.Settings.writeString,

334

System.Gadget.Settings.readString, но следует учитывать, что параметры сохраняются при перезапуске службы отображения гаджетов или компьютера, но удаляются при закрытии гаджета. Чтобы сохранять настройки гаджета при его удалении или хранить больше необходимых данных, следует использовать файлы.

В заключение хотелось бы указать на особенность использования гаджетов, на основе Silverlight-приложений, в 64-разрядных операционных системах. Проблема заключается в совместимости 64-разрядного процесса sidebar.exe, запускаемого в операционной системе по умолчанию, и отсутствии библиотек Silverlight такой же разрядности. И если компания Adobe уже решила эту проблему, выпустив Flash-плеер для 64-разрядных операционных систем, то Microsoft по-прежнему выпускает Silverlight без поддержки 64-разрядных систем. Тем не менее, эту проблему можно обойти, так как в системе любой архитектуры присутствует стандартный x86 процесс sidebar.exe. Чтобы передать управление x86 процессу, необходимо завершить 64-разрядный процесс и запустить x86 процесс. Для реализации этого можно, например, создать bat-файл следующего содержания:

taskkill /f /IM sidebar.exe

pause

"C:\Program Files (x86)\Windows Sidebar\sidebar.exe"

Также, для того чтобы постоянно не запускать bat-файл, можно записать в реестр Windows информацию о вызываемом по умолчанию процессе. Сделать это можно, например, создав текстовый файл с расширением reg, и единожды вызвать его:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi

on\Run]

"Sidebar"="C:\\Program Files (x86)\\Windows SidebarWsidebar.exe /autoRun"

На этом можно подвести итог рассмотрения разработки гаджетов. Следует помнить, что в данной статье описывались только основы создания и понимания функционирования гаджетов в операционной системе, а потенциал использования гаджетов определит лишь конкретный разработчик.

Список литературы

1. Windows Sidebar Manifest [Электронный ресурс] // Dev Center -Desktop: [сайт] URL: http://msdn.microsoft.com/en-us/library/windows/ desk-top/bb508509(v=vs.85).aspx

2. System.gadget ogject [Электронный ресурс]. // Dev Center - Desktop: [сайт] URL: http://msdn.microsoft.com/en-us/library/windows/desktop/ ms723683(v=vs.85).aspx

Любич Станислав Александрович, аспирант, ljubich.stas@smail.com. Россия, Омск, Сибирская государственная автомобильно-дорожная академия

DEVELOPING GADGETS FOR OPERATING FAMILY SYSTEMS MICROSOFT WINDOWS NT

S.A. Lubich

The article discusses the main aspects related to the development of gadgets. There are descriptions of the main components of the gadget and solutions to some problems that arise when developing for family of operating systems Microsoft Windows NT.

Key words: gadget, widget, applet, plug-in, Microsoft, Windows, the development.

Lubich Stanislav Alexandrovich, postgraduate, ljubich.stas@,gmail.com. Russia, Omsk, Siberian State Automobile and Highway Academy

УДК 005

ОЦЕНКА СВОЙСТВ ИНФОРМАЦИОННЫХ СИСТЕМ В СТАНДАРТАХ ПО ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

А.Н. Шубин

Произведен обзор стандартов по информационной безопасности, на основании которых производят оценку свойств информационных систем. В статье выделены основные методы оценки качества информации (или показатели качества) информации по каждому из рассмотренных документов.

Ключевые слова: информационная безопасность, качество информационной системы, показатели качества.

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

Рассмотрим, с помощью каких стандартов и нормативных документов можно оценить качество информационной системы или отдельные показатели.

Стандарт КО\ГЕС 27001 является первым общепризнанным международным стандартом на систему управления информационной безопасностью. От многих других стандартов в области защиты информации его от-

i Надоели баннеры? Вы всегда можете отключить рекламу.