Defining a Single Multi-Client Project

It may be most efficient to define both mirrored definitions of an assignment in a single project that can run on two or more clients that communicate with each other.

This makes deployment easier because you do not have to make sure that the relevant project is deployed on the proper type of client. It also enables you to more easily define the properties to be transferred in a client-to-client object. This is because the same project can select from the same business entity properties enabling you to select the relevant business entity when defining an assignment and without having to type it, thus avoiding typos.

Sharing of common business entities can also be done by making the relevant business entity properties public and then creating a reference between the two projects, as described in References.

Because each application typically has different business entities (meaning screen elements and data elements), a project can differentiate between the relevant business entities of each application, and therefore a single project can handle the business entities of two applications without conflict.

In the previous example, you would define a single project that can run in both the Citrix session and on the desktop.