Service-Oriented Architectures and Mobile Computing |
|
---|---|
Professors | Andreas Menychtas Vassiliki Koufi |
Course category | CMS/IS |
Course ID | DS-513-1 |
Credits | 5 |
Lecture hours | 3 hours |
Lab hours | 2 hours |
Digital resources | View on Aristarchus (Open e-Class) |
Learning Outcomes
This course provides an in-depth understanding of the design, implementation, and management of modern service-oriented information systems and mobile applications. It covers key topics such as user interface design, data management, network connectivity, and performance optimization.
Upon successful completion of this course, students will be able to:
- Identify the principles and components of Service-Oriented Architecture (SOA) and leverage modern tools and frameworks to develop service-oriented information systems.
- Develop, deploy, and manage serverless applications and microservices using cloud computing infrastructure.
- Understand Android application architecture and identify the core features of a typical Android app, including layouts and navigation.
- Design functional and user-friendly interfaces for mobile devices.
- Implement data storage and retrieval techniques within a mobile application.
- Leverage service-oriented platforms and services (e.g., Firebase, Push Notifications, Crashlytics, Object Storage, Functions as a Service) to build modern, interactive mobile applications.
- Evaluate and optimize the performance and usability of a mobile application.
General Competences
- Search for, analysis and synthesis of data and information by the use of appropriate technologies
- Development of free, creative and inductive thinking
- Decision-making
- Individual/Independent work
- Group/ Team work
Course Contents
- Introduction to Service-Oriented Architecture (SOA) (definition and basic concepts, advantages and challenges)
- Basic elements of Service-Oriented Architecture (services, service contracts, service composition, discovery and service registry)
- Advanced concepts of Service-Oriented Architecture (event-driven architecture, microservices and their relationship with SOA)
- Understanding the principles and practices of backend as a service and the development and deployment of serverless applications using Cloud Computing infrastructures, microservices, and Functions as a Service.
- Methodologies and techniques for developing applications for portable devices (smartphones, smartwatches, sensors, etc.).
- Study of the basic features of a typical Android application (Layouts, Navigation).
- Development of applications that utilize device capabilities and interfaces, such as camera, GPS, sensors, etc.
- Use of service libraries and backend applications for data management, user authentication, two-way communication, and synchronization.
- Creation of advanced user interfaces (UI/UX).
- Management of access rights, data security, and privacy.
- Architecture of smart mobile applications (application architecture, data storage – SQLite – Firebase, displaying lists, internet connection, background tasks)
- Use of modern frameworks for application development such as React Native and Flutter.
Suggested Bibliography
- Έλληνας Iωάννης- Έλληνας Νικόλαος (2023): Εισαγωγή στον Προγραμματισμό Android
- Κυπριανός Χ. (2022): Να ένα android…
- Peter Späth (2019): Learn Kotlin for Android Development, The Next Generation Language for Modern Android Apps Programming, Apress, ISBN: 9781484244678.
- Ted Hagos (2018): Learn Android Studio 3 with Kotlin, Efficient Android App Development. Apress, ISBN: 9781484239070.