от Станимир Иванов(6-07-2004)

рейтинг (61)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Предисловие
Написването тази статия бе породено от желанието ми да вдъхна увереност на колегите разработващи обществени проекти на базата на Линукс ОС.

Съвременникът ни е свикнал да си представя Линукс в ролята на Интернет сървър – черна кутия стояща в задния офис, в центъра на пентаграм и обградена с огнени стени. Донякъде това е така – около 60% от Интернет сървърите в света са базирани на ГНУ/Линукс, докато при десктоп системите процентът е някъде под 5.
Тук ще ви разкажа, как можем да ползваме 100% Линукс базирани информационни системи – както в сървърната част така и в потребителските машини.

Конкретният проект, в който имах честа и удоволствието да бъда ръководител бе хотелска информационно-мултимедийна система. Изискванията към системата бяха доста комплексни и строги, а времето за развойна дейност меко казано крайно недостатъчно.
Накратко заданието гласеше:
Изграждане на информационно-мултимедийна система за четири звезден хотел.
Функционални изисквания към системата:

  • Комютърен хардуер свързан към телевизионните приемници в стаите на хотела (130 на брой)
  • Лесно и удобно управление чрез дистанционния трансмитер на телевизора
  • Графично оформена система от менюта, даващи достъп до широк спектър от услуги и информация на хотелският комплекс, например:
  • Ресторанти и барове – меню на заведението, атрактивни снимки и т.н
  • Рум сервиз – видове услуги, начин за ползване
  • Спортно-рехабилитационнен център – описание, видове услуги
  • Туристически справочник – карти, снимки, забележителности
  • Конгресен център – програма и събития
  • Проверка за текущата сметка на стаята – от консумации, от нощувки и т.н.
  • Други – рент-а-кар, плажни услуги, шопинг, туристически екскурзии и групови атракции на хотела, полезна информация, валутни курсове, прогноза за времето и т.н.
  • Телевизорът в стаята трябваше да може да получава групови и/или индивидуални съобщения от типа: „ г-н Джоунс, госпожица Наташа Ви търси на рецепцията“ или „Моля всички от групата на тур оператора Некерман, пристигнали на 01.07 да се явят в 14:00 пред рецепцията на хотела“. Системата би трябвало да включи автоматично телевизора (ако е изключен) или да превключи от телевизионен на видео канал за да се изведе съобщението.
    Мултимедийната част от системата беше услугата „видео под наем“. Чрез комбинираното дистанционното управление на телевизора, наемателят на стаята трябваше да може да избера филми от списък сортиран по жанр ( екшън, трилър, детски и т.н) и да го управлява лесно и удобно – функции стоп, пауза, превъртане напред и назад.
    Това разбира се е една малка част от услугите, които един хотелски комплекс може да предложи, затова системата трябваше да бъде лесно разширяема.

    По ирония на съдбата, като малък бях чел научно-фантастичният роман на Саймък (любим писател) - „Градът“. В книгата се разказваше за домовете на бъдещето – всеки оборудван с интелигентен терминал и предлагащи сходен комплекс от услуги. Единствената разлика беше че „онези“ терминали се управляваха с гласови команди, а този с инфрачервено дистанционно.
    Мащабът в действителност също е умален – вместо град тук имах хотел със 130 апартамента. Оставаше да се свържа с автора да го помоля за по-подробна техническата документация :)

    Оказа се всъщност, че българска фирма вече от 4 месеца работи по този проект. Показаха ми докъде са стигнали – Visual Basic и хакнат Windows'98, заедно наистина правят чудеса. Вече имаха потребителският шел и сложна външна електроника приемаща инфрачервените команди. Без съмнение след 1-2 месеца щяха да имат готова система. Спираха ги само високите екплоатационни разходи на подобна реализация. 130 PC-та с Windows'98 и твърди дискове са доста нестабилна комбинация.
    Предполагах, че разчитаха 3-4 висококвалифицирани М$ специалисти на щат като техническа поддръжка в хотела, да се справят с „забиващите“ станции. Това решение заедно с лицензите за 130 машини и повишените изисквания към хардуера просто изстрелваше цената на проекта им до небесата.
    Опитах се да бъда търпелив, обяснявах им за Линукс, за свободният софтуер, за устойчиви платформи, за бездисковите Х терминали и т.н. Уви, Линукс тук бе Тера Инкогнита и погрешно се възприемаше като система за евтини рутери. Явно говорехме на различни езици.
    Уредиха ми среща с главният Инвеститор на хотелският комплекс (по това време хотелът още се строеше). Оказа се разбран човек. Разговорът трая 5 минути:
    И: „- Изграждали ли сте подобни хотелски системи?“
    Аз: „- Не съвсем,...но имам наблюдения за сходни проекти... премълчах откъде идват тези 'наблюдения', Саймък беше велик писател, обаче четенето на научна фантастастика надали се счита за бизнес опит. Нахвърлих набързо основните преимущества на проекта изпълнен с Линукс – 1/2 от цената в сравнение с М$ решение, надеждност, ниски експлоатационни разходи, лесен за разширение, използва се свободен софтуер и т.н.
    Описах личният си опит във Великобритания при мигриране на десктоп станции в английски колежи към Линукс. ( В Западният свят, за разлика от Източна Европа, Линукс е популярна платформа както за сървъри така и за десктоп станции).
    Плахо предложих да „отскочим“ до Лондон за уикенда, където можех да демонстрирам работата на бездискови Х терминала в местен колеж.
    Инвеститора не беше вчерашен..“ - Англия си е Англия, там всичко е възможно, тук е България... можете ли за седмица да демонстрирате основните функции на заданието по вашият начин?“.
    Прехапах устни...от една страна това беше шанс да докажа технологичното преимущество на ГНУ/Линукс, не всеки ден ти предлагат такъв мащабен проект, но от друга страна да наваксам за седмица това, което други правят с Мicrosoft платформа за 4 месеца си е живо изпитание.
    За половин секунда претеглих шансовете си – от една страна сложих ГНУ/Линукс и опита си на „Linux power user“ (на толкова оценявах системно-администраторските си способности) , от друга страна сложих комплексността на проекта и малкото време за демонстрация на основните функции. Разумът каза „да“, а сърцето „не“.
    В крайна сметка волевите моторни функции в човешкото тяло се управляват от разума – устата ми се отвори и се чух да казвам „- Да, разбира се, ще Ви демонстрирам колко по-елегантно решение може да се направи с Линукс“. Стиснахме ръцете с Инвеститора за довиждане и се уговорихме да се видим пак след седмица.
    Без да губя време, съставих списък на нещата от които имах нужда. Кратко описание на системата:
  • 130 бездискови X терминала (thin clients) - 533MHz
  • Линукс сървър – P4 2.8Ghz
  • Slackware 9.1 OS, LTSP с няколко хака (извинявай Джим ;) )
  • LIRC – инфраред контролът с някои оригинални хардуерни решения
  • FVWM(ние сме бързи и леки!)- в ролята на десктоп шел
  • Mplayer 1.0pre4 – най-доброто, което 500MHz могат да си позволят

  • Първата версия (много пре-алфа) бе изцяло реализирана с FVWM. Системата от менюта е силата на този лек и бърз десктоп менажер. Запоих набързо схемата която предлагаха в сайта на LIRC и вече имах инфраред контрол. Проектът LTSP ми помогна бързо да пусна бездисков Х терминал.
    Поканихме Инвеститора на демонстрация.
    Щраках гордо с дистанционното – „- Ето ви падащо меню със списък от услугите на хотела, а това е списъкът с филми разпределени по жанрове, оттук пускаме филма, а с тези бутони го управляваме....“.
    Демонстрацията мина успешно, бездисковата станцията послушно зареди системата от сървър, стартира X, FVWM пое управлението и нареди красиво оформени антиалиасинг, полупрозрачни менюта.
    Инвеститора се впечатли, убедихме го, че това което вижда с една станция лесно се умножава по 130 (да е жив и здрав DHCP сървъра).
    Ние също останахме впечатлени от Инвеститора - “ - Считайте, че проекта е ваш. Имате 20 дни да го завършите до приемлив за използване вид!“.
    Той явно бе от хората изповядващи максимата – „Не вярвай в чудеса, използвай ги!“
    Невъзможно беше да сваря за толкова кратко време, ако тръгнех да програмирам GTK форми със съдържание.
    Нужен бе радикален подход.
    Тогава се досетих – по същество една такава сложна информационна система, представлява просто един малък уеб сайт, а потребителя (госта на хотела), ще сърфира през него с дистанционното управление на телевизора. Достатъчно много се знае за браузърите и HTML, така че разработката на един вътрешен хотелски уеб сайт не би трябвало да представлява проблем.
    Маскирах Mozilla Firefox като десктоп шел (този трик го научих от Били Всекизнаекой) и работата тръгна.
    Разделихме се на два тима – 1-ви тим изглажда X средата, автоматиката, пише скриптове до полуда и стабилизира системата, 2-рият тим...ами втория тим просто си правеше малък уеб сайт...лека и приятна работа :)

    Послеслов
    Хотел Марина Палас е четири звезден хотел, с обща разгърната площ 7000 кв. м.,разположен е непосредствено до старинната част на гр. Несебър. Красивата архиктектура и интериор на хотела както и живописната гледка, която се разкрива откъм южната му част го правят привлекателно място за отдих и летуване.
    Но Марина Палас не е само една луксозна сграда.
    Оригинални и модерни информационни технологии рязко го изпъкват сред хилядите хотели в страната.
    Една от тях е информационно-мултимедийната система на хотела, изцяло базирана на ГНУ/Линукс ОС.

    01.07.04, Бургас
    Станимир Иванов stan@fsa-bg.org


    << T2 Project има нужда от помощ | Персонален pure-ftpd с виртуални потребители и криптиране >>