Abstract
Using cloud-based services can improve the performance, reliability, and scalability of a software application. However, transitioning an application to use cloud-based services is difficult, costly, and error-prone. The required re-engineering effort includes migrating to the cloud the functionality to be accessed as remote cloud-based services and re-targeting the client code accordingly. In addition, the client must be able to detect and handle the faults raised in the process of invoking the services. As a means of streamlining this transitioning, we developed a set of refactoring techniques - automated, IDE-assisted program transformations that eliminate the need to change programs by hand. In particular, we show how a programmer can extract services, add fault tolerance functionality, and adapt client code to invoke cloud services via refactorings integrated with a modern IDE. As a validation, we have applied our approach to automatically transform two third-party Java applications to use cloud-based services. We have also applied our approach to re-engineer a suite of services operated by General Electric to use cloud-based resources to better satisfy the GE business requirements.
| Original language | English |
|---|---|
| Pages (from-to) | 345-372 |
| Number of pages | 28 |
| Journal | Automated Software Engineering |
| Volume | 21 |
| Issue number | 3 |
| DOIs | |
| State | Published - Sep 2014 |
Keywords
- Cloud computing
- Fault-tolerance
- Program transformation
- Refactoring
- Service extraction
- Services
Fingerprint
Dive into the research topics of 'Cloud refactoring: Automated transitioning to cloud-based services'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver