Вчимо говорити по-російськи: AllFusion Component Modeler (раніше Paradigm Plus), CASE-засоби (моделювання), Програмування, статті

Програмний продукт компанії Computer Associates AllFusion Component Modeler (раніше Paradigm Plus) CASE-засіб для проектування, візуалізації та підтримки якісних інформаційних систем. Забезпечуючи розширену підтримку спільного проектування і багаторазового використання компонентів моделі, Component Modeler істотно збільшує продуктивність команди розробників. Component Modeler спрощує створення стратегічно важливих, багатоланкових додатків масштабу підприємства, здатних адаптуватися до мінливих потреб бізнесу.


Поточною є версія продукту – 4.1, service pack 1. В даний момент часу компанією Computer Associates проводиться програма бета-тестування нової версії продукту – AllFusion Component Modeler 5.0.


Можна досить довго говорити про достоїнства даного продукту, серед яких:



проте в даній статті мова піде про інше – про налаштування AllFusion Component Modeler для коректної підтримки російської мови.


Для зберігання інформації про моделі AllFusion Component Modeler використовує “кошти” MSDE (MSDE входить в інсталяційний пакет AllFusion Component Modeler). MSDE (Desktop Engine) – редакція MS SQL Server 2000, В яку включені тільки механізми обробки користувальницьких запитів і не включені графічні інструменти адміністрування і багато інші функціональні можливості повнофункціональних редакцій MS SQL Server 2000.


Однак для реалізації технології описаної в даній статті необхідно використання повнофункціональної редакції MS SQL Server 2000 (так як редакція MSDE не володіє необхідними функціональними можливостями).


Отже, при установці AllFusion Component Modeler потрібна наявність іменованої інсталяції MS SQL 2000 імя_сервераACM (в разі відсутності такої програма установки пропонує встановити MSDE). В процесі установки в іменованої інсталяції MS SQL 2000 імя_сервераACM створюється база даних ACM. Однак на даному етапі відбувається копіювання файлів AllFusionCM.mdf і AllFusionCM.log, а не створення цих файлів безпосередньо в момент установки і подальшого запуску скрипта, що формує необхідні таблиці, збережені процедури і набір даних. В результаті копіювання ми отримуємо базу даних ACM, що підтримує тільки латиницю, тобто параметр бази даних Collation name має значення SQL_Latin1_General_CP1_CI_AS.


Для повноцінної підтримки російської мови необхідно провести наступні кроки:


1) встановити іменовану інсталяцію MS SQL Server 2000 імя_сервераACM з підтримкою російської мови (Server Collation – Cyrillic_General_CI_AS)
2) встановити AllFusion Component Modeler з базою даних ACM
3) за допомогою SQL Server Enterprise Manager в базу даних ACM внести такі зміни:


а) в таблиці RTblRelships змінено тип даних для колонки DstNameLong з text на ntext
б) в таблиці RTblSumInfo змінено тип даних для колонки Comments з text на ntext


4) виконати генерацію SQL-скрипта по всіх об’єктах баз ACM
5) далі за допомогою будь-якого текстового редактора відкрити отриманий скрипт і видалити всі рядки COLLATE SQL_Latin1_General_CP1_CI_AS. Тобто якщо в скрипті була присутня команда для створення таблиці наступного змісту:


CREATE TABLE [dbo].[RTblRelships] (
[OrgID] [binary] (8) NOT NULL ,
[Z_OrgBrID_Z] [int] NOT NULL ,
[Z_OrgVS_Z] [int] NOT NULL ,
[Z_OrgVE_Z] [int] NOT NULL ,
[Z_OrgLClock_Z] [int] NULL ,
[DstID] [binary] (8) NOT NULL ,
[Z_DstBrID_Z] [int] NOT NULL ,
[Z_DstVS_Z] [int] NOT NULL ,
[Z_DstVE_Z] [int] NOT NULL ,
[Z_DstLClock_Z] [int] NULL ,
[OrgTypeID] [binary] (8) NOT NULL ,
[RelTypeID] [binary] (8) NOT NULL ,
[DstTypeID] [binary] (8) NOT NULL ,
[PrevDstID] [binary] (8) NULL ,
[DstName] [varchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DstNameLong] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Z_RelFlags_Z] [smallint] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Після внесення змін ця ж команда повинна виглядати так:
CREATE TABLE [dbo].[RTblRelships] (
[OrgID] [binary] (8) NOT NULL ,
[Z_OrgBrID_Z] [int] NOT NULL ,
[Z_OrgVS_Z] [int] NOT NULL ,
[Z_OrgVE_Z] [int] NOT NULL ,
[Z_OrgLClock_Z] [int] NULL ,
[DstID] [binary] (8) NOT NULL ,
[Z_DstBrID_Z] [int] NOT NULL ,
[Z_DstVS_Z] [int] NOT NULL ,
[Z_DstVE_Z] [int] NOT NULL ,
[Z_DstLClock_Z] [int] NULL ,
[OrgTypeID] [binary] (8) NOT NULL ,
[RelTypeID] [binary] (8) NOT NULL ,
[DstTypeID] [binary] (8) NOT NULL ,
[PrevDstID] [binary] (8) NULL ,
[DstName] [varchar] (200) NULL ,
[DstNameLong] [ntext] NULL ,
[Z_RelFlags_Z] [smallint] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


тобто фактично видаляється не вся рядок з COLLATE SQL_Latin1_General_CP1_CI_AS, а тільки входження даних символів в рядок.


6) створити базу даних з ім’ям ACM_RUS і параметром Collation Name рівним Cyrillic_General_CI_AS (можливий будь-який інший варіант, якщо буде потрібна підтримка іншої мови).
7) за допомогою SQL Query Analyzer в базу даних ACM_RUS завантажити отриманий раніше скрипт без COLLATE SQL_Latin1_General_CP1_CI_AS
8) за допомогою MS SQL Server Enterprise Manager виконати експорт даних з таблиць бази ACM в таблиці нової бази ACM_RUS
9) за допомогою програми Repository Manager входить до складу AllFusion Component Modeler виконати настройку зв’язку з новим репозиторием
10) при запуску AllFusion Component Modeler необхідно у вікні вибору Workspace, натиснувши на кнопку “Select Repository …”, переключиться на новий репозиторій і вказати новий робочий каталог для зберігання робочих моделей.


Після цих дій можна використовувати численні функціональні можливості AllFusion Component Modeler для побудови інформаційних систем використовуючи як латинські, так російські символи в своїх моделях.

Дане технічне рішення знайдено викладачем навчально-консультаційного центру компанії Interface Ltd Матвєєвим Денисом.


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*