Reviews / articles about OS/2 |
Operating systems: ArcaOS, eComStation, IBM OS/2 Warp |
|
|
DATE: 2002-01-16 22:30:25 AUTHOR: Joseph Shrago
Интерфейс операционных систем семейства OS/2 построен на основе индустриального стандарта SOM. Что это такое и какие преимущества получают пользователи и программисты, вы узнаете, прочитав это интервью. Что же такое SOM? Если говорить простыми словами, то SOM - это системно-объектная модель, на основе которой создан интерфейс пользователя в операционной системе OS/2. Т.е. за всеми объектами на десктопе OS/2 и за интерфейсом пользователя стоит мощная модель: это не просто набор картинок и меню, это - объектно-ориентированный комплекс, который делает пользователя OS/2 властелином своего компьютера и заметно облегчает ему жизнь. Если же говорить формальным языком, то SOM - это решение от IBM, позволяющее объединить различные двоичные библиотеки общеупотребительных ресурсов в единый программный продукт, независимо от языка и среды разработки, которые использовались для их создания. IBM предложила и поддержала создание архива таких объектных модулей, которые могли бы быть включены в любой другой продукт. Это ответ IBM на несовместимость различных языков и сред разработки, которые усложняют жизнь разработчикам и заставляют их либо изобретать по - новой, либо переделывать вполне работающий велосипед. Иначе говоря, SOM предоставляет совместимость с любой платформой и любым языком программирования. В рамках этой технологии разработчики описывают имена методов, типы возвращаемых значений и передаваемых параметров и прочее на языке описания интерфейсов IDL (Interface Definition Language). По синтаксису, язык IDL похож на C. В toolkit'e есть примеры исходников на IDL - см. файлы с расширением .idl. Затем эти методы можно реализовать в предпочтительной языковой среде, причем не обязательно объектно - ориентированной. При изменениях внутренности библиотек SOM, которые не затрагивают интерфейс, клиентские программы не нуждаются в перекомпиляции. Эта технология позволяет не замечать такие изменения в двоичной библиотеке, как
SOM удовлетворяет спецификациям OMG (Object Management Group) и CORBA (Common Object Request Broker Architecture - Архитектура посредника стандартного объектного запроса). Другими словами, кроме стандартного API, IBM снабдила OS/2 еще одним API, имеющим доступ к объектной модели? Мы имеем готовую модель, готовые классы и инструменты для их наращивания? Это необычно и, я думаю, не каждая ОС имеет такие возможности. Ничего необычного. Это - нормально. Надо понимать, что WPS это не часть системы, а предлагаемая удобная, с массой достоинств оболочка, от которой ты можешь отказаться. Но сама IBM ей и ее возможностями пользуется. Когда может возникнуть задача написать/заказать программу для WPS? Простой пример - ты хочешь, чтобы в твой фолдер на десктопе никто не мог заглянуть, кроме тебя - значит тебе нужен фолдер с парольным открытием. Это легко реализуется средствами программирования для WPS, наследованием существующего объекта 'Фолдер'. (Подобных примеров можно привести сколько угодно, и критика их целесообразности, или, например, криптостойкости или глюковатости, как в ftp-фолдере - не важна. Можно сделать и без ошибок). SOMObject *-- WPObject *-- WPFileSystem *-- WPFolder *-- WSFOLDER Какие программы имеет смысл разрабатывать на базе модели SOM? Какова область применения этой модели? SOM - это технология формирования библиотек и доступа к ним, поэтому писать или не писать в данной технологии зависит от того:
По поводу области применения - это технология могучих, на всю жизнь ориентированных программных продуктов. IBM обслуживает гигантское разнообразие пользователей. В моем случае я воспользовался возможностями WPS, чтобы интегрировать части своего продукта в привычную пользовательскую среду. В результате, эти части (классы) не отличаются от системных по виду и методам работы. Какую пользу несет SOM обычным пользователям? Все равно прикладную программу они не будут собирать из модулей. Если под обычным пользователем понимается человек, купивший компьютер себе домой, то никакой пользы он не получит. Если речь идет о корпоративном клиенте, то ситуация другая. При необходимости интегрировать в его среду новые современные возможности, ему не нужно будет мигрировать на новую операционку и переписывать программный продукт - все изменения доработают и встроят в существующий продукт. Политика бимеров (ibm), предлагающих пересесть на Windows, т.е. сделать все в точности наоборот моим словам, объясняется примитивным маркетингом и структурой рынка - здравого смысла, кроме желания сшибить 'бабки' в этом нет. Но и рассчитан этот ход на мелкоту. Толстый клиент получает то, что ему нужно именно интеграцией. Есть ли удачные примеры использования SOM? Есть. Вот некоторые из них:
Можно поподробнее, что такое XObject? XObject - это саморедактируемый и самопечатающийся файл настроек чего угодно. Скачать XObject.rar Мне надо было иметь механизм работы с объектами настроек тренажеров с помощью 'мышевождения' - мне сделали объект WPS, который обладает нужными свойствами. Подробности - в журнале RDM/2. Как можно решать твою задачу обычным методом? Насколько решение задачи упростилось от использования SOM? Во-первых, разработкой XObject занимался Greg. По моему заданию он разработал и реализовал XObject, предварительно 'переварив' необходимую документацию. Если бы он этого не сделал, то по специфике задачи я должен был бы написать какой-то шелл к какой-то убогой базе оборудования, как-то склеивать объекты этой базы в описание моделей и каждый раз исправлять и переписывать новый код, при появлении нового объекта моделирования или новой модели. И много прочих недостатков. Хочу написать программу с использованием SOM. С чего начать, где какие документы нужно скачать? Toolkit от IBM имеет как User Guide, так и Programming Reference для использования технологии SOM и работы с WPS. Там же, в каталоге Samples достаточно примеров, чтобы освоить технологию на практике. Наиболее простые примеры: На начало января 2002-го года, известно, что фирма Serenity Systems занимается расширением и обновлением объектов WPS. Как ты считаешь, какие классы имело бы смысл создать, Что могут противопоставить (в хорошем смысле :) ) этому отечественные разработчики? Ну, я-то считаю, что XObject, возможно доработанный (но не знаю кем), мог бы быть полезен. (Но этот класс уже существует, к тому же, народ не проявил особого энтузиазма по его оценке. :\ ) Я считаю, что козырем для Serenity Systems могло бы быть встраивание в WPS своих наработок (а их не мало) по IP-телефонии и VoIP. Тогда eComStation стала бы системой, готовой для корпоративного клиента. Я как-то не думал, каких WPS объектов мне еще не хватает. Есть объекты, которые можно было бы переписать: например, сетевые папки (они очень грубо написаны и могут залочить WPS, хотя это результат именно тупого программирования, а не проблемы API). Наступает 2002-ой год. Нужно ли рекламировать eComStation как ОС, поддерживающую SOM модель? Рекламировать - запросто. (Еще можно вспомнить про DSOM - distributed SOM). Есть и большие проекты, и к CORBA близко. И хотя IBM разворачивает всех на Java, нативные решения всегда будут эффективнее. Кроме того, в рамках корпоративной модели не так легко меняют старую технику - это сотни миллионов, а SOM позволяет распределять нагрузку между компьютерами. Java бимерам нужна только потому, что они девелоперы - сделано раз, работает везде. Это удобно им, но не пользователям со сложившейся инфраструктурой, ресурсами и задачами. Писать новое - иногда просто не нужно - все зависит от места приложения - если твой унитаз чистый и целый, то что тебе даст его замена? На вопросы отвечал: Joseph Shrago, http://www.fcn.ru/~joseph Вопросы задавал: Eugene Gorbunoff
Редактор: Marat Utyaganoff
Комментарии:
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
(C) OS2.GURU 2001-2021