> For the complete documentation index, see [llms.txt](https://bpmflow.gitbook.io/project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bpmflow.gitbook.io/project/engineering-models/architecture-for-atop-applications.md).

# Architecture for Atop Applications

This chapter describe how to connect a regular **Business Application** (*atop app*) to available **BPM** ***structures*** and ***interfaces*** to add workflow capabilities to it.

The following pictures describe the general architecture of the interaction between the **Atop Application** and **BPM Flow**.\
**BPM Mode**l: is the *Meta Model* with all *BPM* support to define and create processes.\
**BPM Web**: is the web interface to interact with *BPM Web*.\
**Atop App Model**: is the model of the *Business  Application* to integrate with *BPM Flow*.\
**Atop App - Web**: is the web interface to interact with *Atop App Model*.\
**BPM Atop App - Web**: is the web interface that operate as a bridge between both applications.

The **BPM Atop - Web** application is a package composed of classes that operate in the real of **BPM Flow** and the **Atop Application**.&#x20;

In practical terms these classes are subclasses of different **BPM Web** components that extend some functionalities to operate with both applications. [More details about subclasses here.](/project/engineering-models/architecture-for-atop-applications/bpm-subclassification.md)

The **Atop Application Model** has to be updated and some methods added to be able to interact with **BPM Flow**. ***Users*** and ***Roles*** of **Atop Application Model** are the classes that require more changes in order to be integrated with **BPM Flow**. [More details about Atop Application Model integration here](/project/engineering-models/architecture-for-atop-applications/atop-model-integration-with-bpm-flow.md).

Once the [model](/project/engineering-models/architecture-for-atop-applications/atop-model-integration-with-bpm-flow.md) and the [interface](/project/engineering-models/architecture-for-atop-applications/bpm-subclassification.md) is integrated with **BPM Flow** then **Business Objects** of the **Atop Application** are created as follow:&#x20;

![ATOP and BPM Integration](https://3974112602-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH4gGgyMb1_fhOg782r%2F-Laaq7A4e8wzI9d0hecC%2F-Laaq9WuQv2o5C8M9PPt%2Fimage.png?alt=media\&token=12094211-8a38-4bc7-8292-49a9f6503889)

At design level there two ways to integrate a Business Application and BPM Flow and it is called **integration strategy**:\
\- Parallel Integration\
\- Contained Integration\
The **integration strategy** depends totally on the **ATOP Application** goals.&#x20;

**Parallel Integration**\
In this integration each **BPM Process Instance** create (or update) collections of **business objects** and these objects has relations to each other. These relations form the **Business Model**.

![](https://3974112602-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH4gGgyMb1_fhOg782r%2F-LvgM0ECWPOHANUFSBbg%2F-LvgQuWQhXLDYwyJoLFi%2Fimage.png?alt=media\&token=0c887f34-46d1-48a3-b621-ca459c1dd3d8)

Each **Bpm Process Instance** create or update ***business objects***.

![](https://3974112602-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH4gGgyMb1_fhOg782r%2F-LvgM0ECWPOHANUFSBbg%2F-LvgR4HXORvKGrTt4a_1%2Fimage.png?alt=media\&token=c5523db7-c649-4483-85f3-ca7591ed6006)

**Contained Integration**\
In this integration a **business object** contain a **BPM Process** **Instance** that is an integral part of the object. This gives the ability to insert a workflow inside a **business object** as a part of the object itself. In this case the **BPM Process** is a part of the **Business Model**.<br>

![](https://3974112602-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH4gGgyMb1_fhOg782r%2F-LvgTCYXe030aCSua454%2F-LvgTn8pTAHSjwtS557o%2Fimage.png?alt=media\&token=ff38941d-3637-4707-9acc-794d717af71a)
