Introducing Python and Web Services Programmability for Network Engineers (IPWSP-NE) – Outline

Detailed Course Outline

Module 1 - Lesson 1: Basic Constructs

This lesson describes foundational terminology within Python. Upon completing this lesson, the student will be able to explain many of the basic constructs, including their role within the programming language.

This ability includes being able to meet these objectives:

  • Describe and execute strings
  • Describe and execute printing
  • Describe and execute variables
  • Describe and execute built in methods
  • Describe and execute input from users
  • Describe Boolean

Module 1 - Lesson 2: Advanced Constructs

This lesson describes more of the advanced foundational terminology within Python. Upon completing this lesson, the student will be able to explain many of the advanced constructs, including their role within the programming language.

This ability includes being able to meet these objectives:

  • Describe and execute redundant scripts
  • Describe and execute functions
  • Describe and execute classes

Module 1 - Lesson 3: Scaling Python

This lesson will begin to apply the Python programming language to execute basic networking tasks. Upon completing this lesson, the student will be able to apply the constructs in the previous lessons to execute reading and writing to file tasks.

This ability includes being able to meet these objectives:

  • Describe and execute Reading Files scripts
  • Describe and execute Writing to File scripts
  • Describe and execute Reading and Writing to Spreadsheets
  • Describe Reading and Writing to Databases
  • Describe and execute substituting strings and integers
  • Describe and execute while loops
  • Describe and execute for loops and lists
  • Describe and execute slicing
  • Updating and edit a list
  • Error checking

Module 1 - Lesson 4: Dictionaries and Regular Expressions

This lesson will detail Dictionaries and Regular Expressions and it’s use within the Python Programming language. Upon completing this lesson, the student will be able explain and construct programs that include dictionaries and regular expressions.

This ability includes being able to meet these objectives:

  • Describe and execute dictionaries
  • Delete dictionaries
  • Describe and execute dictionaries with lists
  • Describe and execute Regular expressions (match, search, findall, sub)

Module 2 - Lesson 1: Introduction to Web Services Protocols

This lesson will detail the basic Web Services Protocols used throughout the course. The RESTful API and Management Information Model are introduced as an extension of the common CLI over SSH method for accessing data.

This ability includes being able to meet these objectives:

  • Describe the common Web Services Protocols and Transport methods
  • Describe The Management Information Tree view of accessing objects
  • Describe Object naming conventions
  • Describe what an encoded document is in relation to plain text

Module 2 - Lesson 2: XML and JSON

This lesson will detail the properties and formatting of an encoded documents as a means of accessing displaying data. This is a prerequisite to understanding how information is manipulated or extracted from an appliance that offers a web based service.

This ability includes being able to meet these objectives:[/list]

[*] Describe basic XML concepts [*] Describe the format of an XML document [*] Describe basic JSON concepts [*] Describe the format of a JSON document[/list]

Module 2 - Lesson 3: Data Models

This lesson introduces XML as the common data model upon which many platforms utilize today. Although these models are evolving into models such as YANG, it is not a primary focus of the course as extraction is the goal no matter what the model is.

This ability includes being able to meet these objectives:

  • Describe the generic parts of an XML Schema
  • Describe the flow of how an XML Schema is used

Module 2 - Lesson 4: Modifying the Schema

This lesson introduces the various ways to modify and read objects that are contained within a schema.

This ability includes being able to meet these objectives:

  • Use CURL to post and retrieve data from a schema
  • Use POSTMAN to post and retrieve data from a schema
  • Use Python with a native API to an appliance
  • Use Python without a native API to an appliance

Module 2 - Lesson 5: Data Extraction and Manipulation

This lesson teaches the use of taking extracted formatted documents and parsing them for data. Network Engineers gain the benefit of being able to provide data scientists with the data necessary to use the data in a meaningful way.

This ability includes being able to meet these objectives:

  • Load and parse a JSON Document
  • Load and Parse an XML Document

Lab Outline

  • DA1: The Basic Script
  • DA2: Introduction to the SSH Script
  • Lab 1: Scaling SSH Script-1
  • Lab 2: Scaling SSH Script-2
  • Lab 3: Efficiency of Functions
  • Lab 4: Reading and Writing to Files-1
  • Lab 5: Reading and Writing to Files-2
  • Lab 6: Advanced SSH Script
  • Lab 7: Working with Regular Expressions
  • Lab 8: Pinger Detector
  • Lab 9: VLAN Checker
  • Lab 10: Final Mentored Lab
  • Lab 11: Challenge-1
  • Lab 12: Challenge-2
  • Lab 13: CURL
  • Lab 14: POSTMAN
  • Lab 15: Python with Web Services