I have a database of calendar events, that can be administered by the user through a web application.
I would like to offer to the user, functionality for viewing their calendar in any client of their choice (to the extent that open standards are implemented), primarily Outlook and Google calendar.
I would also want for the clients, such as Outlook, to be able to edit and delete events, which would then be pushed to the web application, or which the web application would pull, or simply: which would somehow be synced.
Additionally, it would be neat to be able to create a tentative event in the database, send a meeting request to the client, and have the client's accept or reject status somehow reported back to the application. But if this can't be achieved, that's no big deal.
What would be the best approach for such integration? Would my application have to have built in support for communication with every single client API, such as Exchange etc.? Or are there any open standards that I could adopt?
My initial attempts with iCal have not been rewarding so far. Perhaps I'm trying to do something that iCal cannot do. In that case, are there other techniques that can?