Geschäftsobjekte und -prozesse
Durch die fachliche Anforderung ergab sich, dass eine Reihe von Entitäten implementiert werden musste. Folgendes vereinfachtes Klassendiagramm beschreibt die Entitäten und deren Zusammenspiel:

Zunächst wurde das Klassendiagramm in eine für den Entitäten-Generator lesbare Form gebracht. Folgender Ausschnitt zeigt die Definition der Entität Organisation in der x4e-Datei.
<entity id="CrmOrganisationalEntity" >
<nature>
<name>KeepDeleted</name>
</nature>
<property type="String" name="identNo" length="10" init="" />
<property type="String" name="salutation" length="10" init="" />
<property type="String" name="salutationLetter" length="100" init="" />
<property type="String" name="name" length="100" init="" />
<property type="String" name="industrySector" length="100" init="" />
<property type="String" name="email1" length="50" init="" />
<property type="String" name="email2" length="50" init="" />
<property type="String" name="homepage" length="50" init="" />
<property type="String" name="note" length="60000" init="" />
</entity>
Folgender Ausschnitt zeigt die Definition der Relation zwischen Person und Organisation in der x4e-Datei.
<relation description="Zugehoerigkeiten CrmContact/CrmOrganisationalEntity">
<relationend entity="CrmContact" multiplicity="*" property="true" />
<relationend entity="CrmOrganisationalEntity" multiplicity="*"
property="true" inverse="true" />
</relation>
Über diese Definition liefert der Generator die zur Implementierung benötigten Quellcode-Dateien.
Es musste des Weiteren möglich sein, nicht nur die zur Verfügung stehenden Entitäten verwalten zu können sondern auch andere für die Anwendung spezifische Aufgaben durch die Rich Client Anwendung ausführen zu können. Es wurden also alle benötigten Aufgaben identifiziert und in Form von Geschäftsprozessen definiert. Diese wurden anschließend implementiert und an den Session-Bean-Generator übergeben. Somit standen auch alle für die Einbindung der Geschäftsprozesse nötigen Quellcode-Dateien zur Verfügung.