Esercizio 1.3: Aggiunta di bean di entità ai diagrammi di classi

Prima di iniziare, è necessario completare l'Esercizio 1.2: Preparazione dello spazio di lavoro.

L'Esercizio 1.3, descrive come creare bean di entità da un diagramma classi UML. In questo modulo verranno svolte le seguenti attività:

Descrizione dei bean

In questo scenario, verranno creati due bean di entità: Author e Book. Il bean Author rappresenterà una tabella del database, anch'essa chiamata AUTHOR. Il bean conterrà campi che rappresenteranno l'autore: ID, nome, età e sesso. Questi campi nel bean verranno associati direttamente alle colonne della tabella AUTHOR.

Il bean Book rappresenterà un libro. I suoi campi includono ID e titolo. I dati corrispondenti al bean Book verranno memorizzati nella tabella BOOK.

Creazione del bean Author

Per creare il bean Author, procedere come segue:

  1. Individuare il cassetto EJB nella tavolozza a destra del diagramma classi ULM.
  2. Fare clic sul cassetto EJB per aprirlo, nel caso fosse chiuso. Bean di entità CMP 2.x compare al centro dell'elenco.
  3. Fare clic sulla freccia (icona Menu a discesa) a destra del Bean di entità CMP 2.x per visualizzare altre opzioni. L'altra opzione elencata è Bean di entità CMP 1.x.
  4. Selezionare il Bean di entità CMP 2.x.
  5. Spostare il cursore sul diagramma classi e fare clic sul punto in cui si desidera inserire il bean. Viene creato un nuovo bean di entità CMP 2.x e viene visualizzato nel diagramma classi.

Poiché i bean EJB sono complessi, questa azione avvia la procedura guidata Creazione di un bean enterprise, che consente di definire il bean.

Pagina Creazione bean enterprise

Nella prima pagina della procedura guidata, procedere come segue:

  1. Verificare che il Progetto EJB sia Esercitazione EJB UML.
  2. Come Nome bean, specificare Author
  3. Verificare che la Cartella di origine sia ejbModule.
  4. Modificare il nome del Pacchetto predefinito sia sample
  5. Verificare che la Versione CMP sia 2.x.
  6. Scegliere Avanti.

Pagina Proprietà di base della procedura guidata Nuovo EJB

Pagina Dettagli sul bean enterprise

Nella seconda pagina della procedura guidata, procedere come segue:

  1. Lasciare vuoto il campo Supertipo bean.
  2. Verificare che la Classe bean sia sample.AuthorBean.
  3. Lasciare deselezionata la casella di controllo Vista client remoto.
  4. Selezionare la casella di controllo Vista client locale.
  5. Verificare che il nome dell'Interfaccia home locale sia sample.AuthorLocalHome.
  6. Verificare che il nome dell'Interfaccia locale sia sample.AuthorLocal.
  7. Verificare che la Classe chiavi sia java.lang.Integer.
  8. Selezionare la casella di controllo Utilizza il tipo di attributo a chiave singola per la classe chiave.
  9. Verificare che l'id chiave si trovi nell'elenco degli attributi CMP.
  10. Aggiungere due attributi CMP:
    1. Scegliere Aggiungi.
    2. Creare un attributo chiamato name con un tipo java.lang.String. Lasciare le caselle di controllo Matrice e Campo chiave deselezionate e selezionare la casella Promuovi metodi getter e setter per l'interfaccia locale. Quando i metodi getter e setter vengono promossi per l'interfaccia locale, verranno esposti alle applicazioni client.
    3. Scegliere Applica.
    4. Creare un attributo chiamato age con un tipo di java.lang.Integer. Lasciare le caselle di controllo Matrice e Campo chiave deselezionate e selezionare la casella Promuovi metodi getter e setter per l'interfaccia locale.
    5. Scegliere Applica, quindi Chiudi.
    6. Scegliere Fine.

Pagina Dettagli sul bean enterprise della procedura guidata Nuovo EJB

Viene creato il primo bean di entità e viene visualizzato nel diagramma classi. Nella vista Esplora progetti vengono visualizzati i seguenti file:

Aprire il descrittore di distribuzione EJB. Nella pagina Panoramica, in Enterprise JavaBeans, viene visualizzato il bean Author. Fare clic sulla voce relativa al bean Author. Si apre la pagina Bean dell'editor del descrittore di distribuzione, che contiene i tre campi CMP e i quattro file di classe e di interfaccia, inclusa la classe utilizzata dalla chiave primaria, java.lang.Integer.

Nella pagina Bean, in Binding WebSphere, viene visualizzato il nome JNDI ejb/sample/AuthorLocalHome. Questo nome JNDI viene utilizzato quando un'applicazione client ricerca il bean.

Nella vista Esplora progetti, in Progetto EJB, la directory ejbModule > META-INF conterrà il nuovo file ibm-ejb-jar-bnd.xmi. Questo file contiene informazioni di binding specifiche IBM. Le informazioni all'interno di questo file sono accessibili attraverso nell'editor descrittore di distribuzione, ma i valori sono memorizzati un un file a parte per consentire di rimuovere facilmente le estensioni specifiche IBM se si desidera distribuire l'applicazione su un server EJB di un altro fornitore. Successivamente, durante il processo di sviluppo EJB, il file ibm-ejb-jar-ext.xmi verrà visualizzato. Contiene informazioni di estensione specifiche IBM.

Inoltre, nella vista Esplora progetti, espandere la directory del descrittore di distribuzione nel progetto EJB, espandere Bean di entità > Author ed esplorare i collegamenti ai diversi componenti che formano il bean Author.

Creazione di un bean Book

A questo punto, creare il bean Book. Procedere come segue:

  1. Aggiungere un altro bean di entità CMP 2.x al diagramma classi.
  2. Seguire la stessa procedura per la creazione del bean Author, con queste differenze:
  3. Scegliere Fine.

Il secondo bean di entità viene creato e visualizzato nel diagramma classi e nella vista Esplora progetti vengono visualizzati i seguenti file:

Il descrittore di distribuzione EJB a questo punto contiene il bean Book nell'elenco JavaBean della pagina Panoramica. I dettagli del bean Book sono simili a quelli del bean Author. Nella vista Esplora progetti, espandere la directory del descrittore di distribuzione nel progetto EJB. Espandere Bean di entità > Book ed esplorare i collegamenti ai componenti del bean.

Definizione delle relazioni tra i bean

A questo punto, definire una relazione CMP tra i due bean CMP nel diagramma classi. È possibile associare un singolo autore a uno o più libri e un singolo libro può essere associato a uno o più autori. Questa relazione viene considerata una relazione bidirezionale molti-a-molti e viene espressa mediante l'annotazione 0..*:0..*.

  1. Fare clic sulla barra del titolo del diagramma classi UML per ingrandire la finestra.
  2. Nella vista Tavolozza, espandere il cassetto Relazione CMP facendo clic sulla freccia icona Menu a discesa).
  3. Selezionare la Relazione CMP 0..*:0..*.
  4. Spostare il cursore sul bean Author. Se la relazione è valida per il bean, viene visualizzata l'icona di una freccia (icona freccia). Se la relazione non è valida, viene visualizzata la stessa icona ed il simbolo di invalidità (icona freccia non valida).
  5. Fare clic sul bean Author.
  6. Trascinare il cursore sul bean Book e rilasciare il tasto. Se il bean di destinazione non è valido per la relazione, viene visualizzata l'icona di invalidità (icona freccia non valida).
  7. La relazione CMP viene visualizzata come un'associazione nel diagramma dopo aver generato il codice necessario. Nel descrittore di distribuzione, queste relazioni vengono visualizzate nell'intestazione Relazioni della pagina Bean.
  8. Premere Ctrl + S per salvare il diagramma classi.

Sezione Relazioni del descrittore di distribuzione EJB

Per visualizzare i dettagli degli elementi nel diagramma classi, è possibile riordinarli.

Diagramma classi con relazioni

Esplorazione delle altre viste

Le viste Struttura e Proprietà forniscono informazioni utili sul diagramma classi e sulle proprietà degli specifici componenti EJB.

La vista Struttura, per impostazione predefinita, viene visualizzata nel workbench in basso a sinistra. Utilizzare questa vista per spostarsi all'interno di un diagramma di grandi dimensioni come segue:

  1. Se il diagramma classi utilizza l'intero frame del workbench, fare nuovamente doppio clic sulla barra del titolo del diagramma per ripristinarne le dimensioni normali.
  2. Si noti la vista Struttura nell'angolo in basso a sinistra del workbench. In questa vista, il diagramma classi viene visualizzato con una scala piccola. Se il diagramma è troppo grande per essere visualizzato interamente nella finestra di modifica, viene visualizzato un rettangolo evidenziato nella vista Struttura che indica la parte visibile del diagramma.
  3. Nella vista Struttura, spostare il rettangolo evidenziato servendosi del cursore. La sezione del diagramma classi visibile nell'area dell'editor viene spostata per creare una corrispondenza con la sezione evidenziata nella vista Struttura.

Vista Struttura di un diagramma classi

La vista Proprietà, per impostazione predefinita, viene visualizzata nel workbench in basso a destra. Contiene due schede, Aspetto e Avanzate. Nella pagina Aspetto è possibile modificare i colori, i tipi di carattere ed altre proprietà visive. La pagina Avanzate mostra le proprietà dettagliate dell'elemento selezionato nel diagramma classi. Alcuni valori nella vista Proprietà sono di sola lettura, mentre altri possono essere modificati.

Vista proprietà di un diagramma classi

Modifica degli attributi dal diagramma classi UML

Successivamente, verranno modificati alcuni attributi CMP per il bean Author.

Aggiunta di un attributo CMP a un bean

  1. Spostare il cursore in qualsiasi punto del bean Author. Viene visualizzata la Barra Azioni.

  2. Barra Azioni
  3. Fare clic sul simbolo chiave primario (Icona campo Chiave primaria) nella barra Azioni per aggiungere altri attributi CMP a AuthorBean. Si apre la procedura guidata Campi CMP.
  4. Aggiungere un campo avente nome gender di tipo java.lang.Character.
  5. Scegliere Applica > Chiudi > Fine. Le classi dei bean vengono aggiornate e l'attributo gender viene visualizzato nella sezione Attributo del bean nel diagramma classi.

Attributo CMP per il bean Author

Integrazione di un attributo CMP nella chiave

  1. Evidenziare l'attributo name nel bean Author.
  2. Fare clic con il tasto destro del mouse e scegliere Modifica > Aggiungi alla chiave. Si apre la procedura guidata Nuova classe chiave. Poiché la chiave non è più di tipo Java primitivo, sarà necessario creare una nuova classe chiave. Fino a questo punto, come classe chiave, è stata utilizzata java.lang.Integer.
  3. Scegliere OK per utilizzare le opzioni preselezionate per creare la nuova classe chiave avente il nome predefinito AuthorKey. L'attributo name viene visualizzato nel diagramma classi con il simbolo del campo della chiave primaria. La nuova classe chiave viene visualizzata nella directory UML EJB tutorialClient > ejbModule > sample.
  4. Premere Ctrl + S per salvare il diagramma classi.

Procedura guidata Nuova classe chiave

Manipolazione di oggetti nel diagramma classi UML

In questa sezione, verrà fornita un'analisi dettagliata del diagramma classi. Fare doppio clic sulla barra del titolo del diagramma classi per ingrandirla. L'editor del diagramma classi occupa ora gran parte della finestra del workbench, lasciando la Tavolozza espansa sulla destra.

Nuova disposizione dei componenti bean sul diagramma

  1. Fare clic su uno dei bean. Un piccolo quadrato di colore nero viene visualizzato attorno al rettangolo, ad indicare che il bean è stato selezionato.
  2. Trascinare il bean in un'altra posizione all'interno del diagramma e rilasciarlo. Se si spostano i bean Author o Book, la freccia di relazione viene modificata per riflettere la nuova posizione.

Modifica degli elementi visualizzati per un bean

  1. Nell'editor del diagramma classi, evidenziare il bean Author. Il rettangolo che rappresenta il bean è diviso in diverse sezioni. Le sezioni predefinite visualizzate sono Attributo e Interfacce fornite. Le sezioni dispongono di un'icona per far sì che non vengano visualizzate (Icona Nascondi) nell'angolo in alto a sinistra.
  2. Fare clic su una delle icone Nascondi per nascondere la corrispondente sezione del bean.La sezione viene compressa e l'icona Nascondi viene sostituita con l'icona Mostra Icona Mostra).
  3. Per visualizzare nuovamente la sezione, fare clic sull'icona Mostra.
  4. Selezionare le sezioni da visualizzare o nascondere facendo clic sul bean con il tasto destro del mouse e scegliendo Filtri > Mostra/Nascondi sezione.

EJB con sezioni nascoste e visualizzate

Apertura degli editor dal diagramma

Quando viene aperto l'editor Java bean EJB, nell'angolo in basso a sinistra del workbench viene visualizzata la vista Struttura dell'editor. In questa vista sarà possibile modificare il bean. Fare clic con il tasto destro del mouse nella vista Struttura e selezionare Bean enterprise. Selezionare Assegna o Annulla assegnazione per assegnare o annullare l'assegnazione del metodo selezionato a una dei tipi di interfaccia elencati.

Aggiungere un metodo alla classe utilizzando l'editor Java bean EJB. Il nuovo metodo viene visualizzato nella vista Struttura. Assegnando il nuovo metodo a un'interfaccia, il metodo viene visualizzato nel diagramma classi.

Editor Java bean EJB

Approfondimento delle decorazioni associate ai bean

Decorazione Significato
Decorazione bean di entità CMP 2.x Bean di entità CMP 2.x
Decorazione campo chiave primaria Campo chiave primaria
Decorazione campo CMP Campo CMP, non primario
Decorazione interfaccia locale Interfaccia locale
Decorazione interfaccia home locale Interfaccia home locale
Decorazione interfaccia remota Interfaccia remota
Decorazione metodo locale Metodo locale
Decorazione metodo home locale Metodo home locale
Decorazione metodo remoto Metodo remoto

Un elenco completo delle decorazioni è disponibile nel Centro informazioni in Riferimento visualizzazione UML.

Diagrammi classe UML e interazione del codice

Quando si apportano modifiche nel diagramma classi, le modifiche corrispondenti vengono automaticamente apportate al codice sottostante. Analogamente, se si apportano modifiche direttamente al codice, il diagramma classi verrà automaticamente modificato per riflettere la modifica. Qualunque tipo di modifica effettuato nel workbench comporta una riconvalida del codice. Per le applicazioni EJB, la convalida include l'individuazione degli errori di compilazione nelle classi Java, problemi di percorso classi e violazione delle specifiche EJB.

Nella parte inferiore del workbench, vengono sovrapposte numerose viste, inclusa la vista Problemi. Questa vista contiene tutti gli errori, gli avvisi e i messaggi informativi relativi a tutti i progetti e i file nel workbench. Facendo doppio clic su uno dei problemi riportati, si apre il file appropriato nel punto in cui si è verificato l'errore.

Per impostazione predefinita, la vista Problemi limita il numero di problemi a 100. È possibile modificare questo limite oppure filtrare la vista per visualizzare solo gli elementi che si desidera visualizzare. Le opzioni di filtraggio includono la severità del problema, i progetti, le risorse e il tipo di problema. Per modificare queste impostazioni predefinite, fare clic sulla freccia (Icona Menu a discesa) e selezionare Filtri.

Configurazione delle preferenze per i diagrammi di classi UML

È possibile modificare alcune delle funzionalità predefinite e le caratteristiche di visualizzazione dei diagrammi di classi. Dal menu Finestra, selezionare Preferenze. Espandere Creazione modelli per visualizzare gli elementi che è possibile modificare.

La sezione principale contiene le Impostazioni globali, come, ad esempio, il modo in cui vengono visualizzate le barre Azione quando si posiziona il mouse su una classe nel diagramma. La sezione Aspetto contiene numerose pagine che consentono di modificare elementi quali tipi di carattere, colori, connettori e forme. La sezione EJB contiene le impostazioni che vengono utilizzate all'apertura del diagramma classi. Altre sezioni contengono opzioni per la convalida, le griglie, i metodi e i campi Java.

Controllare le singole sezioni per acquisire familiarità con le varie opzioni. Dopo aver apportato le modifiche, scegliere OK per salvarle e uscire dalla pagina Preferenze.

A questo punto, è possibile iniziare l'Esercizio 1.4: Associazione dei bean di entità ai database relazionali.

Termini di utilizzo | Feedback
(C) Copyright IBM Corporation 2000, 2005. Tutti i diritti riservati.