I can propose one solution, which should be easier than implementing a custom news/events provider.
You can change the model of the news, by adding custom fields - so the news match your previous data model. Than you can migrate your data with some SQL script or SQL data transformation services into the sf_news_items table, respectively sf_events table. And from this point you can continue working with our modules and front-end controls. Adding of custom fields automatically will allow data-entry in the backend and you need to customize the front end controls to show your fields.
The other option is implementing a custom news provider that persists NewsItem type objects(or their inheritors) in a custom way. The complexity here is related to the transactional nature of our providers,e.g. you can create,delete and modify persistent items, but they are not persisted to the database until you call the CommitTransaction method. When we use OpenAccess the persistent obejcts are in an ObjectScope that automatically provides such a transaction, if you do not use OpenAccess for persistence you need to do your own transaction implementation and keep track which objects were added, deleted or modified. So for example overriding the Create and Delete items is easy, you can add the passed objects to some transaction log collection. But we don't have Update method, so you need a way to track which objects are modified. First of all you need to put all returned items from Get. methods into some transactional collection. You will also need to override all the property setters and have some flag changed when a property is changed. Then on CommitTransaction you can check all the objects in the Get collection for this flag and update them, or another way is to update all objects disregarding which are changed and which are not. In our backed we usually update one item at a time, so this can be simplified. If you have further questions , please let me know.
the Telerik team