Course Description
Description
Introducing Python and Web Services Programmability for Network Engineers is a 4-day hands-on course that focuses on the interoperability of Python programming with Networking to prepare the Next Generation Engineers for Software Defined Networking. This class is designed for Network Engineers and Administrators looking to add necessary programming skills in preparation for various ACI and SDN technologies.
To participate in the hands-on labs in this class, you need to bring a laptop computer with the following:
- Windows 7 or 8.1 or 10 is recommended. Mac OSX 10.6 or greater is supported as well.
- Intel Celeron or better processors are preferred.
- 1 GB or more of RAM
- Browser Requirements: Internet Explorer 10 or greater or Mozilla Firefox. (Safari and Mozilla Firefox for Mac OSX)
Note: Our labs currently cannot run on Microsoft Edge (Windows 10) due to it not supporting Extensions/Add-ons or Google Chrome due to Java being removed from the platform itself. - All students are required to have administrator rights to their PCs and cannot be logged in to a domain using any Group Policies that will limit their machine's capabilities.
If you do not have administrator rights to your PC, you at least need permissions to download, install, and run Cisco Any Connect Client and Java. - If you are participating in a WebEx event, it is highly recommended to take this class at a location that has bandwidth speeds at a minimum of 1 Mbps bandwidth speeds.
- All PCs require the latest Java Runtime Environment, which can be downloaded from www.java.com.
If you have any questions or issues with meeting the requirements listed above, please contact us at rlt@skyline-ats.com and provide the class name to which you are attending and we will be more than happy to help.
Objectives
Upon completing this course, the learner will be able to meet these overall objectives:
- Understand and describe basic and advanced Python terminologies
- Identify and correct Python script errors
- Pull and reconfigure networking devices using Python scripts
- Introduction to RESTful API utilizing JSON and XML
Prerequisites
The knowledge and skills that a learner must have before attending this course are as follows:
- Good understanding of networking protocols, routing and switching:
- Recommended CCNA Certification
- Recommended experience with Cisco Routers and Switches
Who Should Attend
The primary audience for this course is as follows:
- Network Administrators
- Network Engineers
- Network Operations Technicians
- Students interested in learning about programming
Outline
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 expressions
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
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 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
Lesson 4: Dictionaries and Regular Expressions
This lesson will detail dictionaries and regular expressions and their 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)
Lesson 5: XML and JSON
This lesson will begin to apply the Python as it relates to Web Services basic building blocks. Upon completing this lesson, the student will be able to apply the constructs in the previous lessons to examine the XML and JSON interaction with a server.
This ability includes being able to meet these objectives:
- Describe XML format
- Describe JSON Format
- Example of XML
- Example of JSON
Lesson 6: What is an XML Schema?
This lesson continues with the progression of WEB Services by building off of the previous lesson and showing how a XML Schema is used to aid a developer in pushing scripts to Web based applications. Upon completing this lesson, the student will be able to apply these concepts using Python.
This ability includes being able to meet these objectives:
- Describe SOAP
- Example of CURL with a Web Based Application
- Example of a SOAP exchange with a Web based Application
- Example of REST with a Web based Application
Lesson 7: Putting it all together
This lesson helps the user to apply the all of the previous concept toward real life example using multiple vendors. Examples include Cisco, Juniper, Blucat Proteus and F5.
This ability includes being able to meet these objectives:
- Apply Python principles with a SOAP Client
- Apply Python principles with REST and WSDL
- Apply native Python modules
Lab Outline
Lab 1: The Basics Script
Lab 2: Introduction to the Telnet Script
Lab 3a: Scaling Telnet Script-1
Lab 3b: Scaling Telnet Script-2
Lab 4: Efficiency of Functions
Lab 5: Reading and Writing to Files-1
Lab 6: Reading and Writing to Files-2
Lab 7: Advanced Telnet Script
Lab 8: Pinger Detector
Lab 9: VLAN Checker
Lab 10: Final Mentored Lab