ABSTRACT

It is more than obvious that the functioning of most companies and organizations is heavily dependent on software assets which automate or support most of their business processes. Many of such software applications have been in production for years being constantly evolved in order to adapt them to business changes resulting both from changing market needs as well as emerging new technologies providing new business opportunities. Service Oriented Architecture (SOA) and cloud computing are seen as the most dominant software engineering paradigms nowadays. They have dramatically changed the way software systems are designed, delivered and used, what also implies changes in the way business services are provided [1]. For many organizations the transition of their legacy applications to

the new architectural patterns becomes problematic. This is mainly due to obsolescence of technologies, platforms and architectures on which legacy systems are based. Software systems introduced many years ago are often characterized by a complex monolithic structure (eg. without clear distinction between user interface, application logic and business model), technologies with non-common gateways, poor interoperability and lack of support, what makes the refactoring to the new structure (eg. componentor service-based architecture) or integration with other enterprise applications virtually impossible. The evolution is also hampered by the loss of knowledge, both technical and business, caused by insufficient documentation of changes introduced over years, changes in personnel, etc.