PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 /...

Post on 02-May-2015

213 views 0 download

Transcript of PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 /...

PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE

Anno Accademico 2006 / 2007Sessione III

FACOLTÀ DI INGEGNERIACORSO DI LAUREA IN INGEGNERIA INFORMATICADIPARTIMENTO DI ELETTRONICA, INFORMATICA E

SISTEMISTICATESI DI LAUREA IN RETI DI CALCOLATORI L - A

CANDIDATOANDREA BONDI

RELATORECHIAR.MO PROF. ANTONIO CORRADI

CORRELATORIING. STEFANO MONTIING. SAMUELE PASINI

Introduzione

Evoluzione nell’architettura del software Nascita di Internet Evoluzione del middleware

Problematiche Distribuzione e Installazione Configurazione

Procedimento

Scelte Tecnologiche

Analisi dei Requisiti

Progettazione

Implementazione

Esempio Concreto

Scelte Tecnologiche

Java Enterprise Edition Java Management eXtension

Cosa sono gli Mbeans Application Server Jboss Il linguaggio XML

<?xml version="1.0" encoding="ISO-8859-1"?>

<utenti> <utente> <nome>Luca</nome> <cognome>Ruggiero</cognome> <indirizzo>Milano</indirizzo> </utente></utenti>

Analisi dei Requisiti

Ordine di Deploy dei componenti

Upload dei componenti

Configurazione tramite chiamate a Mbean

Configurazione tramite metodi Custom

Undeploy dei componenti

Progettazione

Use Case:Upload, Deploy eConfigurazione diun’applicazione

Architettura Client / Server

Implementazione /1

Upload dei File Traduzione da File ad Array di Byte

Informazioni di Deploy di un pacchetto L’Mbean

jboss.system:service=MainDeployer

public boolean fileUpload(byte[] bytes, String filename)

Implementazione /2

Deploy tramite MBean Perché non sfruttare l’Hot Deployment di

JBoss L’Mbean EjdMainMBean

La Configurazione tramite Mbean

La Configurazione tramite Metodi Custom Java Reflection API

server.invoke(object, met.getName(), paramValue.toArray(),strType);

CustomConfig cc = (CustomConfig) conf;

Class<?> cls = Class.forName(cc.getClassName());

Object object = cls.newInstance();

Esempio Concreto

I Pacchetti che compongono l’Applicazione di Esempio Web Application Configurazione Custom MBean di test

Il file XML di configurazione Target deploy / undeploy Configurazioni MBean/Custom

Configurazioni MBean e Custom

<!-- Configurazione Custom -->

<custom class="testejd.Prova" priority="2">

<method name="scrivi" priority="2">

<param type="java.lang.String" value="scrivi da custom" />

</method>

<method name="parla" priority="1">

<param type="java.lang.String" value="parla da custom"/>

</method>

</custom>

<!-- Configurazione MBean -->

<mbean objectName="test:service=test" priority="1">

<method name="echo" priority="1">

<param type="java.lang.String" value="scrivi da MBean" />

</method>

</mbean>

Conclusioni

Risultati raggiunti

L’importanza della Java Management Extension

Possibili sviluppi futuri Compatibilità con altri Application Server Base per implementazioni più avanzate