How to integrate a Smart Device application developed in GeneXus with a pre-existing oneUnofficial Content

The main scenario that we will address here is when we have a pre-existing web application that hasn't been developed with GeneXus X Evolution 2 and to which we need to integrate a module for Smart Devices.

Note: Everything that will be developed here is related to online Smart Device applications. Offline applications will be available with GeneXus Tilo.

Is this possible?  Under what conditions? (Does my pre-existing application have to be developed with GeneXus? What if I have restrictions such as not being able to create an independent database? How can I access or use the pre-existing system’s database?)

Remember that the architecture of the Smart Device solution provided by GeneXus consists of graphic interface tasks, metadata interpretation and communication of the application on the device with a service layer on a web server. These services will access the database:

SD arquitecture

The main scenario can be divided into three cases:

  1. Independent Database in the SD module: The KB for the Smart Device application will create its own database, which will be synchronized with the pre-existing system database through services or APIs.
    Independent DB in the SD module

    See more...
  2. Direct Access to pre-existing system Database: The KB for the Smart Device application will not create its own database. Instead, it will access the pre-existing system database using a reverse engineering mechanism (DBRet or manually through Data Views associated with transactions).
    Direct access to pre-existing DB

    See more...
  3. Access through services to pre-existing system Database: The KB for the Smart Device application will not create its own database and will not be able to access that of the pre-existing system (for security reasons, for instance). However, the pre-existing system provides us with APIs or services controlled by it to enable us to work with data.
    Access through services

    See more...