Quando si installa Optim pureQuery Runtime per Linux®, UNIX®
e Windows® o Optim pureQuery Runtime per z/OS, è possibile distribuire le proprie applicazioni
Java™ pureQuery o abilitate all'utilizzo di pureQuery
negli ambienti di produzione. È inoltre possibile sviluppare applicazioni Microsoft® .NET.
Funzioni per le applicazioni Java
Per
le applicazioni che utilizzano la pureQuery API, la distribuzione di Optim pureQuery
Runtime per Linux, UNIX e Windows o Optim pureQuery
Runtime per z/OS offre
queste funzioni:
- Consente di eseguire SQL su database, raccolte in memoria e oggetti Iteratore utilizzando una singola API.
La piattaforma Java fornisce numerose strutture di dati e API per elaborare raccolte in memoria e dati esterni provenienti da origini diverse. Ciascuna di queste, generalmente, è adatta alla risoluzione di un tipo specifico di problema, ma dispone anche di un insieme unico di interfacce per il richiamo e la modifica dei dati all'interno della raccolta. Ad esempio gli Array, le Liste, le Mappe e gli Iteratori Java forniscono ciascuno una API per l'interrogazione e in alcuni casi l'aggiornamento dei dati all'interno di una raccolta.
Similmente la API JDBC fornisce uno strumento per utilizzare SQL per accedere a oggetti DataSource JDBC relazionali o esterni di altro tipo.
Tuttavia, solo pureQuery consente a un'applicazione di accedere a tutte queste origini dati, individualmente o in combinazione, tramite un unico e ben noto linguaggio di interrogazione.
- Fornisce un modello di programmazione semplice e diretto per l'accesso ai dati
- pureQuery viene eseguito in un layer thin sopra JDBC e semplifica le query, gli aggiornamenti, i richiami a procedure memorizzate e altre attività associate all'accesso ai database. Funziona su Java 2
Platform, Standard Edition 5.0 (J2SE 5.0) e Java Platform,
Standard Edition 6 (Java SE 6).
- Associa automaticamente dati SQL per restituire tipi con intervento minimo dello sviluppatore, ma consente di fornire codice personalizzato per associazioni complesse
- Fornisce l'associazione automatica tra risultati di query SQL e gli oggetti restituiti per numerosi modelli di oggetto Java. Per associazioni complesse tra i risultati della query e gli oggetti Java, è disponibile un'interfaccia di uscita collegabile che consente associazioni personalizzate.
- Supporta due differenti stili di programmazione
- Utilizzare lo stile di programmazione inline se ci si vuole avvantaggiare dei metodi definiti nell'interfaccia Data fornita da IBM.
Questo stile utilizza metodi nei quali le istruzioni SQL vengono passate come parametri nei richiami dei metodi, ed è simile all'approccio utilizzato in JDBC e SQLJ.
- Utilizzare lo stile di programmazione annotated-method se si vogliono definire i propri metodi in interfacce personalizzate. Questo stile utilizza metodi con definizioni che sono annotate con istruzioni SQL.
- Supporta SQL sia statico che dinamico durante il runtime
- Il codice pureQuery può utilizzare SQL dinamico con un driver JDBC standard per SQL incorporato e SQL ad hoc ignoto fino al runtime.
- Il codice pureQuery può utilizzare anche se SQL statico quando il codice utilizza lo stile di programmazione annotated-method e database DB2.
L'SQL statico ha questi vantaggi:
- La cache delle istruzioni dinamiche non è necessaria
- L'utilizzo di SQL statico SQL riduce le dispute della cache di istruzioni dinamiche DB2, migliorando le prestazioni di applicazioni che utilizzano SQL e dinamico.
- Coerenza dei percorsi di accesso
- L'SQL statico rende i tempi di risposta prevedibili e stabili bloccando i percorsi di accesso prima dell'esecuzione di un'applicazione. Al contrario, i percorsi di accesso dell'SQL dinamico sono calcolati durante il runtime.
- Miglioramento potenziale delle applicazioni
- L'SQL statico può migliorare le prestazioni delle applicazioni.
- Dato che i piani di accesso vengono determinati prima del runtime, la necessità di preparare le istruzioni
SQL è a sua volta eliminata.
- Poiché ciascuna istruzione non deve essere preparata e descritta, c'è meno traffico di rete e tra l'applicazione client e i server di database.
- L'SQL statico rende obbligatori tipi di dato per le variabili host o i parametri utilizzati nei predicati. Questo vincolo rigido assicura che i dati di input corrispondano ai tipi di destinazione nel database.
- Sicurezza più efficace
- È possibile assegnare agli utenti il privilegio EXECUTE sul pacchetto DB2, piuttosto che assegnare loro privilegi sugli oggetti di database.
- Facilità di revisione dei pacchetti
- Il versionamento dei pacchetti DB2 consente di effettuare nuovamente il bind dei pacchetti senza rischio di perdere percorsi di accesso precedenti migliori.
- Supporto per connessioni JDBC Type 2 durante l'esecuzione di applicazioni pureQuery su z/OS
- Poiché il driver JDBC Type 2 è una combinazione di codice Java e nativo, le connessioni Type 2 hanno generalmente prestazioni migliori delle connessioni Type
4.
Le applicazioni API non-pureQuery che non
utilizzano la API pureQuery API possono trarre vantaggio dal client optimization, che
è diverso da altre tecnologie che supportano l'esecuzione statica di SQL poiché:
- Non utilizza preprocessori,a differenza del linguaggio di programmazione COBOL con
SQL incorporato.
- Non utilizza un traduttore o un personalizzatore, a differenza di SQLJ.
- Non è necessario inserire istruzioni SQL direttamente nel sorgente di un'applicazione.
Invece di richiedere questi componenti o
modifiche al codice utilizzato, client optimization modifica l'interazione di un driver JDBC
con un'applicazione.
Funzioni per le applicazioni Microsoft .NET
Optim pureQuery Runtime per Linux, UNIX e Windows fornisce supporto per migliorare la stabilità,
la protezione e la gestibilità delle applicazioni .NET, comprese
quelle scritte in un qualsiasi linguaggio basato su .NET, tra cui
C# e VB.NET.
- Migliorando la qualità di servizio di applicazioni esistenti
- Migliorando le prestazioni
- Bloccando i piani di accesso
- Migliorando l'accuratezza della pianificazione delle funzioni
- Ottenendo di più dagli investimenti esistenti
- Migliorando il throughput di sistema
- Accelerando la risoluzione dei problemi
- Migliorando la sicurezza
- Limitando l'accesso degli utenti
- Minimizzando gli attacchi
- Migliorando la prontezza dell'audit
Per informazioni sull'utilizzo di pureQuery Runtime per Linux, UNIX e Windows con .NET, fare riferimento a http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.swg.im.dbclient.adonet.doc/doc/t0054569.html