Использование SID для разработки и/или улучшения
Когда предприятие приступает к улучшению существующего приложения или к разработке нового, использование структуры SID Framework, ее моделей и приложений открывает большие возможности для быстрого старта. Из прочих преимуществ можно отметить использование де-факто стандартных для данной отрасли структуры, модели и соответствующего словаря данных. Подобное использование SID позволяет сократить затраты на обеспечение функциональной совместимости при стыковке/интеграции с другими приложениями, построенными с учетом данной модели.
В каждом конкретном проекте не требуется полного использования всей модели SID, ко, в то же время, модель должна применяться как унифицированная платформа для реализации всех проектов в компании (подробнее об этом далее в главе). Первым шагом в определении границ использования SID в проекте служит анализ доменов структуры SID Framework. Домены структуры SID Framework представлены на рис. 3.23.
Структура SID делится на несколько доменов, соответствующих разным составляющим бизнеса предприятия. Домен Общие бизнес-сущности содержит категории информации, общие для всех доменов.
<xs:element - -> “<r="CreateParty">
<xs:complexType>
<xs:sequence>
<xs:element i ="Party" ="AppOpsCm:CreateParty"/> </xs:sequence>
</xs:compiexType>
</xs:element>
<xs:compiexType t-m - ="CreateParty">
<xs: complexCcnter. t>
<xs:restriction : - ="AppSTDBusCm:Party">
<xs:sequence>
<xo : ocqucr. cc>
<xs:eiement in ="partyld" ypi ="xs:string"
<xs : element :. лп.- "validFor" tyn* "SIDBusCm:TimePeriod"
r. 1 . лr "fa 1 se"/>
<xs:e. Iement ■ arr. ="LanguageAbilіty" ype="AppOpsCm:Crea tePartyLanguageAbility" riii_able "false" ~axOcc-.rs "unbounded"/>
</xs:sequencer <xs:sequence>
<xs:element :.ame="ApplicationSpecificExtensions///>
</xs : sequence>
</xs:sequence>
</xs:restriction>
</xs: compiexCor. tent >
</xs:complexType>
<xs:compiexType ="CreatePar tyLar-guageAb 11 і ty">
<xs:complexContent>
<xs : restriction tv. -■ "AppSIDBusCm: LanguageAbility">
<xs :sequer. ce>
<xs:sequence>
<xs:element. r.ir "readir. gProiiciency" tyr - "xs: string"
="true" і riOr< л ;="0"/>
-rr ="writingProficiency" L у ="xs: str ing"
■ rr ="speakingProficiency" * y; ="xs:string" rr. "listeningProficiency'' "xs:
<xs:element un Language" /[ ="xs:str ing"
ie="true"/>
</xs:sequence>
<xs:sequence>
<xs : element arr. ="ApplicationSpecificExtensions"
г. іі1ао1е = "true" ir. inOccurs - "0"/>
</xs:sequence>
</xs:sequence>
</xs :restnctior.>
</xs: compiexCor. tent>
</xs:compiexType>
Рис. 3.22. Полезная нагрузка сообщения, с использованием расширений SID XSD для конкретного приложения
Следующий этап заключается в идентификации содержания доменов, включаемых в данный проект. Каждый домен состоит из набора агрегированных бизнес-сущностей (ABE). АВЕ — это набор взаимосвязанных сущностей, таких как Customer (Клиент), CustomerAccount (Счет клиента), CustomerAccountContact (Контакт со счетом клиента) и т. п., которые образуют АВЕ клиента (Client АВЕ) в пределах домена Клиент (Customer). Далее рамки проекта уточняются путем включения в него соответствующих АВЕ.
Домены бизнес-ракурса
Описание доменов и ABE SID можно найти в документе GB922 SID Concepts and Principles (Концепции и принципы SID). Полная структура доменов и ABE SID Framework представлена на рис. 3.24.
Рынок/Продажи
Рыночная стратегия и планирование
Рис. 3.24. Домены и АВЕ структуры SID Framework
Рис. 3.26. Расширение SID
Расширения добавляются в новый пакет для того, чтобы обеспечить совместимость с будущими базовыми версиями агрегированной бизнес-сущности Клиент. В противном случае при обновлении модели для включения в нее новой версии АВЕ Клиент, расширения, находящиеся в старой версии (не в отдельном пакете), будут удалены.