@conference {2021:icwe:fullstack, title = {Full Stack is Not What It Used to Be}, booktitle = {21st International Conference on Web Engineering (ICWE2021)}, year = {2021}, month = {May}, publisher = {Springer}, organization = {Springer}, address = {Biarritz, France}, abstract = {The traditional definition of full stack development refers to a skill set that is required for writing software both for the frontend and backend of a web application or site. In recent years, the scope of full stack development has expanded significantly, though. Today, a full stack software developer is assumed to master various additional areas especially related to cloud infrastructure and deployment, message brokers and data analytics technologies. In addition, the emergence of Internet of Things (IoT) and the rapidly spreading use of AI/ML technologies are introducing additional skill set requirements. In this paper, we discuss the expectations for a modern full stack developer based on our industry observations, and argue that these expectations have significant implications for software and web engineering education.}, keywords = {Cloud, Education, Internet of Things, IoT, Programmable World, software architecture, software engineering, Web engineering}, doi = {10.1007/978-3-030-74296-6_28}, author = {Antero Taivalsaari and Tommi Mikkonen and Cesare Pautasso and Kari Systa} } @article {2021:computer, title = {Isomorphic Internet of Things Architectures With Web Technologies}, journal = {Computer}, volume = {54}, year = {2021}, month = {July}, pages = {69--78}, abstract = {Internet of Things development needs isomorphic software architectures, in which every kind of device can be programmed with a consistent set of implementation technologies, allowing applications and their components to be statically deployed or dynamically migrated without having to change their shape.}, keywords = {Internet of Things, Isomorphic Architecture, Web}, doi = {10.1109/MC.2021.3074258}, url = {https://ieeexplore.ieee.org/document/9473238}, author = {Tommi Mikkonen and Cesare Pautasso and Antero Taivalsaari} } @inbook {2021:icwe:liquid, title = {Towards Seamless IoT Device-Edge-Cloud Continuum}, booktitle = {Communications in Computer and Information Science}, volume = {1508}, number = {ICWE 2021 Workshops}, year = {2021}, pages = {82 - 98}, publisher = {Springer}, organization = {Springer}, abstract = {In this paper we revisit a taxonomy of client-side IoT software architectures that we presented a few years ago. We note that the emergence of inexpensive AI/ML hardware and new communication technologies are broadening the architectural options for IoT devices even further. These options can have a significant impact on the overall end-to-end architecture and topology of IoT systems, e.g., in determining how much computation can be performed on the edge of the network. We study the implications of the IoT device architecture choices in light of the new observations, as well as make some new predictions about future directions. Additionally, we make a case for isomorphic IoT systems in which development complexity is alleviated with consistent use of technologies across the entire stack, providing a seamless continuum from edge devices all the way to the cloud.}, keywords = {Edge Computing, Embedded devices, Internet of Things, Isomorphic software, liquid software, Programmable World, software architecture, software engineering}, isbn = {978-3-030-92230-6}, issn = {1865-0929}, doi = {10.1007/978-3-030-92231-3_8}, url = {https://link.springer.com/chapter/10.1007/978-3-030-92231-3_8}, author = {Taivalsaari, Antero and Mikkonen, Tommi and Pautasso, Cesare} } @conference {2021:icwe:liquid-wasm, title = {WebAssembly Modules as Lightweight Containers for Liquid IoT Applications}, booktitle = {21st International Conference on Web Engineering (ICWE2021)}, year = {2021}, month = {May}, publisher = {Springer}, organization = {Springer}, address = {Biarritz, France}, abstract = {Going all the way to IoT with web technologies opens up the door to isomorphic IoT system architectures, which deliver flexible deployment and live migration of code between any device in the overall system. In this vision paper, we propose using WebAssembly to implement lightweight containers and deliver the required portability. Our long-term vision is to use the technology to support developers of liquid IoT applications offering seamless, hassle-free use of multiple devices.}, keywords = {containers, Internet of Things, IoT, Light-weight containers, liquid software, Web of Things, WebAssemly, WoT}, author = {Niko M{\"a}kitalo and Tommi Mikkonen and Cesare Pautasso and Victor Bankowski and Paulius Daubaris and Risto Mikkola and Oleg Beletski} }