A computer system comprising a processor, a memory coupled to the processor, and a computer readable storage device coupled to the processor, said storage device containing program code configured to be executed by the processor via the memory to implement a method for automatically generating a service specification of a Service Oriented Architecture (SOA) solution, said method comprising:
- receiving a process model framework and a data model framework, the process model framework comprising at least one process, each process of said at least one process performing a respective service of the SOA solution, each process being associated with a respective level in a hierarchy based on complexity of the respective service performed by each process, the data model framework comprising at least one data element that is indirectly matched to said at least one process;
- decomposing each process into at least one atomic service process, each process operating to manipulate at least one data object of the SOA solution, said at least one data object associating each process to said at least one data element, such that each process is mapped to a respective set of said at least one atomic service process that manipulates a respective set of said at least one data object, wherein the respective set of said at least one atomic service process performs a service identical to the respective service performed by each process;
- customizing the service specification of the SOA solution pursuant to at least one user input received from a user such that the service specification is compatible with both the process model framework and the data model framework, wherein the service specification represents a respective process interface of each atomic service process of said at least one atomic service process that performs a respective atomic service in the SOA solution;
- and
- storing the customized service specification in a database, wherein the database comprises a data model extension and a service specification data structure such that the data model framework is enhanced with reusable attributes and patterns.