How do I accommodate changing the System of Record for my *-Data-* class from Pega to something else?
Your application/case layer data needs prescribe your Logical Data Model, implemented as *-Data-* classes.
Design all* data access for your Logical Data Model through Data Pages, even where Pega is currently the System of Record.
If it makes sense for data stored within Pega to be stored as instances of the same *-Data-* classes, still use a Data Page even though its configuration is quite simple, using "Lookup" or "Report definition" data sources -- and "Database Save" save types -- perhaps with no Request/Response Data Transforms.
Should the System of Record for that Data Page change away from Pega, refactor only the Data Page to use the relevant Data Source / Save Type, and configure Request & Response Data Transforms to map the data between the existing *-Data-* class and the format required to transmit the data to the other System:
Where the message format sent to the other System is JSON, you may be able to utilize JSON Data Transforms instead of needing an *-Int-* class model to reflect the API message schema.
For other message formats (e.g. XML, CSV, etc), define an *-Int-* class model to reflect each component of that message for that API of the new System;
By defining the Request and Response Data Transforms to ensure the Data Page still sources (and saves) the instances of *-Data-* with the same parameters it was doing previously when Pega was the System of Record, the application/case layer doesn't need to make any changes.
There may be exception scenarios your application/case layer has to design for that haven't been exercised until now as they were extremely unlikely when Pega was the System of Record. "Happy Path" processing would ideally be unaffected.