Blog
Run java with specific JRE version
Se si cerca su internet l'opzione -version:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
D:\Documents and Settings\f.rosa>java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp
-classpath
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:
-enableassertions[:
enable assertions
-da[:
-disableassertions[:
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:
load native agent library
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:
load native agent library by full pathname
-javaagent:
load Java programming language agent, see java.lang.instrument
-splash:
show splash screen with specified image
—————
—————
—————
Servizio di Directory & LDAP
"The X.500 and LDAP directory services are examples of general-purpose distributed hierarchical object-oriented directory technologies. Both offer complex searching and browsing capabilities and are used for white pages, network information services, public key infrastructure, and a wide range of other applications."
Per gestire l'insieme di informazioni/servizi disponibili in architetture client-server quali:
- autenticazione/autorizzazione
- risorse condivise (stampanti, file system ecc.)
- interrogazioni
- memorizzazione/ricerca informazioni
sono stati realizzati specifici protocolli. Le caratteristiche elencate precedentemente rientrano in quello che viene definito servizio di directory. Una directory è simile a un dizionario; consente di eseguire il lookup di un nome, estraendo le informazioni ad esso associate. Un servizio di directory è semplicemente il sistema software che memorizza, organizza e fornisce accesso alle informazioni presenti nella directory.
LDAP (Lightweight Directory Access Protocol) è un protocollo standard per l'interrogazione e la modifica dei servizi di directory. Il sistema Active Directory di Windows è basato su LDAP. Sui sistemi Solaris è possibile utilizzare LDAP per l'autenticazione degli utenti e per altri servizi di informazioni come ad esempio le stampanti disponibili. Se si utilizza LDAP si può definire un'unica directory distribuita dove memorizzare tutte le informazioni sugli utenti e le risorse disponibili all'interno della rete. Si avrebbe un unico punto di accesso sicuro per gli utenti che inserirebbero una sola volta le proprie informazioni di autenticazione per avere accesso a tutte le risorse disponibili.
Ad esempio un servizio di directory potrebbe offrire i seguenti servizi, acceduti tramite LDAP:
- DNS (Domain Name System)
- routing dei messaggi di posta
- identificazione stampante di rete
- accesso/autenticazione ai sistemi
Conclusione
In conclusione, LDAP può essere utilizzato sia come protocollo per interagire con service di directory già esistenti (e.g. DNS), sia come protocollo per creare servizi di directory.
Riferimenti:
- https://en.wikipedia.org/wiki/Directory_(databasea)
- https://www.lineaedp.it/01NET/HP/0,1254,3_ART_24195,00.html?lw=10005;CHL
- https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol
- https://www2.garr.it/ws5/pdf/LDAP.pdf
—————
Servlet Container
Nel precendente post è stata fatta una panoramica sulle differenze tra web server e application server.
A volte può creare confusione il concetto di Servlet Container. Quest'ultimo non può essere a confronto con i concetti di Web server e Application Server in quanto rappresenta un modulo per l'esecuzione di Servlet e JSP sul web server/application server che si sta utilizzando.
Tomacat è il più famoso esempio di web server con integrato un modolo che gli permette di fungere anche da Servlet Container.
—————
Differenze tra Application Server e Web Server
Un web server è il software utilizzato per gestire le richieste HTTP eseguite da parte di un web client (browser). Il termine web server si riferisce anche al computer che ospita tale software. Il web client può ricevere due tipi di risposte dal web server:
- statica (semplice pagina web HTML)
- dinamica: se generata da uno script o applicazione lato server (Servlet, JSP, PHP)
La necessità di introdurre il concetto di application server nasce dal fatto che sempre più spesso la risposta da restituire al browser prevede:
- complesse operazioni da eseguire su database.
- interazione con altri sistemi lato server (CRM, ERP ...)
- interazione con altri componenti.
Le tecnologie contenute da un application server

Tutto ciò rappresenta la business logic (o logica funzionale) che consente di eseguire l'elaborazione della richiesta effettuata dal web client.
Naturalmente la capacità di un application server di gestire richieste HTTP, lo rende una estensione di un web server.
Una ulteriore differenza con il web server riguarda la capacità di un application server di gestire l'accesso ad altre applicazioni non necessariamente attraverso metodi basati sul web. Il management di applicazioni attraverso AS consente di avere uno strato in più tra il client e il server offrendo un punto di disaccoppiamento tra i due.
In particolare per il mondo Java si può fare la seguente distinzione:
- Web Server (con modulo Servlet Container): Servlets e JavaServer Pages
- Application Server: business logic gestita tramite Enterprise JavaBeans (EJB-3 o superiore)
Riferimenti:
—————
Business Logic
La maggior parte dei sistemi software prevede un'architettura three-tier ("a tre strati"). Tale termine indica una particolare architettura software che prevede la suddivisione del sistema in tre diversi moduli dedicati rispettivamente alla intefaccia utente, alla logica funzionale (business logic) e alla gestione dei dati persistenti. Tali moduli sono intesi interagire fra loro secondo le linee generali del paradigma client-server (l'interfaccia è cliente della business logic, e questa è cliente del modulo di gestione dei dati persistenti) e utilizzando interfacce ben definite. In questo modo, ciascuno dei tre moduli può essere modificato o sostituito indipendentemente dagli altri. Nella maggior parte dei casi, si intende anche che i diversi moduli siano distribuiti su diversi nodi di una rete anche eterogenea. Una soluzione three-tier tipica prevede, per esempio, un PC dedicato all'interfaccia utente grafica, una workstation o un application server per la business logic e un database server o un mainframe per la gestione dei dati.ù
Con il termine Business Logic ci si riferisce a tutta quella logica applicativa che rende operativa un'applicazione. Il business logic racchiude in sé regole cosiddette di "business", piuttosto che regole ed elementi legati alla visualizzazione delle informazioni (Vista o interfaccia grafica) o alla memorizzazione dei dati (es. database, ecc.).
Riferimenti:
—————
—————
Oggetti: 1 - 7 di 7