lundi 23 août 2010

Interfaces Office

Depuis la publication de ses premières applications Office, Microsoft fournit la possibilité de les piloter au moyen d'interfaces COM, c'est l'Automation.

Avec Automation, vous pouvez utiliser la fonctionnalité de publipostage de Microsoft Word pour générer des lettres types à partir de données d'une base de données sans que l'utilisateur se rende compte que Word est impliqué. Vous pouvez même utiliser toutes les fonctionnalités de graphiques et d'analyse de données de Microsoft Excel à l'aide d'Automation. Vous n'avez pas besoin d'écrire votre propre moteur de calcul pour fournir la multitude de fonctions mathématiques, financières et techniques fournies par Excel. Il vous suffit d'automatiser Microsoft Excel pour « emprunter » ces fonctionnalités et les incorporer dans votre propre application ... (Extrait du Centre de Support Microsoft)

Plus précisément:

Automation (anciennement OLE Automation) est une technologie qui vous permet de tirer parti d'une fonctionnalité ou du contenu d'un programme existant et de l'incorporer à vos propres applications. Automation est basé sur le composant COM (Component Object Model). COM est une architecture logicielle standard basée sur des interfaces, et conçue pour séparer le code en objets autonomes ou composants. Chaque composant expose un jeu d'interfaces par lesquelles toute la communication avec le composant est gérée. Automation est constitué d'un serveur et d'un client. Le serveur Automation est l'application qui expose ses fonctionnalités au travers d'interfaces COM à d'autres applications, appelées clients Automation ... (Extrait du Centre de Support Microsoft)

Intégration avec les applications .NET

Microsoft fournit officiellement des Interfaces en code managé pour communiquer avec ses applications Office; ce sont les Primary Interop Assemblies (PIAs).
Les PIAs sont des assemblies .NET (en code managé) qui communiquent directement avec les objets COM (librairies de code non managé) exposés par les applications Office. Une PIA MSOffice est donc un intermédiaire entre le monde .NET et des librairies MSOffice, écrites le plus souvent en langage C++ et exposés par des interfaces COM. Chaque version d'Office aura ses propres versions de PIA, mais chaque version de PIA restera compatible avec les précédentes. Cependant depuis la version 2007 d'Office et les sépcifications WPF apportées par .NET 3.0, la communication entre une application .NET et MSOffice est devenue beaucoup plus simple grâce au standard OpenXML.

Visual Basic for Applications (VBA) est une déclinaison de Visual Basic dédié à l’automatisation des applications bureautiques MSOffice.
VBA permet trois types de développements:
  • Les développements orientés documents. Le code VBA est attaché au document, il se manifeste lorsqu’un utilisateur ouvre le document.
  • Les développements orientés modèles. Le code VBA est intégré aux modèles disponibles, typiquement réunis dans un répertoire partagé accessible depuis tous les postes.
  • Les développements orientés applications. Dans ce cas on parle d'un Add-In à l’applicationle car le code VBA est chargé au démarrage sans necessiter de document. Pour Excel l’Add-In VBA se présente sous forme d’un fichier d’extension .xla, en C++ ce sera un fichier d’extension .xll.
VBA est un bon outil pour personnaliser l’environnement de travail Office mais ses limitations apparaissent dès l’industrialisation du développement, c'est à dire lorsque le volume et les origines (différentes équipes, développeurs isolés, ...) du code VBA vont croissant. Office 2007 conserve cette technologie, en plus des nouvelles possibiltés liées au format OpenXML.

Visual Studio Tools for Office (VSTO) s'intègre à l'outil de développement Visual Studio pour proposer un accès aux applications Office via un modèle objet de l’environnement .NET.
Avec l'aide de l'outil de développement Visual Studio et des langages .NET, VSTO autorise la création d'applications de qualité: tests unitaires, contrôle des sources, programmation orientée objet ... En résumé, le développement d’applications Office intégrées à d’autres systèmes a tout intérêt à reposer sur VSTO plutôt que VBA.
Enfin, les innovations d'Office 2007 augmentent les possibilités d'intégration de la suite bureautique dans les applications d'entreprise. C'est à travers le concept des Office Business Applications que Microsoft décrit les architectures qui tirent parti de ces nouveautés.

Office Business Applications

Office System est un des moyens promus par Microsoft pour résoudre la problématique du last-mile of productivity. A l'image des réseaux de communication dont le dernier kilomètre de connectivité peut être le plus coûteux, les systèmes d'information d'entreprise, même correctement conçus côté back-end, pêchent souvent par un manque d'intégration sur le poste de l'utilisateur final.
Où est le gain en productivité d'une architecture SOA si les processus métier sont au final soumis aux aléas du copier-coller et à l'Import/Export de fichiers ?
L'approche Office Business Applications est centrée sur Office System. Elle s'applique à toutes les couches de l'architecture depuis les données jusqu'aux interactions homme-machine. L'extensibilité de l'interface graphique est importante mais ne suffit pas à garantir une intégration en profondeur. Ce sera les nouveaux composants aptes à s'exécuter au sein des couches business et data qui feront la différence:
  • L'arrivée d'Open XML, nouveau format XML des documents Office, permet aujourd'hui de manipuler les documents Office sans devoir instancier les exécutables. La voie est donc ouverte pour mettre en place des traitements métiers sur les documents sur les couches non IHM.
  • L'hébergement de Workflow Foundation (WF) par le serveur documetataire Sharepoint. La définition de workflow spécifiques au métier de l'entreprise est possible soit directement depuis Sharepoint Designer soit depuis l'environnement de développement Visual Studio.
  • Business Data Catalog fait le lien entre les données métier dans Office SharePoint Server 2007.

Business Data Catalog

Cette nouvelle fonctionnalité introduite avec Office SharePoint Server 2007 fournit un moyen d'intégrer les données métier (SAP, Siebel, ...) dans SharePoint sans écriture de code. Business Data Catolog (BDC) est une couche d'indirection et d'abstraction au-dessus des services métiers. Qu'il s'agisse de services Web internes ou externes, de base de données ou d'annuaires OLAP, BDC en produit une vue homogène dont la description repose sur un méta modèle. La mise au point des méta-données de description ne requiert pas d'expertise de développement, mais demande toutefois une bonne connaissance d'XML et des bases de données. Une fois enregistrés dans le BDC, les données et services peuvent être consommés sans plus de développement.

InfoPath

Office InfoPath répond au besoin bien précis mais omniprésent de la gestion des formulaires de saisie, depuis la collecte au sein une interface graphique ergonomique jusqu’à l’intégration des données collectées dans les processus métier. InfoPath est une application autonome qui fonctionne sous deux modes distincts.
  • En mode design, l’auteur du formulaire choisit sa ou ses sources de données parmi les sources proposées par InfoPath (SQL Server, fichier XML ou service Web). Le designer compose ensuite son formulaire et travaille la mise en forme par les outils habituels d’Office. Enfin il publie son formulaire. Plusieurs moyens de diffusion sont disponibles, dont la publication vers un site SharePoint, par email ou par simple dépôt sur un dossier partagé.
  • En mode utilisateur, le formulaire peut être rempli depuis un navigateur Web, par Office InfoPath, par une application .NET, ...
    C’est un mode de développement rapide pour des applications de saisie de données. Dans un premier temps, des formulaires seront créés par des utilisateurs, puis les équipes techniques pourront définir des modèles de formulaires réutilisables. Enfin, les modèles de formulaires seront utilisées pour saisir et transporter des informations dans le système.

Liens intéressants

Aucun commentaire:

Enregistrer un commentaire