In this course, we will address the same case study under two different but complementary point of views: software architecture and devops. For the software architecture part, we will focus on the definition of an n-tiers architecture using software components (implemented as EJBs using the J2E framework). A part of the architecture will also be developed in .Net, emphasising the need to support system interoperability using Web Services. For the DevOps part, we will address the difficult problem of aligning the dev team with the ops one to build a given piece of software. How to slice the code into independent modules that can be compiled, tested and deployed in a continuous way? How to properly test the integration between such loosely coupled components?