This time I am putting on my scripting hat. I am going to show you a real project enabled by application programming interfaces (APIs).
First of all, let me explain what APIs are. In the old days, systems and web applications were isolated. They used custom formats and protocols to interact with each other. Simple task like automatic data export from one application into another app was a convoluted programming problem. Any change to data format of either of those applications may break the weak link between them. Fortunately, most modern applications and systems can interact with each other using a “glue”, which is called application programming interfaces or APIs. This glue provides a well-documented and standardised channel for the two or more systems to communicate with each other. Why we want them to communicate? Well, that is where the real value is at. System integration helps us automate repetitive tasks and it does it automatically without human errors and very in the blink of an eye.
As I promised, let me show you a real project. A couple of weeks ago, I attended SDN Summit in Germany. We formed small teams and participated in a contest. The goal was to find a problem and solve it by leveraging APIs and scripting. None of us would consider ourselves being a real programmer, because we only had some scripting skills and came from a networking background. Believe it or not, we won the contest! The beauty of scripting is its high-level nature, which means, that even a network engineer with basic Python skills can make an impact.
Use case
So what was the project we build? In most Cisco offices there is a public area called eCafe. As the name suggests, there is a nice coffee machine, as well as the electronic “e” element in form and shape of live product demonstrations and impressive large screens. Every customer has specific preferences and we want to make their experience as relevant and enjoyable as possible. Hence we built an automated system, which enables us to switch between different demos and contexts instantly.
An operator simply sends a text command to a Cisco Spark room. Our Python engine called “eDemon” receives it over Cisco Spark API and triggers respective actions. After that a customised, dynamically generated content is displayed on a screen.
If a picture is worth a thousand words, a real use case is probably worth even more:
- A presenter sends a message to a Spark room “show network topology”.
- eDemon engine receives the command using Spark API, polls network topology from Cisco APIC-EM using API, draws an interactive topology using NextUI web interface and displays it in an appealing graphical format on a large screen.
- The presenter then decides to switch to another scenario and play a video of the screen.
- She sends the respective command to the Spark room, eDemon pushes the video to the screen and sends confirmation to the presenter via Spark.
- After a successful customer demonstration, she sends a “loop” command. A continuous slideshow is then displayed until the next demonstration session.
Streamline your business and operations
Unless your application or system provides documented APIs, sky and your imagination are the only limits. We leveraged Cisco Spark, APIC-EM and Cisco Meraki APIs to build our platform, but most of the other Cisco products provide application interfaces as well. Cisco APIC-EM, the enterprise SDN controller, is one of the best examples. I encourage you to download it free of charge today and explore its capabilities. It is a powerful tool, especially its free Path Trace application.