what's the goal of extracting reusable services from legacy object oriented systems? and what should an organization do for the migration of their systems to soa.. is it a good idea to convert each class to a specific service? or a service should contain different classes? what are the approaches and tools to do this work?
You can view your OO system's Public API as a service, just one that is heavily coupled to the implementation technology. In terms of exposing that service or services to other systems, you can then view this as a simple protocol bridge from your canonical protocol to your OO system in order to provide a decoupled interface.
In terms of what service or services to expose from you legacy system, be driven by business value. If you are creating a service that some other system might want to use someday, then you are doing it wrong.
Finally in terms of how to structure your services, use the three layer pattern. For you entitiy layer services, you can decompose based on enitiy type (e.g., separate customers from invoices). For you process layer services, you can decompose based on process type (e.g., separate new business processes from procurement processes).