First thing you need is to create a Direct Connection to your SDE Database. This will allow external control, then you need to ensure that the data is registered as versioned, I would suggest creating a Web Editing Parent Version. Next Create a Geodata Service only including the layer you want to edit, this needs to be a dynamic layer, and have the data set to the parent version. It is also necessary that if you wish to keep all edits and not have then over written to set up the service as non-pooled. This will have hardware considerations
Next if you create a base map cached mapservice to overlay the editiable layer you have the basics running. Next I would place the tiled mapservice and the geodata service in an application for editing, this will allow for editing, and arrange the editing capability for the service. The last step is to build a commit button so that once the edits are completed the business tables can be automatically updated from the Editing version. I would suggest that this be done daily in the back end but just my opinion.
Hope this helps,