daas workshop
  • Hands-On experience building a Data as a Service Platform
  • Set Up
    • Creating a Workstation
    • Installing Tools
    • Starting Kafka
    • Congratulations
  • Module I - Overview of the DaaS Pattern
    • Section I - The Overall Pattern
    • Section II - Data Sourcing
    • Section III - Data Provisioning
    • Section IV - Data Consumption
  • Module II - Building a Rust Project
    • Section I - Create a Package
    • Section II - Creating a Library
    • Section III - Creating an Executable
    • Section IV - Creating a Hello World RESTful Endpoint
      • Section IV - manifest
      • Section IV - library
      • Section IV - module
      • Section IV - integrated testing
      • Section IV - executable
  • Module III - Building a RESTful Endpoint for Sourcing Data
    • Section I - Overview
    • Section II - manifest
    • Section III - executable
    • Section IV - starting the service
    • Section V - service testing
  • Module IV - Building a Genesis Microservice for Processing the Sourced Data
    • Section I - Overview
    • Section II - manifest
    • Section III - executable
    • Section IV - starting the service
    • Section V - service testing
  • Module V - Building a Provisioning Microservice
    • Section I - Overview
    • Section II - manifest
    • Section III - executable
    • Section IV - starting the service
    • Section V - adding the business logic
    • Section VI - testing the service
  • Module VI - Building a RESTful Endpoint for Publishing Reporting Data
    • Section I - Overview
    • Section II - manifest
    • Section III - executable
    • Section IV - starting the service
    • Section V - adding the business logic
    • Section VI - testing the service
  • Privacy Design Strategies
  • Further Exploration
Powered by GitBook
On this page

Was this helpful?

  1. Module VI - Building a RESTful Endpoint for Publishing Reporting Data

Section IV - starting the service

We are now ready to start the RESTful service that will act as the data source for our DaaS platform.The web service will provide a JSON document(s) with the number of new orders by product.

There are 2 ways to start the service.

  1. Running using cargo run command while developing (local service testing)

NOTE: we provide the argument --bin myapp_reporting because there are now multiple executables and must specify which one to run.

ArchConfWorkshopUser:~/environment/rust-daas (master) $ cargo run --bin myapp_reportinging
   Compiling rust-daas v0.1.0 (/home/ec2-user/environment/rust-daas)
    Finished dev [unoptimized + debuginfo] target(s) in 11.71s
     Running `target/debug/myapp_sourcing`

To stop the service, use ctrl + c.

2. Running using the executable.

ArchConfWorkshopUser:~/environment/rust-daas (master) $ cargo build
   Compiling rust-daas v0.1.0 (/home/ec2-user/environment/rust-daas)
    Finished dev [unoptimized + debuginfo] target(s) in 7.23s

Whenever you use the cargo build command, it places the created executable in the target/debug directory with the same name that was defined in the Cargo.toml manifest.

Since it is an executable, simple run the executable from the command terminal.

ArchConfWorkshopUser:~/environment/rust-daas (master) $ ./target/debug/myapp_reporting 

Checking the web service

Let's make sure the web service is working correctly by running the following script in an available terminal.

Query number of orders for all products

./scripts/curl-reporting.sh
ArchConfWorkshopUser:~/environment $ ./scripts/curl-reporting.sh
all

Query number of orders for the leather jacket product

./scripts/curl-reporting.sh -p "leather jacket"
ArchConfWorkshopUser:~/environment $ ./scripts/curl-reporting.sh -p "leather jacket"
leather_jacket

PreviousSection III - executableNextSection V - adding the business logic

Last updated 4 years ago

Was this helpful?