EWS Embedded Web Server by vwt15444

VIEWS: 0 PAGES: 20

									EWS: Embedded Web Server

          Michael Flaster,
           Banu Ozden
     Information Sciences Research Center


                                            1
                  Introduction
• How to do OA&M on components?




     CLI              SNMP               EWS
    Text-based,       Very limited       Familiar GUI,
      tedious      protocol, GUI can   tightly integrated
                     be expensive        with platform




                                                            2
              Example Use
• NOS wants to provide a common interface
  to all Lucent Network Elements
• Use “iAgent” library for platform interface




                                                3
                  Goals
• Allow simple web pages that allow display
  and modification of platform parameters
• Work with unmodified client browsers
• Portable to a variety of (embedded) OS’s
• Small and lightweight
• Allow secure access
• Cleanly encapsulate iAgent calls
                                              4
EWS Architecture
           EWS
           HTTP
           Engine




                              Security
  Page             Script
 Manager         processing

   zlib       eNITL iAgent


      System Services

            OS
                                         5
EWS Architecture
           EWS
           HTTP                          HTTP
           Engine                        Request




                              Security
  Page             Script
 Manager         processing              HTML
                                         Response
   zlib       eNITL iAgent


      System Services

            OS
                                               6
             Page Manager
• Fetches pages for system when requested,
  interfacing with storage
• Pages can be stored in compressed format
• Uses zlib (i.e. gzip) to dynamically
  decompress pages when necessary.
• Individual pages can be stored
  uncompressed, to tradeoff speed vs. space

                                              7
       Memory Page Manager
• Page Manager module implemented for
  NOS
• Allows a single archive file to contain all
  web page files.
• All files are read into memory on startup
  and cached.
• Compressed/uncompressed form
  maintained in memory.
                                                8
           Script Processing
• Allow embedding scripts in otherwise
  standard HTML pages
• Scripts are dynamically evaluated when the
  web page is served
  – Scripts are implemented using eNITL, a small,
    object-oriented scripting engine
• After processing, pages contain only
  standard HTML.

                                                    9
                  eNITL
• Supports variables, loops, conditionals, and
  function calls.
• Language can be easily extended with
  platform specific functions.
  – By modularly extending eNITL modules, EWS
    was customized to support iAgent calls from
    web pages.


                                              10
       Embedding iAgent calls in
               HTML
<%start%> <HTML><BODY>          <HTML><BODY>
<% prof := env.profile          <b> Ethernet address is
(“BridgeProfile”,”1”)%>         192.168.1.101
<b> Ethernet address is         </b> </BODY> </HTML>
<% env.field(prof,
   “ether-address”) %>
</b></BODY></HTML><%endtmpl%>   Ethernet address is 192.168.1.101




                                                               11
                 Security
• SSL – uses plan9 libraries.
• Session-based security – sessions
  automatically expire after period of
  inactivity
• Passwords are not transmitted with every
  page fetch, nor stored as cookies in the
  client browser

                                             12
                     Code Size
                            EWS             Off-the-shelf
Module            Binary Size     Source       Source
                                  Lines         Lines
HTTP Engine           39k         3,100    100,000 - Apache

System Services       2k           300
eNITL                 27k         2,400      340,000 - PHP
zlib                  28k         5,000
Base Total            91k         10,900        440,000
SSL                   72k         8,800    930,000 - OpenSSL

                                                               13
           Other Features
• HTTP 1.1 persistent connections
• Supports compressed “Content Encoding”
  to preserve bandwidth
• Access to cookies, URL parameters,
  username, and write permissions from
  embedded scripts.


                                           14
           Other Products
• WindRiver RapidControl for Web
• RomPager Embedded Web Server Toolkit
• GoAhead WebServer




                                         15
         WindRiver RapidControl
• Meant to be a complete package for
  embedded control of a system
• Includes SNMP
• HTTP 1.0/1.1
• Gzip compression
• Multi-OS

•   http://www.windriver.com/products/rapidcontrol_for_web/index.html


                                                                        16
                         RomPager
• Converts web pages to C-code, then compiles
  them in.
• Uses common text elimination to shrink size of
  HTML footprint.
• Access to gets and sets of the platform that it’s
  embedded on.
• $1,495 one time fee

•   http://www.allegrosoft.com/rpproduct.html

                                                      17
                          GoAhead
•   “60k” memory footprint
•   SSL
•   ASP for dynamic web page creation
•   CGI + “in-process CGI”
•   Compiled for many different OS’s.
•   Open source – need to put link to GoAhead on
    front page – no other fee
•   http://www.goahead.com/webserver/webserver.htm


                                                     18
                     Status
• Built and tested on Linux
  – Serves 350 eNITL pages/sec on a Pentium II.
• Documentation
  – Specifications
  – Design
  – Testing
• Automatic regression test suite
• Delivered to NOS
                                                  19
Questions?




             20

								
To top