Identificativo articolo: 257757 - Ultima modifica: venerdì 23 marzo 2007 - Revisione: 13.5 Considerazioni relative all'automazione sul lato server di OfficeIn questa paginaSommario Gli sviluppatori possono sfruttare l'automazione per
Microsoft Office per generare soluzioni personalizzate basate sulle
caratteristiche e sulle funzionalità incorporate nel prodotto Office. Mentre è
piuttosto agevole implementare tale sviluppo programmatico su un sistema
client, varie complicazioni possono verificarsi quando l'automazione deve
essere realizzata mediante codice sul lato server quale ASP (Active Server
Pages), DCOM o un servizio di NT. In questo articolo vengono illustrate le complicazioni che gli sviluppatori possono incontrare e vengono offerte soluzioni alternative all'automazione che possono velocizzare le prestazioni, nonché suggerite tecniche di configurazione di Office nel caso in cui l'automazione sul lato server sia assolutamente necessaria. Si noti, peraltro, che i suggerimenti che seguono sono forniti a solo scopo informativo. Microsoft sconsiglia e non supporta l'automazione sul lato server di Office. Nota In questo contesto, il termine "lato server" si riferisce anche al codice in esecuzione su workstation basate su Microsoft Windows NT o su Microsoft Windows 2000, purché sia eseguito da una WinStation diversa dalla stazione interattiva dell'utente connesso. Ad esempio, il codice avviato dall'Utilità di pianificazione con l'account SYSTEM viene eseguito nello stesso ambiente del codice ASP o DCOM sul lato server e, pertanto, va incontro a molti degli stessi problemi. Per ulteriori informazioni sulle WinStation e su COM, vedere le sezioni "Informazioni" e "Riferimenti". Informazioni Tutte le versioni correnti di Microsoft Office sono state
progettate, testate e configurate per essere eseguite come prodotti per
l'utente finale su workstation client. Presumono l'esistenza di un desktop
interattivo e di un profilo utente e non forniscono il livello di rientranza o
di protezione necessario per soddisfare le esigenze dei componenti sul lato
server progettati per l'esecuzione automatica. Attualmente, Microsoft sconsiglia e non supporta l'automazione delle applicazioni di Microsoft Office da applicazioni o componenti client (tra cui ASP, DCOM e servizi NT) automatici e non interattivi, poiché Office potrebbe diventare instabile e/o bloccarsi se eseguito in un ambiente simile. Se si sta creando una soluzione destinata all'esecuzione in un contesto sul lato server, utilizzare, quando possibile, componenti progettati per essere eseguiti in modo automatico in piena sicurezza oppure trovare soluzioni alternative che consentano l'esecuzione sul lato client di almeno una parte del codice. Se si sceglie di utilizzare un'applicazione di Office da una soluzione sul lato server, si riscontrerà la mancanza delle funzionalità necessarie a garantire un'esecuzione corretta e si esporrà l'intera soluzione a rischi di instabilità. Problemi relativi all'utilizzo dell'automazione sul lato server di OfficeGli sviluppatori che tentano di utilizzare Office in una soluzione sul lato server devono essere consapevoli dei cinque elementi critici principali che possono determinare un funzionamento inatteso di Office a causa dell'ambiente di esecuzione. Per garantire la corretta esecuzione del codice, sarà necessario assumere misure appropriate nei confronti di tali elementi e ridurne gli effetti quanto più possibile. Durante la creazione dell'applicazione sarà necessario considerare attentamente questi elementi, dato che non vi sono soluzioni in grado di risolverli tutti e ogni tipo di progettazione privilegerà necessariamente gli uni a scapito degli altri.
Oltre a questi problemi di più ampia portata, è stato riscontrato che a molti utenti, quando tentano di realizzare l'automazione sul lato server e se non modificano l'installazione predefinita di Office, viene visualizzato un messaggio di errore comune analogo a quelli indicati di seguito.
Soluzioni alternative all'automazione per l'esecuzione sul lato serverMicrosoft consiglia agli sviluppatori di individuare soluzioni alternative all'automazione di Office per l'esecuzione sul lato server. A causa delle limitazioni di progettazione di Office, le modifiche alla configurazione del programma non sono sufficienti a risolvere tutti i problemi. Microsoft consiglia numerose alternative installabili sul lato server senza la necessità di Office e in grado di eseguire operazioni comuni in modo più efficiente e rapido rispetto all'automazione. Prima di includere nel progetto Office come componente sul lato server, prendere in considerazione le soluzioni alternative.Molte operazioni di automazione sul lato server implicano la creazione di documenti. Poiché Office 2000 e versioni successive supportano HTML come formato di documento nativo, la maggior parte dei documenti può essere creata in HTML, se necessario anche in XML (Extensible Markup Language), e trasmessa a un client utilizzando il tipo MIME (Multipurpose Internet Mail Extensions) in modo che il testo risultante venga visualizzato in Office. Il documento può essere modificato, salvato e, se necessario, restituito al server semplicemente utilizzando codice ASP sul server. Nelle precedenti versioni di Office è possibile utilizzare altri formati di testo facilmente gestibili, quali RTF, per ottenere lo stesso effetto. Alcuni formati binari nativi possono essere modificati mediante Office Web Components (OWC) o ActiveX Data Objects (ADO), con notevole beneficio in termini di velocità e scalabilità. È possibile visualizzare o modificare le proprietà dei documenti senza necessità dell'automazione e gestire file e versioni mediante le Estensioni del server di FrontPage (FPSE, FrontPage Server Extensions) o il supporto DAV (Distributed Authoring and Versioning). Quando l'automazione è essenziale, la maggior parte delle operazioni può essere scaricata sul client, garantendo al sistema maggiore stabilità e scalabilità dato che ogni utente esegue le operazioni nel proprio contesto e con le proprie impostazioni. Per ulteriori informazioni sugli argomenti qui discussi e per i relativi esempi di implementazione, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito: 270906
(http://support.microsoft.com/kb/270906/
)
Utilizzo di ASP per generare un documento RTF (Rich Text Format) da eseguire in Microsoft Word
198703
(http://support.microsoft.com/kb/198703/
)
Automazione di Excel da VBScript sul lato client
199841
(http://support.microsoft.com/kb/199841/
)
Visualizzazione dei risultati ASP utilizzando Excel in IE con tipi MIME
224351
(http://support.microsoft.com/kb/224351/
)
Modifica delle proprietà dei documenti di Office in Visual Basic .NET 2003 e in Visual Basic .NET 2002 mediante Dsofile.dll senza Office
244049
(http://support.microsoft.com/kb/244049/
)
Utilizzo della creazione di grafici sul lato server per generare grafici in modo dinamico
258187
(http://support.microsoft.com/kb/258187/
)
Esempi di script per Office 2000 Web Components contenuti in OWebComp.exe
260239
(http://support.microsoft.com/kb/260239/
)
Formattazione dei dati di cella durante la creazione di un file di Excel con una pagina ASP
278973
(http://support.microsoft.com/kb/278973/
)
Utilizzo di ADO per leggere e scrivere dati in cartelle di lavoro di Excel illustrato in ExcelADO
286023
(http://support.microsoft.com/kb/286023/
)
Utilizzo di un componente ActiveX VB per l'automazione di Word da Internet Explorer
288130
(http://support.microsoft.com/kb/288130/
)
Utilizzo di ASP per generare XML per fogli di calcolo da visualizzare sul lato client
317316
(http://support.microsoft.com/kb/317316/
)
Limitazioni di Office Web Components utilizzato sul lato server
Se per la propria attività è necessario creare file
binari di Office sul lato server, è possibile rivolgersi ad alcuni fornitori
indipendenti che offrono componenti utili a questo scopo. Di seguito viene
fornito un elenco di noti fornitori di tali servizi. Questo elenco viene
fornito solo a scopo informativo e non è esclusivo. È possibile che altri
fornitori offrano servizi analoghi più adatti per esigenze specifiche. Sarà
quindi opportuno esaminare tutte le possibili soluzioni di terze parti per
individuare il fornitore più appropriato. I fornitori riportati di seguito
offrono alcune soluzioni che consentono la creazione e la modifica a livello di
programmazione di formati di file nativi di Office. Per ulteriori informazioni
sui fornitori di terze parti, visitare i seguenti siti Web (informazioni in
lingua inglese): Aia Software B.V. http://www.aia-itp.com
(http://www.aia-itp.com)
Polar http://www.polarsoftware.com
(http://www.polarsoftware.com)
SoftArtisans http://www.softartisans.com
(http://www.softartisans.com)
SyncFusion http://www.syncfusion.com
(http://www.syncfusion.com)
Keylogix http://www.activedocs.com
(http://www.activedocs.com)
Nota I
prodotti di terze parti citati in questo articolo sono forniti da produttori
indipendenti. Microsoft non rilascia alcuna garanzia implicita o esplicita
relativa alle prestazioni o all'affidabilità di tali prodotti.
Configurazione di Office per l'esecuzione sul lato serverSe le soluzioni alternative non sono praticabili e si decide di procedere con l'automazione sul lato server di Office, è necessario prendere in considerazione i vari elementi critici discussi in precedenza per assicurare una corretta esecuzione in tale ambiente. Dal momento che la maggior parte dei problemi è connessa alla configurazione, non è possibile fornire un'unica procedura che garantisca il funzionamento dell'automazione sul lato server di Office in tutti i casi e per tutti i sistemi. Alcune impostazioni di configurazione potrebbero trovarsi in conflitto con altre opzioni e ogni approccio presenta vantaggi e svantaggi. Potrà essere pertanto necessario sperimentare vari approcci per individuare quello più efficace per lo specifico ambiente operativo.Per automatizzare Office in base al codice sul lato server è in genere necessario attenersi alle seguenti linee guida:
Il primo passo consiste, pertanto, nel limitare l'utilizzo dell'automazione di Office nella progettazione sul lato server e nell'isolare il processo in un computer che non gestisce funzionalità critiche e che possa essere riavviato ogni volta che è necessario. Isolare anche il processo chiamante, così che l'eventuale blocco di un client chiamante non riduca le prestazioni di un servizio di sistema essenziale. Ad esempio, non eseguire l'automazione direttamente da Microsoft Internet Information Server (IIS) utilizzando un thread di sistema, ma isolare il codice in modo che venga eseguito in un thread specifico e che, in caso di errore, non riduca pertanto le funzionalità generali di IIS. Valutare inoltre le modalità con cui nella progettazione viene imposta la protezione e l'autenticazione. Poiché in Office non viene imposta la protezione sul lato server, è necessario scrivere codice che consenta ai soli moduli di codice (pagine ASP, file di script e così via) attendibili la creazione di un'istanza automatica di un'applicazione di Office e la chiamata dei relativi metodi e che garantisca la sicurezza di tutti i documenti prima che vengano aperti in Office. La protezione delle applicazioni di Office eseguite su server deve essere sempre impostata su Alta. Se nella progettazione non è stata inclusa l'imposizione della protezione, il server funzionerà in condizioni di rischio. Una volta predisposta la progettazione, creare codice a elevata protezione per provare a prevenire il verificarsi di errori e a gestirli quando questi si verificano. Assicurarsi che il codice consenta il passaggio di valori per parametri facoltativi, poiché la mancanza o il conflitto tra valori può spesso comportare la visualizzazione di messaggi di Office in cui si richiedono all'utente ulteriori informazioni. Utilizzare in tutte le funzioni l'intercettazione degli errori per gestire correttamente le condizioni di errore e registrarli mediante codice di registrazione attivabile o disattivabile tramite un'impostazione personalizzata (nel Registro di sistema o in un file INI). Se si esegue un'azione che può causare la visualizzazione di una finestra di dialogo di errore indipendente da Office, ad esempio, una finestra di dialogo dipendente dal driver della stampante visualizzata durante la stampa quando la carta della stampante è esaurita, prepararsi a gestire eventuali blocchi critici utilizzando un thread di timeout o un secondo thread per controllare l'avanzamento. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito: 259971
(http://support.microsoft.com/kb/259971/
)
Chiusura di una finestra di dialogo visualizzata da un'applicazione di Office con Visual Basic
Utilizzare il codice di registrazione per tenere
traccia dei problemi e per eseguire il debug del programma. Se si utilizza un
pool di oggetti personalizzati, è possibile aggiungere test di prestazioni e di
scalabilità per monitorare l'utilizzo e registrare i problemi riscontrati da
tutti i client. Tramite un controller centrale è inoltre possibile terminare
istanze di Office con errori e ricrearle quando necessario per rafforzare la
stabilità complessiva. Una volta che il programma è pronto per la distribuzione, assicurarsi che la configurazione di Office sul server sia appropriata a garantire l'esecuzione di un contesto utente idoneo. Poiché è necessario per l'esecuzione di Office, verificare che il programma sia caricato con un profilo utente in modo da garantire una corretta automazione. Per effettuare questa operazione in un ambiente sul lato server sono disponibili tre soluzioni alternative:
288366
(http://support.microsoft.com/kb/288366/
)
Configurazione delle applicazioni di Office per l'esecuzione mediante l'account utente interattivo
La seconda soluzione prevede l'assegnazione di un
utente specifico, ma non consente l'interattività. Office viene avviato con
l'utente assegnato in una nuova WinStation su un desktop invisibile. Tale
soluzione richiede un'ulteriore configurazione per assicurare il caricamento
dell'hive del Registro di sistema dell'utente, non realizzabile per
impostazione predefinita mediante COM/DCOM. Poiché si tratta di un'impostazione
globale di sistema, potrebbe entrare in conflitto con altri programmi. Per
informazioni su questo tipo di configurazione di Office, fare clic sul numero
dell'articolo della Microsoft Knowledge Base riportato di seguito:
288367
(http://support.microsoft.com/kb/288367/
)
Configurazione delle applicazioni di Office per l'esecuzione mediante uno specifico account utente
La terza soluzione consente di assegnare
un'identità a uno specifico sito Web o modulo di codice, senza impostare
un'identità fissa per Office a livello globale. Office viene eseguito con tale
identità e caricato correttamente sempre che l'identità sia stata
precedentemente configurata per lo specifico computer e che l'hive del Registro
di sistema sia stato caricato. Si tratta della soluzione generalmente più
flessibile e protetta, ma, come la precedente, non offre interattività con un
desktop visibile e richiede un'ulteriore impostazione. Per informazioni su
questo tipo di configurazione di Office, fare clic sul numero dell'articolo
della Microsoft Knowledge Base riportato di seguito:
288368
(http://support.microsoft.com/kb/288368/
)
Configurazione delle applicazioni di Office per l'automazione da un pacchetto COM+/MTS
È necessario valutare quale delle suddette
soluzioni si adatta meglio alle specifiche esigenze e quale sia il modo
migliore per distribuirla. Le informazioni fornite in questo articolo non
garantiscono la risoluzione di tutti i problemi per tutti i client. È
consigliata l'esecuzione di test approfonditi prima di distribuire la soluzione
adottata. Riferimenti Per ulteriori informazioni sull'automazione sul lato
server, fare clic sui numeri degli articoli della Microsoft Knowledge Base
riportati di seguito:
169321
(http://support.microsoft.com/kb/169321/
)
Attivazione di server COM e stazioni Windows NT
Le informazioni in questo articolo si applicano a:
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli
|
Torna all'inizio
