Elaborato Marro Davide Raffaele N46000199

Transcript

Elaborato Marro Davide Raffaele N46000199
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Elaborato finale in Reti di Calcolatori
Metodologie, tecniche e piattaforme per il
monitoraggio delle reti di calcolatori
Anno Accademico 2010/11
Candidato: Davide Raffaele Marro
matr. N46000199
A tutti coloro che hanno sempre
creduto in me …
Indice
Introduzione
4
Capitolo 1. Juniper e Junos
1.1
1.2
1.3
Le reti di nuova generazione
Cos’è Junos
Junos SDK
Capitolo 2. Junos Space
2.1
2.2
2.3
2.4
2.5
Capitolo 3.
4.1
4.2
6
7
8
9
11
La struttura
L’ecosistema
Tecnologia Cloud-Based
Funzionamento
Junos Space SDK
Realizzare un’applicazione
12
13
14
15
17
19
Creare un’applicazione
Conclusioni
21
28
III
Metodologie, tecniche e piattaforme per il monitoraggio delle reti di calcolatori
Introduzione
L'immane sviluppo della tecnologia ha portato i processori, una volta rarissime macchine
possedute da pochissimi utenti, ad essere parte integrante della nostra vita di tutti i giorni.
Ancor più indispensabile è stata la necessità di realizzare più reti che consentissero
l'interconnessione tra le macchine stesse.
Ciò che un tempo sembrava pura fantascienza, oggi è la dolce e felice realtà.
Le reti che consentono ai nostri calcolatori di comunicare, scambiare dati ed informazioni
ad una velocità impensabile sono divenute ormai la base su cui si poggia qualsiasi tipo di
necessità applicativa e personale ... insomma l'intera società moderna fa affidamento alla
ben nota "Rete" per realizzare servizi di qualsiasi genere.
L'ambito delle Reti di Calcolatori, incredibilmente vasto ed interessante, fa acquolina a
studenti, ricercatori e continua ad impegnare gli esperti del settore stesso. E' proprio da
questo fascino che deriva la continua voglia di sviluppare e realizzare tecnologie
all'avanguardia per rendere il tutto sempre più efficiente e ad un costo minore.
Milioni di esperti nel mondo hanno realizzato altrettanto numerose piattaforme che
consentono il trattamento, il miglioramento nonchè la gestione della rete e, insieme ad
esse, si sono sviluppate innumerevoli tecniche per l'analisi e il supervisionamento della
rete stessa.
Tra le tante piattaforme interessanti, in seguito ci occuperemo di Junos Space, sviluppato
dalla Juniper Networks (famosissima azienda nell'ambito delle tecnologie di rete), una
4
Metodologie, tecniche e piattaforme per il monitoraggio delle reti di calcolatori
piattaforma applicativa in grado di automatizzare le funzioni di gestione e supporto delle
reti riducendo i costi e migliorando l'esperienza dell'utente.
La piattaforma, con le relative applicazioni, gira sul sistema operativo Junos ( sviluppato
sempre da Juniper) e pone le basi per le "reti di nuova generazione" : essa, infatti,
introduce per la prima volta nell'ambito delle reti il concetto di "ecosistema" che ingloba
soluzioni hardware, software e collaborazione tra utenti e azienda stessa per lo sviluppo.
Dopo una panoramica generale su Juniper Networks e Junos, che consentirà di
comprendere appieno l’ambito operativo e le fondamenta di Junos Space, verrà analizzata
la piattaforma stessa ed in seguito mostrato il processo di sviluppo di una generica
applicazione eseguibile sulla piattaforma interessata.
Grazie al Software Development Kit di Junos Space, messo a disposizione sempre da
Juniper, è possibile infatti realizzare un’applicazione che potrà essere eseguita sulla
piattaforma software.
5
Capitolo 1
Juniper e Junos
La Juniper Networks è la società che ha sviluppato Junos Space ed il settore in cui opera è
appunto quello delle reti.
Essa è specializzata nella realizzazione di prodotti e servizi per le reti, sia software che
hardware, in particolare commercializza router, switch ethernet, dispositivi per
l’ottimizzazione in wan ed i relativi software per la gestione dell’hardware.
L’azienda ha anche sviluppato il sistema operativo Junos, installato nella maggior parte
dei prodotti Juniper, necessario per l’esecuzione dei software stessi.
La multinazionale, nata nel lontano 1966, vanta un curriculum a dir poco eccezionale
nonchè tutta una serie di acquisizioni che le hanno permesso di diventare una vera e
propria potenza nel campo dell’Information and Communication Technology.
Ciò che ha consentito, però, all’azienda di fare fortuna agli albori e di diventare poi, senza
alcun dubbio, leader del settore è stata la messa in commercio dei primi router ad alta
velocità in particolare l’ M 40.
Esso, infatti, fu il primo router ad essere pensato per venire incontro agli standard di
internet consentendo di processare oltre 40 milioni di pacchetti al secondo con un
troughput di oltre 40 gigabit al secondo.
L’azienda non si è limitata, successivamente, allo sviluppo dei soli router ma ha ampliato
la propria produzione con l’innesto di Switch, Gateway e numerosi tool e app che
consentissero
alle
proprie
reti
di
garantire
sicurezza
ed
affidabilità.
.
6
1.1 Le reti di nuova generazione
Il progetto con cui Juniper ha voluto lanciare Junos Space rappresenta l’ulteriore conferma
della volontà dell’azienda di voler differenziare il proprio prodotto da quelli già presenti
sul mercato. Da anni la multinazionale, infatti, ha cercato di perfezionare le proprie idee
ma soprattutto rinnovare il settore delle reti dimostrando di essere sviluppatrice di prodotti
strutturalmente ottimi e di un software intelligente, scalabile ed affidabile per router,
switch e prodotti per la sicurezza destinati ad aziende e service provider.
Partendo dall’idea che ogni anno le grandi aziende investono milioni di dollari e utilizzano
migliaia di sviluppatori per creare applicazioni di rete personalizzate, Juniper ha voluto
semplificare il tutto mettendo a disposizione una piattaforma software attraverso cui sia
possibile realizzare tutto ciò a costi sensibilmente minori.
Questa piattaforma è proprio Junos Space.
Essa non solo consente, dunque, di diminuire i costi dovuti allo sviluppo delle applicazioni
di rete ma comporta anche un lavoro più semplice da dover realizzare, grazie
all’infrastrutture di base fornita, e un prodotto finito più valido ed efficiente.
La
vera
innovazione
di
Junos
Space,
in
realtà,
sta
nel
concetto
di « ecosistema » esportato al settore delle reti.
Con questa innovativa piattaforma, infatti, sono forniti strumenti di sviluppo che
consentano a terze parti di realizzare il proprio software e commercializzarlo.
Sulla base dell’idea Apple e di tante altre aziende informatiche, quindi, anche Juniper ha
realizzato un progetto basato principalmente sull’innovazione e genialità del proprio
prodotto e poi sulla collaborazione degli innumerevoli sviluppatori presenti sull’intero
globo.
Quest’idea, tradottasi in realtà nel 2009, rappresenta un qualcosa che, nel mondo delle reti,
dire innovativo è poco.
7
Juniper, infatti, sta gettando le basi per le reti della nuova generazione, totalmente
programmabili ed in grado di fornire una migliore esperienza d’uso e maggiori benefici
economici.
1.2 Cos’è Junos
Junos è il sistema operativo presente sulla maggior parte dei dispositivi realizzati da
Juniper ed è stato sviluppato dalla stessa azienda californiana.
Il « sistema chiuso » composto da hardware e software ha consentito, quindi, all’azienda
di utilizzare un unico sistema operativo (appunto Junos) che debba girare su tutto
l’hardware realizzato distinguendosi ancor più marcatamente rispetto alle altre aziende del
settore che, solitamente, si affidano a più sistemi operativi, differenti tra loro, da installare
sull’hardware di propria produzione.
Questa scelta ha permesso una considerevole riduzione dei tempi di progettazione e
gestione delle reti stesse che, forti della perfetta compatibilità tra hardware e software,
possono essere realizzate e configurate con estrema facilità.
Junos incorpora funzioni di routing, switching e sicurezza : presenta difatto una grande
quantità di protocolli di routing da utilizzare, implementa ottime strategie di sicurezza e
applica una politica di routing molto flessibile garantendo alte prestazioni per router,
switch e dispositivi di sicurezza.
La sua architettura modulare garantisce un’ottima
stabilità e scalabilità, punti forti del sistema operativo FreeBSD che ne fa da fondamenta.
L’ OS appena citato è di tipo Unix-like e gran parte delle applicazioni che girano su Linux
possono essere eseguite anche lì.
Come ogni prodotto marchiato Juniper, Junos ha lo scopo di ridurre costi e tempo di
progettazione e realizzazione dei prodotti, aumentando naturalmente l’efficienza e la
qualità del servizio fornita. Il suo successo immediato lascia intuire l’effettivo
raggiungimento degli obiettivi posti dalla multinazionale .
8
1.3 Junos SDK
Nella propria storia la Juniper Networks ha acquisito numerose aziende di spessore nel
campo delle reti ed ottenuto importanti collaborazioni per lo sviluppo dei propri progetti
ma ha ritrovato, senza alcun dubbio, come miglior partner le cosìdette « terze parti » .
La multinazionale americana, infatti, ha messo a disposizione degli utenti un SDK
scaricabile gratuitamente dal proprio portale attraverso cui chiunque può pensare e
sviluppare applicazioni che meglio soddisfino le proprie esigenze e che, ovviamente,
possano essere eseguite in ambiente Junos.
Il Software Development Kit (SDK appunto) consente a clienti, fornitori di software
indipendenti, ricercatori e sviluppatori di collaborare o più precisamente di diventare
partner dell’azienda attraverso le proprie realizzazioni. L’SDK include le API, le librerie
Junos e tanto altro ancora all’interno di un ambiente Unix a cui va aggiunto un servizio
integrato di consulenza, supporto e controllo della qualità.
Fornendo una buona base su cui lavorare (rappresentata dallo stesso Junos), le
applicazioni possono essere sviluppate con un costo sensibilmente minore rispetto al caso
in cui verrebbero prodotte partendo da zero e, soprattutto, possono essere velocemente
messe sul mercato e rese disponibili ad una grande quantità di utenti.
Una volta scritto il proprio pezzo di codice e dopo averlo compilato, dunque, si ottiene
un’applicazione completamente autosufficiente ed eseguibile in ambiente Junos che, dopo
vari test, può essere messa in vendita e se ne può ricavare logicamente un profitto.
9
Si potrebbe, però, facilmente cadere in tranello e pensare ad un software « Open Source »
ma chi ragiona in tale direzione è in errore.
Come la casa madre stessa lo definisce, Junos è « Open » che risulta leggermente diverso
dal concetto di Open Source.
Juniper, infatti, non consente a chiunque di collaborare ma utilizza un rigorosso processo
di selezione per stabilire se un partner è un valido candidato per lo sviluppo di Junos.
Solo dopo aver ottenuto l’autorizzazione e, quindi, il permesso di sviluppo e realizzazione
si diventa a tutti gli effetti partner di Juniper ed è possibile commercializzare i propri
prodotti.
E’ questo il motivo per cui Junos conta « solamente » 35 partner in fase di sviluppo
impegnati, nella maggior parte, nell’implementazione di funzioni di sicurezza dei sistemi
per garantire che ogni applicazione venga eseguita in un ambiente sicuro.
10
Capitolo 2
Junos Space
Tra le tante innovazioni di Juniper quella più interessante è, senza dubbio, Junos Space e
l’intero progetto allegato ad esso .
Junos Space, infatti, rappresenta una piattaforma software realizzata fondamentalmente
per supportare lo sviluppo, la creazione e la distribuzione di applicazioni che si occupano
della gestione delle reti.
Grazie ad un’interfaccia molto semplice, quindi, clienti e sviluppatori possono realizzare
le applicazioni di proprio interesse e soprattutto che riescano ad adattare l’hardware alle
proprie esigenze in modo da rendere maggiormente.
C’è chi parla di una vera e propria rivoluzione indotta da Juniper che ha consentito alle
grande aziende di avere non solo un prodotto (inteso come hardware) che lavorasse
ottimamente ma soprattutto l’opportunità di adattare il prodotto alle proprie esigenze ed
idee grazie alla semplice realizzazione di applicazioni che potessero essere eseguite sul
proprio hardware.
Grandi aziende come AT&T , Telecom e tante altre ancora hanno evidenziato quanto fosse
utile ed importante per i loro progetti Junos Space. L’efficace interfaccia capace di rendere
il lavoro « simple » offre un framework completo per lo sviluppo di servizi per qualsiasi
ambiente, dalla semplice azienda alla grande multinazionale, accompagnato da un
consistente servizio di supporto ed assistenza.
11
Tutto ciò ha consentito a chiunque utilizzasse la piattaforma di dare non solo valore alle
proprie applicazioni ma soprattutto di poterle integrare senza troppe noie con altre
soluzioni traendone interessanti benefici.
2.1 La struttura
Junos Space presenta tutta una serie di applicazioni che consentono l’automatizzazione
dell’infrastruttura di rete.
Partiamo da Network Activate, un interessante applicazione che presenta diverse
funzionalità quali il rilevamento automatico, la configurazione e la distribuzione dei
dispositivi di rete, la convalida e la risoluzione dei problemi ed ha lo scopo di configurare
in maniera molto semplice le applicazioni di rete per garantire una comunicazione sicura
tra le stesse.
Route Insight, invece, riesce a creare una mappa topologica della rete che rispecchi alla
perfezione l’ infrastruttura su cui si sta lavorando, mantiene una cronologia degli eventi di
routing, rileva e memorizza tutti i percorsi del traffico delle applicazioni e ci presenta, in
maniera automatica, le modifiche da apportare alla rete che ci consentirebbero sia di
risolvere i problemi sia di garantire una migliore efficienza.
In questo modo con pochi comandi e, quindi, maggiore velocità è possibile sia configurare
la rete sia risolvere rapidamente i problemi che si presentano.
Con Service Now si automatizza e di conseguenza si velocizza la procedura per ottenere
assistenza da Juniper e la risoluzione dei problemi eliminando alcuni dei passaggi manuali
che comporterebbero un enorme perdita di tempo.Vengono ottimizzate le funzioni per la
gestione degli errori dei dispositivi, automatizzandone il rilevamento, la diagnostica e la
registrazione.
12
Ethernet Design consente la gestione end-to-end di data-center nonchè di sistemi finali
garantendo una rapida connettività degli end point alla rete di switching.
Utilizzando dei profili prestabiliti è possibile eseguire la configurazione dei dispositivi una
volta sola ed applicarla a migliaia di switch in modo semplice ed accurato.
Infine abbiamo Virtual Control il cuore del monitoraggio reti.
Esso, infatti, ci consente di gestire e monitorare le reti all’interno dei server virtualizzati
nei data center. Attraverso un unico monitor di gestione esso ci consente di controllare reti
virtuali e fisiche .
2.2 L’ecosistema
L’aspetto più caratteristico della piattaforma Junos Space sta nel concetto di
« ecosistema ». Ma cos’è un ecosistema ?
In natura per ecosistema intendiamo un insieme di organismi viventi che interagiscono tra
di loro e con l’ambiente circostante. Nel campo tecnologico il concetto rimane idealmente
lo stesso con una semplice sostituzione degli organismi viventi con gli sviluppatori
software e dell’ambiente reale con quello virtuale.
Oramai la maggior parte delle più grandi multinazionali hanno sviluppato un proprio
ecosistema. Il più famoso senza alcun dubbio è quello Apple ma tante altre come Android,
Nokia ecc. hanno il proprio mentre altre ancora come Windows ne stanno costituendo uno.
13
La Apple, ad esempio, fa convivere nel proprio ecosistema cellulari, personal computer e
tablet ed i singoli utenti possono sviluppare applicazioni per essi e condividerle con gli
altri « organismi » dell’ecosistema.
Juniper tenta di adattare il concetto di ecosistema al campo delle reti.
La multinazionale americana, infatti, con il suo progetto preposto a gettare le basi delle
« reti del prossimo decennio » punta alla creazione di un ecosistema articolato, nel quale
trovano spazio nuove soluzioni hardware, una piattaforma software, collaborazioni e
partnership.
La base di tutto rimane ovviamente sempre Junos, il cuore dei prodotti Juniper, mentre
Junos Space rappresenta la piattaforma software che Juniper propone agli utenti per lo
sviluppo.
Essa, consentendo la realizzazione e la distribuzione di applicazioni in maniera molto
semplice, apre un grosso varco per il mondo del networking ed incrementa notevolmente
le capacità di mercato dei prodotti del settore.
Questo ecosistema di sviluppatori software, dunque, consente agli stessi di realizzare
soluzioni basate su prodotti Junos in maniera rapida e robusta attraverso l’utilizzo del
Junos
Space
SDK
(come
vedremo
in
seguito) .
2.3 Tecnlogia cloud-based
Uno dei tanti aspetti innovativi di Junos Space sta sicuramente nell’essere un framework
cloud-based. Cosa si intende esattamente per « cloud-based » ?
Con questo termine vogliamo intendere che il servizio offerto dalla Juniper al proprio
cliente comprende una serie di funzionalità che consentono l’elaborazione e la
14
memorizzazione dei dati attraverso tutta una serie di risorse hardware e software che
vengono virtualizzate in rete.
In parole semplici, attraverso l’utilizzo delle applicazioni fornite dal pacchetto Junos
Space, dal proprio ambiente di lavoro è possibile archiviare i propri dati su memorie online messe a disposizione da Juniper stesso così come è possibile utilizzare tutta una serie
di applicazioni che non sono direttamente installate sul proprio computer ma virtualizzate
in rete per garantirne l’utilizzo a tutti gli utenti in possesso del software di sviluppo.
La predisposizione al cloud non è altro che una soluzione che consente di garantire una
minore complessità al pari di una maggiore sicurezza.
Per offrire, infatti, tutta una serie di funzionalità interessanti all’utente, Juniper, così come
qualsiasi altro service provider, deve disporre di applicazioni ad alte prestazioni eseguite
nei propri data center.
Collegare tra di loro dispositivi fisici e virtuali così come collegare un numero sempre più
crescente di data center può rivelarsi di una complessità sempre maggiore.
Con l’utilizzo e la predisposizione al cloud dei data center e l’applicazione dei principi del
cloud computing, invece, è possibile semplificare la rete dei data center cloud con la
diminuzione del numero di dispostivi e collegamenti a cui si affianca un aumento della
sicurezza (grazie ai servizi garantiti da Juniper) ed una quasi totale eliminazione della
complessità grazie all’utilizzo di un unico sistema operativo e di software automatizzato
per la rete.
2.4 Funzionamento
Come visto, le funzionalità di Junos Space sono tante e per capire nei minimi dettagli il
funzionamento della piattaforma c’è bisogno di una minuziosa analisi delle stesse.
Accedendo all’interfaccia grafica dal proprio browser web e dopo aver effettuato il login
come amministratore ci si ritrova in una schermata dove sono presenti i collegamenti per
15
l’accesso alle applicazioni di cui la piattaforma è fornita ( Service Insight, Service Now,
Ethernet Design ecc.), un’icona per l’accesso ai dispositivi utilizzati (nel caso si utilizzi
Junos Space SDK questi dispositivi sono virtuali), una per la gestione degli utenti ed
infine l’ultima per l’accesso alla piattaforma stessa.
Nella schermata principale ovviamente verranno aggiunte, successivamente alla creazione,
anche le applicazioni realizzate dall’utente in modo che esse siano accessibili, eseguibili e
testabili direttamente dall’ambiente di lavoro.
L’accesso alla piattaforma consente di effettuare tutta una serie di operazioni per lo più di
gestione ed amministrazione della rete in maniera automatizzata : in questo modo sarà
possibile realizzare un tessuto di nodi (rappresentati ovviamente da elementi hardware
Juniper) in maniera rapida ed efficace.
Sarà possibile, infatti, gestire tutti i dispositivi presenti nella propria rete accedendo al
sottomenù Devices consentendo a qualsiasi utente di “identificare” i propri dispositivi
connessi in rete e collegarli in un unico tessuto di rete.
16
Le funzioni fornite, invece, dalla voce Topology Visualization consentiranno di generare
in via grafica la topologia degli elementi della rete ottenendo tutta una serie di
informazioni riguardanti dispositivi e loro collegamenti in maniera del tutto automatica.
Sarà anche possibile importare nel sistema script e template che consentano di risolvere
problemi legati ad aspetti peculiari della rete nonché mantenere tutta una serie di
informazioni relative alle configurazioni della propria rete ed effettuare backup delle
configurazioni per il recupero informazioni accedendo al menù Configuration Files.
Inoltre ogni azione dell’utente effettuata sui vari dispositivi verrà memorizzata dal sistema
che la riporterà tra i Jobs consultabili nell’omonimo menù, così come le attività
dell’utente verranno registrate in appositi log visualizzabili nella sezione Audit Logs.
La Dashboard di ogni applicazione fornisce anche un resoconto, in termini grafici, dello
stato corrente dei dispostivi gestititi e delle operazioni effettuate dall’applicazione in Junos
Space.
2.5 Junos Space SDK
Proprio come per Junos anche per Junos Space, Juniper ha messo a disposizione degli
utenti un SDK per realizzare « in proprio » applicazioni adatte a soddisfare le proprie
esigenze.
La multinazionale leader nel settore dell’Information and Comunication Technology ha
voluto, quindi, mettere a disposizione di tutti un kit per lo sviluppo di applicazioni
eseguibili in Junos Space, aprire ad un pubblico più vasto il campo delle reti ma
soprattutto ha voluto crearsi una fitta rete di sviluppatori che potessero realizzare
applicazioni da poter distribuire liberamente.
17
L’ SDK ci consente di utilizzare il software e tutte le funzionalità di Junos Space, pur non
disponendo « fisicamente » della piattaforma stessa e conseguentemente di hardware
targato Juniper, grazie all’installazione di una Junos Space Virtual Appliance (JSVA).
La JSVA altro non è che un composto di software Junos Space, sistema operativo Junos e
tutta una serie di applicazioni in grado di virtualizzare elementi hardware Juniper .
Eseguendola su una macchina virtuale essa ci consente di avere a disposizione la
piattaforma Junos Space per eseguire le nostre applicazioni e soprattutto ci consente di
virtualizzare più dispositivi Juniper, connetterli tra di loro formando un tessuto di rete e
testare le applicazioni su più hardware virtualizzati per verificare scalabilità e prestazioni
delle applicazioni.
Per quanto riguarda, invece, la stesura del codice applicativo coesistono tante soluzioni
differenti, tra cui spicca senza alcun dubbio quella che porta il nome di Eclipse.
La partecipazione di Juniper all’ Eclipse Foundation, associazione che supporta e
distribuisce gratuitamente progetti Eclipse open source, ha consentito alla stessa azienda
californiana di garantire ai propri sviluppatori uno degli IDE migliori e più robusti in
circolazione.
Un plug-in fornitoci da Juniper, infatti, ci consente di realizzare direttamente dall’ IDE
applicazioni che dovrebbero funzionare con Junos Space.
Il plug-in, in particolare, permette l’utilizzo di API che consentono di astrarre la rete in
modo da rendere più semplice l’accesso alla stessa.
In questo modo tra i compiti del programmatore non rientra più il doversi interfacciare con
le infrastrutture di rete e gli sviluppatori possono concentrarsi maggiormente sulle proprie
esigenze e sui propri obiettivi dimenticando momentaneamente cosa aleggia tutt’intorno.
Le API messe a disposizione, infatti, presentano metodi di raccolta informazioni della rete
accessibili a tutte le applicazioni che girano su Junos Space.
Scendendo nei particolari, sono da menzionare le API per i servizi web RESTful che
consentono agli sviluppatori di accedere alla rete senza interessarsi nè della topologia della
rete stessa nè dei dispositivi fisici a cui andrebbero ad interfacciarsi; in questo modo
l’utilizzo della piattaforma software « nasconde » tutti i problemi di collegamento ed
18
elimina quasi totalmente la complessità dovuta alla gestione della rete stessa consentendo
all’utente di ignorare quelle che sono le specifiche tecniche dei dispositivi, le tecnologie
infrastrutturali e qualsiasi questione riguardante la rete.
Quindi con il semplice IDE Eclipse, attraverso un plug-in, si possono implementare
applicazioni perfettamente funzionanti per la piattaforma Junos Space, si possono simulare
sia eventi che dispositivi in modo da poter anche testare le proprie applicazioni su
dispositivi Juniper senza effettivamente possederne realmente uno ed il tutto senza
preoccuparsi minimamente di quale sia il dispositivo sul quale verrà eseguito l’applicativo
di rete.
19
Capitolo 3
Realizzare un’applicazione
Per realizzare un’applicazione da eseguire normalmente in ambiente Junos è possibile
utilizzare, come detto in precedenza, l’SDK fornitoci da Juniper che attraverso Eclipse ci
consente di creare una qualsiasi applicazione di nostro interesse.
Il plug-in di Junos Space SDK per Eclipse consente di realizzare tre differenti modelli di
applicazione :

Applicazione Junos Space Completa che supporta la creazione di UI (interfaccia
grafica), componenti Web Services (accessibili tramite i protocolli in uso in
internet) e componenti Server Side (package EJB).
20

Applicazione Junos Space Web Service che consente la creazione di componenti
Server Side e componenti Web Services.

Applicazione Junos Space « Ui-only » che supporta la creazione solo
dell’interfaccia grafica.
Per ognuno dei tre modelli verrà creato un file System con estensione .SAR contenente le
informazioni relative all’applicazione ed un file con estensione .EAR contenente al suo
interno l’applicazione vera e propria.
I componenti server-side sono compattati in un file con estensione .JAR mentre i
componenti UI and web services sono compressi in un file con estensione .WAR.Infine
abbiamo un modulo XML chiamato appunto Module.XML che contiene la configurazione
principale dei file del sistema.
Una volta realizzata l’applicazione (in termini di codice) attraverso Eclipse essa potrà,
poi, essere eseguita nel già citato JSVA.
Grazie al plug-in, inoltre, è possibile virtualizzare direttamente da Eclipse dei dispositivi
collegati alla piattaforma Junos Space ed eseguire le proprie applicazioni o testarle.
3.1 Creare un’applicazione
Dall’IDE Eclipse, esiste un apposito menù chiamato appunto Junos Space che consente di
realizzare un’applicazione per la piattaforma nel nostro WorkSpace. Il wizard fornito, poi,
consentirà di scegliere che tipo di applicazione deve essere realizzata : completa, WebService o UI-Only dopodichè provvederà alla creazione del progetto.
Le API messe a disposizione dall’SDK consentiranno di realizzare la propria applicazione
da poter poi caricare ed eseguire su Junos Space.
21
I dispositivi di rete forniscono dei servizi di base resi accessibili all’utente attraverso le
API REST.
Le API REST consentono la manipolazione delle risorse attraverso i metodi classici del
protocollo Http (GET,POST,PUT e DELETE) .
L’SDK Junos Space utilizza per l’accesso alle risorse il modello REST basato su un
archittettura client-server dove ogni servizio web fornito rappresenta una risorsa
accessibile ed identificata da un URL.
Utilizzando, quindi, le API REST sarà possibile realizzare un’applicazione di tipo Web
Service in grado di fornire l’accesso a determinate risorse. Successivamente l’utente,
attraverso l’utilizzo di un’applicazione abilitata per il client, potrà mandare delle semplici
richieste Http all’applicazione realizzata (rappresentante appunto il lato server) che
risponderà con un messaggio Http contenente le informazioni richieste.
22
Lo sviluppatore può realizzare l’accesso alle risorse anche sviluppando applicazioni di tipo
Server Side basate su EJB (Enterprise Java Bean), semplici componenti che realizzano la
logica di business delle applicazioni di tipo enterprise ossia applicazioni che forniscono
servizi via internet.
Per realizzare un’applicazione bisogna seguire il seguente schema.
Creare innanzitutto un’interfaccia grafica .
23
L’SDK consiglia l’utilizzo di un potente software noto come Ext Design che consente
all’utente di realizzare graficamente la propria interfaccia per poi ottenere il codice
relativo da importare in Eclipse per essere integrato con la parte operativa
dell’applicazione.
Dopo aver creato l’interfaccia, si passa alla stesura della « Business Logic » ossia la logica
applicativa che rende operativa l’applicazione. Essa è realizzata attraverso EJB,
semplicemente file Java in cui è possibile implementare il software.
Una volta ottenuta la logica applicativa, un semplice wizard mi consente di ottenere da
essa l’interfaccia REST grazie a cui l’applicazione potrà entrare in comunicazione con la
piattaforma.
La parte finale della progettazione consiste nell’unire l’interfaccia alla logica applicativa
attraverso la modifica delle impostazioni contenute nel file module.XML creato in fase di
inizializzazione del progetto.
Una volta fatto ciò, in fase di esecuzione, sarà l’interfaccia grafica ad invocare le API
REST che a loro volta invocheranno la logica applicativa del programma contenuta nell’
EJB .
Dopo aver realizzato la propria applicazione, essa può essere testata attraverso i simulatori
inclusi nella JSVA.
Pur non disponendo, infatti, fisicamente di hardware Juniper è possibile virtualizzare le
risorse e simulare la propria applicazione per testarne le prestazioni.
Una volta virtualizzati i dispositivi, dalla piattaforma Junos Space sarà possibile visionare
anche quali dispositivi sono stati virtualizzati utilizzando il menù Devices e selezionando
Manage Devices.
24
Stessa considerazione si può fare dall’IDE Eclipse attraverso cui , utilizzando il comando
Manage Simulated Device, si può visionare lo stato dei dispositivi che sono stati
virtualizzati.
25
Dalla figura sovrastante si intuisce che sono stati virtualizzati tre dispositivi differenti (uno
switch Ethernet EX4200, un altro della serie MX960 ed un router SRX220) considerati
attualmente attivi ed ognuno identificato da un proprio indirizzo IP.
In alternativa è possibile attivare il simulatore anche manualmente utilizzando la shell
della JSVA.
Per terminare sarà poi possibile compattare l’applicazione realizzata
con il
comando Build/Deploy Junos Space Application grazie a cui le varie componenti
dell’applicazione diventeranno parti costituenti di un unico software in grado di essere
eseguito direttamente sulla piattaforma.
26
Grazie al wizard proposto dal plug-in, sarà possibile scegliere innanzitutto il tipo di
licenza con cui verrà distribuita l’applicazione, sarà possibile gestirne il versionamento
dopodichè l’applicazione verrà direttamente caricata nell’ambiente Junos Space.
Sarà possibile gestirne anche le icone e tutta la parte grafica relativa semplicemente
modificando il file Module.XML .
Accedendo alla piattaforma, ora, l’applicazione è direttamente eseguibile dall’ambiente
Junos e può essere utilizzata a proprio piacimento.
Per di più, i partner di Juniper ( Junos Space è « simple, smart and OPEN ») possono
mettere in commercio il proprio software che potrà rientrare tra i cataloghi virtuali Juniper
e ricavarne logicamente un profitto.
27
4.2 Conclusioni
Ricapitolando, dunque, Juniper sta introducendo una nuova visione delle reti ormai
divenute programmabili ossia modificabili ed adattabili alle proprie esigenze.
Aprire alla « platea » un campo non certo alla portata di tutti come quello delle reti è stato
possibile attraverso l’uso di Junos Space, una piattaforma software attraverso cui viene
semplificata al minimo la progettazione di applicazioni adatte a soddisfare i propri
obbiettivi.
Garantendo la possibilità ai propri partner di sviluppare applicazioni e commercializzarle
con semplici procedure automatizzate,
Juniper ha creato il proprio ecosistema di
sviluppatori.
L’utilizzo, inoltre, delle tecniche del cloud-computing hanno consentito la riduzione della
complessità dei propri data-center che, mista ad una maggiore sicurezza ed
all’automazione dei servizi, riesce a garantire una maggiore efficienza.
28
Bibliografia
[1]
https://www.juniper.net/it/it/products-services/software/junos-platform/junos-space/
[2]
https://www.juniper.net/it/it/products-services/nos/junos/
[3]
https://www.juniper.net/it/it/products-services/nos/junos/junos-sdk/
[4]
https://www.juniper.net/it/it/products-services/junos-developer/space-sdk/
[5]
http://it.wikipedia.org/wiki/Enterprise_JavaBeans
[6]
http://it.wikipedia.org/wiki/Representational_State_Transfer
[7]
http://it.wikipedia.org/wiki/Cloud_computing
[8]
http://it.wikipedia.org/wiki/Juniper_Networks
29