Network Services

 
Exercise 1- Run the debug network service

  1. Download the DebugNetworkService.py, and the DebugProducer.zip and DebugConsumer.zip node service packages.


  2. Add capabilities to the network service. The in capabilities should match the DebugProducer capabilities and the out capabilities should match the DebugConsumer capabilities. Otherwise, the matcher will not find a solution to the mismatched streams. Unpack the node services to check capabilities.

    Also look at the Transform method. This method will get called when your service is found as a solution to mismatched client capabilities.


  3. Install the DebugProducer and DebugConsumer node services

    agpm.py -z DebugProducer/Consumer.zip

    OSX: pythonw %AGTK_LOCATION%/bin/agpm.py DebugProducer/Consumer.zip

    Add the services

    In the Venue Client
    1. Preferences -> Manage My Node....
    2. Services -> Add....
    3. Add the DebugProducer and the DebugConsumer services

  4. Start a local server (see Configuration - Exercise 4)


  5. Start the DebugNetworkService

    DebugNetworkService.py --venueUrl=https://localhost:8000/Venues/default

  6. Enter the venue at https://localhost:8000/Venues/default with the Venue Client. Since the capabilities of the producer and the consumer do not match, resolution will occur and your debug network service will be used.

    Make sure the transform method gets called and that your consumer receives the new stream location.


    Solution: DebugNetworkService_Solution.py

Exercise 2 - Add a custom SOAP interface to the network service with a shut down method.


  1. Download DebugNetworkService_SOAP.py and add a Stop() method to the SOAP interface and interface wrapper classes.


    Solution: DebugNetworkService_SOAP_Solution.py

Exercise 3 - Create a client that can communicate with the service and use the new SOAP method to shut down the service remotely.

  1. Download the DebugNetworkService_SOAPClient.py and add a call to the new Stop() method. Make sure you enter correct service url when running the client

    DebugNetworkService_SOAPClient.py <serviceURL>


    Solution: DebugNetworkService_SOAPClient_Solution.py