Avvio di servizi Web Java e sensazione di smarrimento [chiuso]

5

Dopo aver creato principalmente applicazioni desktop Java e alcuni piccoli servizi GWT, sto cercando di imparare come creare servizi Web in Java, ma mi sento sopraffatto dalla mole di termini, termini, specifiche e tecnologie. Inoltre, non sono in grado di trovare una fonte completa, ma corretta da imparare.

È normale quando si avvia WS e cosa sono buoni libri / risorse?

    
posta Oliver Weiler 07.06.2011 - 17:34
fonte

4 risposte

6

Sì, è normale. Sono stato produttivo in Ruby on Rails dopo un paio di giorni. Al contrario, ho trovato che i framework web Java sono incredibilmente complessi senza una ragione ovvia, e ho trovato la documentazione discreta nei confronti dei poveri. Documentazione dell'API decente, ma una piccola panoramica. Ma le cose stanno migliorando. Per i servizi web, mi piace Jersey parecchio.

    
risposta data 07.06.2011 - 19:07
fonte
3

In Java ci sono due tipi di servizi web. Ci sono i servizi Web in cui utilizzerai SOAP, WSDL, ecc. (Che ho sempre appreso come "servizi web") e poi ci sono le chiamate in stile REST (che ho sempre chiamato REST su HTTP) . Ma poi ho notato che altri ingegneri sono piuttosto informali e chiamano REST "servizi web" che a mio avviso hanno confuso il problema.

Comunque, la mia esperienza è che lo stile REST (Jersey, Spring Rest Template, ecc.) sono entrambi più facili da imparare e molto più popolari (questi due punti sono probabilmente correlati, btw). Quindi, se trovi confusi i servizi web SOAP (e so che l'ho fatto) puoi fare un favore a te stesso e saltarli imparando fino a quando non ti imbatti in prove concrete che li userai effettivamente nel mondo reale.

    
risposta data 07.06.2011 - 20:00
fonte
3
risposta data 07.06.2011 - 19:44
fonte
1

La prima cosa da capire è che i servizi Web sono alternativi agli stili precedenti o RPC:

  • DCOM
  • Corba
  • RPC specifici della piattaforma e specifici dell'applicazione
  • tutti sopra sono stati caricati con dettagli superflui anche

La seconda cosa è che è una specie di modo per fare chiamate API a oggetti su http (o altri mezzi di trasporto, messaggistica, posta piccione).

La terza parte importante è - Ogni linguaggio di programmazione dall'invenzione di servizi Web può generare un intero codice client, che dovrebbe rendere l'applicazione che utilizza il webservice come un semplice oggetto con metodi. Indipendentemente dal numero di parti mobili coinvolte, dovresti essere in grado di compilare, eseguire, invocare, ricevere risultati ed eccezioni come se fosse un oggetto locale.

Il resto della complessità è causato da aspetti di affidabilità, compatibilità, sicurezza ecc.

    
risposta data 07.06.2011 - 19:57
fonte

Leggi altre domande sui tag