SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Follow the
                Leader:
                ActiveTcl on Routers
                and Network Appliances




White Paper
 October 2008
White Paper
                      October 2008




                                                     Follow the Leader: ActiveTcl on
                                                    Routers and Network Appliances

                                         The network infrastructure sector is a competitive space. Router and
                                         network appliance manufacturers are faced with the challenge of
                                         providing rock-solid hardware while making sure their devices are
                                         flexible and configurable enough to meet a wide range of user needs.
                                         Cisco added Tcl (Tool Command Language) as the primary scripting
                                         interface to it’s IOS router operating system, allowing their customers
                                         to automate and customize their network environment with an
“Scripting languages are sometimes       established, standardized dynamic programming language. As the
referred to as glue languages or         industry leader in the networking space, their decision to use Tcl is
system integration languages.”           important. Should you consider doing the same?

Scripting: Higher Level Programming
                  for the 21st Century
                                         Choosing or Implementing a Scripting Interface
                    - John Ousterhout    System administrators need to be able to automate much of what they
                                         do, especially when working with large networks. Configuring or
                                         re-configuring dozens, or hundreds, of routers can be tedious or nearly
                                         impossible without some method of automation. For example, if a change
                                         in network configuration requires setting a new gateway for dozens of
                                         routers, logging in to each one to make the change could tie up a
                                         sysadmin for hours.

                                         Interface designers for these devices can foresee many, but not all,
                                         possible configuration options and scenarios. Standard network
                                         configuration operations will, ideally, be easy to propagate across a
                                         network using some administrative tool provided by the manufacturer.
                                         However, not all networks are the same, and some users will need to get
                                         at device functionality directly, bypassing limitations in the configuration
                                         interface, or at least automating interactions with that interface.

                                         Many devices provide some kind of command line access (via telnet or
                                         ssh). Linux or other POSIX-based systems can expose a system shell
                                         which offers some control. However, these shells provide, at best, only a
                                         limited subset of the features available in a full scripting language.

                                          “Scripting languages are sometimes referred to as glue languages or
                                          system integration languages.” Scripting: Higher Level Programming
                                          for the 21st Century - John Ousterhout

                                                                                                                        2
Follow the Leader:
                ActiveTcl on Routers and
                     Network Appliances




                                           Scripting languages, also called dynamic languages, can provide the
                                           glue necessary to link system functions with programmatic control.
                                           Though a system shell can access commands to perform certain func-
                                           tions, a scripting language will often have libraries for accessing system
                                           APIs directly while still retaining the ability to execute the system
                                           commands in a programmatic way.

                                           Choosing the Right Option
Ideally, the scripting interface           There are a number of questions that need to be asked by network
should already be familiar to the          appliance makers when deciding how to expose the functionality of a
                                           device through a scripting interface:
majority of target users.

                                           What is technically feasible?
                                           Whatever solution is chosen has to be delivered and tested within the
                                           parameters of the product’s release schedule. The solution has to be
                                           able to integrate with whatever software and hardware platform the
                                           product uses.


                                           What would be easy to implement?
                                           Obviously, creating a scripting interface is not easy, but even integrating
                                           an existing dynamic language is a technically challenging task. Even the
                                           first step of compiling the language interpreter for a particular platform
                                           may not be straightforward, and there’s a great deal more complexity
                                           involved in creating or modifying libraries to mesh with network
                                           interfaces and APIs.


                                           What would users find familiar or easy to learn?
                                           Ideally, the scripting interface should already be familiar to the
                                           majority of target users. If it isn’t, it should be easy to learn so that it
                                           doesn’t discourage newcomers.


                                           What makes good business sense?
                                           The effort expended on extending a product to support a scripting
                                           interface cannot get in the way of the development and maintenance
                                           of the core functionality. Core programmers may not have the time or
                                           the expertise to deliver the best scripting solution possible in-house. If



                                                                                                                          3
Follow the Leader:
                ActiveTcl on Routers and
                     Network Appliances



                                           third-party software is chosen, the provider has to have proven expertise
                                           and be able to deliver a solution that offers significant cost advantages
                                           to in-house development.


                                           What did Cisco do?
“The language has only a few               Cisco Systems chose Tcl. The Cisco IOS Tcl shell is now standard on
fundamental constructs and relatively      most Cisco routers.
little syntax, which makes it easy to
learn. The Tcl syntax is meant to be
simple.”                                   Why should you follow Cisco’s lead?
                                           Cisco is the market leader in networking technology. With over 60%
 Practical Programming in Tcl and Tk       of the market share in core routers, their decision to use Tcl means that
                   - Brent B. Welch        thousands of network managers and system administrators all around
                                           the world are using this language to configure and automate the admin-
                                           istration of routers on their networks. Companies such as f5 and Nortel
                                           use re-branded versions of Tcl (iRules and Bay Command Console
                                           respectively) in many of their devices.


                                           Choosing Tcl
                                           Technical Benefits
                                           Cross Platform
                                           Tcl is available for a wide range of operating systems: Windows, Linux,
                                           OS X, and almost any UNIX variant. Additionally, it has been ported to a
                                           variety of embedded operating systems (Windows CE, QNX, VxWorks).

                                           Well Suited for Network and System Management
                                           The shell environment is familiar to most system administrators. If they
                                           can write a shell script, they can write a Tcl program.

                                           A Large Corpus of Add-on Modules
                                           Tcl has a number of networking libraries that can be used to directly
                                           access network protocols such as DNS, FTP NTP SMTP HTTP SSL
                                                                                        ,    ,     ,      ,
                                           and more.

                                           Easy to Learn
                                           Among the scripting languages, Tcl is perhaps the simplest syntacti-
                                           cally, having only 13 rules:

                                           “The language has only a few fundamental constructs and relatively
                                           little syntax, which makes it easy to learn. The Tcl syntax is meant to be
                                           simple.” Practical Programming in Tcl and Tk - Brent B. Welch



                                                                                                                        4
Follow the Leader:
                ActiveTcl on Routers and
                     Network Appliances



                                           Free online resources and a number of excellent books are readily
                                           available to get new users up-to-speed quickly. The core Tcl documen-
                                           tation itself is often enough to allow a novice to start writing useful ap-
                                           plications.

                                           High Quality and Constantly Improving
“... everybody who likes Unix needs
                                           The Tcl language has been evolving and maturing since it’s creation
to know TCL at least to the level that     in the late 1980s1. As with
is necessary to use Expect, a really       other open source programming languages, Tcl’s codebase is under
brilliant, breakthrough application        constant scrutiny and benefits from having many “eyes on the code”.
based on TCL.”
                                           Compatibility
          A Slightly Skeptical View on     Unlike other languages which have changed drastically over time
                 Scripting Languages       causing upgrade headaches for those responsible for deploying them,
               - Dr. Nikolai Bezroukov     Tcl has maintained excellent backwards compatibility. With few
                                           exceptions, 10 to 15 year old Tcl code runs unmodified in the latest
                                           version.

                                           Expect
                                           Scripting remote command-line applications is difficult. Most script-
                                           ing languages cannot deal with this problem effectively, but using the
                                           Expect package in Tcl makes these interactions easy to “drive” remote
                                           command line applications, or automate existing or legacy tools that
                                           were never built to be automated.

                                           Expect programs written in Tcl are the easiest way to “drive” remote
                                           command line applications. Numerous Expect scripts for controlling
                                           routers and switches have been written and shared on the web by
                                           system administrators. 2

                                           Testing
                                           Tcl and Expect are exceptionally well suited for use in automated
                                           testing. In addition to helping customers configure and deploy your
                                           devices, a Tcl scripting interface will help QA teams test them much
                                           more efficiently and thoroughly.

                                           “... everybody who likes Unix needs to know TCL at least to the level that
                                           is necessary to use Expect, a really brilliant, breakthrough application
                                           based on TCL.” A Slightly Skeptical View on Scripting Languages - Dr. Nikolai
                                           Bezroukov




                                                                                                                           5
Follow the Leader:
               ActiveTcl on Routers and
                    Network Appliances




                                          Business Benefits
                                          Unencumbered Open Source
                                          Tcl has a very liberal, BSD-style, open source license. It does not restrict
Thousands of active Tcl                   your right to sell hardware that runs it, or any software you create that
developers worldwide have                 uses it. You are also not locked in to a proprietary solution with only one
contributed to a vibrant community.       vendor.
                                          Open source software offers numerous advantages to strictly
Many online resources are available
                                          proprietary software: liberal licensing, large developer communities,
for sharing scripts and advice.
                                          lack of a vendor lock-in, and lots of people examining and improving
                                          the code.
http://www.tcl.tk/community/
                                          On the other hand, Quality proprietary software offers businesses the
                                          reassurance inherent in a vendor/buyer relationship. The vendor has
                                          a monetary incentive to provide a working, affordable solution for their
                                          customer.

                                          It is possible to combine the best of both of these models by using
                                          open source software from a vendor as if it were proprietary. Matt
                                          Assay quotes an IT executive and Bank of New York as saying:

                                          “Open or closed source, if we touch the source code we are idiots. The
                                          whole reason we are buying product instead of developing it in-house is
                                          to pass the ownership for upgrades, QA/Testing, etc. to a company and
                                          paying a fee for that.”3



                                          A Large Community Of Developers
                                          Thousands of active Tcl developers worldwide have contributed to a
                                          vibrant community. Many online resources are available for sharing
                                          scripts and advice.

                                          Tcl Developer Xchange: http://www.tcl.tk/community/
                                          Many Cisco IOS users are already familiar with Tcl. Following in the
                                          footsteps of an industry leader allows you to leverage the existing
                                          expertise of system administrators.




                                                                                                                         6
Follow the Leader:
               ActiveTcl on Routers and
                    Network Appliances




                                          ActiveTcl
                                          Tcl is free. You can download the sources, build it, and distribute it on a
                                          commercial device. However, integrating the source distribution can be
                                          costly on many levels. Enter ActiveTcl Enterprise.
ActiveTcl Enterprise support puts
the expertise of core Tcl developers      ActiveTcl is the industry-standard distribution of Tcl from ActiveState.
at your fingertips, and provides a        On average, 15,000 people download it every month. It is available for
guarantee that you will get the help      all major platforms and includes popular extensions, the Tcl Package
you need, when you need it.               Manager (TEApot), and complete documentation.

                                          ActiveTcl Enterprise is a software, support and maintenance package for
                                          the ActiveTcl distribution.

                                          ActiveTcl Enterprise provides:


                                          Solid Binary Builds
                                          Building a language interpreter from source is a hassle. Even if there are
                                          no hiccups, and the target platform is supported, it’s time that could be
                                          better spent on adding core functionality to your software or device or
                                          fixing bugs. Having a quality assured binary build saves time and
                                          eliminates a host of potential problems and delays. Each ActiveTcl release
                                          is thoroughly tested and put through its paces to ensure there are no
                                          regressions or other unpleasant surprises.


                                          Enterprise-Level Support
                                          The open source language communities are generally helpful in
                                          answering questions on mailing lists and forums, but businesses
                                          can’t wait for peer support that may, or may not, solve their problem.
                                          ActiveTcl Enterprise support puts the expertise of core Tcl developers at
                                          your fingertips, and provides a guarantee that you will get the help you
                                          need, when you need it.


                                          Freedom From Licensing Worries
                                          When choosing an open source language, you are faced with the task of
                                          trying to figure out exactly how the license applies to what you are selling
                                          and being prepared to defend your use of the software. You can either
                                          spend the time and effort to become an expert in open source licensing
                                          law, or you can rely on the experience of those who have dealt with these
                                          issues for years.

                                                                                                                         7
Follow the Leader:
            ActiveTcl on Routers and
                 Network Appliances



                                       As the numerous lawsuits launched by SCO Group against various
                                       Linux distributors4 illustrated, even unproven allegations can initiate a
                                       series of legal machinations that can tie up a company’s lawyers for
                                       years. Companies at the front lines in these battles must have complete
                                       knowledge of the source code in question in order to defend their posi-
                                       tion. You don’t want to go there, and you don’t have to.
ActiveState’s years of experience
working with companies in the          The optional indemnification component of ActiveTcl Enterprise ensures
network appliance industries could     that ActiveState bears the responsibility for dealing with potential
save you time and money.               copyright infringement claims and other licensing issues.

                                       Don’t Reinvent the Wheel
                                       Technology decision makers don’t like to think of themselves as
                                       followers. The expression “thinking outside of the box” has become an
                                       industry buzz phrase which, in some people’s minds, suggests that
                                       doing anything non-revolutionary is boring, unimportant, or just not
                                       interesting enough to consider.

                                       While it’s not a good idea to choose a technology solely because a
                                       market leader has done so, if they choose a technology that is suitable,
                                       inexpensive, easy to implement, open, and above all useful, there’s
                                       much to be gained by following their lead.

                                       Modern network devices need to be flexible and easily configurable in
                                       order to be competitive in the marketplace. Tcl is a proven choice for
                                       providing this functionality, being widely used thanks to it’s inclusion
                                       in Cisco IOS. Cisco Systems has paved the way by introducing Tcl to
                                       thousands of system and network administrators worldwide. ActiveState
                                       has made it easy to deploy Tcl on a wide range of hardware. Sometimes
                                       a technology choice lies conveniently “inside the box”.

                                       Talk To Us About Tcl
                                       If you’re building a network device or writing software for one, talk to
                                       ActiveState about how ActiveTcl could be used for your application. The
                                       Tcl experts at ActiveState can go through the specific requirements of
                                       your projects and determine if ActiveTcl Enterprise or ActiveTcl OEM
                                       licensing would be right for you. ActiveState’s years of experience
                                       working with companies in the network appliance industries could save
                                       you time and money.




                                                                                                                   8
Follow the Leader:
ActiveTcl on Routers and
     Network Appliances




                           Who is ActiveState?
                           ActiveState has been a player in enterprise-level open source
                           distributions since 1997. The company’s developers are supporters
                           and contributors to open source languages—including Perl, Python
                           and Tcl—and maintain healthy, active relationships with the open
                           source community.

                           ActiveState creates professional software development tools,
                           programming language distributions and business solutions for
                           dynamic languages, and practical tools and applications for social
                           networking platforms.

                           ActiveState is owned by its employees and Pender Financial Group,
                           a publicly traded investment company focused on technology in
                           British Columbia.

                           For more information, visit www.activestate.com.




                           1
                               http://www.tcl.tk/about/history.html
                           2
                               http://www.samag.com/documents/s=1180/sam9903c/9903c.htm
                           3
                               http://news.cnet.com/8301-13505_3-10031348-16.html
                           4
                               http://www.groklaw.net/staticpages/index.php?page=20050315132709446




                                                                                                     9
ActiveState Software Inc.   Sales
1700-409 Granville Street   sales@activestate.com
Vancouver, BC V6C 1T2       phone: +1.778.786.1103

Phone: +1.778.786.1100      Toll-free in North America
Fax: +1.778.786.1133        1.866.541.3186
                                                         9

Mais conteúdo relacionado

Destaque

CCNAv5 - S3: Chapter6 Multiarea OSPF
CCNAv5 - S3: Chapter6 Multiarea OSPFCCNAv5 - S3: Chapter6 Multiarea OSPF
CCNAv5 - S3: Chapter6 Multiarea OSPFVuz Dở Hơi
 
Chapter5 adjust and troubleshoot single area ospf
Chapter5 adjust and troubleshoot single area ospfChapter5 adjust and troubleshoot single area ospf
Chapter5 adjust and troubleshoot single area ospfVuz Dở Hơi
 
CCNAv5 - S3: Chapter3 Link Aggregation
CCNAv5 - S3: Chapter3 Link AggregationCCNAv5 - S3: Chapter3 Link Aggregation
CCNAv5 - S3: Chapter3 Link AggregationVuz Dở Hơi
 
Open Shortest Path First
Open Shortest Path FirstOpen Shortest Path First
Open Shortest Path FirstKashif Latif
 

Destaque (6)

CCNAv5 - S3: Chapter6 Multiarea OSPF
CCNAv5 - S3: Chapter6 Multiarea OSPFCCNAv5 - S3: Chapter6 Multiarea OSPF
CCNAv5 - S3: Chapter6 Multiarea OSPF
 
Chapter5 adjust and troubleshoot single area ospf
Chapter5 adjust and troubleshoot single area ospfChapter5 adjust and troubleshoot single area ospf
Chapter5 adjust and troubleshoot single area ospf
 
CCNAv5 - S3: Chapter3 Link Aggregation
CCNAv5 - S3: Chapter3 Link AggregationCCNAv5 - S3: Chapter3 Link Aggregation
CCNAv5 - S3: Chapter3 Link Aggregation
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
 
Open Shortest Path First
Open Shortest Path FirstOpen Shortest Path First
Open Shortest Path First
 
OSPF Basics
OSPF BasicsOSPF Basics
OSPF Basics
 

Mais de ActiveState

Robust Algorithms for Machine Learning
Robust Algorithms for Machine LearningRobust Algorithms for Machine Learning
Robust Algorithms for Machine LearningActiveState
 
ActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages CompanyActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages CompanyActiveState
 
ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016ActiveState
 
ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016ActiveState
 
Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016ActiveState
 
Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1ActiveState
 
The ActiveState of Tcl
The ActiveState of TclThe ActiveState of Tcl
The ActiveState of TclActiveState
 
PERL SURVEY 2016
PERL SURVEY 2016PERL SURVEY 2016
PERL SURVEY 2016ActiveState
 
Improving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePythonImproving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePythonActiveState
 
Python: The Programmer's Lingua Franca
Python: The Programmer's Lingua FrancaPython: The Programmer's Lingua Franca
Python: The Programmer's Lingua FrancaActiveState
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14ActiveState
 
Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6ActiveState
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to pythonActiveState
 
US SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial ModelingUS SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial ModelingActiveState
 
ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState
 
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12ActiveState
 
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...ActiveState
 
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...ActiveState
 
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...ActiveState
 

Mais de ActiveState (20)

Robust Algorithms for Machine Learning
Robust Algorithms for Machine LearningRobust Algorithms for Machine Learning
Robust Algorithms for Machine Learning
 
TDD Pros & Cons
TDD Pros & ConsTDD Pros & Cons
TDD Pros & Cons
 
ActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages CompanyActiveState - The Open Source Languages Company
ActiveState - The Open Source Languages Company
 
ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016ActiveState Open Source Survey - 2016
ActiveState Open Source Survey - 2016
 
ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016ActiveState Tcl Survey - 2016
ActiveState Tcl Survey - 2016
 
Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016Practical LPeg - Lua Workshop 2016
Practical LPeg - Lua Workshop 2016
 
Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1Overview of Komodo IDE 10.1
Overview of Komodo IDE 10.1
 
The ActiveState of Tcl
The ActiveState of TclThe ActiveState of Tcl
The ActiveState of Tcl
 
PERL SURVEY 2016
PERL SURVEY 2016PERL SURVEY 2016
PERL SURVEY 2016
 
Improving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePythonImproving Customer Experience Using ActivePerl and ActivePython
Improving Customer Experience Using ActivePerl and ActivePython
 
Python: The Programmer's Lingua Franca
Python: The Programmer's Lingua FrancaPython: The Programmer's Lingua Franca
Python: The Programmer's Lingua Franca
 
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14Continuing Evolution of Perl: Highlights of ActivePerl 5.14
Continuing Evolution of Perl: Highlights of ActivePerl 5.14
 
Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6Looking Ahead to Tcl 8.6
Looking Ahead to Tcl 8.6
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to python
 
US SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial ModelingUS SEC Mandates, Python, and Financial Modeling
US SEC Mandates, Python, and Financial Modeling
 
ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState, CA, Taking quality products to market faster with enterprise rea...
ActiveState, CA, Taking quality products to market faster with enterprise rea...
 
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12
 
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...
 
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...
 
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Follow The Leader Activetcl On Routers And Network Appliances

  • 1. Follow the Leader: ActiveTcl on Routers and Network Appliances White Paper October 2008
  • 2. White Paper October 2008 Follow the Leader: ActiveTcl on Routers and Network Appliances The network infrastructure sector is a competitive space. Router and network appliance manufacturers are faced with the challenge of providing rock-solid hardware while making sure their devices are flexible and configurable enough to meet a wide range of user needs. Cisco added Tcl (Tool Command Language) as the primary scripting interface to it’s IOS router operating system, allowing their customers to automate and customize their network environment with an “Scripting languages are sometimes established, standardized dynamic programming language. As the referred to as glue languages or industry leader in the networking space, their decision to use Tcl is system integration languages.” important. Should you consider doing the same? Scripting: Higher Level Programming for the 21st Century Choosing or Implementing a Scripting Interface - John Ousterhout System administrators need to be able to automate much of what they do, especially when working with large networks. Configuring or re-configuring dozens, or hundreds, of routers can be tedious or nearly impossible without some method of automation. For example, if a change in network configuration requires setting a new gateway for dozens of routers, logging in to each one to make the change could tie up a sysadmin for hours. Interface designers for these devices can foresee many, but not all, possible configuration options and scenarios. Standard network configuration operations will, ideally, be easy to propagate across a network using some administrative tool provided by the manufacturer. However, not all networks are the same, and some users will need to get at device functionality directly, bypassing limitations in the configuration interface, or at least automating interactions with that interface. Many devices provide some kind of command line access (via telnet or ssh). Linux or other POSIX-based systems can expose a system shell which offers some control. However, these shells provide, at best, only a limited subset of the features available in a full scripting language. “Scripting languages are sometimes referred to as glue languages or system integration languages.” Scripting: Higher Level Programming for the 21st Century - John Ousterhout 2
  • 3. Follow the Leader: ActiveTcl on Routers and Network Appliances Scripting languages, also called dynamic languages, can provide the glue necessary to link system functions with programmatic control. Though a system shell can access commands to perform certain func- tions, a scripting language will often have libraries for accessing system APIs directly while still retaining the ability to execute the system commands in a programmatic way. Choosing the Right Option Ideally, the scripting interface There are a number of questions that need to be asked by network should already be familiar to the appliance makers when deciding how to expose the functionality of a device through a scripting interface: majority of target users. What is technically feasible? Whatever solution is chosen has to be delivered and tested within the parameters of the product’s release schedule. The solution has to be able to integrate with whatever software and hardware platform the product uses. What would be easy to implement? Obviously, creating a scripting interface is not easy, but even integrating an existing dynamic language is a technically challenging task. Even the first step of compiling the language interpreter for a particular platform may not be straightforward, and there’s a great deal more complexity involved in creating or modifying libraries to mesh with network interfaces and APIs. What would users find familiar or easy to learn? Ideally, the scripting interface should already be familiar to the majority of target users. If it isn’t, it should be easy to learn so that it doesn’t discourage newcomers. What makes good business sense? The effort expended on extending a product to support a scripting interface cannot get in the way of the development and maintenance of the core functionality. Core programmers may not have the time or the expertise to deliver the best scripting solution possible in-house. If 3
  • 4. Follow the Leader: ActiveTcl on Routers and Network Appliances third-party software is chosen, the provider has to have proven expertise and be able to deliver a solution that offers significant cost advantages to in-house development. What did Cisco do? “The language has only a few Cisco Systems chose Tcl. The Cisco IOS Tcl shell is now standard on fundamental constructs and relatively most Cisco routers. little syntax, which makes it easy to learn. The Tcl syntax is meant to be simple.” Why should you follow Cisco’s lead? Cisco is the market leader in networking technology. With over 60% Practical Programming in Tcl and Tk of the market share in core routers, their decision to use Tcl means that - Brent B. Welch thousands of network managers and system administrators all around the world are using this language to configure and automate the admin- istration of routers on their networks. Companies such as f5 and Nortel use re-branded versions of Tcl (iRules and Bay Command Console respectively) in many of their devices. Choosing Tcl Technical Benefits Cross Platform Tcl is available for a wide range of operating systems: Windows, Linux, OS X, and almost any UNIX variant. Additionally, it has been ported to a variety of embedded operating systems (Windows CE, QNX, VxWorks). Well Suited for Network and System Management The shell environment is familiar to most system administrators. If they can write a shell script, they can write a Tcl program. A Large Corpus of Add-on Modules Tcl has a number of networking libraries that can be used to directly access network protocols such as DNS, FTP NTP SMTP HTTP SSL , , , , and more. Easy to Learn Among the scripting languages, Tcl is perhaps the simplest syntacti- cally, having only 13 rules: “The language has only a few fundamental constructs and relatively little syntax, which makes it easy to learn. The Tcl syntax is meant to be simple.” Practical Programming in Tcl and Tk - Brent B. Welch 4
  • 5. Follow the Leader: ActiveTcl on Routers and Network Appliances Free online resources and a number of excellent books are readily available to get new users up-to-speed quickly. The core Tcl documen- tation itself is often enough to allow a novice to start writing useful ap- plications. High Quality and Constantly Improving “... everybody who likes Unix needs The Tcl language has been evolving and maturing since it’s creation to know TCL at least to the level that in the late 1980s1. As with is necessary to use Expect, a really other open source programming languages, Tcl’s codebase is under brilliant, breakthrough application constant scrutiny and benefits from having many “eyes on the code”. based on TCL.” Compatibility A Slightly Skeptical View on Unlike other languages which have changed drastically over time Scripting Languages causing upgrade headaches for those responsible for deploying them, - Dr. Nikolai Bezroukov Tcl has maintained excellent backwards compatibility. With few exceptions, 10 to 15 year old Tcl code runs unmodified in the latest version. Expect Scripting remote command-line applications is difficult. Most script- ing languages cannot deal with this problem effectively, but using the Expect package in Tcl makes these interactions easy to “drive” remote command line applications, or automate existing or legacy tools that were never built to be automated. Expect programs written in Tcl are the easiest way to “drive” remote command line applications. Numerous Expect scripts for controlling routers and switches have been written and shared on the web by system administrators. 2 Testing Tcl and Expect are exceptionally well suited for use in automated testing. In addition to helping customers configure and deploy your devices, a Tcl scripting interface will help QA teams test them much more efficiently and thoroughly. “... everybody who likes Unix needs to know TCL at least to the level that is necessary to use Expect, a really brilliant, breakthrough application based on TCL.” A Slightly Skeptical View on Scripting Languages - Dr. Nikolai Bezroukov 5
  • 6. Follow the Leader: ActiveTcl on Routers and Network Appliances Business Benefits Unencumbered Open Source Tcl has a very liberal, BSD-style, open source license. It does not restrict Thousands of active Tcl your right to sell hardware that runs it, or any software you create that developers worldwide have uses it. You are also not locked in to a proprietary solution with only one contributed to a vibrant community. vendor. Open source software offers numerous advantages to strictly Many online resources are available proprietary software: liberal licensing, large developer communities, for sharing scripts and advice. lack of a vendor lock-in, and lots of people examining and improving the code. http://www.tcl.tk/community/ On the other hand, Quality proprietary software offers businesses the reassurance inherent in a vendor/buyer relationship. The vendor has a monetary incentive to provide a working, affordable solution for their customer. It is possible to combine the best of both of these models by using open source software from a vendor as if it were proprietary. Matt Assay quotes an IT executive and Bank of New York as saying: “Open or closed source, if we touch the source code we are idiots. The whole reason we are buying product instead of developing it in-house is to pass the ownership for upgrades, QA/Testing, etc. to a company and paying a fee for that.”3 A Large Community Of Developers Thousands of active Tcl developers worldwide have contributed to a vibrant community. Many online resources are available for sharing scripts and advice. Tcl Developer Xchange: http://www.tcl.tk/community/ Many Cisco IOS users are already familiar with Tcl. Following in the footsteps of an industry leader allows you to leverage the existing expertise of system administrators. 6
  • 7. Follow the Leader: ActiveTcl on Routers and Network Appliances ActiveTcl Tcl is free. You can download the sources, build it, and distribute it on a commercial device. However, integrating the source distribution can be costly on many levels. Enter ActiveTcl Enterprise. ActiveTcl Enterprise support puts the expertise of core Tcl developers ActiveTcl is the industry-standard distribution of Tcl from ActiveState. at your fingertips, and provides a On average, 15,000 people download it every month. It is available for guarantee that you will get the help all major platforms and includes popular extensions, the Tcl Package you need, when you need it. Manager (TEApot), and complete documentation. ActiveTcl Enterprise is a software, support and maintenance package for the ActiveTcl distribution. ActiveTcl Enterprise provides: Solid Binary Builds Building a language interpreter from source is a hassle. Even if there are no hiccups, and the target platform is supported, it’s time that could be better spent on adding core functionality to your software or device or fixing bugs. Having a quality assured binary build saves time and eliminates a host of potential problems and delays. Each ActiveTcl release is thoroughly tested and put through its paces to ensure there are no regressions or other unpleasant surprises. Enterprise-Level Support The open source language communities are generally helpful in answering questions on mailing lists and forums, but businesses can’t wait for peer support that may, or may not, solve their problem. ActiveTcl Enterprise support puts the expertise of core Tcl developers at your fingertips, and provides a guarantee that you will get the help you need, when you need it. Freedom From Licensing Worries When choosing an open source language, you are faced with the task of trying to figure out exactly how the license applies to what you are selling and being prepared to defend your use of the software. You can either spend the time and effort to become an expert in open source licensing law, or you can rely on the experience of those who have dealt with these issues for years. 7
  • 8. Follow the Leader: ActiveTcl on Routers and Network Appliances As the numerous lawsuits launched by SCO Group against various Linux distributors4 illustrated, even unproven allegations can initiate a series of legal machinations that can tie up a company’s lawyers for years. Companies at the front lines in these battles must have complete knowledge of the source code in question in order to defend their posi- tion. You don’t want to go there, and you don’t have to. ActiveState’s years of experience working with companies in the The optional indemnification component of ActiveTcl Enterprise ensures network appliance industries could that ActiveState bears the responsibility for dealing with potential save you time and money. copyright infringement claims and other licensing issues. Don’t Reinvent the Wheel Technology decision makers don’t like to think of themselves as followers. The expression “thinking outside of the box” has become an industry buzz phrase which, in some people’s minds, suggests that doing anything non-revolutionary is boring, unimportant, or just not interesting enough to consider. While it’s not a good idea to choose a technology solely because a market leader has done so, if they choose a technology that is suitable, inexpensive, easy to implement, open, and above all useful, there’s much to be gained by following their lead. Modern network devices need to be flexible and easily configurable in order to be competitive in the marketplace. Tcl is a proven choice for providing this functionality, being widely used thanks to it’s inclusion in Cisco IOS. Cisco Systems has paved the way by introducing Tcl to thousands of system and network administrators worldwide. ActiveState has made it easy to deploy Tcl on a wide range of hardware. Sometimes a technology choice lies conveniently “inside the box”. Talk To Us About Tcl If you’re building a network device or writing software for one, talk to ActiveState about how ActiveTcl could be used for your application. The Tcl experts at ActiveState can go through the specific requirements of your projects and determine if ActiveTcl Enterprise or ActiveTcl OEM licensing would be right for you. ActiveState’s years of experience working with companies in the network appliance industries could save you time and money. 8
  • 9. Follow the Leader: ActiveTcl on Routers and Network Appliances Who is ActiveState? ActiveState has been a player in enterprise-level open source distributions since 1997. The company’s developers are supporters and contributors to open source languages—including Perl, Python and Tcl—and maintain healthy, active relationships with the open source community. ActiveState creates professional software development tools, programming language distributions and business solutions for dynamic languages, and practical tools and applications for social networking platforms. ActiveState is owned by its employees and Pender Financial Group, a publicly traded investment company focused on technology in British Columbia. For more information, visit www.activestate.com. 1 http://www.tcl.tk/about/history.html 2 http://www.samag.com/documents/s=1180/sam9903c/9903c.htm 3 http://news.cnet.com/8301-13505_3-10031348-16.html 4 http://www.groklaw.net/staticpages/index.php?page=20050315132709446 9
  • 10. ActiveState Software Inc. Sales 1700-409 Granville Street sales@activestate.com Vancouver, BC V6C 1T2 phone: +1.778.786.1103 Phone: +1.778.786.1100 Toll-free in North America Fax: +1.778.786.1133 1.866.541.3186 9