Arvutiteaduse instituut
  1. Kursused
  2. 2021/22 kevad
  3. Ettevõttesüsteemide integreerimine (MTAT.03.229)
EN
Logi sisse

Ettevõttesüsteemide integreerimine 2021/22 kevad

  • Home
  • Lectures
  • Practicals
  • Assignements
  • Project and exam
  • Message Board

Integration and Building REST APIs

Complete source code is available here to download: Attach:advera.zip

  • This session is based on the Spring platform
  • Spring is not just a Java-based framework, but an ecosystem with family of Spring projects https://spring.io/projects/
    • Spring Boot is one of the Spring projects used to create a micro Service.

Setting up the development environment

  • These instructions are explained in this video

Install Java

  • Verify the version of Java installed: java --version. If you don't get any result or any suggestions to install, then follow the below steps:
  1. Update the package repository: sudo apt update
  2. Install Java RE: sudo apt install default-jre
  3. Install Default JDK (Java 11): sudo apt install default-jdk
    • If you have multiple version of Java installed on your system, you can decide which one is the default one.
      • First, run this sudo update-alternatives --config java command to show all the installed version of Java on your computer
      • The choices are represented by numbers, select the number that's mapped to Java 11

Install Spring Boot

  • SDK Manager (sdkman): curl -s "https://get.sdkman.io" | bash
  • Spring Boot CLI: sdk install springboot

Build Automation Tools:

  • Gradle: sudo snap install gradle --classic
    • Upgrade Gradle:
      • Add this PPA repository: sudo add-apt-repository spa:cwchien/gradle
      • Download package information from all configured sources: sudo apt-get update
      • Upgrade Gradle: sudo apt upgrade gradle

Create Spring Boot Application

  • Terminal:
  • You can choose one of these option to create your Spring Boot Application.
    • Gradle based project: spring init --build=gradle --dependencies=web your_project_name
      • ...with multiple dependencies: spring init --build=gradle --dependencies=web,h2,data-jpa your_project_name
      • Here is a full list of dependencies
    • Maven based project: spring init --dependencies=web your_project_name
  • VS Code:
  • IntelliJ IDEA (Ultimate):
  • Browser (Online):
    • You can also visit https://start.spring.io, an easy way to generate a template for Spring Boot project.

Run Spring Boot Applications

  • Gradle:
    • Build: gradle build
    • Run: gradle bootRun
  • Maven: mvn spring-boot:run

Deploy Spring Boot Application (Gradle) to Heroku

  • Create system.properties file in project root folder:
    • Add Java runtime version and save it: java.runtime.version=11
  • Create Procfile in project root folder:
    • Add the web process type and save it: web: java -jar build/libs/Your-Project-Name-0.0.1-SNAPSHOT.jar
  • Add default port number:
    • Open Your-Project-Name/src/main/resources/application.properties and add server.port=${PORT:5000}, save, and start deploying.

PostgreSQL

  • Refresh local package index: sudo apt update
  • Install: sudo apt install postgresql postgresql-contrib
    • Start: sudo systemctl start postgresql.service
    • Check Status: sudo systemctl status postgresql.service
    • Stop: sudo systemctl stop postgresql.service
    • Restart: sudo systemctl restart postgresql.service
  • Login: sudo -i -u postgres OR sudo -u postgres psql
  • Create a New User: sudo -u postgres createuser --interactive
    • Login with new role:
      • Add user: sudo adduser user_name
      • Login: sudo -u user_name psql
  • Create a Database: createdb database_name OR sudo -u postgres createdb database_name
  • List Databases: \l
  • Change Database: \c database_name
  • Show Database Tables: \dt
  • To reset the password if you have forgotten:
  • Login without a password:
    • sudo -u user_name psql db_name e.g. sudo -u postgres psql postgres
    • ALTER USER user_name WITH PASSWORD 'new_password';
  • We recommend pgAdmin4 if you prefer to use a GUI tool for PostgreSQL administration.
  1. Part 1: Initial Scenario
  2. Part 2: Building API
  3. Part 3: Testing API
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused