ПРИКЛАД1: Місія нездійсненна

Після провалу двох проектів ніхто не вірив, що CRM-рішення компанії Pivotal можна перенести на сервер баз даних Oracle — занадто тісної була їхня інтеграція з MS SQL Server. Дволанцюжкова архітектура перших версій таких рішень (тоді їх ще відносили до категорії Sales Force Automation) ґрунтувалася на ланцюжку технологій Microsoft — VC++, DCOM, ODBC, SQL Server 7.5. У систему споконвічно був закладений власний інструментарій швидкої розробки структури даних і логічних об'єктів, пошукових схем і користувацьких запитів, екранних меню, форм, звітів і т.д. На його основі Pivotal розробила трьохланцюжкову архітектуру наступних версій з використанням Internet Explorer, Activex, COM+, OLE DB і SQL Server 2000. Представляючи Windows 2000, Білл Гейтс серед рішень масштабу великих підприємств відзначив і Pivotal eRelationship 2000.

На хвилі популярності CRM продукти компанії Pivotal стали бестселерами. З'явилися дійсно великі замовники, частина яких у якості корпоративного стандарту використовувала СКБД від Oracle і IBM. Тому в Pivotal вирішили поповнити сімейство своїх продуктів. Проект їх переводу на платформу Oracle був переданий на аутсорсинг в Індію, потім в Ірландію, але обидві спроби виявилися невдалими. Розроблювачі не зуміли реалізувати формування SQL-запитів до динамічної бази даних, не впоравшись із непередбачуваністю користувацьких функцій і запитів. Проблемою виявилося й забезпечення повної сумісності функціонала версій Oracle і MS SQL Server. Але після приходу в Pivotal нового керівника відділу розробок, що мав позитивний досвід аутсорсингу в Росії, шанс реалізувати даний проект одержала третя проектна група.

Для зниження ризику проект розбили на фази. Перша з них заключалась в ретельному аналізі ісходних текстів. Проектна група, дослідивши драйвери ODBC і OLEDB, що поставляються Microsoft, Oracle і іншими виробниками, зібрала статистику результатів конструювання динамічних і користувацьких SQL-запитів і протестувала «поведінку» аналогічних SQL-конструкцій при виконанні в MS SQL Server і Oracle. Було сформульовано технічне завдання, на 150 сторінках якого описувалися стратегія перенесення, виявлені відмінності, проблеми й методи їх рішення, давалися фрагменти специфічного програмного коду й SQL- пропозиції в якості прикладів реалізації.

Проблема запитів, що динамічно складаються, була вирішена за рахунок вбудовування в точки виклику драйверів ODBC і OLEDB процедури синтаксичного розбору конструкцій SQL, яка спершу розбирала їх на складові частини, а потім збирала з реструктуризацією, замінами й підстановками тексту запитів для СКБД Oracle. Для кінцевого користувача ці зміни були прозорими, і на обох серверах баз даних система працювала однаково. Єдиним доповненням стали функції адміністрування бази даних — керування логічною й фізичною структурою даних Oracle. Надавані Oracle засоби аутентифікації й розподілу прав доступу адаптували до аналогічних засобів продуктів Pivotal на базі MS SQL Server.

Поряд із проектуванням Oracle-версії був розроблений план тестування з конкретними сценаріями, покликаними «покрити» усі комбінації побудови запитів, що виявлені в ході аналізу. Передбачалося й вільне тестування із залученням фахівців, що працюють над іншими проектами.

У наступній фазі реалізації проекту були організовані навантажувальні й стрес-тести. По їхніх результатах спланували етап оптимізації коду й підвищення продуктивності системи з максимальною адаптацією до можливостей кожної із СКБД.

Нарешті, фінальна фаза укладалася в забезпеченні працездатності рішень на базі Oracle і SQL Server при спільній роботі в розподіленому середовищі.

Тепер за допомогою рішень від компанії Pivotal, великі організації мають можливість розміщати автономні центри обробки CRM-даних у різних офісах, набудовуючи регламент синхронізації такої інформації й підтримуючи сервери баз даних різних виробників. Це дозволяє створювати масштабовані рішення, оптимальні за вартістю володіння, наприклад, при установці в центральному офісі СКБД Oracle, а в територіально-віддалених філіях або просто невеликих підрозділах — автономного сервера MS SQL Server Enterprise Edition. Більше того, мобільні співробітники (вони становлять чималу частину користувачів CRM) можуть працювати з SQL Server Personal Edition, репліцируя підмножину корпоративної бази даних.