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

Assignment #3

  • General Info
    • Points: 5
    • Deadline for submission: 29 March 2022, 14:00
    • Assessment form: Group Presentations
    • You should work in the same team as you have formed earlier.
  • Objectives:
    • The main purpose of this assignment is to enhance students' understanding of how to integrate two different systems using SOAP technology. This could be done by developing a simple SOAP server aka service provider to enable other clients consume the services.
  • Tasks:
    • Students should develop SOAP services for the following operations:
    1. Task 1:The SOAP server should provide ping services to any client to test whether a particular host is reachable across an IP network. You could implement ping -c 2 domain_name Linux command as a SOAP web service to enable other web-based client to invoke this service.
    2. Task 2:The SOAP server should provide basic DNS lookup service to translate a domain name to it's IP address. This is going to be another web-enabled DNS lookup service that will replicate host domain_name Linux command.
    3. Task 3:The SOAP server should extend Task 2 and provide a service to gather more DNS information. This web service will help DNS administrators to troubleshoot DNS problems and/or interrogate DNS namer servers. The service should query the Name Servers (NS), Authoritative Name Server, and Mail Exchange (MX) records of a particular domain name.
  • How to?
    • We assume that you have setup your local development environment.
    • Download Attach:this.zip source_code, extract and move it to a reasonable place to use it as a baseline to implement your services
    • This folder includes a file for SOAP Server (soap_server.py) and two SOAP Clients (soap_client.py and app.py)
      • soap_server.py will implement your services and capture all services in a WSDL file. You should run your server locally, let's use 8090 port number.
      • soap_client.py can be used to test your services locally.
      • app.py is a Flask app that you should deploy to your Heroku application. This app should implement the following routes:
        • / will invoke Task/Service 1
        • /showip will invoke Task/Service 2
        • /dns will invoke Task/Service 3
      • As app.py is a remote web app deployed on Heroku, you would need to create a tunnel from the public internet i.e. your Heroku app to your local machine, you can use ngrok application.
        • Install ngrok: sudo snap install ngrok
        • You need to execute this ngrok http 8090 command (if your SOAP server is running over 8090 port number) to create a public URL to your local SOAP server to enable external clients to access your WSDL file.
        • You can call these services via a web app - developed either in Flask, JavaScript, Java, Go, or PHP.
        • If you prefer to use Flask app (app.py) then you should replace the URL of the WSDL file with the URL you got from ngrok.
        • Visit Session 2 where we have provided step by step instructions for deploying your app to Heroku.
  • 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