Sei sulla pagina 1di 7

Distributed Systems

Deployment Using Docker


IMMPlaH: Integrated Medical Monitoring
Platform for Homecare assistance
Takacs Diana-Ingrid
January 19, 2020

1
1 Introduction
The Project integrates the four Assignments in a complex distributed ap-
plication, Integrated Medical Monitoring Platform for Home-care assistance
(IMMPlaH) which is specified below. Consider the development of a distributed
system for an intelligent medication management system for home-care for pa-
tients that need constant medication, medical supervision and assistance in case
of home accidents. The system is composed of several modules, consisting of a
web application for patient management, automatic pill-boxes that notify pa-
tients when they need to take their medication, sensors that constantly monitor
the patients to detect if an accident occurred and a set of professional medication
services for online diagnostics and medication prescription.

2
2 Requirements
Design and implement two web services, in two different programming lan-
guages, one for the doctor and one for the caregiver. Each web service should
have a layered architecture (API, services and data repository).

2.1 Functional
Will be taken from each Laboratory work Note that the way technologies
are chosen during implementation of each laboratory work may impact the final
project development and deployment. We recommend the following technology
stack: Spring REST + Angular JS (or React JS) Hibernate gRPC RabbitMQ
JSR 356 or the Java API for WebSocket Java API for XML Web Services (JAX-
WS) ASP.NET Web Services HTTPS and JWT over REST and gRPC SSL, WS
Security Docker for resource virtualization

2.2 Non-functional
Security: Authentication and Authorization; End-to-End encryption. Time
Consistency between different time zones.

3
3 Deliverables
A solution description document (about 4 pages, Times New Roman, 10pt,
Single Spacing) containing:
• Conceptual architecture of the distributed system.
• UML Deployment diagram.

• Readme file containing build and execution considerations.


Source files. The source files will be uploaded on the personal bitbucket account
created at the Lab resources laboratory work, following the steps:
• Create a repository on bitbucket with the exact name: DS2019 Group FirstName LastName Assignment 4

• Push the source code and the documentation (push the code not an archive
with the code or war files)
• Share the repository with the user utcn dsrl
The source files will be uploaded on the personal bitbucket account created at
the Lab resources laboratory work)

4
4 Technologies
4.1 Docker
A container is a standard unit of software that packages up code and all its
dependencies so the application runs quickly and reliably from one computing
environment to another. A Docker container image is a lightweight, standalone,
executable package of software that includes everything needed to run an appli-
cation: code, runtime, system tools, system libraries and settings.
Container images become containers at runtime and in the case of Docker
containers - images become containers when they run on Docker Engine. Avail-
able for both Linux and Windows-based applications, containerized software will
always run the same, regardless of the infrastructure. Containers isolate soft-
ware from its environment and ensure that it works uniformly despite differences
for instance between development and staging.
Docker containers that run on Docker Engine:
Standard: Docker created the industry standard for containers, so they could
be portable anywhere Lightweight: Containers share the machine’s OS system
kernel and therefore do not require an OS per application, driving higher server
efficiencies and reducing server and licensing costs Secure: Applications are safer
in containers and Docker provides the strongest default isolation capabilities in
the industry

5
Figure 1:

4.2 Deployment Diagram

6
5 Readme file containing build and execution
considerations.
Navigate to https://bitbucket.org/ingrid04/pt2019 30243 takacs dianaingrid
assignment 4/src/master/

1. Clone the project to your computer with the git clone command in the
GIT BASH terminal

2. Import the project in InteliJ (or your IDE)


3. From Intellij select Maven Clean Install
4. In the first project run in command line ”mvn spring-boot:run”

5. In the second project run in command line ”mvn spring-boot:run”

Potrebbero piacerti anche