JAX-WS: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m r2.5.2) (Bot: Modifico: de:Java API for XML Web Services |
m ortografia, - spazi inutili |
||
Riga 1:
'''JAX-WS''' ('''Java API for XML Web Services''')
Uno dei grandi vantaggi di questa implementazione è quella di poter riutilizzare gran parte delle funzionalità, senza toccare server enterpise come il progetto Glassfish.
==Descrizione==
JAX-WS è un nuovo modello di programmazione che semplifica lo sviluppo delle applicazioni attraverso il supporto di uno standard, modello ''annotation-based'', per sviluppare Web Service application e client. Le specifiche di JAX-WS si allineano strategicamente con la tendenza attuale del settore verso un modello di messaggistica più ''document-centric'' e sostituisce il modello
Con un servizio document-centric, la logica di fatto viene tenuta separata dal contenuto del documento. Il servizio riceve un documento [[XML]], che contiene solo dati. I metodi specifici non vengono richiamati,
JAX-WS è il modello di programmazione strategica per lo sviluppo di servizi Web. L'implementazione dello standard di programmazione della JAX-WS fornisce importanti
Il progetto fornisce il nucleo del progetto Metro (stack di web service di alto rendimento, espandibile, facile da usare, che raccoglie le funzionalità che racchiudono tutte le esigenze per la creazione di servizi web), all'interno della comunità GlassFish.
Riga 16:
Sebbene da un lato questo progetto ricevesse una spinta in avanti nello sviluppo, dall'altro vi furono forti elementi di impedimento: i vari produttori e soggetti, che partecipavano allo sviluppo di componenti e implementazioni per web service, hanno ostacolato questo processo impedendo agli organismi preposti nella definizione degli standard e specifiche di rimanere al passo.
Questo portò alla creazione di specifiche e implementazioni proprietarie, contrarie e contraddittorie agli obiettivi iniziali della realizzazione di web services.
Nel 2003 i vari produttori, ormai consapevoli di come fosse privo di senso avere web services scritti in linguaggi diversi, si sono riuniti per cercare una soluzione a questo problema. Nasce così
Il consorzio operò alla ricerca e selezione del sottoinsieme minimo di standard e specfiche comuni a tutte le implementazioni, che furono poi raggruppati e raccolti in profili a seconda degli obiettivi che si volevano raggiungere, opera tuttora in corso. In ambito WS-I, Sun ha rilasciato recentemente una nuova implementazione chiamata WSIT, che consiste nel Java API for XML Web Services.
==Differenze tra JAX-WS e JAX-RPC==
Anche se, le radici di JAX-WS vengono da JAX-RPC, il primo è un componente completamente diverso da quest'ultimo. Una delle differenze principali tra i due è il modello di programmazione: un servizio web basato su JAX-WS utilizza annotazioni (ad esempio ''@WebService'') per dichiarare endpoint di servizi web, mentre JAX-RPC usa la procedura di [[Remote Method Invocation|Invocazione remota dei metodi (RMI)]]. JAX-WS ha il supporto per l'invio di messaggi XML su HTTP. L'uso delle annotazioni evita la necessità di
==Esempio==
Riga 120:
* @WebMethod Posta sopra la firma del metodo, dice all'interprete Java che si intende pubblicare questo metodo come un Web Service. Il corrispettivo metodo dovrà essere dichiarato “public” e dovrà restituire qualcosa (nel nostro caso restituisce un double). Anche questa ha alcuni attributi come:
** action: definisce l'azione per l'operazione. ( = al nome del metodo)
** exclude: specifica se il metodo va escluso dalla pubblicazione del Web Service. (es.
** operationName: specifica il nome di wsdl: operation per il metodo (nome del metodo)
* @SOAPBinding Specifica la mappatura del Web Service nel protocollo di messaggi [[SOAP]]. In particolare si vede nel costrutto tra parentesi lo stile dei messaggi scelto.
==Wsgen==
Riga 131:
==JAX-WS handlers==
Gli handler (gestori) JAX-WS
JAX-WS specifica definisce due tipi gestore di base: I gestori di logica e I gestori di protocollo.
I primi sono in grado di elaborare il payload del messaggio e le proprietà di memorizzazione nel contesto del messaggio.
|