SlideShare a Scribd company logo
1 of 56
JUNOS SPACE SDK
Ivan Vojvodić
Sr. Director, DBU
SETTING THE AGENDA FOR THE NEXT DECADE




2                    Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
    Transforming the experience and economics of networking
THE PLACE OF THE NETWORK




3                 Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
CHANGES IN THE WORLD OF NETWORKING

                           The Evolution of a Platform




       SINGLE                                       MULTI                                    GENERAL
      PURPOSE                                      PURPOSE                                   PURPOSE
    Simple Functionality                            Feature Phone                          App Enabled Devices

4                              Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE NEW NETWORK EQUATION


      Network Innovation                   Ecosystem Innovation                                     The New Network



    High Performance Networking                 Developer Solutions                               Accelerated Innovation


               Fast                                                                               New, better experiences
                                                          Agile
               Secure
                                                            Innovative                            New flexibility & agility
               Scalable
                                                           RAD                                    New customer solutions
               Reliable

                                                             Open
                Simple                                                                        $   New revenue sources




              layers of software instead of layers of protocols
5                                 Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
OUR MISSION AND COMMITMENT TO DEVELOPERS

                 CONNECT EVERYTHING
        from Client, through the Network, to the Device




      SILICON                        SYSTEMS                                   SOFTWARE

6                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNIPER PROGRAMMABLE NETWORK PLATFORMS

           User
                                                                              Opportunity for Network
           Application
                                                                              End-point Innovation
           Layer




           Network
                                                                              Opportunity for Across-
           Application
                                                                              the-network Innovation
           Layer




           Network
                                                                              Opportunity
           Device
                                                                              for On-device Innovation
           Layer


7                 Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
OPEN, NETWORK-CENTRIC APP PLATFORM

       CHALLENGES                                          SOLUTION                                       BENEFITS FOR
                                                                                                          DEVELOPERS

                     “…there’s no              Open, Extendable, Flexible and                     •   Easy Monetization
                    standard way to           Powerful Network Application and
                    tap into the                  Orchestration Platform                          •   Open App Platform
                    network.”                                                                     •   Language Independent
    “…long / complex dev cycles.”                                                                 •   Network Abstraction
    “…I need an end-to-end view.”
                                                                                                  •   Flexible Integration
    “…I’m not a networking expert.”           Junos Space
                                              Development Platform                                •   RAD, Quicker GTM


               “    “… high
                   complexity of
                   networks and
                   services”
                                                         Toolkit                   APIs
“…leverage investment in
  existing OSS/BSS solutions.”
“…end to end service mgmnt.”


8                                     Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
SOFTWARE = PLATFORM + APPS

                  OLD WAY                                       NEW WAY
                       Application
                       Innovation

                                                                                             Focus on innovation
 Expensive and
                                                    Reduce                    Application    Reduce production costs
  inefficient
                                                  developer                   Innovation     Increase speed of
                                                    time to                                   development
 Consistency,           System,                  innovation
  security and           Platform,                                                           An SDK decouple velocity of
  performance lapses    Interfaces,                                                           application innovation from
                            and                                                               platform innovation
                        Foundation
                       Development                                          Software
                                                                         Development Kit
                                                                                +
                                                                            Platform




9                         Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE SDK




            Innovate                                    Accelerate                                    Collaborate
                                                                                                        Community of
           Insight into the network                      Reduce time, complexity
                                                                                                        partners and developers

                                                         Powerful toolset:
           Extend to boost value                                                                        Access existing customers
                                                         Eclipse, RESTful APIs

           End to end service                            Accelerate through
                                                                                                        Gain expert knowledge!
           and data correlation                          collaboration


     Innovate with Junos Space                 Accelerate development cycle                       Training, support + leverage
     Platform utilizing a direct               with open, extendable and                          partnerships to influence and
     access to network data and                powerful development                               monetize.
     resources                                 platform and toolkit



10                                    Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
UNLOCK THE POWER OF THE NETWORK



     Action                                                                                               Value
     Configure                                                                                            Filter
     Provision                                            GENERATE                                        Correlate
     Dynamic Policy                                                                                       Combine
                          AFFECTS




                                                                                                INSIGHT
     Assets                                                                                               Data


                                                                                                          Inventory
                                                                                                          History
                                                         CREATE                                           Real-time
     Networking Devices, Servers,
     Databases, Applications etc.




11                                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE JUNOS SPACE PLATFORM

       HOW DO YOU TURN NETWORK DATA INTO KNOWLEDGE?




                               Junos Space                                      All controlled from your browser


        Management, Analytics, Monitoring, Orchestration

12                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
ANSWER:
                             Add network operations insight to businesses, and
                                  business insight to network operations

                                                                             Other Business
Space UI:                                                                    Systems
                                     RESTful Web Services
                                     Abstract the Network



            Native RESTEasy Servlet
                    (JAX-RS)
                                                                    Stateless Session Beans
                                                                   or MDBs (Business Logic)
                                                                  Service Application(s)
            RESTful Resource Class
                                                              @Stateless
  @Path(“/foo”) Application(s)Inject
        Service                                                                                             JPA
                                                              public class FooEjb {}
  public class FooResource {
  @EJB private FooEJB fooEjb; }
               Web Container                                              EJB Container
                           JBoss Java EE Application Server                                                       Database Server



                                                                                                      DMI
                                                                                                                  Network
 Junos Space Fabric/Cluster:
  13                                      Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
PROGRAMMABLE NETWORK APPLICATION PLATFORM


                        Network Activate ● Virtual                 NM ● Security ● OSS ● BSS ● Green/Energy
                        Control ● Service Now ●                        ● Adapters (MTOSI,…) ● … others
                                … others


 FLEXIBLE

                     Juniper Apps                                                        3rd Party Apps
 POWERFUL                                                 APPLICATIONS

                                          Junos Space RESTful Web Service

 PROGRAMMABLE       Device & Network Abstraction Services                         Infrastructure Services
                         Topology




                                                JUNOS SPACE PLATFORM
     Open Network
      Application                                   Network Interface (DMI)
      Platform

14                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
HIGH LEVEL JUNOS SPACE ARCHITECTURE


  Network Activate ● Virtual              OSS ● BSS ● Green/Energy ● Adapters                                                APIs & Libraries
  Control ● Service Now ●                        (MTOSI,…) ● … others
          … others



                                                                                                                           Interface Services
                                                                                                                           RESTful wrappers,
                                                                                                               RBAC (UI, NBI), Application Deployment, UI,…
Juniper Apps                                                   3rd Party Apps

                                  APPLICATIONS
                                                                                                                    Device and
                   Junos Space RESTful Web Service                                                                   Network              Infrastructure
                                                                                                                    Abstraction              Services
 Device & Network Abstraction Services                Infrastructure Services                                        Services



                                                                                                                           Local Persistence

                       JUNOS SPACE PLATFORM
                                                                                                                         Platform Management
                               Network Interface (DMI)
                                                                                                              Junos Space Functional Architecture

 15                                                     Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE SDK - WHAT’S INSIDE THE BOX
     Powerful, integrated, familiar developer environment


             APIs                       Developer Tools                                  Community

            DEVICE                                                                                   API
                                         Eclipse               Logging +              Developer
          & NETWORK                       IDE                  debugging               Guide      Reference
         ABSTRACTION                                                                               Guide
         SERVICES APIs
                                                                                      Reference
                                        Device                  Platform                  &
                                                                Simulator                         Inline help
                                      Simulators                                       Sample
                                                                                        Apps
         INFRSTRUCTURE
          SERVICES APIs
                                                                                       Support
                                       UI Builder               UI Library              and        Training
                                                                                       Forums



                                 JUNOS SPACE SDK
16                        Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE POWER OF ABSTRACTION
Mastering complexity vs extracting simplicity




17                       Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE POWER OF ABSTRACTION
Example of NOT extracting simplicity




18                 Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE ROLE OF APIS

Good example of extracting simplicity: Abstractions
        Interfaces (APIs) are instantiations of abstractions
               Interfaces shield from low-level details
         Allow freedom of implementation (on both sides)
            They do not remove complexity, just hide it!



     Extracting simplicity example:




19                      Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE APIs
      DEVICE                                   NETWORK &
                                                                                                                                               DEVICE
  & NETWORK     CONFIGURATION                    DEVICE                      DEVICE MGMT               SCRIPT MGMT




                                                                                                                                              Device & Network
                                                                                                                                              SOFTWARE




                                                                                                                            S/W Image Mgmt
ABSTRACTION     MGMT SERVICE                   INVENTORY                       SERVICE                   SERVICE
                                                                                                                                             MGMT SERVICE




                                                                                                                                                                 Device Mgmt
                                                                                                             Config Mgmt
                                                 SERVICE




                                                                                                                                                  inventory
SERVICES APIs
                   Modify device                                                  Archive raw and
                 configuration using           Discover devices in                                     Archive JunoScripts                       Archive Device
                                                                                  expanded device
                 Change Requests                   the network                                              on Space                                Software
                                                                                   configurations



                   Configuration                Network & Device                   Fetch Device        Upload and execute                     Manage software
                    Templates                       inventory                         Syslog            scripts on devices                   versions on devices


                       Archive
                   Configurations                                                   Execute CLI        Execute Op Scripts,                    Upload software to
                                                   Logical and
                 using Configuration                                               commands via         Event Scripts and                        one or more
                                                Physical inventory
                        Files                                                      NetConf RPC           Commit Scripts                            devices




       INFRA
SERVICES APIs    USER MGMT. &                   JOB                        APP LIFE CYCLE               TAGGING &
                                                                                                                                             API DISCOVERY
                AUTHENTICATION               MANAGEMENT                     MANAGEMENT                  FILTERING

                   Create, Read,                                                                         Create, Read,
                                                                                       Manage                                                     Discover the
                  Update and Delete             List of active and                                     Update and Delete
                                                                                    Applications                                                services exposed
                 operations on Users             completed jobs                                        application defined
                                                                                 installed on Space                                              by the platform
                                                                                                              Tags

                                               Determine status of                 Specify and
                                                                                                       Associate tags with                        Discover the
                 Manage User Roles               job execution                   Configure run time
                                                                                                        objects defined in                      services exposed
                   & Capabilities                including Job                    parameters for
                                                                                                        your applications                        by applications
                                                    Details                        applications

                 User Authorization
                                               Ability to create new                                                                          Read the meta data
                 and Authentication                                              Control Application    Search and Filter
                                                Jobs and cancel a                                                                             associated with the
                 (includes external                                                  Lifecycle            using Tags
                                                    running job                                                                                    services
                   authentication)
  20                                   Copyright © 2011 Juniper Networks, Inc.    www.juniper.net
JS SDK - DEVELOPMENT TOOLKIT
         1                2                                   3                                4                  5

Plug-in for         Logging &                                                             Platform           Device
                                                     UI Builder
 Eclipse            Debugging                                                             Simulator         Simulator

 New Application

                                                      Drag & Drop UI                      Debug and test    Junos compatible
                    Chainsaw Logger
                                                       Components                          applications     device simulation

     EJB to REST




Module definition
                     Static Analysis                     Space UI                         Qualify apps on
                       using PMD                        Components                                            Scale testing
                                                                                          Space platform

  Application
 packaging and
   licensing



21                            Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JS SDK COMMUNITY
     Docs & Support

         Junos Space SDK          Junos Space SDK                                                    Developer community
                                                                           Sample applications
          Documentation               Training                                                           and forums




                                   Online Developer
       App Developer Guides            Training                                                  JDN



       API Reference Guide      1 day hands-on training                                     JS SDK Download




       SDK Installation Guide    3 day expert training                                       JS SDK Forum



                                 Juno Space Platform
         Built-in Reference
                                       Training




22                              Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
DEVELOPMENT ENVIRONMENT
            All you need is one laptop.




                                       Host OS
               Browser                                      VM Host
                                                          Junos Space
            Application UI

                                                           Application
                Eclipse

           Junos Space IDE
                                                      Simulated Devices




23          Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
APPLICATION EXAMPLE
SUSTAINABILITY & COMPLIANCE: KNOWLEDGE GLOBAL

       CHALLENGE                                   APPROACH                                         SOLUTION
Lack of holistic energy usage            Leverage Junos Space to                              Comprehensive energy
metric to reduce cost and                retrieve device level energy                          insight
carbon emissions and its                 usage and integrate to a                             Combination of IT & facility
impact on operations in a                system of energy                                      energy data
global scale.                            measurement, analysis and                            Sustainability compliant
                                         reporting, EMMA.                                      reports
               1                                                 2                                           3


                                  Retrieve IT
                                resource power
                                 consumption
     devices


       The Network
                                                                                                      Generate
                                                                                                   sustainability &
                                                                                                     compliance
               Facilities                                                                             reports –
                                                                                                    Greenhouse         reports
                                                                                                        Gas
24                               Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
EMMA - ARCHITECTURE OVERVIEW
Melbourne




25              Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
KG API-S + CODE SAMPLE…
           REST API                                                      Description

 api/space/device-           The API queries the space instance to get the devices connected. This command returns the
 management/devices          device id’s, status and associated information on each device. This is used to determine the
                             devices on line before querying the devices using the RPC calls.


                REST API                        RPC command                                                   Description

    api/space/device-                  get-interface-information               The API allows an RPC command to be executed. This RPC command gets
    management/devices/exec-rpc                                                detailed information around the interfaces on the device. We used the
                                                                               statistics information set to calculate total data throughput across the
                                                                               interfaces. This command is periodically polled to the devices.

    api/space/device-                  get-environment-pem-information         The API allows an RPC command to be executed. This RPC command gets
    management/devices/exec-rpc                                                detailed information around the power modules in the device. This command
                                                                               is periodically polled to the devices so we can determine aggregated power
                                                                               consumed



ISSUE <get-environment-pem-information> RPC COMMAND
private   static String DEVICES_URL = "/device-management/devices";
private   static String API_RPC_URL_PRE = "/api/space/device-management/devices/";
private   static String API_RPC_URL_POS = "/rpc";
…..
private   static final String ENV_PEM_CMD = "<get-environment-pem-information/>";
…

 public String getDeviceReading(String deviceId, String rpcCommand){
        String sret = "";
        String apiURL = baseURL + API_RPC_URL_PRE + deviceId + API_RPC_URL_POS;
…
          request.accept(acceptType);
            String data="<netconf><rpcCommands><rpcCommand><![CDATA[" + rpcCommand + "]]></rpcCommand></rpcCommands></netconf>";
            request.body(contentType, data);
            ClientResponse<String> cresp = request.post(String.class);
            int respStatus = cresp.getStatus();


    26                                         Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
KNOWLEDGE-GLOBAL DEMO VIDEO




27       Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
OPEN FOR APPLICATIONS & INTEGRATION
 Application and services platform to address real-world challenges

                    Independent
                                                                                  System                   Service
                      Software                     Enterprise
                                                                                Integrators                Provider
                      Vendors

                 APP CHOICES




                               RICH APPS   EXTENSION       MASHUPS                  RICH APPS         MASHUPS

                                            NATIVE                                            NON-NATIVE




                                                                  APIs

                                Device & Network
                                                                                    Infrastructure
                                  Abstraction
                                                                                       Services
                                    Services




28                                    Copyright © 2011 Juniper Networks, Inc.    www.juniper.net
JS SDK APPLICATION TYPES
 APP CHOICES




               RICH APPS   EXTENSION   MASHUPS                                                                               RICH APPS        MASHUPS

                           NATIVE                                                                                                  NON-NATIVE




                                                                                                               RICH APPS                  MASHUPS
                                                                   MASHUPS
 RICH APPS
                                  EXTENSION                                                                   UI Component               UI Component
                                                                 UI Component
UI Component
                                                                                                              Web Service
Web Service                                                                                                   Component
Component                         Web Service
                                                                                                               Server-side
                                  Component
 Server-side                                                                                                   Component
 Component                          Server-side
                                    Component
                                                                                                                Externally Hosted Apps
                  JUNOS Space Platform Hosted Apps



                                        Junos Space Platform API Services Stack
29                                                Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
NON-NATIVE RICH APP :: INTEGRATION EXAMPLE:


 Both native and non-native apps can                            NON-NATIVE
  access platform services and bus. logic.                        RICH APP
 Non-native Apps enable the delivery of
  modular functionality with the ability to
  plug-in new capabilities/ customizations
  based on need

 Platform and hosted Apps expose                                              RICH APPS          EXTENSION        MASHUPS

  RESTful Web Services that can act as a                                      UI Component                        UI Component
  Northbound Interface out of the platform
                                                                               Web Service        Web Service
  for external Apps/Services to consume                                        Component          Component
                                                                                Server-side        Server-side
 Adaptors can be created for technology                                        Component          Component
  specific NBI.
         Examples - MTOSI, TMF 814, etc …
                                                                                        RESTful Web Services



                                                                                              Junos Space
                                                                                   Network Application Platform


 30                               Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
LANGUAGE INDEPENDENT NETWORK
ABSTRACTION API
Get identifier for device

                https://127.0.0.1/api/space/device-management/devices?filter=(name eq ‘Torino’)




                                   XML                                                            Option for
                                                                                                  JSON




31                            Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE API AND JAVA EXAMPLE
Java pg1

package test;

import   org.apache.commons.httpclient.HttpClient;
import   org.apache.commons.httpclient.UsernamePasswordCredentials;
import   org.apache.commons.httpclient.auth.AuthScope;
import   org.apache.commons.httpclient.HttpStatus;
import   org.codehaus.jettison.json.JSONObject;
import   org.jboss.resteasy.client.ClientRequest;
import   org.jboss.resteasy.client.ClientResponse;
Import   org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor;

                                                                                          Java pg2
public class RESTdevice {
 private static String SpaceURL;
                                Specify RESTful service
   private static ApacheHttpClientExecutor clientExecutor;
                                                                                          ClientRequest request =
                                                                                                 new ClientRequest(url, clientExecutor);
                                                                                                           Issue RESTful service request    to
                                    request arguments
  public static void main(String[] args) {                                                                     get network device info
                                                                                          System.out.println("==> GET " + url);
      SpaceURL = "http://127.0.0.1:8080";
      string url = SpaceURL +
                                                                                          ClientResponse<String> response =
          "/api/space/device-management/devices/229389";
                                                                                                 request.get(String.class); // GET method
        UsernamePasswordCredentials credentials =
                                                                                          if (HttpStatus.SC_OK != response.getStatus()) {
         new UsernamePasswordCredentials(args[1], args[2]);
                                                                                                   throw new Exception("Could not get device: " +
                                                                                          response.getStatus());
                                                                                                                Process the response
        HttpClient httpClient = new HttpClient();
                                                                                          }
        httpClient.getState().setCredentials(AuthScope.ANY, credentials);
        httpClient.getParams().setAuthenticationPreemptive(true);
                                                                                          JSONObject jsonObject =
                                                                                                 new JSONObject(response.getEntity());
        clientExecutor = new ApacheHttpClientExecutor(httpClient);
                                                                                             }
                                                                                          }




   32                                     Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE API AND .NET C# EXAMPLE
                         Hammock open source lib To enable easy REST




          Create User Auth Cred object




                                       Create RestClient object w/ FQ URL to the API.
                                         Assign ACCEPT header to request for XML




                                                      Create + Associate RestRequest object w/ the
                                                                      Cred object




                                         Submit GET request and receive RestResponse
                                                  and print response.Content
33                     Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE API AND PERL EXAMPLE
Perl

#!/usr/bin/perl



use REST::Client;   # Used for invoking RESTful APIs on Space

use MIME::Base64;   # Used for encoding userid and password

use XML::LibXML;    # Used for parsing XML responses from Space



my $client = REST::Client->new();

my $headers = {

              Authorization => 'Basic ' . encode_base64($userid . ':' . $password),

              "Content-Type" => "application/x-www-form-urlencoded" };
Issue RESTful service request to get network device info

$client->GET('http://127.0.0.1:8080/api/space/device-management/devices/229389', $headers);

if ( $client->responseCode() == 200 ) {

              my $xmlResponse = $client->responseContent();

              $xs = XML::LibXML->new();

              $doc = $xs->parse_string($xmlResponse);

} else {

              print $client->responseCode()."n";
                                                                            Process the response

}



 34                                       Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE API AND PYTHON EXAMPLE
 import simplejson
 import httplib, urllib
 method = "GET"
 host = "http://127.0.0.1:8080"
 uri = "/api/space/device-management/devices/229389"
 body = ""

 headers = {
  "Content-Type": service request to get
    Issue RESTful "application/x-www-form-urlencoded",
 }           network device info

 def request(method, host, uri, body, headers = {}):
     conn = httplib.HTTPConnection(host)
     conn.request(method.upper(), uri, body, headers)

       response = conn.getresponse()
       print response.status, response.reason

       if response.status == 200:
 """
          Load a JSON data
          obj = simplejson.loads(response.read())
 """
           obj = response.read()
           return obj
       else:
                                       Process the
           print response.status, response.reason, response.read()
       conn.close()                     response

 """
  Execute the HTTP call
 """
 request(method, host, uri, body, headers = {}):
35                                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE API AND PHP EXAMPLE
 PHP pg1
                                                                           PHP pg2
 <?php
     require_once 'HTTP/Client.php';
                                                                           /*-------
 $url = "http://127.0.0.1:8080/api/space/device-                            * CURL synchronous call
 management/devices/229389";                                                */
     $headers = array(                                                         function request($method, $url, $headers = array(),
         "Content-Type" => "application/x-www-form-                        $body) {
 urlencoded",                                                                      $conn = curl_init();
     );                                                                            curl_setopt($conn, CURLOPT_URL, $url);
     $body = "";                                                                   curl_setopt($conn, CURLOPT_HTTPHEADER,
                                                                           $headers);
 /*------- RESTful service request to get                                          curl_setopt($conn, CURLOPT_USERAGENT,
     Issue                                                                 "HTTP4e/3.0");
  * HTTP_Client call
              network device info
 (http://pear.php.net/package/HTTP_Client)                                         curl_setopt($conn, CURLOPT_CUSTOMREQUEST,
  */                                                                       strtoupper($method));
     $client = new HTTP_Client();                                                  curl_setopt($conn, CURLOPT_POSTFIELDS,
     $responseCode = $client->get( $url, $headers)                         $xml_data);
                                                                                   curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1);
     echo $responseCode                                                            $data = curl_exec($conn);
                                                                                   $code = curl_getinfo($conn, CURLINFO_HTTP_CODE);
     $resp = $client->currentResponse();                                           echo $code
     $data = $resp['body'];                                                        curl_close($conn);
                                                                                   return $data;
     echo $data                                                                }
     // load XML data                                                      ?>
     //$dom = new DomDocument();
     //$dom->loadXML( $data );


                                         Process the
                                          response




36                                     Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE POWER OF RESTful APIs
      APP                                                                                                  APP
       1                                                                                                    2




Native + Extension       HTTP
Apps can extend the
platform, by way of
exposing their own
APIs for other Apps      Junos Space                    APP 1               APP 2       No hard dependency
to consume.              Platform Stack            Provided service Provided service
                                                                                        between high level apps

                                                                                        Mash-up service to allow
 3rd party APP 1                                                                        soft dependency
 3rd party APP 2
                                      JUNOS SPACE PLATFORM
 RESTful API - exposed




37                          Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
BUILDING                     AND DEPLOYING
                             APPS
                 Developer Workflow                                                       System Administrator Workflow



Download and Install Junos          APIs, Simulators, Test +
       Space SDK                      Build Environment




                                       Developer Code                                                Loads the app on
                                                                                                       Junos Space




                                      Application Binary




     Developer
      Support         Certificate     Signed Application
                                           Package

38                                       Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
APP DEVELOPMENT DEMO
ARCHITECTURE
DEVICE HEALTH MONITOR APP

                                  REST                 Google
               Browser            Clients              Mashup




                                                                 Device Health Monitor App
                     XML/JSON                 Google
                     HTTP                   DataTable



               UI Layer


               REST Web-Service                     Google DataSource
               Layer                                API

               EJB Layer
               Uses Space API to monitor device health & traffic

                                            Junos Space Platform


40                          Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
SPACE GUI
DEVICE HEALTH MONITOR APP




                    List of Devices




     Basic Health         Traffic                                               Chassis View
     Parameters          Statistics

41                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
GOOGLE MASHUP GUI
DEVICE HEALTH MONITOR APP

                                                                         External GUI using
                                                                         JavaScript/HTML
                                                                         Invokes the Google
                                                                         DataSource APIs
                                                                         implemented by our
                                                                         Health Monitor App
                                                                         Uses the following
                                                                         Visualization API from
                                                                         Google:
                                                                                 Table
                                                                                 Gauge
                                                                                 AreaChart


42                  Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
MASHUP GUI
SPACE PLATFORM API + APPS API + GOOGLE API

                                                            External GUI using
                                                            JavaScript/HTML
                                                            Mashup between
                                                                  Space Platform APIs
                                                                    To obtain devices based on
                                                                     tags
                                                                  TagIt API
                                                                    To automatically tag devices
                                                                  HealthMon API
                                                                    To collect traffic data for
                                                                     devices
                                                                  Google Visualization API
                                                                    Geo Map to depict
                                                                     concentration of devices
                                                                     across locations
                                                                    Motion Chart to depict
                                                                     change in traffic patterns
                                                                     across locations

44               Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
Software Vendor Testimonial
EXAMPLE: NETWORK VIRTUALIZATION

           CHALLENGE                                            APPROACH                                          SOLUTION

Goal: Take a distributed multiple                Old: Manually configure devices which                Application:
domain, site, layer, tenant network and          are harder to adapt quickly                          Virtual Switch
use OpenFlow switches to virtualize a
simpler network                                  New:                                                 Benefits:
                                                 • Use Big Switch’s OpenFlow controller               • Reduces operational complexity and
Target:                                          to create “virtual L2 switches.”                     expense
• Data Center Networks                           • Make the selected nodes look as if                 • Rapid to setup/tear-down
(allocate servers on demand to the               they are locally connected.
appropriate datacenter L2 network                                                                     • Cheap/free to change
                                                 • Use Junos Space as the platform to
independent of network /VLAN design)             integrate and deliver this solution.                 • Isolated from other users
                                                                                                      • User chooses the :
                                                 Technology:                                           • Connections, VLANs, ACLs…
                                                 • Juniper OpenFlow-enabled device run
                                                 the OpenFlow app built with the Junos
                                                 SDK.                                                 Availability:
                                                 • The Virtual Switch app is implemented              OpenFlow: Any Juniper Networks
                                                 with the Junos Space SDK.                            systems supporting Junos control-plane
                                                                                                      applications
                                                                                                      Virtual Switch: Junos Space
 Partner:        Big Switch Networks
 Application: Virtual Switch
46                                        Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE CONCEPT – SIMPLIFY THE NETWORK




                   Group together devices and
             separate the groups with a virtual switch
47               Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
THE SOLUTION – NETWORK VIRTUALIZATION

A simple switch connects only the
hosts for a specific
application/usecase/tenant:

• Rapid to setup/tear-down
• Cheap/free to change
• Isolated from other users
• Self-managed:
     • User choose the connections
     • User chooses the VLANs
     • User chooses the ACLs …




                Allow the Customer to define the logical networks they need
48                                   Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE INTEGRATION
                       Junos Space Server
     Big Switch Controller                      Junos Space VM
     (manages OF switches)                 (manages rest of devices)

                        RESTful Web Service APIs




49                                    Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
TECHNICAL CHALLENGES SOLVED BY JUNOS SPACE


Building good user interface is hard
     “Junos Space has done the “heavy lifting” of designing,
     implementing and integrating all the components required for a
     unified and complete management application.”


Good network knowledge/access is rare
     “Junos Space SDK has made the network „plumbing‟ information
     available in comprehensive and easy-to-use REST APIs (as
     opposed to the nightmare of brittle screen scraping with expect),
     enabling enterprise-class solutions.”




50                      Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
BUSINESS CHALLENGES SOLVED BY JUNOS SPACE

Reduced cost of development
      “By building on a complete platform, we greatly reduced the cost of
      developing the feature. We could focus on the novel and differentiated
      solution for our customers without spending significant engineering
      time on plumbing/infrastructure that Junos Space already has.”


Quicker go-to-market
       “Very simply, getting to market quickly is crucial for everyone, but
       especially for a startup. Junos Space means we‟re quicker to market
       with a complete solution.”

Larger reach
      “By integrating with Junos Space, we made our solution far more
      accessible to a large section of our target market.”

 51                     Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
REFLECTIONS AND LOOKING FORWARD


This is a new way to do network app development and delivery:

 •    It’s all about layers of software (not layers of protocols) – think web
      application servers, mobile frameworks

 •    Enabling rapid application development

 •    Junos Space provides the overall application/management platform and
      coordination functionality




 52                        Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
JUNOS SPACE SDK DEVELOPMENT ORGANIZATIONS




          big switch
                                                         More than 300 Junos Space SDK
53                     Copyright © 2011 Juniper Networks, Inc.
                                                            www.juniper.net
                                                         DEVELOPMENT ORGANIZATIONS
KEY PLATFORM BENEFITS
     Developer Experience
     • Enables Focus on Innovation
     • Enables RAD and Quicker GTM

     Easy Monetization
     • Junos deployed base as a first target market

     Architecture
     • Hot pluggable apps
     • Language independent
     • Open application platform with RestFull APIs
     • Flexible integration options
     • Built in HA /Carrier Grade capabilities

     Service Design
     • Ability to extend the services
     • Network/service abstraction

54                           Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
LEARN MORE
Using the SDK gives you the tools and the power to achieve
requirements outside of the std. NPI process. You can leverage
apps in the pipeline, guide customers, SIs and/or develop
solutions yourself.
On the Juniper Matrix:
                                                                                              Email Aliases:
• Junos Space SDK download                                                                    • JS-DE@juniper.net
     http://www.juniper.net/us/en/products-services/junos-
     developer/space-sdk-registration/
                                                                                              • TT-SPACE-
                                                                                                SDK@juniper.net
• Junos Space SDK Info                                                                        Follow us on Twitter:
     https://matrix.juniper.net/community/products/nm/junosspacesdk                           @ivojvodic
                                                                                              @junosdeveloper
• Junos Space SDK Forum
     http://forums.juniper.net/t5/Junos-Space-Developer/bd-p/JSD



55                                Copyright © 2011 Juniper Networks, Inc.   www.juniper.net
EXTERNAL TO JUNIPER:

VISIT juniper.net/developer

FOLLOW @junosdeveloper

CONTACT HelpMeBuildMyApp@juniper.net
THANK YOU!

              innovation




juniper.net/developer

More Related Content

What's hot

Wireless network in aircraft
Wireless network in aircraftWireless network in aircraft
Wireless network in aircraftPankaj Khodifad
 
How IoT transforms the market for Building Automation in support of sustainab...
How IoT transforms the market for Building Automation in support of sustainab...How IoT transforms the market for Building Automation in support of sustainab...
How IoT transforms the market for Building Automation in support of sustainab...Chess Wise BV - Solid in Wireless
 
Throughwave Day 2015 - ForeScout Automated Security Control
Throughwave Day 2015 - ForeScout Automated Security ControlThroughwave Day 2015 - ForeScout Automated Security Control
Throughwave Day 2015 - ForeScout Automated Security ControlAruj Thirawat
 
Report ON a Remote Security System Using wireless sensor and GSM module Techn...
Report ON a Remote Security System Using wireless sensor and GSM module Techn...Report ON a Remote Security System Using wireless sensor and GSM module Techn...
Report ON a Remote Security System Using wireless sensor and GSM module Techn...Priyanka Tyagi
 
Firewalls and packet filters
Firewalls and packet filtersFirewalls and packet filters
Firewalls and packet filtersMOHIT AGARWAL
 
Nfd18 anuta-networks
Nfd18 anuta-networksNfd18 anuta-networks
Nfd18 anuta-networksKiran Sirupa
 
The Art of Deception - Training for a new generation of online covert operati...
The Art of Deception - Training for a new generation of online covert operati...The Art of Deception - Training for a new generation of online covert operati...
The Art of Deception - Training for a new generation of online covert operati...Exopolitics Hungary
 

What's hot (10)

Aruba Mobility Controller 7200 Installation Guide
Aruba Mobility Controller 7200 Installation GuideAruba Mobility Controller 7200 Installation Guide
Aruba Mobility Controller 7200 Installation Guide
 
Wireless network in aircraft
Wireless network in aircraftWireless network in aircraft
Wireless network in aircraft
 
How IoT transforms the market for Building Automation in support of sustainab...
How IoT transforms the market for Building Automation in support of sustainab...How IoT transforms the market for Building Automation in support of sustainab...
How IoT transforms the market for Building Automation in support of sustainab...
 
Atm Monitoring & Control System
Atm Monitoring & Control SystemAtm Monitoring & Control System
Atm Monitoring & Control System
 
Enabling AirPrint & AirPlay on Your Network
Enabling AirPrint & AirPlay on Your NetworkEnabling AirPrint & AirPlay on Your Network
Enabling AirPrint & AirPlay on Your Network
 
Throughwave Day 2015 - ForeScout Automated Security Control
Throughwave Day 2015 - ForeScout Automated Security ControlThroughwave Day 2015 - ForeScout Automated Security Control
Throughwave Day 2015 - ForeScout Automated Security Control
 
Report ON a Remote Security System Using wireless sensor and GSM module Techn...
Report ON a Remote Security System Using wireless sensor and GSM module Techn...Report ON a Remote Security System Using wireless sensor and GSM module Techn...
Report ON a Remote Security System Using wireless sensor and GSM module Techn...
 
Firewalls and packet filters
Firewalls and packet filtersFirewalls and packet filters
Firewalls and packet filters
 
Nfd18 anuta-networks
Nfd18 anuta-networksNfd18 anuta-networks
Nfd18 anuta-networks
 
The Art of Deception - Training for a new generation of online covert operati...
The Art of Deception - Training for a new generation of online covert operati...The Art of Deception - Training for a new generation of online covert operati...
The Art of Deception - Training for a new generation of online covert operati...
 

Viewers also liked

Junos space seminar
Junos space seminarJunos space seminar
Junos space seminarKappa Data
 
Navigating dc architectures tech&amp;sales
Navigating dc architectures tech&amp;salesNavigating dc architectures tech&amp;sales
Navigating dc architectures tech&amp;salesEric Zhaohui Ji
 
Junos Space UX Toolkit- Juniper Networks: Summer Intern
Junos Space UX Toolkit- Juniper Networks: Summer InternJunos Space UX Toolkit- Juniper Networks: Summer Intern
Junos Space UX Toolkit- Juniper Networks: Summer InternGaurav Kulshrestha
 
Cisco Prime Infrastructure 2.0 Единое управление
Cisco Prime Infrastructure 2.0 Единое управлениеCisco Prime Infrastructure 2.0 Единое управление
Cisco Prime Infrastructure 2.0 Единое управлениеCisco Russia
 
Datacenter
DatacenterDatacenter
Datacenterjayconde
 
Обзор решений Cisco Prime для управления сетью оператора связи.
 Обзор решений Cisco Prime для управления сетью оператора связи.  Обзор решений Cisco Prime для управления сетью оператора связи.
Обзор решений Cisco Prime для управления сетью оператора связи. Cisco Russia
 
Обзор решения Cisco Prime для управления сетью IP/NGN.
Обзор решения Cisco Prime для управления сетью IP/NGN. Обзор решения Cisco Prime для управления сетью IP/NGN.
Обзор решения Cisco Prime для управления сетью IP/NGN. Cisco Russia
 
Обзор возможностей Prime Infrastructure по управлению ИТ инфраструктурой
Обзор возможностей Prime Infrastructure по управлению ИТ инфраструктуройОбзор возможностей Prime Infrastructure по управлению ИТ инфраструктурой
Обзор возможностей Prime Infrastructure по управлению ИТ инфраструктуройCisco Russia
 
Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...
Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...
Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...Cisco Russia
 
Better Data Center Infrastructure Management
Better Data Center Infrastructure ManagementBetter Data Center Infrastructure Management
Better Data Center Infrastructure ManagementViridity Software
 
DC architectures future proof
DC architectures future proofDC architectures future proof
DC architectures future proofGuido Frabotti
 
JUNOS - Monitoring and Troubleshooting
JUNOS - Monitoring and TroubleshootingJUNOS - Monitoring and Troubleshooting
JUNOS - Monitoring and TroubleshootingZenith Networks
 
Characteristics of a network operating system
Characteristics of a network operating systemCharacteristics of a network operating system
Characteristics of a network operating systemRon McGary
 
Juniper Srx quickstart-12.1r3
Juniper Srx quickstart-12.1r3Juniper Srx quickstart-12.1r3
Juniper Srx quickstart-12.1r3Mohamed Al-Natour
 
Junos routing overview from Juniper
Junos routing overview from JuniperJunos routing overview from Juniper
Junos routing overview from JuniperNam Nguyen
 

Viewers also liked (20)

Junos space seminar
Junos space seminarJunos space seminar
Junos space seminar
 
Junos Space SDK: Unlocking Data for Developers
Junos Space SDK: Unlocking Data for DevelopersJunos Space SDK: Unlocking Data for Developers
Junos Space SDK: Unlocking Data for Developers
 
Navigating dc architectures tech&amp;sales
Navigating dc architectures tech&amp;salesNavigating dc architectures tech&amp;sales
Navigating dc architectures tech&amp;sales
 
Junos Space UX Toolkit- Juniper Networks: Summer Intern
Junos Space UX Toolkit- Juniper Networks: Summer InternJunos Space UX Toolkit- Juniper Networks: Summer Intern
Junos Space UX Toolkit- Juniper Networks: Summer Intern
 
Cisco Prime Infrastructure 2.0 Единое управление
Cisco Prime Infrastructure 2.0 Единое управлениеCisco Prime Infrastructure 2.0 Единое управление
Cisco Prime Infrastructure 2.0 Единое управление
 
Datacenter
DatacenterDatacenter
Datacenter
 
Технологии ЦОД. Virtual Chassis Fabric
Технологии ЦОД. Virtual Chassis FabricТехнологии ЦОД. Virtual Chassis Fabric
Технологии ЦОД. Virtual Chassis Fabric
 
Обзор решений Cisco Prime для управления сетью оператора связи.
 Обзор решений Cisco Prime для управления сетью оператора связи.  Обзор решений Cisco Prime для управления сетью оператора связи.
Обзор решений Cisco Prime для управления сетью оператора связи.
 
Обзор решения Cisco Prime для управления сетью IP/NGN.
Обзор решения Cisco Prime для управления сетью IP/NGN. Обзор решения Cisco Prime для управления сетью IP/NGN.
Обзор решения Cisco Prime для управления сетью IP/NGN.
 
Обзор возможностей Prime Infrastructure по управлению ИТ инфраструктурой
Обзор возможностей Prime Infrastructure по управлению ИТ инфраструктуройОбзор возможностей Prime Infrastructure по управлению ИТ инфраструктурой
Обзор возможностей Prime Infrastructure по управлению ИТ инфраструктурой
 
Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...
Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...
Использование Cisco Prime Infrastructure для мониторинга, управления и оптими...
 
Better Data Center Infrastructure Management
Better Data Center Infrastructure ManagementBetter Data Center Infrastructure Management
Better Data Center Infrastructure Management
 
Juniper Trouble Shooting
Juniper Trouble ShootingJuniper Trouble Shooting
Juniper Trouble Shooting
 
DC architectures future proof
DC architectures future proofDC architectures future proof
DC architectures future proof
 
JUNOS - Monitoring and Troubleshooting
JUNOS - Monitoring and TroubleshootingJUNOS - Monitoring and Troubleshooting
JUNOS - Monitoring and Troubleshooting
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Characteristics of a network operating system
Characteristics of a network operating systemCharacteristics of a network operating system
Characteristics of a network operating system
 
Network operating system
Network operating systemNetwork operating system
Network operating system
 
Juniper Srx quickstart-12.1r3
Juniper Srx quickstart-12.1r3Juniper Srx quickstart-12.1r3
Juniper Srx quickstart-12.1r3
 
Junos routing overview from Juniper
Junos routing overview from JuniperJunos routing overview from Juniper
Junos routing overview from Juniper
 

Similar to An In-Depth Look at Junos Space SDK

Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJuniper Networks
 
Imaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environmentdeepers
 
WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011Fumiko Yamashita
 
Oracle - Soluções do device ao Datacenter
Oracle - Soluções do device ao DatacenterOracle - Soluções do device ao Datacenter
Oracle - Soluções do device ao DatacenterGeneXus
 
Jornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: AlljoynJornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: Alljoynvideos
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsPankesh Patel
 
Network Programmability for Developers: Why It's Time to Care
Network Programmability for Developers: Why It's Time to CareNetwork Programmability for Developers: Why It's Time to Care
Network Programmability for Developers: Why It's Time to CareLauren Cooney
 
A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09Artur Alves
 
Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)Juniper Networks
 
Improve Foundations (EN)
Improve Foundations (EN)Improve Foundations (EN)
Improve Foundations (EN)dduquenne
 
Riverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application DirectorRiverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application DirectorRiverbed Technology
 
Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)Juniper Networks
 
Experiencias únicas móviles con tecnologías de última generación- Qualcomm
Experiencias únicas móviles con tecnologías de última generación- QualcommExperiencias únicas móviles con tecnologías de última generación- Qualcomm
Experiencias únicas móviles con tecnologías de última generación- Qualcommvideos
 

Similar to An In-Depth Look at Junos Space SDK (20)

Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, Innovation
 
Imaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About Us
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environment
 
Ericsson Labs 090702
Ericsson Labs 090702Ericsson Labs 090702
Ericsson Labs 090702
 
WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011WebLogic Consolidation Webcast 27 Jan 2011
WebLogic Consolidation Webcast 27 Jan 2011
 
Oracle - Soluções do device ao Datacenter
Oracle - Soluções do device ao DatacenterOracle - Soluções do device ao Datacenter
Oracle - Soluções do device ao Datacenter
 
Jornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: AlljoynJornada Formativa Qualcomm y Movilforum: Alljoyn
Jornada Formativa Qualcomm y Movilforum: Alljoyn
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of Things
 
Network Programmability for Developers: Why It's Time to Care
Network Programmability for Developers: Why It's Time to CareNetwork Programmability for Developers: Why It's Time to Care
Network Programmability for Developers: Why It's Time to Care
 
A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09A.Alves Sun GlassFish Portfolio preso - JavaPT '09
A.Alves Sun GlassFish Portfolio preso - JavaPT '09
 
The SDN Opportunity
The SDN OpportunityThe SDN Opportunity
The SDN Opportunity
 
Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)Programmable Networking is SFW (JavaOne presentation)
Programmable Networking is SFW (JavaOne presentation)
 
JavaOne Keynote: Programmable Networking is SFW
JavaOne Keynote: Programmable Networking is SFWJavaOne Keynote: Programmable Networking is SFW
JavaOne Keynote: Programmable Networking is SFW
 
Improve Foundations (EN)
Improve Foundations (EN)Improve Foundations (EN)
Improve Foundations (EN)
 
Riverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application DirectorRiverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application Director
 
Programmable WAN Networking is SFW
Programmable WAN Networking is SFWProgrammable WAN Networking is SFW
Programmable WAN Networking is SFW
 
Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)Programmable WAN Networking is SFW (Open Networking Summit version)
Programmable WAN Networking is SFW (Open Networking Summit version)
 
Java CAPS
Java CAPSJava CAPS
Java CAPS
 
Shifting the Network Paradigm: Network Programmability
Shifting the Network Paradigm: Network ProgrammabilityShifting the Network Paradigm: Network Programmability
Shifting the Network Paradigm: Network Programmability
 
Experiencias únicas móviles con tecnologías de última generación- Qualcomm
Experiencias únicas móviles con tecnologías de última generación- QualcommExperiencias únicas móviles con tecnologías de última generación- Qualcomm
Experiencias únicas móviles con tecnologías de última generación- Qualcomm
 

More from Juniper Developer Resources Cooney (10)

OpenFlow Overview
OpenFlow OverviewOpenFlow Overview
OpenFlow Overview
 
Hybrid Programmable Forwarding Planes: BoF Session
Hybrid Programmable Forwarding Planes: BoF SessionHybrid Programmable Forwarding Planes: BoF Session
Hybrid Programmable Forwarding Planes: BoF Session
 
Network Innovation with Open Software
Network Innovation with Open SoftwareNetwork Innovation with Open Software
Network Innovation with Open Software
 
Network Information Factories
Network Information FactoriesNetwork Information Factories
Network Information Factories
 
Junos Space SDK
Junos Space SDKJunos Space SDK
Junos Space SDK
 
Junos SDK Data Sheet
Junos SDK Data SheetJunos SDK Data Sheet
Junos SDK Data Sheet
 
Macadamian And Junos SDK
Macadamian And Junos SDKMacadamian And Junos SDK
Macadamian And Junos SDK
 
For Developers: Why Should I Care about Programmability
For Developers: Why Should I Care about ProgrammabilityFor Developers: Why Should I Care about Programmability
For Developers: Why Should I Care about Programmability
 
Joulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success StoryJoulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success Story
 
The New Network is Programmable with Junos
The New Network is Programmable with JunosThe New Network is Programmable with Junos
The New Network is Programmable with Junos
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

An In-Depth Look at Junos Space SDK

  • 1. JUNOS SPACE SDK Ivan Vojvodić Sr. Director, DBU
  • 2. SETTING THE AGENDA FOR THE NEXT DECADE 2 Copyright © 2011 Juniper Networks, Inc. www.juniper.net Transforming the experience and economics of networking
  • 3. THE PLACE OF THE NETWORK 3 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 4. CHANGES IN THE WORLD OF NETWORKING The Evolution of a Platform SINGLE MULTI GENERAL PURPOSE PURPOSE PURPOSE Simple Functionality Feature Phone App Enabled Devices 4 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 5. THE NEW NETWORK EQUATION Network Innovation Ecosystem Innovation The New Network High Performance Networking Developer Solutions Accelerated Innovation Fast New, better experiences Agile Secure Innovative New flexibility & agility Scalable RAD New customer solutions Reliable Open Simple $ New revenue sources layers of software instead of layers of protocols 5 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 6. OUR MISSION AND COMMITMENT TO DEVELOPERS CONNECT EVERYTHING from Client, through the Network, to the Device SILICON SYSTEMS SOFTWARE 6 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 7. JUNIPER PROGRAMMABLE NETWORK PLATFORMS User Opportunity for Network Application End-point Innovation Layer Network Opportunity for Across- Application the-network Innovation Layer Network Opportunity Device for On-device Innovation Layer 7 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 8. OPEN, NETWORK-CENTRIC APP PLATFORM CHALLENGES SOLUTION BENEFITS FOR DEVELOPERS “…there’s no Open, Extendable, Flexible and • Easy Monetization standard way to Powerful Network Application and tap into the Orchestration Platform • Open App Platform network.” • Language Independent “…long / complex dev cycles.” • Network Abstraction “…I need an end-to-end view.” • Flexible Integration “…I’m not a networking expert.” Junos Space Development Platform • RAD, Quicker GTM “ “… high complexity of networks and services” Toolkit APIs “…leverage investment in existing OSS/BSS solutions.” “…end to end service mgmnt.” 8 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 9. SOFTWARE = PLATFORM + APPS OLD WAY NEW WAY Application Innovation  Focus on innovation  Expensive and Reduce Application  Reduce production costs inefficient developer Innovation  Increase speed of time to development  Consistency, System, innovation security and Platform,  An SDK decouple velocity of performance lapses Interfaces, application innovation from and platform innovation Foundation Development Software Development Kit + Platform 9 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 10. JUNOS SPACE SDK Innovate Accelerate Collaborate Community of Insight into the network Reduce time, complexity partners and developers Powerful toolset: Extend to boost value Access existing customers Eclipse, RESTful APIs End to end service Accelerate through Gain expert knowledge! and data correlation collaboration Innovate with Junos Space Accelerate development cycle Training, support + leverage Platform utilizing a direct with open, extendable and partnerships to influence and access to network data and powerful development monetize. resources platform and toolkit 10 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 11. UNLOCK THE POWER OF THE NETWORK Action Value Configure Filter Provision GENERATE Correlate Dynamic Policy Combine AFFECTS INSIGHT Assets Data Inventory History CREATE Real-time Networking Devices, Servers, Databases, Applications etc. 11 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 12. THE JUNOS SPACE PLATFORM HOW DO YOU TURN NETWORK DATA INTO KNOWLEDGE? Junos Space All controlled from your browser Management, Analytics, Monitoring, Orchestration 12 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 13. ANSWER: Add network operations insight to businesses, and business insight to network operations Other Business Space UI: Systems RESTful Web Services Abstract the Network Native RESTEasy Servlet (JAX-RS) Stateless Session Beans or MDBs (Business Logic) Service Application(s) RESTful Resource Class @Stateless @Path(“/foo”) Application(s)Inject Service JPA public class FooEjb {} public class FooResource { @EJB private FooEJB fooEjb; } Web Container EJB Container JBoss Java EE Application Server Database Server DMI Network Junos Space Fabric/Cluster: 13 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 14. PROGRAMMABLE NETWORK APPLICATION PLATFORM Network Activate ● Virtual NM ● Security ● OSS ● BSS ● Green/Energy Control ● Service Now ● ● Adapters (MTOSI,…) ● … others … others FLEXIBLE Juniper Apps 3rd Party Apps POWERFUL APPLICATIONS Junos Space RESTful Web Service PROGRAMMABLE Device & Network Abstraction Services Infrastructure Services Topology JUNOS SPACE PLATFORM Open Network Application Network Interface (DMI) Platform 14 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 15. HIGH LEVEL JUNOS SPACE ARCHITECTURE Network Activate ● Virtual OSS ● BSS ● Green/Energy ● Adapters APIs & Libraries Control ● Service Now ● (MTOSI,…) ● … others … others Interface Services RESTful wrappers, RBAC (UI, NBI), Application Deployment, UI,… Juniper Apps 3rd Party Apps APPLICATIONS Device and Junos Space RESTful Web Service Network Infrastructure Abstraction Services Device & Network Abstraction Services Infrastructure Services Services Local Persistence JUNOS SPACE PLATFORM Platform Management Network Interface (DMI) Junos Space Functional Architecture 15 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 16. JUNOS SPACE SDK - WHAT’S INSIDE THE BOX Powerful, integrated, familiar developer environment APIs Developer Tools Community DEVICE API Eclipse Logging + Developer & NETWORK IDE debugging Guide Reference ABSTRACTION Guide SERVICES APIs Reference Device Platform & Simulator Inline help Simulators Sample Apps INFRSTRUCTURE SERVICES APIs Support UI Builder UI Library and Training Forums JUNOS SPACE SDK 16 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 17. THE POWER OF ABSTRACTION Mastering complexity vs extracting simplicity 17 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 18. THE POWER OF ABSTRACTION Example of NOT extracting simplicity 18 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 19. THE ROLE OF APIS Good example of extracting simplicity: Abstractions Interfaces (APIs) are instantiations of abstractions Interfaces shield from low-level details Allow freedom of implementation (on both sides) They do not remove complexity, just hide it! Extracting simplicity example: 19 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 20. JUNOS SPACE APIs DEVICE NETWORK & DEVICE & NETWORK CONFIGURATION DEVICE DEVICE MGMT SCRIPT MGMT Device & Network SOFTWARE S/W Image Mgmt ABSTRACTION MGMT SERVICE INVENTORY SERVICE SERVICE MGMT SERVICE Device Mgmt Config Mgmt SERVICE inventory SERVICES APIs Modify device Archive raw and configuration using Discover devices in Archive JunoScripts Archive Device expanded device Change Requests the network on Space Software configurations Configuration Network & Device Fetch Device Upload and execute Manage software Templates inventory Syslog scripts on devices versions on devices Archive Configurations Execute CLI Execute Op Scripts, Upload software to Logical and using Configuration commands via Event Scripts and one or more Physical inventory Files NetConf RPC Commit Scripts devices INFRA SERVICES APIs USER MGMT. & JOB APP LIFE CYCLE TAGGING & API DISCOVERY AUTHENTICATION MANAGEMENT MANAGEMENT FILTERING Create, Read, Create, Read, Manage Discover the Update and Delete List of active and Update and Delete Applications services exposed operations on Users completed jobs application defined installed on Space by the platform Tags Determine status of Specify and Associate tags with Discover the Manage User Roles job execution Configure run time objects defined in services exposed & Capabilities including Job parameters for your applications by applications Details applications User Authorization Ability to create new Read the meta data and Authentication Control Application Search and Filter Jobs and cancel a associated with the (includes external Lifecycle using Tags running job services authentication) 20 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 21. JS SDK - DEVELOPMENT TOOLKIT 1 2 3 4 5 Plug-in for Logging & Platform Device UI Builder Eclipse Debugging Simulator Simulator New Application Drag & Drop UI Debug and test Junos compatible Chainsaw Logger Components applications device simulation EJB to REST Module definition Static Analysis Space UI Qualify apps on using PMD Components Scale testing Space platform Application packaging and licensing 21 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 22. JS SDK COMMUNITY Docs & Support Junos Space SDK Junos Space SDK Developer community Sample applications Documentation Training and forums Online Developer App Developer Guides Training JDN API Reference Guide 1 day hands-on training JS SDK Download SDK Installation Guide 3 day expert training JS SDK Forum Juno Space Platform Built-in Reference Training 22 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 23. DEVELOPMENT ENVIRONMENT All you need is one laptop. Host OS Browser VM Host Junos Space Application UI Application Eclipse Junos Space IDE Simulated Devices 23 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 24. APPLICATION EXAMPLE SUSTAINABILITY & COMPLIANCE: KNOWLEDGE GLOBAL CHALLENGE APPROACH SOLUTION Lack of holistic energy usage Leverage Junos Space to  Comprehensive energy metric to reduce cost and retrieve device level energy insight carbon emissions and its usage and integrate to a  Combination of IT & facility impact on operations in a system of energy energy data global scale. measurement, analysis and  Sustainability compliant reporting, EMMA. reports 1 2 3 Retrieve IT resource power consumption devices The Network Generate sustainability & compliance Facilities reports – Greenhouse reports Gas 24 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 25. EMMA - ARCHITECTURE OVERVIEW Melbourne 25 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 26. KG API-S + CODE SAMPLE… REST API Description api/space/device- The API queries the space instance to get the devices connected. This command returns the management/devices device id’s, status and associated information on each device. This is used to determine the devices on line before querying the devices using the RPC calls. REST API RPC command Description api/space/device- get-interface-information The API allows an RPC command to be executed. This RPC command gets management/devices/exec-rpc detailed information around the interfaces on the device. We used the statistics information set to calculate total data throughput across the interfaces. This command is periodically polled to the devices. api/space/device- get-environment-pem-information The API allows an RPC command to be executed. This RPC command gets management/devices/exec-rpc detailed information around the power modules in the device. This command is periodically polled to the devices so we can determine aggregated power consumed ISSUE <get-environment-pem-information> RPC COMMAND private static String DEVICES_URL = "/device-management/devices"; private static String API_RPC_URL_PRE = "/api/space/device-management/devices/"; private static String API_RPC_URL_POS = "/rpc"; ….. private static final String ENV_PEM_CMD = "<get-environment-pem-information/>"; … public String getDeviceReading(String deviceId, String rpcCommand){ String sret = ""; String apiURL = baseURL + API_RPC_URL_PRE + deviceId + API_RPC_URL_POS; … request.accept(acceptType); String data="<netconf><rpcCommands><rpcCommand><![CDATA[" + rpcCommand + "]]></rpcCommand></rpcCommands></netconf>"; request.body(contentType, data); ClientResponse<String> cresp = request.post(String.class); int respStatus = cresp.getStatus(); 26 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 27. KNOWLEDGE-GLOBAL DEMO VIDEO 27 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 28. OPEN FOR APPLICATIONS & INTEGRATION Application and services platform to address real-world challenges Independent System Service Software Enterprise Integrators Provider Vendors APP CHOICES RICH APPS EXTENSION MASHUPS RICH APPS MASHUPS NATIVE NON-NATIVE APIs Device & Network Infrastructure Abstraction Services Services 28 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 29. JS SDK APPLICATION TYPES APP CHOICES RICH APPS EXTENSION MASHUPS RICH APPS MASHUPS NATIVE NON-NATIVE RICH APPS MASHUPS MASHUPS RICH APPS EXTENSION UI Component UI Component UI Component UI Component Web Service Web Service Component Component Web Service Server-side Component Server-side Component Component Server-side Component Externally Hosted Apps JUNOS Space Platform Hosted Apps Junos Space Platform API Services Stack 29 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 30. NON-NATIVE RICH APP :: INTEGRATION EXAMPLE:  Both native and non-native apps can NON-NATIVE access platform services and bus. logic. RICH APP  Non-native Apps enable the delivery of modular functionality with the ability to plug-in new capabilities/ customizations based on need  Platform and hosted Apps expose RICH APPS EXTENSION MASHUPS RESTful Web Services that can act as a UI Component UI Component Northbound Interface out of the platform Web Service Web Service for external Apps/Services to consume Component Component Server-side Server-side  Adaptors can be created for technology Component Component specific NBI.  Examples - MTOSI, TMF 814, etc … RESTful Web Services Junos Space Network Application Platform 30 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 31. LANGUAGE INDEPENDENT NETWORK ABSTRACTION API Get identifier for device https://127.0.0.1/api/space/device-management/devices?filter=(name eq ‘Torino’) XML Option for JSON 31 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 32. JUNOS SPACE API AND JAVA EXAMPLE Java pg1 package test; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.HttpStatus; import org.codehaus.jettison.json.JSONObject; import org.jboss.resteasy.client.ClientRequest; import org.jboss.resteasy.client.ClientResponse; Import org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor; Java pg2 public class RESTdevice { private static String SpaceURL; Specify RESTful service private static ApacheHttpClientExecutor clientExecutor; ClientRequest request = new ClientRequest(url, clientExecutor); Issue RESTful service request to request arguments public static void main(String[] args) { get network device info System.out.println("==> GET " + url); SpaceURL = "http://127.0.0.1:8080"; string url = SpaceURL + ClientResponse<String> response = "/api/space/device-management/devices/229389"; request.get(String.class); // GET method UsernamePasswordCredentials credentials = if (HttpStatus.SC_OK != response.getStatus()) { new UsernamePasswordCredentials(args[1], args[2]); throw new Exception("Could not get device: " + response.getStatus()); Process the response HttpClient httpClient = new HttpClient(); } httpClient.getState().setCredentials(AuthScope.ANY, credentials); httpClient.getParams().setAuthenticationPreemptive(true); JSONObject jsonObject = new JSONObject(response.getEntity()); clientExecutor = new ApacheHttpClientExecutor(httpClient); } } 32 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 33. JUNOS SPACE API AND .NET C# EXAMPLE Hammock open source lib To enable easy REST Create User Auth Cred object Create RestClient object w/ FQ URL to the API. Assign ACCEPT header to request for XML Create + Associate RestRequest object w/ the Cred object Submit GET request and receive RestResponse and print response.Content 33 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 34. JUNOS SPACE API AND PERL EXAMPLE Perl #!/usr/bin/perl use REST::Client; # Used for invoking RESTful APIs on Space use MIME::Base64; # Used for encoding userid and password use XML::LibXML; # Used for parsing XML responses from Space my $client = REST::Client->new(); my $headers = { Authorization => 'Basic ' . encode_base64($userid . ':' . $password), "Content-Type" => "application/x-www-form-urlencoded" }; Issue RESTful service request to get network device info $client->GET('http://127.0.0.1:8080/api/space/device-management/devices/229389', $headers); if ( $client->responseCode() == 200 ) { my $xmlResponse = $client->responseContent(); $xs = XML::LibXML->new(); $doc = $xs->parse_string($xmlResponse); } else { print $client->responseCode()."n"; Process the response } 34 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 35. JUNOS SPACE API AND PYTHON EXAMPLE import simplejson import httplib, urllib method = "GET" host = "http://127.0.0.1:8080" uri = "/api/space/device-management/devices/229389" body = "" headers = { "Content-Type": service request to get Issue RESTful "application/x-www-form-urlencoded", } network device info def request(method, host, uri, body, headers = {}): conn = httplib.HTTPConnection(host) conn.request(method.upper(), uri, body, headers) response = conn.getresponse() print response.status, response.reason if response.status == 200: """ Load a JSON data obj = simplejson.loads(response.read()) """ obj = response.read() return obj else: Process the print response.status, response.reason, response.read() conn.close() response """ Execute the HTTP call """ request(method, host, uri, body, headers = {}): 35 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 36. JUNOS SPACE API AND PHP EXAMPLE PHP pg1 PHP pg2 <?php require_once 'HTTP/Client.php'; /*------- $url = "http://127.0.0.1:8080/api/space/device- * CURL synchronous call management/devices/229389"; */ $headers = array( function request($method, $url, $headers = array(), "Content-Type" => "application/x-www-form- $body) { urlencoded", $conn = curl_init(); ); curl_setopt($conn, CURLOPT_URL, $url); $body = ""; curl_setopt($conn, CURLOPT_HTTPHEADER, $headers); /*------- RESTful service request to get curl_setopt($conn, CURLOPT_USERAGENT, Issue "HTTP4e/3.0"); * HTTP_Client call network device info (http://pear.php.net/package/HTTP_Client) curl_setopt($conn, CURLOPT_CUSTOMREQUEST, */ strtoupper($method)); $client = new HTTP_Client(); curl_setopt($conn, CURLOPT_POSTFIELDS, $responseCode = $client->get( $url, $headers) $xml_data); curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1); echo $responseCode $data = curl_exec($conn); $code = curl_getinfo($conn, CURLINFO_HTTP_CODE); $resp = $client->currentResponse(); echo $code $data = $resp['body']; curl_close($conn); return $data; echo $data } // load XML data ?> //$dom = new DomDocument(); //$dom->loadXML( $data ); Process the response 36 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 37. THE POWER OF RESTful APIs APP APP 1 2 Native + Extension HTTP Apps can extend the platform, by way of exposing their own APIs for other Apps Junos Space APP 1 APP 2 No hard dependency to consume. Platform Stack Provided service Provided service between high level apps Mash-up service to allow 3rd party APP 1 soft dependency 3rd party APP 2 JUNOS SPACE PLATFORM RESTful API - exposed 37 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 38. BUILDING AND DEPLOYING APPS Developer Workflow System Administrator Workflow Download and Install Junos APIs, Simulators, Test + Space SDK Build Environment Developer Code Loads the app on Junos Space Application Binary Developer Support Certificate Signed Application Package 38 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 40. ARCHITECTURE DEVICE HEALTH MONITOR APP REST Google Browser Clients Mashup Device Health Monitor App XML/JSON Google HTTP DataTable UI Layer REST Web-Service Google DataSource Layer API EJB Layer Uses Space API to monitor device health & traffic Junos Space Platform 40 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 41. SPACE GUI DEVICE HEALTH MONITOR APP List of Devices Basic Health Traffic Chassis View Parameters Statistics 41 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 42. GOOGLE MASHUP GUI DEVICE HEALTH MONITOR APP External GUI using JavaScript/HTML Invokes the Google DataSource APIs implemented by our Health Monitor App Uses the following Visualization API from Google:  Table  Gauge  AreaChart 42 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 43. MASHUP GUI SPACE PLATFORM API + APPS API + GOOGLE API External GUI using JavaScript/HTML Mashup between  Space Platform APIs  To obtain devices based on tags  TagIt API  To automatically tag devices  HealthMon API  To collect traffic data for devices  Google Visualization API  Geo Map to depict concentration of devices across locations  Motion Chart to depict change in traffic patterns across locations 44 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 45. EXAMPLE: NETWORK VIRTUALIZATION CHALLENGE APPROACH SOLUTION Goal: Take a distributed multiple Old: Manually configure devices which Application: domain, site, layer, tenant network and are harder to adapt quickly Virtual Switch use OpenFlow switches to virtualize a simpler network New: Benefits: • Use Big Switch’s OpenFlow controller • Reduces operational complexity and Target: to create “virtual L2 switches.” expense • Data Center Networks • Make the selected nodes look as if • Rapid to setup/tear-down (allocate servers on demand to the they are locally connected. appropriate datacenter L2 network • Cheap/free to change • Use Junos Space as the platform to independent of network /VLAN design) integrate and deliver this solution. • Isolated from other users • User chooses the : Technology: • Connections, VLANs, ACLs… • Juniper OpenFlow-enabled device run the OpenFlow app built with the Junos SDK. Availability: • The Virtual Switch app is implemented OpenFlow: Any Juniper Networks with the Junos Space SDK. systems supporting Junos control-plane applications Virtual Switch: Junos Space Partner: Big Switch Networks Application: Virtual Switch 46 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 46. THE CONCEPT – SIMPLIFY THE NETWORK Group together devices and separate the groups with a virtual switch 47 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 47. THE SOLUTION – NETWORK VIRTUALIZATION A simple switch connects only the hosts for a specific application/usecase/tenant: • Rapid to setup/tear-down • Cheap/free to change • Isolated from other users • Self-managed: • User choose the connections • User chooses the VLANs • User chooses the ACLs … Allow the Customer to define the logical networks they need 48 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 48. JUNOS SPACE INTEGRATION Junos Space Server Big Switch Controller Junos Space VM (manages OF switches) (manages rest of devices) RESTful Web Service APIs 49 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 49. TECHNICAL CHALLENGES SOLVED BY JUNOS SPACE Building good user interface is hard “Junos Space has done the “heavy lifting” of designing, implementing and integrating all the components required for a unified and complete management application.” Good network knowledge/access is rare “Junos Space SDK has made the network „plumbing‟ information available in comprehensive and easy-to-use REST APIs (as opposed to the nightmare of brittle screen scraping with expect), enabling enterprise-class solutions.” 50 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 50. BUSINESS CHALLENGES SOLVED BY JUNOS SPACE Reduced cost of development “By building on a complete platform, we greatly reduced the cost of developing the feature. We could focus on the novel and differentiated solution for our customers without spending significant engineering time on plumbing/infrastructure that Junos Space already has.” Quicker go-to-market “Very simply, getting to market quickly is crucial for everyone, but especially for a startup. Junos Space means we‟re quicker to market with a complete solution.” Larger reach “By integrating with Junos Space, we made our solution far more accessible to a large section of our target market.” 51 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 51. REFLECTIONS AND LOOKING FORWARD This is a new way to do network app development and delivery: • It’s all about layers of software (not layers of protocols) – think web application servers, mobile frameworks • Enabling rapid application development • Junos Space provides the overall application/management platform and coordination functionality 52 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 52. JUNOS SPACE SDK DEVELOPMENT ORGANIZATIONS big switch More than 300 Junos Space SDK 53 Copyright © 2011 Juniper Networks, Inc. www.juniper.net DEVELOPMENT ORGANIZATIONS
  • 53. KEY PLATFORM BENEFITS Developer Experience • Enables Focus on Innovation • Enables RAD and Quicker GTM Easy Monetization • Junos deployed base as a first target market Architecture • Hot pluggable apps • Language independent • Open application platform with RestFull APIs • Flexible integration options • Built in HA /Carrier Grade capabilities Service Design • Ability to extend the services • Network/service abstraction 54 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 54. LEARN MORE Using the SDK gives you the tools and the power to achieve requirements outside of the std. NPI process. You can leverage apps in the pipeline, guide customers, SIs and/or develop solutions yourself. On the Juniper Matrix: Email Aliases: • Junos Space SDK download • JS-DE@juniper.net http://www.juniper.net/us/en/products-services/junos- developer/space-sdk-registration/ • TT-SPACE- SDK@juniper.net • Junos Space SDK Info Follow us on Twitter: https://matrix.juniper.net/community/products/nm/junosspacesdk @ivojvodic @junosdeveloper • Junos Space SDK Forum http://forums.juniper.net/t5/Junos-Space-Developer/bd-p/JSD 55 Copyright © 2011 Juniper Networks, Inc. www.juniper.net
  • 55. EXTERNAL TO JUNIPER: VISIT juniper.net/developer FOLLOW @junosdeveloper CONTACT HelpMeBuildMyApp@juniper.net
  • 56. THANK YOU! innovation juniper.net/developer

Editor's Notes

  1. Objective of this slide:Set the stage for who we are, our vision and why Juniper in summaryNetworks are becoming more relevant in the world we live in today, and at Juniper Networks we believe the network can create a connected planet that unleashes a great wealth of possibility, innovation, and discovery that cannot be measured. But the demands on the network are changing rapidly and require a new approach. Cloud computing and the mobile Internet are two macro trends driving an exponential increase in traffic volume, new services, and new subscribers around the world today. These trends will define the next decade, with broad implications for the technology industry, and for network innovation in particular. In the face of this increased demand, legacy approaches to networking are proving unsustainable, too expensive, too complex, and simply cannot scale nor extend themselves to customization of solutions.It’s Time for a New NetworkAt Juniper Networks, we believe, It’s Time for “The New Network” and WE are leading the charge to architecting the new network. At the heart of the new network is our promise to transform the economics and experience of networking for our customers. We offer a high-performance network hardware and software infrastructure built on simplicity, security, openness, and scale AND delivering on Flexible, Powerful and Programmable platform that is at the heart of it all. We are innovating in ways that empower our customers, our partners, and ultimately everyone in a connected world.Our products and technologies run the world’s largest and most demanding networks today, enabling our customers to create value and accelerate business success within the new, rapidly changing global marketplace. Our customers include the top 130 global service providers, 96 of the Global Fortune 100, as well as hundreds of federal, state and local government agencies and higher education organizations throughout the world.Software play mention:With our established and industry acclaimed networking hardware, and combined w/ the power of our Flexible, Powerful and Programmable software platform, we enable businesses and consumers to maximize the potential of their products and services and meets the infrastructure needs of the next decade.We believe At Juniper, we are convinced that by combining the power of h/w w/ s/w, we enable our customers to become more agile, dynamic and adapt to the growing needs of their internal and external customers. With this vision, through strong industry partnerships, Juniper Networks is fostering a broad h/w and s/wecosystem of innovation across the network. Our core competencies in hardware systems, silicon design, network architecture, and our open cross-network software platform are helping to propel the new network.Transition to next slide:There are immense amount of opportunities out there and around us; Juniper is spear-heading the drive to Enable the developer in us thru our Programmable Network Platform…But, what does that mean…
  2. Objective of this slide:Speaking of opportunities around us as an intro. But, key point we are driving here is that “At Juniper it is in our DNA to ENABLE our developers to EXTEND the network, BUILD custom, end-to-end solutions” . We will also reiterate the 3 principles as a guiding light for how we will do that.As you and I go talk w/ our customers and partners, we quickly come to know that “network” means many things to many people.When speaking w/ Network DEVELOPERS, they commonly ask about, “deep packet inspection, provisioning, BI, Network Risk and Security Analytics, Application Performance and Acceleration, network performance monitoring”, etc.When I talk w/ someone in my family - say my mom, she’s asking about what we can do to help her w/ some soln w/ email or w/ my daughter (or cousin or niece) about “facebook”What do all of these have in common, “They all deal w/ the n/w and extending the n/w thru custom solns that solve specific business problem.” At Juniper, it’s in our DNA to enable our developers to do exactly that. You will see today that we have built a flexible platform that allows developers like YOU and I to build, extend and GTM w/ new solutions – quickly, effectively and easilyJuniper empowers our developers to focus heavily on innovation and less on the plumbing aspects. We realize that to make developers successful, they need a powerful yet flexible “programmable network” – this is “The New Network”What is THE opportunity(s) for YOU ???End of the day, we only have 3000+ folks in our R&amp;D and we will NEVER have enough developers w/i the company to build the solns that the customers need to solve their business problems. We rely on YOU – the developer, to build awesome network aware solutions and fill those gaps for us.Juniper has built a powerful platform and the developer tools to ENABLE YOU to do exactly that quickly, easily, and effectively.Transition to the next Slide:The technology is evolving faster than ever, WE as developers are faced w/ that challenge every single day and WE NOW have an enablement to face those challenges as an OPPORTUNITY to address the needs that arise due to that rapid evolution…
  3. Objective of this slide:Highlight that the industry is fast evolving. We are in THE MOMENT of opportunity. NOW is a great time for us developers to be a part of this evolution and embrace the opportunities. The slide transitions into the next “developer pain points” slide w/ a note that, “Yes, we have opportunities out there. But, to go solve those opportunities, there needs to be a strong developer story”We at Juniper believe that NOW is a great time for US developers to be in to addressing the needs of evolving technology.If you looked at the history of the network industry, it HAS and continues to evolve. Today, We know a certain realm of problems. And, tomorrow us developers will face a whole new set of problems to solve and actively engage in those opportunities. We had the days of POT Service - it was Plain OldTelephoneOver time, that turned into “Feature phones” -- where we could do many things w/ and that brought us the smart phones that ran apps. To Today’s…General purpose devices that is slowly becoming the business and casual “must have”.We see this as a great window of opportunity for our developers, and gives us the opportunity to address those needs and build solns to fill those gaps using our Platform and our Platform SDKs (Junos and Space).The demand is growing and opportunities are expanding…Ten years ago there were 284 million internet connections. Today there are over 1.67 billion.In 2000, the # of mobile devices worldwide was 700 million. Today it’s over 4 billion.We’ve seen digital music sales increase from $20 million in 2003 to over $3.7 billion today.We’ve gone from chat rooms to video conferences. From dial-up to 4G wireless connections. From downloading a single song to a feature length film.There are more users, doing more things, requiring more bandwidth. T: And what we are seeing is just the beginning.We are entering the connected culture. Where the network becomes part of our daily lives – Personal, business, government, society itself. Transition to next slide:While we all agree there are opportunities out there, YOU and I as developers, also see that WE have a problem in our hands that needs addressing first…===
  4. Objective of this slide:Goal here is to DEFINE, “THE NEW NETWORK”. And, “Why the New Network”. We are combining the strengths of Juniper Hardware layer w/ the power of the programmable software layer (includes, Platform, dev tools, etc) to bring about “Accelerated Innovation” to developers. Again riding on “FLEXIBLE, POWERFUL and PROGRAMMABLE” principles.===The paradigm change Juniper is offering is our comprehensive approach to the New Network; It offers a strong Network Hardware layer, An end to end programmable network platform, our goal is to enabling rapid solutions development for our developers and partners community. the Juniper network hardware layer :FastSecureScalableReliableAnd yet a simple, manageable deployable solution It answers to the demands of businesses for better experience and economics. By combining the strong hardware platform w/ the power of software, we are enabling our developers to become Agile, Innovative and go to market w/ their solutions faster than ever. The end result is a better, flexible, extensible and monetizable Solution to our developers and customersTransition to next slide:So, what does the programmable network has in it. What are our Platform API offerings. Let’s look at a high level the programmable platform components that help us developers march toward the new network
  5. Junos Space platform business proposition – overview.
  6. Objective of this slide:One of the common fears of developers is the amount of net new investment s/he has to make on the platform. “HOW MUCH time do I have to invest in getting started here”. The Goal here is to emphasize the strengths of our SDKs – in that our SDKs come out of the box, comprehensive and enables the developers to focus on INNOVATION and NOT on the plumbing. Goal here is also to stress that we enable GTM faster and efficiently. Re-iterate 3 principles.===In the past developers are forced to create the plumbing before they can start building applications. Much time was spent and wasted in focusing heavily on the foundation aspects than the business and innovation aspects of application development.That’s the reason at Juniper we decided to take a different approach. Where Juniper Platform exposes the needed plumbing thru the SDK and APIs so developers can focus more on innovation and less on the plumbing aspects. Thereby enabling the developers to unlock and expose the network intelligence thru their applications easily, effectively and efficiently.Some of the key benefits our developers are already seeing :Faster development timeGTM quickerMore intelligent applications at a faster time. Less time on the plumbingTransition to the next slideTo summarize in one slide, you as a network developer now have the capability of building a variety of solns on our platform
  7. Space SDK business proposition - overview
  8. Consider a closed loop system that is often used to describe how a company works. Consider the same model in the context of a network. The network infrastructure in terms of the networking devices like routers, switches, security devices combined with the entities that they connect that include the printers, servers, databases, applications form the assets in our model. Typical actions that are taken to affect these assets include permanent actions such as configuration of these devices and provisioning of services in response to customer orders. There could also be dynamic actions such as QoS policy provisioning to ensure sufficient bandwidth during a video streaming event. This is classis network management and there are several systems that offer this capability including Junos Space.What is the major paint point for a developer?Major pain point is that inhibits several developers in doing anything worthwhile beyond the realm of network management is is lack of ability with a platform that can marry the action and asset side of the cycle based on the data that is generated by the asset. Network assets generate a lot of data. This includes fairly static data such as the inventory and configuration of the network, historical information such as logs, and dynamic real-time data such as flow records. All this data by itself is worthless unless you can turn it into value by understanding what it means in the business context and what it might do operationally for the company. What is the solution?What would be useful is if the platform can provide the capability to perform analysis by filtering, collecting and correlating this data with external sources such as real time traffic, weather patterns, click behavior, financial markets etc. For example, the right insight into the data generated from the network when combined with data from external sources could yield a wealth of valuable information about subscribers - who they are, where they are, how often they connect, where they connect from, the duration of usage, the type of services they use, the frequency of these services, their credit profile, etc. This insight will generate intelligent actions – both permanent as well as dynamic – which will tune the networking assets to operate more efficiently as well as generate more value for the company.How does Junos Space and the SDK change the equation in favor of an application innovator?Where Junos Space changes the equation is to marry the Action and Asset side of the cycle on the left with the Data and Value side on the right. It provides the ability to suck in the static and dynamic behavior of the network and analyze this behavior in the context that can be provided by an internal or an external source. The internal source could be an event on the network itself and the external source (as mentioned before) could be some business intelligence or a truly external entity in the form of weather patterns or user behavior etc. Space combines the ability to access the static and the dynamic nature and the wealth of information hidden in them with the ability to combine this data with an internal or an external source. This combined with a highly scalable and resilient platform and a great set of tools that allow developers to easily utilize the wealth information makes Space and Space SDK a great platform to develop the new and the next generation applications.
  9. Junos Space SDK leverages well-known technologies and constructs to create an extremely flexible software development environment by providing a rich set of tools including RESTful APIs, the Eclipse Integrated developer environment, device and platform simulators, reference applications, support tools and complete documentation. Key takeaway: this is more than simply a collection of web services interfaces – Junos Space SDK is a powerful, integrated and a comprehensive developer environment..
  10. Use stick shift as an example. Driving a stick shift is all about mastering complexity. Ask the audience how many can drive the stick shift. Point to them that none of them should define user interface. The ability to master complexity is not the same as the ability to extract simplicity. And you should put effort in the latter! Space platform takes care of the former!
  11. Junos Space Device and Network Abstraction services abstract the complexities of getting insight out of the network. They provide the means and the mechanism to fetch the configuration and operational parameters out the devices in the network. These includeConfiguration Management Service that lets you push change requests on to the network including the ability to create device configuration templates and archive configuration filesDiscover the network inventory including the logical and physical inventory of the network and the devices in the networkDevice Management service that lets you read device configurations (raw configuration that includes configuration groups or expanded that has configuration groups expanded in the device configuration), fetch device syslog using your own filters and execute CLI if required via the NetConf RPC serviceArchive, upload and execute Junoscripts via the the Script Management ServiceManage device software using the Software management service
  12. The development environment just requires one powerful laptop. All the components of the SDK including the Tools that include the Eclipse and the Space Plug-in, the device simulators, the Virtual Machine image of Space and the Oracle Virtual Box to run it - all of them get installed on the same machine. The installation takes you through a short process where in all the components of the SDK get installed.
  13. Knowledge Global is an Australian company (&lt;10 employees) that has developed the sustainability analytics tool called EMMA (Environmental Management Measurement Application). It is a web subscribed knowledge base and analytics engine that allows enterprises to identify and facilitate their management of efficiency opportunities and sustainability impact across their portfolio(s), operations and supply chains. JUNOS Space valueJunos Space provides the access to critically important device level data in a seamless and uncomplicated manner. The energy insight application has blended the Junos Space SDK and EMMA reporting engine to provide sustainability data services that are important to all large (and growing) organisations with networks. The application uses the Junos Space SDK to access the device information in the field (i.e. data centers), passes this data to EMMA for calculation and aggregation. These reports can be accessed through either the EMMA reporting UI, Junos Space UI or exposed data services. Knowledge Global sees Junos Space and the Energy Insight application as the key to solving the smart grid problem of accurately reporting and modelling energy consumption at device, facility and corporation levels. Application DetailsEnergy Insight combines the Junos Space SDK and EMMA reporting engine to provideEnergy consumption at a device levelEnergy cost information at a device levelCarbon equivalent reporting at a device levelEnergy performance KPI’s and benchmarks at a device level (i.e. Watts/Gpbs)Provide forecasting on consumption based on historical performanceThese device level reports of course are important to combine with facility reports (i.e. data center) as it is the device consumption that ultimately influences the overall facility (and corporation) consumption. EMMA already reports for customers at a facility level (using performance benchmarks i.e. PUE)
  14. The EMMA solution using Junos Space SDK addresses thefundamental challenges of aggregating, benchmarking, andreporting energy use at device, facility, and global levels.Integration of the Junos Space SDK has been achieved as follows:• Network devices are added in the Junos Space platform andreplicated in EMMA with configured reporting attributes.• Junos Space SDK simply retrieves data from designated devicesregularly. The data is processed and built into the EMMA database.• Specific reports are presented in a variety of formats includingEMMA dashboards, Junos Space platform interface, as well asWeb services
  15. Here are the APIs
  16. Mashup applications that contain only User Interface components, designed to consume web services exposed by external Apps, hosted Apps and/or the platform.These Apps consolidate existing business logic from JS and ext. resources within single UI Business Logic applications that publish APIs via the platform’s Web Services intefaces for other hosted or external Apps to consume. These Apps do not have a built-in UI.These Apps enable NBI integration and access to, and leverage of, JS platform intelligence on proprietary or 3rd party solutions. These Apps could also be freely distributed versions of a another App required to satisfy dependencies of another App on the JS platform.Native applications with custom business logic, with APIs published via the platform’s Web Services, combined with UI that is accessed from within Junos Space browser UI.These Apps, such as Ethernet Activator, etc., are fully hosted and only accessed from within the JS platform.Mashupapplications that contain only User Interface components, Designed to consume web services exposed by external Apps, hosted Apps and/or the platform.Business Logic applications Published APIs via the platform’s Web Services interfaces for other Apps to consumeNative applications with custom business logic APIs published via the platform’s Web Services, UI accessed from within Junos Space browser
  17. Key takeaway: the environment is programming language agnostic, enabling anyone to onboard and start developing rapidly.An application can take advantage of not only the Junos Space APIs, but also the APIs exposed by other resident Junos Space applications. This openness and flexibility offers a multiplying effect by allowing developers to leverage other innovations on the Junos Space platform – and even expose their own to others through their own APIs.No hard dependency between high level appsBesides module.xml, each app needs to provide app-info.xml to capture packaging and version infoEach app is responsible forinitializing its own databasemigrating its own data during upgradeMash-up Service to allow soft dependencyAllow “soft” dependency between appsApp can mash up with other apps to provide enhanced functionalitiesApp is still functional when its runtime dependency on other apps is not resolvedApp can dynamically enable/disable certain functionality when its dependent apps are deployed