Программный продукт Lotus Notes/Domino является платформой для автоматизации совместной деятельности рабочих групп. Lotus Domino – это сервер приложений, а Lotus Notes – клиент для выполнения бизнес-приложений, работы с информацией и документами. Разработчиком является компания IBM Lotus Software, входящая в состав IBM Software Group.
На семинаре был представлен доклад ведущего специалиста «Поликом Про» Сергея Масалыкина, который начал своё выступление с истории развития продукта Lotus Notes. В 1989 году была выпущена первая версия Lotus Notes, которая представляла решение для групповой работы, включающее почту с возможностью автоматизации. Продукт оказался востребованным на рынке, компания IBM продала несколько тысяч копий и продолжила его развитие. Далее каждые 2-3 года выходила новая версия продукта. Особое внимание докладчик уделил версиям, вышедшим после появления доступа в Интернет, так как в них были введены именно те зачатки веб-обслуживания и веб-интерфейсов, которые сейчас позволяют серверу Domino работать как полноценному веб-серверу. Начиная с версии 5.0, вышедшей в 1999 году, клиентская часть Lotus Notes состоит из трёх частей: Notes Client – рабочее место пользователя, Domino Designer – рабочее место разработчика приложений и Domino Administrator – рабочее место системного администратора Lotus Notes. С дальнейшим развитием Интернета постоянно продолжали развиваться и программные продукты. В 2007 году вышла версия 8.0. Данная версия вызвала множество споров, но тем не менее здесь была попытка кардинально улучшить Lotus Notes с точки зрения пользователя. В этой версии впервые появились композитные приложения. Некоторое время спустя была выпущена версия 8.5. «Здесь и начинается xPages. Такое чувство, что была услышана мольба всех веб-разработчиков под Domino, и были добавлены новые инструменты – xPages. Наконец приложения стали приобретать современный вид», – отметил Сергей Масалыкин. Г-н Масалыкин подчеркнул, что речь идёт о версии 8.5.1, значительно отличающейся от v8.5, которая представляла собой скорее «стендовую версию». По последней можно было получить скорее просто представление о технологии, а в v8.5.1 было исправлено 90 % ошибок предыдущей версии. Кстати, как отметил докладчик, уже на подходе находится версия 8.5.2. Выступающий обратил внимание на то, что, хотя возможности для разработки веб-приложений для Domino и появились очень рано, качество предоставляемого разработчикам инструментария для веб-разработки долгое время сильно отставало от мировых стандартов. И только с появлением xPages это качество вышло на современный уровень.
IBM Lotus Notes v8.5
«Сама технология xPages оказалась настолько удачной, что мы получили взрывное количество разработок», – заметил Сергей Масалыкин. Он назвал данную технологию комбинированной, «синтетической». Фундаментом xPages является JSF (Java Server Faces). В xPages введено разделение данных от представления, появились элементы дизайна, в частности Custom Controls (заказные элементы управления), появилась библиотека Dojo. «Технология xPages – это попытка установить баланс между, с одной стороны, простотой разработки и, с другой стороны, тем, чтобы предоставить разработчику при желании возможность расширить, углубить своё приложение именно с точки зрения функциональности», – добавляет Сергей Масалыкин.
Далее докладчик рассказал об инструменте Lotus Domino Designer, без которого немыслима разработка по технологии xPages. Подробно были рассмотрены панели Domino Designer. Database navigator – панель, куда разработчик кладёт все свои базы. Здесь важным дополнением стало то, что разработчик получил возможность упорядочивать базы в этой панели. В Outline navigator представлено дерево всех тех объектов, которые помещаются на страницу xPage. В рабочей области проходит конструирование приложений. Особенностью данного раздела является то, что есть некое визуальное представление, но можно переключиться на другую вкладку, где будет представлен код страницы в виде отдельного файла XML. «То есть xPages не принуждают нас использовать только компоненты xPages, – пояснил Сергей Масалыкин. – Если вам что-то не нравится, можно напрямую вставить html-код, таким образом, можно сохранить деньги, которые были вложены в ранее разработанный код». В палитре элементов управления и данных контроли разбиты на группы и помещаются на страницу xPage при конструировании путём перетаскивания.
IBM Lotus Domino Designer
1. Панель Database navigator
2. Панель Outline navigator
3. Рабочая область
4. Палитры контролей и данных
5. Свойства, события, ошибки, помощь
xPages были основаны на известной модели Model-View-Controller (MVC). Фреймворк для веб-приложений написан на Java. В клиентской части компания IBM впервые в истории Notes предложила клиентскую Javascript-библиотеку, и выбор пал на такой продукт, как Dojo. Остались и старые наработки, такие как каскадные стили, все разрабатываемые элементы сохраняются как XML-файл и др. Что касается опыта дизайнеров, то все разработчики под Domino знают, что такое @-формулы, LotusScript и его классы. Сергей Масалыкин назвал плохой новостью то, что придётся вести разработку на JavaScript и на стороне сервера в тех элементах, которые включают в себя xPages. Но есть и хорошая новость: фирма IBM перенесла практически все @-формулы и Notes-классы в этот JavaScript. Основное неудобство заключается в том, что нужно обращать внимание на регистр букв, отметил докладчик.
В заключении Сергей Масалыкин привёл небольшой пример разработки от настройки рабочего места и создания первой страницы до создания Custom Control и наполнения данными. «Технология xPages позволяет вести разработку красиво, быстро, удобно как для пользователя и администратора, так и для разработчика», – подытожил докладчик. Как отметили организаторы мероприятия, компания «Поликом Про» предоставляет доступ к видеозаписям и всем материалам веб-семинара для желающих.
Подробности
«Поликом Про» – поставщик продуктов, услуг, решений в сфере информационных технологий: от программного обеспечения и оборудования, до разработки и внедрения комплексных проектов. Накопленный опыт, уникальные наработки и методики позволяют выполнять проекты разной степени сложности. Основные направления деятельности: внедрение инфраструктурных, сетевых и прикладных решений, консалтинг, техническая поддержка, поставка лицензионного программного обеспечения.