<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore"
    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-1HWHN5iFc1KJiC7WdlvipA"
    name="build_object_models,_ZffcIDmiEdy8N6BRpa8ByQ" guid="-1HWHN5iFc1KJiC7WdlvipA"
    authors="Jerome Boyer" changeDate="2008-01-28T21:30:45.875-0800" version="1.0.0">
  <mainDescription>&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span style=&quot;mso-bidi-language: HE&quot;>Depending of the technology used there is different approach to this task. The&#xD;
    domain object model at the enterprise level will represent a complex data model a rule architect does not want to&#xD;
    expose as-is to the rule engine and the rule authoring environment. Navigating a complex graph of objects will bring&#xD;
    unnecessary complexity for the rule writer. So we recommend to always try to use a view of the enterprise domain object&#xD;
    model. For example in Financial Industry the business domain&amp;nbsp;data model defined in MISMO (&lt;a&#xD;    
    href=&quot;http://www.mismo.org/&quot;    >&lt;font color=&quot;#005DA0&quot;>www.mismo.org&lt;/font>&lt;/a>), brings a lot of value for an enterprise&#xD;
    willing to define a common ontology for their data models. But exposing the MISMO model as it is within a BRMS rule&#xD;
    authoring IDE will put too much complexity. As the Architect is responsible to design decision service reusable cross&#xD;
    application, it may make sense to consider view of this object model in the context of the service.&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span style=&quot;mso-bidi-language: HE&quot;>For the application the view can be defined in two entities:&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;ul style=&quot;MARGIN-TOP: 0in&quot; type=&quot;disc&quot;>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; mso-list: l0 level1 lfo1; tab-stops: list .5in&quot;>&#xD;
        &lt;span style=&quot;mso-bidi-language: HE&quot;>the Domain Object Model using java or xml schema as the underling&#xD;
        technology&lt;/span>&#xD;
    &lt;/li>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; mso-list: l0 level1 lfo1; tab-stops: list .5in&quot;>&#xD;
        &lt;span style=&quot;mso-bidi-language: HE&quot;>or out of the box object view, like ILOG-Business Object Model element. The BOM&#xD;
        is mandatory to write rule on, but it&amp;nbsp;can be created from an existing java model or XSD or created&#xD;
        top-down.&lt;/span>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span style=&quot;mso-bidi-language: HE&quot;>If the model does not exist in the application, or at the enterprise level we still&#xD;
    recommend to develop the domain model, using an UML designer and code generation tools.&lt;/span>&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span style=&quot;mso-bidi-font-weight: bold; mso-bidi-font-style: italic&quot;>It is also important to consider designing a java&#xD;
    model or XSD schema which is closed to the business concepts used by the rule but built as a view of the domain object&#xD;
    model (We called that the Rule Business Object Pattern or RBO): in the example of standard object model like MISMO or&#xD;
    ACORD, it makes sense to do not expose all the class definition, attributes and enumerated to avoid exposing a complex&#xD;
    rule language to the business user. This view will be instantiated by the application business logic in the context of&#xD;
    preparing the data for the rule services&lt;/span>&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    When designing a Domain Object model one of the challenges is to determine what should be an entity and what should be&#xD;
    an attribute of the entity.&lt;span style=&quot;mso-spacerun: yes&quot;>&amp;nbsp;&lt;/span> This is why knowledge engineers like the&#xD;
    Enterprise Ontology as a start point for developing these concepts.&lt;span style=&quot;mso-spacerun: yes&quot;>&amp;nbsp;&lt;/span> The&#xD;
    Enterprise Ontology describes the major entities and concepts that apply to all enterprises and it provides a very good&#xD;
    starting point for the establishment of static object models and data models.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    The difference between a class and an entity type is that classes have both data and behaviors whereas entity types&#xD;
    just have data. A normal entity depicts one concept.&#xD;
&lt;/p>&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    Use multiple different UML class diagram to represent entities and their relations. Then enhance them to have a&#xD;
    complete class diagram from which you should be able to generate java code or XSD.&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    Capture Meta data about each entity: business name, business definition, super type or subtype, number of occurrences,&#xD;
    primary key, and alternate keys.&#xD;
&lt;/p>&lt;br class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot; />&#xD;
&lt;br />&#xD;
&lt;p class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in&quot;>&#xD;
    &lt;span style=&quot;mso-bidi-language: HE&quot;>It is possible to consider designing a Domain Model using Interface, and then apply&#xD;
    different type of implementation according to different execution pattern or platforms. For example we can design&#xD;
    a;&lt;/span>&#xD;
&lt;/p>&#xD;
&lt;ul style=&quot;MARGIN-TOP: 0in&quot; type=&quot;disc&quot;>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in&quot;>&#xD;
        &lt;a id=&quot;1030902&quot; name=&quot;1030902&quot;>&lt;span style=&quot;mso-bidi-language: HE&quot;>Staged deployment with different execution&#xD;
        classes&lt;/span>&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in&quot;>&#xD;
        &lt;a id=&quot;1030906&quot; name=&quot;1030906&quot;>&lt;span style=&quot;mso-bidi-language: HE&quot;>Dynamic model (XML based or dynamic classes)&#xD;
        versus static model&lt;/span>&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li class=&quot;MsoNormal&quot; style=&quot;MARGIN: 3pt 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in&quot;>&#xD;
        &lt;a id=&quot;1030907&quot; name=&quot;1030907&quot;>&lt;span style=&quot;mso-bidi-language: HE&quot;>Production/test models (active objects versus&#xD;
        mock objects)&lt;/span>&lt;/a>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&lt;a id=&quot;XE_object_model__build&quot; name=&quot;XE_object_model__build&quot;>&lt;/a></mainDescription>
  <purpose>This&amp;nbsp;task focuses on the creation of the domain object model used by the rule engine.</purpose>
</org.eclipse.epf.uma:TaskDescription>
