Project results (overview):
- Decision- and task-centric definition of term architectural refactoring
- Quality story templates
- Architectural refactoring template
- Catalog of general-purpose architectural refactorings and cloud refactorings
- Architectural best practices, e.g. IDEAL and FIT cloud application architectures
- POINT criteria for API design and management; service contract template
- ADMentor, prototypical tool support for architectural decision modelling and reuse, and Cloud Design Guidance Model crafted with this tool (emerging)
Recommended practices when architecting for the cloud (selection):
- Design application startup and restart procedures as lean as possible.
- Let all components implement the Service Layer pattern.
- Define with Remote Facades and expose them with JAX-WS or JAX-RS.
- Use messaging for cloud-internal communication and integration.
- Define all Data Transfer Objects (DTOs) to be serializable.
- Use Internet security technologies to satisfy application security needed.
- Model all communication dependencies explicitly and consult IT infrastructure architects both on provider and on consumer side.
- Score architectural patterns according to their cloud affinity using the IDEAL properties (i.e. isolated state, decomposition, elasticity, automated management, loose coupling).
- Leverage patterns to improve application startup times and fault tolerance.
Research papers, conference presentations and tool support
An update on the initial project results can be found in Olaf Zimmermann's presentations given at the Open Cloud Day organized by the Swiss Open Systems User Group (slides) and at Architekturen 2014, the annual meeting of the Architecture working group of the Gesellschaft für Informatik (slides). Architectural decisions that recur in workflow and BPM design are collected in a presentation given at the 8th user group meeting for software architecture at Softwareforen Leipzig (slides).
A first set of ARC papers has been published in 2015 in the Pragmatic Architect column in IEEE Software (author's copy, online version at InfoQ), a conference and journal paper (online access, download of pre-print) and a workshop paper (author's copy) presented at ICSE SAM (presentation). A supporting Architectural Refactoring Tool (ART) is described here (German with English Appendix). ART is available as an Open Source Software (OSS) here.
This article shows how the Web and HTTP can be positioned as an integration style: The Web as a Software Connector: Integration Resting on Linked Resources (IEEE Software, 2018).
Other cloud computing knowledge sources
Click here for information on the Cloud Application Lab and here for links to additional sources of cloud design knowledge. First and foremost, the ARC project leverages the cloud computing patterns featured on this website and in this book.