Знакомство с Oracle Siebel CRM

Эта статья пишется для того, чтобы дать представление о довольно специфическом программном комплексе, который используется во многих крупных предприятиях по всему миру, но при этом остается малоизвестным широкому кругу IT-специалистов, даже в сравнении с подобными ему продуктами, как, например, SAP.
Доступной литературы по ней довольно немного, или она настолька туманна и запутанна, что человеку «с улицы» может быть нелегко понять, что это вообще такое. Здесь мы попробуем прояснить этот вопрос.

Весь этот комплекс я буду называть просто Siebel, официально он называется Oracle Siebel CRM. Название Siebel представляет собой фамилию основателя компании (Thomas Siebel). В 2006 году компания была продана корпорации Oracle.

Siebel в первую очередь представляет собой систему управления взаимоотношениями с клиентами (Customer Relationship Manаgement — CRM). Эта система может быть установлена во множестве уже готовых «из коробки» конфигураций, как-то Siebel Call Center, Siebel Finance, Siebel Loyalty (с движком для системы программ лояльности клиентов), Siebel Hospitality (для гостиничного бизнеса) и многих других. Тем не менее, потребители продуктов Siebel (обычно это достаточно крупные компании, работающие по крайней мере с десятками тысяч клиентов), как правило, требуют «заточки» системы под нужды не только отрасли, но и конкретного предприятия. Поэтому создатели системы старались обеспечить максимальную гибкость настройки и разработки.

С точки зрения пользователя (сотрудника компании-заказчика) Siebel, как декларируется, представляет собой практически zero-footprint application, т.е для работы не требуется установка какого-то специального клиента. Работа с Siebel осуществляется просто в окне Internet Explorer. На самом деле при первом обращении к серверу устанавливаются соответствующие ActiveX компоненты, обеспечивающие действия с элементами управления.
К сожалению, на данный момент другие броузеры (кроме IE) не поддерживаются. Как легко понять, это привязывает пользователей к Windows (что касается серверов Siebel, то они могут работать как под Windows, так и под Linux, а также Solaris, HP-UX и т.д.).
Графический интерфейс пользователя выглядит примерно так:image

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

Основной объект GUI Siebel — так называемый апплет. Это часть экрана, отображающая таблицу (list-applet) или данные из одной записи в виде формы (form-applet). Апплет обычно содержит меню и элементы управления в виде кнопок на экране. С их помощью пользователь добавляет или удаляет записи, совершает запросы (query) и другие действия, например, запуск какого-либо бизнес-процесса. Как уже говорилось, Siebel представляет огромные возможности для кастомизации, ограниченные разве что фантазией заказчика/разработчика. На картинке мы можем видеть один лист-апплет и один форм-апплет.
image

Здесь мы не можем вдаваться в тонкости работы с GUI, лучше опишем, как все это реализовано технически.

Как уже стало понятно, Siebel в первом приближении представляет собой некую графическую надстройку над БД, работающую, как веб-приложение. Базой может быть не только Oracle, но и, например, MS SQL Server или что-то еще. При установке системы автоматически создается огромное количество таблиц — создатели старались включить в комплект все, что кому-то может понадобиться. Тем не менее, всегда можно добавить и кастомные таблицы и колонки. Подавляющая часть информации о конфигурации самого Siebel (списки элементов GUI, кастомные скрипты, взаимосвязи между объектами) также хранится в той же базе, причем там может находиться множество репозиториев (версий конфигурации Siebel) сразу. Тем не менее, та конфигурация, которая реально используется сервером в данный момент, должна быть скомпилирована в специальный файл с расширением SRF. Без этого файла сервер работать не может.

Серверы Siebel объединяются в логические группировки (Enterprises). Работой энтерпрайза управляет служба под названием Siebel Gateway Name Server. К этому серверу обращается веб-сервер (Оracle, IIS..), снабженный специальными «расширениями» (SWSE — Siebel Web Server Extensions). Таковы основные элементы среды Siebel.

Основной инструмент разработчика Siebel — программа под названием Siebel Tools, которая и осуществляет компиляцию.
image

image

В простых случаях разработка осуществляется декларативно, посредством «перетаскивания мышкой» ЭУ GUI на форму и заполнения соответствующих полей данными, наподобие того, как создается приложение Windows Forms в Visual Studio. Для программирования более сложного поведения системы обычно используется либо встроенный язык (фактически это JScript или VBScript, на выбор разработчика), либо графический Workflow Designer.
image
Основной инструмент отладки — Siebel Dedicated Web Client (на жаргоне его называют «толстым клиентом», в отличие от «тонкого клиента», с которым работают пользователи работающей системы). Несмотря на название, «толстый клиент» представляет собой некий мини-сервер Siebel, запускаемый, как и Siebel Tools, на машине разработчика. Обычно работа разработчика представляет собой последовательность следующих действий:

  • Запускается Siebel Tools, который соединяется с БД среды разработки, в ней выбирается нужный репозиторий Siebel
  • Изменяемый объект или набор объектов (проект) копируется в локальную базу разработчика, а на серверной БД защищается от изменений другими разработчиками (check-out)
  • На машине разработчика совершается работа с этими объектами, после чего они компилируются в локальный SRF-файл
  • Запускается Dedicated Web Client, соединенный с этим SRF-файлом
  • Если тестирование в «толстом клиенте» проходит успешно, измененные объекты записываются в серверную базу, после чего защита от изменений снимается (check-in)
  • В какой-то момент репозиторий компилируется в SRF сервера, после чего изменения становятся доступны для пользователей

Конечно, приведенное описание Siebel довольно грубо и ни в коей мере не претендует на полноту — мы рассказали лишь о самых общих вещах, не касаясь пока ни модели данных Siebel, ни интеграций с другими системами, ни средств аналитики, ни даже основных возможностей, предоставляемых Siebel пользователю.
Поделиться публикацией
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 14
    0
    По моему опыту, Siebel tools — самое мощное средство разработки для CRM систем.
      0
      мы рассказали лишь о самых общих вещах, не касаясь пока ни модели данных Siebel, ни интеграций с другими системами, ни средств аналитики, ни даже основных возможностей ни обещаний продолжить цикл статей, раскрывающих эти возможности… тогда в чем смысл статьи? В том чтобы люди 34 раза прочитали слово Siebel и посмотрели стремные картинки?
        0
        Во-первых, получение инвайта уже несет в себе определенный смысл )
        Во-вторых, зачем давать обещания, которые пришлось бы впоследствии исполнять вне зависимости от того, интересно это кому-то или нет?
        Если интересно, то конечно же я с удовольствием продолжу.
          –1
          Будет здорово, если напишешь о нововведениях последних версий.
            0
            К сожалению, пока что я не готов, так как еще мало их использовал. Из интересных нововведений, которые имело бы смысл описать, сейчас приходят в голову только Tasks.
            0
            Если это будут более-менее объективные статьи (плюсы, минусы, сравнения с конкурентами и т.п.) а не очередные хвалебные оды Оракловым продуктам, то я с удовольствием почитаю.
        • НЛО прилетело и опубликовало эту надпись здесь
            +1
            Сделал почетче
            • НЛО прилетело и опубликовало эту надпись здесь
            +2
            Было бы интересно почитать, как и с чем интегрируется система.
            Разработчик, я так понимаю, для нормального функционирования всегда должен быть в штате, так?
              +1
              Намек понял ) про интеграцию постараюсь написать.
              По поводу включения разработчиков в штат. Надо сказать, что, как показывает практика, проекты существуют годами и занимается этим далеко не один человек )
              Но обычно все же команда разработчиков привлекается извне.
              Зато в штате имеет смысл держать команду поддержки, которая занимается вопросами администрирования — следит за доступностью серверов, добавляет пользователей и т.п. — то есть всем, что не требует расширения функциональности. Хотя и это тоже можно поручить аутсорсу.
              0
              Прошло 5 лет… продолжений так и нет.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое