Il modo più semplice per iniziare con l'Ajax e REST

Il modo più semplice per iniziare con l'Ajax e REST

Problema che si desidera conoscere il modo migliore per iniziare a scrivere l'Ajax e il riposo. Solution Quando si sviluppa un Ajax e l'applicazione REST, si deve decidere in merito agli strumenti e dei quadri verrà utilizzato. La scelta è semplice: utilizzare tutto ciò che oggi sta usando, e scrivere alcune applicazioni Ajax. Non c'è bisogno di cambiare gli strumenti che si sta usando oggi. Se si sta utilizzando ASP.NET, JavaServer Pages (JSP), PHP, Ruby o Python, si può continuare con questi strumenti. Ajax usa JavaScript, DHTML, e l'oggetto XMLHttpRequest, ma ASP.NET, PHP, e tecnologie simili non ostino a voi di scrivere pagine HTML che fanno uso di tecniche Ajax. Se la vostra tecnologia non impedirvi di scrivere applicazioni Ajax, allora si dovrebbe riflettere se continuare con la tecnologia.

Dopo tutto, stai leggendo una Ajax e l'articolo ricetta REST, quindi immagino che si prevede di attuare Ajax e soluzioni REST. Client Quando il disaccoppiamento dal server, è possibile creare il contenuto su entrambi i lati in modo indipendente. È possibile sviluppare il client utilizzando tecnologie come DHTML e JavaScript. All'interno del client, è possibile codificare i riferimenti ai servizi offerti da parte del cliente. Il codice lato client fornisce un'infrastruttura in cui il contenuto generato dai servizi possono essere iniettati. Client e server interagiscono tra loro mediante contratti. Utilizzando i contratti, è possibile sviluppare il client in modo indipendente e di prova utilizzando oggetti fittizi. Utilizzando i contratti, è possibile sviluppare il server in modo indipendente e di prova utilizzando i test da una suite di test. Poi, quando il cliente è combinata con il server, l'applicazione funzionerà senza la necessità di una grande quantità di ulteriori prove. Naturalmente, questo presuppone che le prove per il client e server siano applicate correttamente test normale spesso è anche necessario. Dopo aver disaccoppiato il cliente dal server, si può facilmente rendere modulare e di delegare la

lavori di attuazione di singoli membri del team. Consentendo a ciascun membro del team di concentrarsi sul compito permette di specializzarsi e creare contenuti innovativi. Ad esempio, delegando il lavoro al server di database permette allo sviluppatore client per fare più uso di grafici e rappresentazioni innovative dei dati generati dal servizio. Delegare il lavoro di interfaccia utente dal server sul lato client consente allo sviluppatore di concentrarsi sui server di ottimizzazione del database e velocità di accesso. Dopo aver disaccoppiato il client dal server, è possibile fare uso di quadri specifici per renderlo più semplice da implementare pezzi specifici della logica. Ad esempio, un client-side sviluppatore può utilizzare il Prototype8 o discipline Dojo9. Toolkit che si finisce per utilizzare è la vostra scelta, e non c'è una risposta giusta o sbagliata. Hai bisogno di indagare che cosa avete bisogno e vedere se il quadro che offre funzionalità. Quando si comincia con l'Ajax e di riposo, ricordare i seguenti punti:

  

• È possibile utilizzare Ajax e REST oggi con le tecnologie esistenti. In genere non c'è bisogno di buttare via le vecchie tecnologie e sostituirli con quelli nuovi.

• Ajax e riposo sono circa disaccoppiamento il client dal server e facendo uso di servizi web.

• Ajax e framework REST può rendere più semplice per voi per implementare le applicazioni, ma perché ci sono tanti quadri, è necessario controllare per vedere se soddisfare le vostre esigenze.

L'attuazione di un Ajax e delle applicazioni utilizzando RIPOSO Test-Driven Development Techniques Dopo sei convinto che si desidera sviluppare applicazioni Ajax e REST, ti consigliamo di eseguire alcune routine di test. Problema Si desidera conoscere il modo migliore per testare la tua Ajax e le applicazioni REST. Solution Questa ricetta spiega i diversi strati di prova -driven development techniques.10 ci sono diversi strati perché un Ajax e l'applicazione REST coinvolge sia sul lato client e codice lato server. Per dirla semplicemente, non assumere alcuni utenti per testare un Ajax e l'applicazione REST e far loro sperimentare scenari applicativi. Come affermato in precedenza, il lato server e lato client sono disaccoppiati gli uni dagli altri.

Questo è un buon approccio per scopi di test, in quanto è possibile sviluppare e testare il client e server in modo indipendente gli uni dagli altri. Un architetto ha la possibilità di definire un contratto tra il client e server, consentendo a ciascuno di lavorare in modo indipendente gli uni dagli altri. URL. I quattro strati varia in complessità di attuazione da complicato semplice. Ogni strato, che si spiega come segue, è associata a un identificativo numerico:

• GUI-test di livello test coinvolgere l'Ajax e l'interfaccia utente DHTML.

• REST-level test di prova il resto e interfacce Web service per la corretta attuazione dei contratti definiti.

• Server-side classe a livello di prove di testare l'implementazione della funzionalità di test-driven utilizzando tecniche di sviluppo.

• Mock URL prove sul livello non sono in realtà le prove, ma piuttosto l'attuazione dei contratti definiti dal resto e le interfacce Web service. Le implementazioni di finto permettono di testare l'interfaccia grafica senza bisogno di un server completato attuazione di terra. Ogni livello richiede l'uso di un insieme di strumenti diversi test, come ogni strato prove un aspetto diverso della Ajax e l'applicazione REST. Tuttavia, questo fa sorgere una domanda: Do you iniziare a sviluppare con il lato server o lato client? Do you sviluppare utilizzando tecniche di tipo top-down o bottom-up tecniche? Si potrebbe sviluppare tutti i livelli contemporaneamente utilizzando tecniche di agile, anche se non è una buona idea. Il problema è che utilizzando tecniche agili su tutti i livelli contemporaneamente, si crea istantaneamente un overhead di comunicazione e di annullare l'obiettivo del disaccoppiamento il client dal server. in modo completo agile, il cliente, il contratto, e il server sono tutti sviluppati in una volta. Se il cliente ha un problema, che potrebbe causare un cambiamento nel contratto e il server, causando il client e server per diventare accoppiati. E non vuol dire che non si deve sviluppare utilizzando tecniche agili. Quello che dovete fare è diretta le tecniche agili in modo che il client e server sono disaccoppiati gli uni dagli altri. Così, la prima cosa che si dovrebbe sviluppare sono i contratti che gli usi client e il server fornisce. L'idea alla base di questa architettura è quello di sperimentare ed attuare un caso senza realmente completa attuazione del client o server. Lo strato di prova 2 rappresenta un insieme di test utilizzati per verificare che il server-side esecuzione è completa.

Lo strato Mock URL rappresenta un insieme di test utilizzato per verificare che l'applicazione client-side è completa. Avendo lo strato di test 2 verificare i dati generati dal livello di Mock URL, i contratti per completezza sono verificate. In pratica, si potrebbe usare un linguaggio di programmazione come Java per effettuare una serie di chiamate di servizio Web che definiscono un contratto. Tali chiamate al servizio Web rappresentano scenari che l'applicazione client dovrebbe eseguire. Si potrebbe implementare gli scenari utilizzando tecniche agili definito da casi d'uso dell'applicazione. Ad esempio, se un caso d'uso è quello di aprire un conto in banca, allora si creerebbe una prova che avrebbe reso il servizio Web appropriato chiede di aprire un conto in banca. Un test non può funzionare senza una qualche applicazione. E poiché non si dispone di una implementazione, è necessario falso la richiesta e la risposta o, più opportunamente, utilizzare il quadro Mock URL. Il ruolo del quadro Mock URL è quello di anticipare i test client. Quando un test è in corso, il quadro Mock URL verifica i dati inviati dal test e quindi genera la risposta appropriata. La verifica e la generazione sono il risultato di eseguire una certa logica e il caricamento e l'invio di dati all'applicazione pregenerati. È importante che il Mock non URL implementare la logica di business, ma piuttosto usare la logica in scatola e pregenerati richieste e le risposte il più possibile. Quando i contratti sono applicate correttamente, il test non dovrebbe essere in grado di dire se una realizzazione dal vivo è di generazione dei dati o se qualche strato ha falsificato i dati.

Opportunamente, il quadro Mock URL non deve essere in grado di dire se si tratta di essere chiamato da una serie di prove o se si tratta di implementazione del client dal vivo. La combinazione di prove e Mock URL consente di utilizzare agile e test-driven tecniche per creare i contratti che il client e server necessità di attuare. Se si ritiene che la creazione di uno strato completo mock è troppo lavoro, allora si potrebbe creare un'implementazione che ha restituito i valori in scatola. dopo aver definito il contratto, le implementazioni di client e server sanno quello che devono fare. In modo che l'utilizzo di tecniche di agile per l'attuazione del client e server, i test devono essere una granularità più fine del contratto. Le prove di attuazione devono essere ampia e va al di là del contratto e può comprendere anche altri aspetti come i dati di inizializzazione e la presentazione. Ad esempio, i livelli di prova 1 e 3, non sono direttamente collegati ai contratti e sono utilizzati per testare il client e server-side implementazioni. A partire da livello 3, si utilizza il test per verificare la funzionalità della logica attuata lato server.

Dal punto di vista programmatico, questo significa che esiste una netta separazione tra la logica applicata e la tecnologia utilizzata per presentare la logica che utilizza il protocollo HTTP. Lo strato di prova 3 non dipende o si preoccupano di come la logica è esposto al protocollo HTTP . Le prove in layer 3 concentrerà sul modo di assicurarsi che il server-side la logica è implementata correttamente. I contratti che le prove di verifica non sono esposti all'esterno, e il cliente non interessa cosa sono le prove. Perché le prove sono privati, lo sviluppatore server può definire la loro struttura di classe, con qualunque tecnologia desiderata senza alterare il cliente. Testing il server richiede l'uso corretto del quadro di prova; alcuni di questi quadri sono descritte come segue:

JUnit (http://www.junit.org): test-driven Java framework di sviluppo. JUnit è l'unità originale strumento di test.

NUnit (http://www.nunit.org):. unit-NET framework di test che utilizza. attributi NET.

PyUnit (http://pyunit.sourceforge.net/): unità di Python-quadro test.

PHPUnit (http://www.phpunit.de/wiki/Main_Page): unità di PHP-quadro test.

Test:: Unit (incluso con la distribuzione di Ruby): unità di Ruby-quadro test. Se il linguaggio di programmazione non è menzionato, fare una ricerca per il termine "[Inserisci la tua lingua] unit test". Indipendentemente dal linguaggio di programmazione, l'unità di test quadro e l'approccio sono le stesse. Si utilizza agile e test-driven tecniche per implementare la logica server-side. Nell'architettura di controllo della logica client-side, la maggior parte se non tutti, di ciò che è provato è la correttezza del codice JavaScript. Avviso nell'architettura come lo strato di test 1 test gli script e non l'interfaccia utente DHTML. Questo è il fine e si riferisce alla complessità dei test delle interfacce utente DHTML. Quando JavaScript e DHTML sono combinati, si ottiene una interfaccia utente in gran parte prevedibile. Contrasto che ad una interfaccia utente tradizionale, dove gli elementi sono progettati per occupare aree fisse.

Sapendo che una interfaccia utente deve guardare in un certo modo rende possibile l'uso di strumenti di test GUI che scattare istantanee di immagini e confrontarle tra loro. Mentre è possibile controllare l'aspetto esatto di una interfaccia utente DHTML, non è consigliabile perché in contraddizione con lo scopo di DHTML. Ricordo che DHTML contiene la parola dinamica, Che indica la capacità di determinare il layout di una interfaccia utente in fase di runtime. Pertanto, non è possibile utilizzare l'utente classiche tecniche di sperimentazione dell'interfaccia. Invece, è necessario impiegare un sottile strato di test approach.11 Utilizzando un programma di utilità come JsUnit, 12 si può scrivere una serie di script per il lato server e di eseguire la logica di interfaccia utente. Gli script di test dovrebbe esercitare la logica client e garantire che l'applicazione funziona correttamente. Tuttavia, questa soluzione non è ideale, perché ogni logica, che è incorporato in DHTML non è testato, in modo da errori potrebbero verificarsi. Quando capire come implementare test-driven tecniche di sviluppo, ricordare i seguenti punti:

• un'applicazione AJAX contiene quattro livelli di prova principale: lato client, lato server, di un contratto, e Mock URL.

• Il contratto e Mock prove URL vengono sviluppati simultaneamente utilizzando tecniche di sviluppo agile, e attuare i casi d'uso dell'applicazione.

• È possibile utilizzare il contratto e Mock prove URL per REST, SOAP e altri protocolli.

• Il client e server-side sono test specifici per il client o server e sono usati per implementare lo sviluppo test-driven.

• Il lato client non dovrebbe dipendere i dettagli di implementazione del server, e il server non dovrebbe dipendere i dettagli di implementazione del cliente.

un articolo presentato da Sonja Lande


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "La via più semplice per iniziare con l'Ajax e REST" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 259 users browsing the articles directory