Casa Finanza personale Creazione di servizi Web in WebLogic - dummies

Creazione di servizi Web in WebLogic - dummies

Sommario:

Video: HOW TO CREATE SERVER IN WEBLOGIC 2024

Video: HOW TO CREATE SERVER IN WEBLOGIC 2024
Anonim

Un servizio Web è una procedura remota disponibile per i client tramite TCP / IP, in genere utilizzando HTTP o SMTP come trasporto e XML per la codifica. Il servizio Web è descritto utilizzando la notazione XML standard denominata descrizione del servizio . Un servizio Web svolge una singola attività o una serie di attività.

Tutti i dettagli del servizio Web sono nascosti all'utente e il servizio è indipendente sia dall'hardware che dal software. Questo incoraggia gli sviluppatori di software a creare applicazioni composte da piccoli servizi individuali, che possono quindi essere utilizzati da soli o in gruppi per eseguire attività ancora più complesse.

È possibile creare un servizio Web in due modi: manualmente, attraverso la creazione di sorgenti Java e file di configurazione, o utilizzando un sistema GUI chiamato WebLogic Workshop. In questo articolo, si crea un servizio Web manualmente.

Definizione di un servizio Web

Prima di creare il servizio Web, è necessario definire cosa farà. Ciò consente di costruire correttamente l'interfaccia che altre applicazioni devono rispettare se desiderano comunicare con il proprio servizio web.

La decisione di progettazione più basilare è quale dei due tipi generali di servizi Web creerai:

  • Servizio sincrono
  • Servizio asincrono

Un servizio Web sincrono , < che è l'impostazione predefinita, inizia quando il servizio Web riceve un messaggio. Questo servizio Web risponde immediatamente. I servizi Web sincroni sono più utili quando il programma client richiede immediatamente i dati restituiti dalla richiesta. Un esempio di questo tipo di dati è l'attuale quotazione di borsa per una determinata azienda.

Un servizio web

asincrono è asincrono, quindi i messaggi possono essere scambiati liberamente tra il client e il servizio web. Un messaggio da un lato non obbliga l'altro a inviare un messaggio corrispondente. Quando un client invia un messaggio a un servizio Web asincrono, il client non attende un messaggio di ritorno dal servizio web. Il servizio Web può inviare un messaggio al client in un secondo momento, ma nulla lega intrinsecamente questo messaggio al messaggio originale inviato dal client. I servizi web asincroni sono una buona scelta quando invii informazioni che non richiedono una risposta. Ad esempio, potresti voler inviare un messaggio a diversi server, dando loro un nuovo messaggio di benvenuto da mostrare agli utenti.

Scelta e creazione di un componente di backend

Lo scopo del servizio Web è consentire ai client remoti di accedere ai servizi forniti. Questi servizi, chiamati

componenti di backend, prendono la forma di codice Java.È possibile creare il componente di backend in uno dei seguenti modi: Un metodo di una sessione senza stato EJB

  • Un metodo di una classe Java
  • Un utente del metodo JMS
  • WebLogic può rendere disponibile uno qualsiasi di questi elementi come un servizio web. Ciò rende conveniente il pacchetto di codice Java esistente come servizio Web. Se sono già stati creati EJB di sessione senza stato, è possibile comprimerli come servizio Web. O se il tuo codice esiste in normali classi Java, puoi fornire l'accesso alla tua classe come servizio web. Puoi anche utilizzare la messaggistica JMS come servizio di backend per il tuo servizio web.

Creazione di un servizio Web sincrono

In questa sezione, si crea un servizio Web sincrono utilizzando una normale classe Java e quindi utilizzando un EJB sessione senza stato. Innanzitutto, è necessario scrivere il componente back-end. Questa sarà una classe Java, un EJB senza stato o un utente del metodo JMS.

Utilizzo di un componente back-end classe Java

È necessario seguire alcune regole quando si implementa un'operazione di servizio Web utilizzando una classe Java:

Non avviare alcun thread. Questa regola si applica a tutto il codice Java eseguito su WebLogic Server.

  • Definire un costruttore predefinito senza argomenti.
  • Definire come pubblici i metodi della classe Java che saranno esposti come operazioni di servizio web.
  • È necessario scrivere codice Java thread-safe perché WebLogic Server mantiene solo una singola istanza di una classe Java che implementa un'operazione di servizio Web e ogni chiamata del servizio Web utilizza la stessa istanza.

Per un esempio di implementazione di un'operazione di servizio Web WebLogic con una classe Java, passare alla seguente directory:

WL_HOMEsamplesserversrcexampleswebservicesbasicjavaclass

dove

WL_HOME fa riferimento alla directory principale dell'installazione di WebLogic Server. Su un sistema Windows, questa directory è in genere C: beaweblogic81. L'elenco 1 mostra una classe Java che è possibile utilizzare come componente di back-end. Questa classe Java contiene un singolo metodo, denominato sampleMethod, che accetta un int e restituisce una stringa.

Listing 1: Java Backend Component

package com. manichini. EJB;

sampleBackendComponent di classe pubblica

{

public String sampleMethod (int num)

{

switch (num)

{

case 1: return "One";

caso 2: return "Two";

caso 3: return "Three";

caso 4: return "Four";

caso 5: return "Five";

caso 6: return "Six";

caso 7: return "Seven";

caso 8: return "Eight";

caso 9: return "Nine";

caso 10: restituisce "Dieci";

default: restituisce "Some Number";

}

}

}

Utilizzo di una sessione senza stato Componente di backend EJB

Si può anche scegliere di costruire il componente di backend come EJB di sessione senza stato. La scrittura di codice Java per una sessione senza stato EJB per un servizio Web non è diversa dalla scrittura di un EJB indipendente.

Nei servizi web. descrittore di distribuzione xml, è possibile specificare che un'operazione di servizio Web sia a senso unico, il che significa che l'applicazione client che richiama il servizio Web non attende una risposta.Quando scrivi il codice Java per il metodo EJB che implementa questo tipo di operazione, devi specificare che restituisce void.

Quando si sceglie di utilizzare un EJB o un componente di backend di classe Java, considerare gli altri modi in cui verrà utilizzato il componente di back-end. Se il tuo componente di back-end sarà comunemente accessibile come EJB, costruirlo come un EJB. Ciò ti consente di utilizzare lo stesso codice sia per il tuo EJB che per il servizio web.

Sono richieste molte più risorse per chiamare un servizio Web piuttosto che chiamare un EJB. Per questo motivo, è comune creare tutti i componenti di back-end come EJB e quindi consentire alle applicazioni esterne di accedere ai componenti di back-end come servizi Web. Le tue applicazioni locali, che sono in esecuzione sulla stessa rete del tuo server WebLogic, possono utilizzare il metodo di chiamata EJB più veloce.

Il Listato 2 mostra il file bean che implementa il componente backend EJB. Il componente backend EJB è quasi lo stesso del componente back-end della classe Java. La differenza principale è il codice aggiuntivo utilizzato per supportare l'EJB.

Elenco 2: componente backend EJB

pacchetto com. manichini. EJB;

importazione javax. EJB. *;

importazione java. rmi. *;

importazione javax. swing. *;

SampleBean di classe pubblica implementa SessionBean

{

private SessionContext stx;

// Metodi richiesti, non usati da questo tipo di bean

public void ejbCreate () {}

public void ejbRemove () {}

public void ejbActivate () {}

public void ejbPassivate () {}

// setter per SessionContext

public void setSessionContext (SessionContext ctx)

{

ctx = this. STX;

}

// il metodo di esempio

public String sampleMethod (int num)

genera RemoteException

{

switch (num)

{

case 1: return " Uno";

caso 2: return "Two";

caso 3: return "Three";

caso 4: return "Four";

caso 5: return "Five";

caso 6: return "Six";

caso 7: return "Seven";

caso 8: return "Eight";

caso 9: return "Nine";

caso 10: restituisce "Dieci";

default: restituisce "Some Number";

}

}

}

È necessario specificare che il bean è un EJB senza stato nell'ejb-jar. file xml, che è mostrato nel Listato 3. Puoi usare molti nodi e attributi.

Elenco 3: ejb-jar. File xml per un componente di backend

' // java. sole. com / dtd / ejb-jar_2_0. DTD '>

SampleObject

com. manichini. EJB. SampleHome

com. manichini. EJB. Esempio

com. manichini. EJB. SampleBean

Stateless

Container

Creazione di servizi Web in WebLogic - dummies

Scelta dell'editore

Come utilizzare le funzionalità dell'app Klout su dispositivi Apple - dummies

Come utilizzare le funzionalità dell'app Klout su dispositivi Apple - dummies

L'esperienza mobile di Klout è più limitato rispetto al sito web completo. Tuttavia, molte funzionalità sono ancora disponibili con l'app per dispositivi mobili, incluso dare + K ai tuoi influenzatori, controllare il tuo punteggio Klout e apportare semplici modifiche al tuo profilo. E con l'implementazione di Klout per il tuo iPhone Passbook puoi persino usare Klout per ottenere ...

Metriche dei social media: App Android SDK di Google Analytics - dummies

Metriche dei social media: App Android SDK di Google Analytics - dummies

Tracciamento delle metriche di un'applicazione ( un'app) è stata semplificata, ma le app sono ancora isolate. Puoi tenere traccia di ogni app, ma le soluzioni sono ancora in fase di creazione per tenere traccia di tutte le app. Per andare avanti con Google Analytics SDK per la tua app Android, segui questi passaggi: Scarica l'SDK di Google Analytics per Android. Aggiungi la libreria libGoogleanalytics. jar ...

Metriche sui social media: individuazione del momento di trazione con Google+ - dummies

Metriche sui social media: individuazione del momento di trazione con Google+ - dummies

In i social media, il momento di trazione potrebbe anche essere chiamato il "miglior tempo per condividere su Google+ o altri siti sociali. "Il momento migliore per te potrebbe non essere il momento migliore per i tuoi colleghi generatori di contenuti. (Il merito di questo suggerimento principale va a Christopher Penn che per primo condivise la sua osservazione sulla ricerca ...

Scelta dell'editore

Combinazione di due foto sulla tua Nikon D3400 con sovrapposizione immagini - manichini

Combinazione di due foto sulla tua Nikon D3400 con sovrapposizione immagini - manichini

L'opzione Sovrapposizione immagini sulla Il menu di ritocco di Nikon D3400 consente di unire due foto in una. Questa opzione è stata utilizzata per combinare una foto di un lupo mannaro, mostrato a sinistra, con una scena da giardino notturno, mostrata nel mezzo. Il risultato è l'immagine spettrale mostrata a destra. Oooh, spaventoso! Su ...

Scelta di una modalità Esposizione per una Nikon DSLR - manichini

Scelta di una modalità Esposizione per una Nikon DSLR - manichini

La prima impostazione da prendere in considerazione quando si le riprese con la tua Nikon D3100, D5100 o D7000 sono la modalità di esposizione, che puoi selezionare tramite la ghiera dei modi. La tua scelta determina la quantità di controllo che hai rispetto a due impostazioni di esposizione critiche - diaframma e tempo di posa - oltre a molte altre opzioni, incluse quelle relative ...

Scelta del formato immagine JPEG per una reflex Nikon - dummies

Scelta del formato immagine JPEG per una reflex Nikon - dummies

Offerte Nikon D3100, D5100 o D7000 i due tipi di file comuni nella maggior parte delle fotocamere digitali odierne: JPEG e Camera Raw, o semplicemente Raw in breve, che passa dallo specifico moniker NEF (Nikon Electronic Format) sulle fotocamere Nikon. Il tipo di file, talvolta noto anche come formato file, determina come i dati dell'immagine ...

Scelta dell'editore

Comprensione della struttura delle classi Java - dummies

Comprensione della struttura delle classi Java - dummies

Impossibile creare un'applicazione Java senza creare una classe. Tuttavia, i modi in cui si usano le classi all'inizio quando si apprendono su di essi sono stati relativamente semplicistici - Java è in grado di avere una complessità considerevolmente maggiore, che è il punto di questo capitolo. Le classi hanno una struttura specifica. Proprio come i progetti ...

Come utilizzare i metodi astratti in Java - dummies

Come utilizzare i metodi astratti in Java - dummies

Sia le interfacce che le classi astratte hanno metodi astratti in Java. Ma i metodi astratti giocano ruoli leggermente diversi in questi due tipi di tipi di riferimento. Come puoi tenere tutto dritto nella tua mente? La prima cosa da fare è ricordare che nessuno impara a conoscere i concetti di programmazione orientata agli oggetti senza ottenere molti ...

Come utilizzare l'interfaccia CharSequence in Java - dummies

Come utilizzare l'interfaccia CharSequence in Java - dummies

L'API Java include un'interfaccia utile chiamata CharSequence. Tutte e tre queste classi - String, StringBuilder e StringBuffer - implementano questa interfaccia. Questo metodo esiste principalmente per consentire di utilizzare String, StringBuilder e StringBuffer in modo intercambiabile. A tal fine, molti dei metodi delle classi String, StringBuilder e StringBuffer utilizzano CharSequence come parametro ...