Hello,
Welcome to the forum.
There are various options that you can take, it can be quite overwhelming to know the best interface to make. There are lots of different interfaces but the PI server is so widely adopted to interfaces with endless other systems.
What I will start with is the legal stuff, to develop an interface with the SDK's etc then you need to make sure you hold the proper development licences. You can get to this bit later but as a start you would need to hold an account on OSIsoft's vCampus programme.
Now let's get down to what you really want to know, the options:
- Interface with the PI server via OPC. If you client has PI-OPC then you can write your simulation values via OPC and you won't need any OSIsoft licences (obviously this would need further clarification).
- Interface via PISDK. Very common approach as you can quickly write some very robust code (well if you know what your doing you can

). Without knowing specific details, I would say this is your best route.
- Interface via PI-UFL (Universal File Loader). If you client has the PI-UFL interface, then your simulation software could be as simple as supplying a comma separated file and PI-UFL loads it in. No licence implications here for you, just your client if they don't currently have the interface.
- Interface via SQL Server provider. You could populate a SQL server of your clients and the data could then be displayed via PI-AF (Asset based PI) or via PI-OLEDB. Maybe not the best option.
If you can elaborate on the frequency of data, type of data etc that your simulation software would supply to PI then I can recommend your best path forward.
Cheers.
Principal Consultant
Real-Time Data Management @ Wipro Technologies