Office 2007, plate-forme de développement à part entière
Des logiciels qui deviennent des ensembles de fonctionnalités faciles à mobiliser, une intégration soutenue aux autres applicatifs et services de l’entreprise, la collaborativité dans les gènes… Autant d’opportunités pour la création d’applicatifs métiers ambitieux..A la sortie d’Office 2007, le paysage applicatif métier tel que les développeurs le connaissent aujourd’hui va changer, irréversiblement. La troisième mouture de ce que Microsoft qualifie de « Système Office » fournit en effet un environnement de développement de solutions métiers d’une richesse jusqu’alors inconnue. On peut même parler de rupture. Grosso modo, on passe en effet d’un monde où il fallait se battre avec les logiciels de la suite, leurs formats de fichiers propriétaires et leurs autres faiblesses conceptuelles, à un monde où ces mêmes logiciels, en version 12, exposent leurs fonctionnalités au travers d’API, de fonctions serveur et de formats XML où règne une vraie transparence.
Les logiciels Office en frontal de toutes les applications métiersEvidemment, à l’heure où le coût des simples fonctions bureautiques tend vers zéro, il faut justifier l’investissement que représente le déploiement d’une suite Office sur un parc d’entreprise. C’est donc la carte de l’intégration qu’a joué Microsoft, en étendant la suite et en ouvrant les logiciels qui la composent de telle sorte que ceux-ci deviennent, à terme, les clients frontaux de tous les grands applicatifs de l’entreprise, tant métier que support. Nous allons le voir dans les pages qui suivent, Office 2007 s’apprête à devenir l’interface de prédilection de PGI comme SAP, et cela pour tous les types d’utilisateurs, cependant que ses différents constituants vont, selon leur usage, s’affirmer de plus en plus comme les logiciels grâce auxquels on consomme ou on produit les services utilisés ou vendus par l’entreprise.
Par ailleurs, cette nouvelle approche du développement de solutions métiers sur client riche présente un avantage. Elle correspond mieux à la façon dont la plupart des producteurs d’informations travaillent. On sait aujourd’hui que, dans la plupart des métiers et fonctions, les utilisateurs sortent des outils traditionnels (applicatifs maison, frontaux uniques, etc.), tout simplement parce que leur job nécessite de plus en plus de collaboration. Chacun a besoin de données provenant de sources multiples, et nombreuses sont les occasions où on doit travailler en mode déconnecté (réunions, déplacements…). L’exemple type, c’est celui du commercial itinérant qui gère son emploi du temps, ses infos prospects et ses appels clients via Outlook. Souvent, le suivi des actions qui nécessite l’intervention des spécialistes techniques, puis la rédaction de documents met en oeuvre des procédures qui ne rentrent pas dans le système de CRM de l’entreprise. Il y a dissémination de l’information. Le manque d’intégration est criant. C’est ce à quoi Office 2007 revendique de pouvoir, à terme, remédier.
OBA et LOBiPour cela, il fallait à Office 2007 de vraies possibilités de plate - forme intégrée. Elles sont, dans leur ensemble, regroupées sous le nom de « Services OBA » (Office Business Applications). D’un point de vue fonctionnel, ces services se répartissent en plusieurs sous-groupes : workflow, recherche d’informations, catalogage de données métiers, adaptation de l’interface, sécurisation des plates - formes locales et Web, et formats de fichiers Office au standard OpenXML. C’est en combinant ces services que développeurs et éditeurs de solutions vont pouvoir étendre les capacités d’Office 2007 dans les domaines de la business intelligence, de la collaborativité des outils, de l’intégration des communications de documents et plus globalement dans la gestion de contenus métiers sur l’ensemble du périmètre de l’entreprise.
Les services OBA s’accompagnent également de LOBi (Line-Of-Business interoperability) pour Microsoft Office SharePoint Server. De quoi s’agit-il ? D’un ensemble de fonctions client-serveur destinées à faciliter l’intégration à Office SharePoint Server 2007 d’applications finales basées sur Office. LOBi a été conçu pour faciliter le développement de processus de workflow complexes. Il permet la mise en place d’échanges transactionnels métiers depuis Office 2007, y compris en mode déconnecté, et assure non seulement l’interaction fonctionnelle mais aussi la sécurisation des workflows et des données. Les spécialistes apprécieront. Ils savent combien le développement est difficile lorsque ces aspects ne sont pas exposés par la plate - forme elle-même. Avec LOBi, les demandes métiers devraient pouvoir être satisfaites plus rapidement et plus complètement, dans la mesure où la partie la plus fastidieuse du développement, l’infrastructure, n’est plus qu’un service à solliciter de façon documentée.

Une importante refondation technologiqueEn complément, Microsoft a annoncé un certain nombre de passerelles et autres connecteurs qui permettront aussi, courant 2007, d’interfacer plus étroitement Office 2007 d’une part à BizTalk Server et d’autre part à Dynamics AX. L’ensemble sera basé à la fois sur OBA et sur LOBi, qui confortent ainsi leur statuts de piliers technologiques pour au moins les cinq prochaines années. Cette intégration globale répond à deux attentes fortes qui, malgré leur connotation marketing, expriment un besoin réel : flexibilité et agilité. Les solutions
« cross-applications » conçues autour d’Office System 2007 devraient ainsi permettre à la DSI comme aux utilisateurs finaux de s’approprier l’ensemble du capital données de l’entreprise. Pour l’une, il s’agit de rentabiliser l’existant en donnant accès à l’information à travers des logiciels et des interfaces connus, indépendamment de la complexité des workflows et des communications sous-jacentes. Pour les autres, il s’agit de, enfin, réaliser ce que l’on appelle communément « the process of me », c'est-à-dire l’adaptation des logiciels à sa façon de pratiquer son métier, et non plus l’inverse. La promesse est certes ambitieuse mais, clairement, on s’en rapproche.
Voilà pourquoi Office 2007 peut être considéré comme une extension de la plate - forme de développement globale proposée par Microsoft pour l’environnement Windows. Grâce à elle, le développeur n’a donc plus à se préoccuper de l’interface des outils qu’il crée, ni d’un grand nombre d’aspects support. Il peut se focaliser sur la demande métier, et bénéficie pour cela de ressources technologiques à la fois solides, mûres et pérennes. Aucune flagornerie de notre part vis-à-vis de Microsoft dans ces trois qualificatifs. Car c’est en effet sur DotNet 2.0, ASP.Net et SQL Server que s’appuie Office 2007 de façon structurelle. Trois fondations techniques qui, après bien des années d’atermoiements et de revirements made in Redmond, présentent aujourd’hui toutes les garanties de stabilité et bénéficient d’un important écosystème.
La plupart des développeurs vont donc devoir réinitialiser leur vision du monde. Là où, précédemment, Office et ses applications étaient plutôt vus comme des add-ons à l’OS, il va désormais falloir les considérer comme des plate - formes cibles dotées de leur propre logique fonctionnelle. Pour aider à cette transition, Visual Studio s’enrichit d’une palette d’outils complémentaires (téléchargeable gratuitement) baptisée Visual Studio Tools for the 2007 Microsoft Office System (cf. ci-dessous et p. 55). Grâce à eux, la programmation des briques Office et des nouveaux contrôles dont le fameux ruban (cf. ci-dessous et p. 54), en local comme à travers le Web (cf. ci-contre) va singulièrement gagner en productivité.
De nouveaux scénarios de création de solutions
Applications locales ou clients Web riches, Office 2007 couvre une variété de besoins de plus en plus étendue. Au fil des versions, il tend à devenir une plate-forme middleware générique, à partir de laquelle tous les scénarios d’intégration sont possibles. C’est d’abord dans le segment des applications de bureau locales que le nouveau paradigme proposé par Office 2007 va offrir d’intéressantes alternatives au développeur. Quelle que soit l’approche choisie, l‘ouverture de la plate - forme et sa programmabilité étendue sont synonymes de bénéfices. Ainsi, pour ce qui concerne la personnalisation des logiciels de la suite aux couleurs et processus de l’entreprise, beaucoup plus de choses sont possibles qu’avec Office 2003. Le développeur peut ainsi facilement étendre et adapter le fonctionnement des nouveaux contrôles, rubans et galeries qui constituent l’essentiel des interfaces utilisateur, et cela grâce à de simples fichiers XML. On n’est donc pas loin de la simplicité des feuilles de style et des fonctionnalités déclaratives. Mais il demeure toutefois un certain nombre de restrictions. Par exemple, l’association de contrôles métiers de type ActiveX aux contrôles Office 2007 n’est pas encore à l’ordre du jour. Par conséquent, la personnalisation logicielle ne répond qu’à certains besoins, bien circonscrits.
Des documents de plus en plus intelligentsS’agissant de la création de frontaux pour les applications globales, il y aura aussi beaucoup à tirer de l’association de volets des tâches programmables et d’entrepôts de services représentant les données de l’entreprise. Avec en plus les « documents intelligents » déjà présents dans Office 2003, il devient possible d’ajouter de nouvelles fonctions à Outlook ou à Excel, par exemple. Ces documents vont pouvoir interagir facilement avec les grands SGBD métier ou support, et l’association des deux sources de données devrait être créatrice de valeur. Mais il faut aussi prendre en compte le fait que ces applications ne seront pas portables vers d’autres OS, car elles nécessitent un serveur Office pour la plupart de leurs fonctions avancées.
En ce qui concerne les applications collaboratives basées sur les documents, là encore, l’ouverture d’Office 2007 est prometteuse. C’est en combinant les fonctions de workflow, la gestion du cycle de vie du document, les formulaires InfoPath et les stratégies de groupes offertes par SharePoint Server que le développeur va pouvoir proposer des solutions riches d’un point de vue applicatif mais nécessitant peu ou pas de formation.
Choisir Office pour le développement WebDans le domaine des applications Web à interfaces riches, concept aujourd’hui à la mode mais appelé à se concrétiser durablement, Office 2007 a aussi bien des choses à offrir. Il faut en effet rappeler qu’il est basé pour une part importante sur ASP.NET, ce qui en fait une plate - forme de choix pour le développement de telles applications. Le développeur va alors devoir bien évaluer ses potentialités au regard d’autres environnements dont en particulier Ajax et ses dérivés, certes plus ouverts mais avec lesquels tout ou partie de la roue doit être chaque fois réinventée. Globalement, on peut identifier trois grands scénarios où l’utilisation d’Office 2007 en développement Web se justifie.
Dans le premier scénario, Word et Excel remplacent le navigateur en tant que clients Internet. C’est notamment le cas lorsque l’utilisateur travaille quasi exclusivement avec des données présentes sur les serveurs applicatifs de l’entreprise. Le système de mise en mémoire cache commun à tout Office 2007 de façon transverse rend possible le rafraîchissement sur l’écran client de données présentes sur les serveurs – rafraîchissement qui peut même facilement devenir incrémental. Il suffit alors de lier des services de données aux volets des tâches de ces deux logiciels pour leur permettre d’appliquer des traitements métiers et de guider les utilisateurs en même temps. De plus, sachant que les documents Word et Excel peuvent être intégrés à des workflows (rappelons que les workflows sont un des grands piliers de DotNet 3, ex-WinFX), ils deviennent gérables par le biais du CMS de l’entreprise.
Des fichiers DOC et XLS à la place de pages HTMLDans le deuxième scénario, ASP.NET, comme d’ailleurs un certain nombre d’autres environnements de développement côté serveurs, peut servir aux clients des documents Word et Excel en plus des traditionnelles pages HTML. Une infinité de traitements peut être appliquée côté serveur aux données incluses dans les documents .XLS et .DOC. Après traitement, les données résultantes servies sur le poste client peuvent l’être via Word et Excel, avec toutes les options de visualisation et d’utilisation qu’offrent ces deux logiciels. Ensuite, retour au premier scénario : grâce au système de mémoire cache d’Office 2007, leur rafraîchissement est automatique, même en mode déconnecté.
Enfin, le troisième scénario capitalise sur la montée en puissance d’InfoPath. Dans la nouvelle version de la suite, un serveur est dédié à la gestion des formulaires, qui deviennent disponibles dans tous les logiciels Office et non plus uniquement dans Internet Explorer. De ce fait, InfoPath devient transverse et s’ajoute donc à la palette des outils disponibles pour les développeurs. Car les formulaires peuvent – faut-il le rappeler – être enrichis de fonctions codées en langage managé, voire de contrôles métiers comme sur les Windows Forms à condition qu’ils soient ensuite convertis en contrôles ActiveX. Ils s’avèrent donc d’excellents supports fonctionnels pour l’information de l’entreprise, et cela à peu de frais.
Office 2007, un middleware générique ?On le voit, les opportunités d’utiliser Office 2007 comme plate - forme de développement ne manquent pas. A chaque fois, les scénarios répondent à des besoins caractérisés par la nécessité de (re)placer le métier et le partage de l’information au sein d’interfaces connues, dans lesquelles chacun se sent à l’aise. Avec un double avantage : une moindre réticence de la part des utilisateurs à s’approprier le changement et des déploiements simplifiés, synonymes d’une intégration toujours plus poussée au système d’information global de l’entreprise.
En ce sens, le rapprochement avec SAP et le développement de Duet (ex-Mendocino) est significatif. Duet se présente comme un exemple réussi d’intégration autour d’Office.
On y trouve, par le biais d’Outlook et d’Exchange mais pas encore de Word ni d’Excel, des fonctions d’agenda et de gestion de projets, de budgétisation, de gestion des achats, de recrutement, de gestion commerciale et de gestion des frais de déplacement. Ces fonctions, de façon transparente, opèrent sur des données issues directement de mySAP 2004/2005.
Avec l’arrivée de la version 2007, Office poursuit sur cette lancée. Clairement, la suite est en train de devenir un middleware d’intégration globale et c’est maintenant l’ensemble des composants qui y participe.
Pour atteindre cet objectif, et faire en sorte qu’Office ne disparaisse pas derrière l’Open Source, Microsoft va devoir au fil des mises à jour faire de sa suite de bureautique une solution générique, capable de répondre à une plus large variété de besoins et de contraintes. Pour le développeur, investir en compétences sur Office 2007 n’est donc sans doute pas la stratégie la plus dénuée de sens…
Frédéric Milliot
Le développement Office 2007 en pratiquePour vous permettre de tirer dès maintenant profit d’Office 2007, Microsoft vous propose un add-in à VS 2005 qui encapsule le nouveau modèle de programmation, mais aussi SharePoint Designer, un outil RAD de conception d’applications collaboratives basé sur FrontPage. Pour la plupart des programmeurs, le développement Office 2007 a ceci de particulier qu’il se fonde sur l’adaptation d’un modèle d’objet et d’outils existant, et non sur la création d’applications à partir de zéro. Autrement dit, développer pour Office consiste à ajouter des fonctions aux applications, lesquelles ne sont donc finalement qu’une collection minimale, par défaut, de fonctionnalités utiles au plus grand nombre. Les ajouts en question doivent à leur tour respecter un certain nombre de formalismes, afin de préserver l’extensibilité générale de la plate - forme et de maintenir l’interopérabilité des documents issus des briques qui la composent. Logiquement, cette approche un peu particulière requiert un outil particulier, disponible dès aujourd’hui en version bêta lui aussi : Visual Studio Tools 2005 for the 2007 Microsoft Office System, alias VSTO 2005 SE.
VSTO 2005 se présente donc sous la forme d’un add-in à Visual Studio 2005 (à partir de la version Professional), ce qui signifie que cet IDE est requis. Adieu, donc, la possibilité d’alternatives comme le Borland Studio 2006. Concrètement, son installation ajoute à l’éventail des types de projets disponibles des templates d’add-ins pour Excel, Outlook, Visio, InfoPath, PowerPoint et Word. L’écriture s’effectue en code managé, en VB ou en C#, à partir d’APIs propres à Office globalement (Microsoft.Office.Core) mais aussi à chaque brique (ces dernières étant placées sous Microsoft.Office, dans un espace de type Interop). Cette écriture se focalise sur l’adaptation de rubans, galeries, volets de tâches et formulaires, éléments qu’il suffit d’ajouter au projet à partir d’une liste qui résulte elle aussi de l’installation de VSTO 2005 SE. En fait, ces éléments se manipulent comme autant de classes dans une application, et bénéficient de code d’infrastructure généré automatiquement.
Ce modus operandi présente plusieurs avantages. D’abord, il place le code métier dans un contexte d’exécution in-process, si bien que toutes les données de l’application sont disponibles à l’add-in. Ensuite, il permet à la plate-forme Office de charger les add-ins automatiquement en même temps que l’application support, et de les reconnaître en tant que tels, si bien que lorsque l’un d’eux plante, lui seul est arrêté, pas l’application ni les autres add-ins ni leur mécanisme de chargement. Enfin, il constitue une fondation pérenne dans le temps. Les classes de base, caractérisées par un typage fort ouvert à d’infinies extensions, n’encapsulent pas les objets Office sous-jacents, si bien qu’elles restent indépendantes de versions utilisées. On peut donc penser que vos développements Office 2007 pourront s’exécuter tels quels sur des versions ultérieures de la suite, voire bénéficieront des ses avancées propres.
Si vous souhaitez tester VSTO 2005 SE (ce que nous vous engageons vivement à faire) avec une version française de Visual Studio 2005, sachez qu’un bug affecte sa prise en mains. En effet, bien que l’installation soit « réussie » d’après l’assistant, les templates de projets Office 2007 ne sont pas visibles dans le menu Nouveau de Visual Studio. Il est alors difficile de deviner par où commencer la création d’un add-in tant cette absence du menu est déroutante et difficile à anticiper comme étant une erreur. Heureusement, il y a une solution simple, que voici :
• Recopiez le dossier C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\Office dans votre dossier de templates personnels (C:\Users\<votrenom>\Documents\VisualStudio 2005\Templates\ProjectTemplates\Visual C#).
• Répétez ensuite pour les éléments de projets : copiez le contenu de C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates dans votre dossier C:\Users\<votre nom>\Documents\Visual Studio 2005\Templates\ItemTemplates.
• Redémarrez ensuite Visual Studio 2005 et vous devriez voir apparaître dans la liste des nouveaux types de projet une liste enrichie d’add-ins pour les 6 grandes applications Office.
SharePoint DesignerBasé sur FrontPage 2003, SharePoint Designer est un outil RAD de conception d’applications collaboratives. Avec lui, pas besoin a priori d’écrire une ligne de code. Il propose plusieurs modules gérant l’ensemble des interactions avec SharePoint Server 2007, et devrait devenir un outil de prédilection pour concevoir des workflows d’entreprise. Créer des solutions « à la volée »Parmi ces modules, le workflow designer permet précisément de générer des processus métiers plus ou moins complexes tels que l’approbation de documents ou les notifications d’événements. Des applications de reporting et de tracking peuvent aussi être composées à l’aide de vues sur les données (« data views ») agrégeant des informations extraites de documents publiés à l’intérieur ou à l’extérieur du périmètre de l’entreprise. Et si cet exercice est nouveau pour vous, pas de problème, un certain nombre de templates sont installés en même temps que le produit pour vous servir de points de départ.
Administrer les contenus automatiquementComme dans un CMS pur sucre, SharePoint Designer 2007 permet aux administrateurs de contrôler exactement la nature et les caractéristiques des informations qui vont se retrouver sur les sites. Il suffit pour cela d’utiliser les paramètres de contribution pour attribuer un rôle à chaque utilisateur du site et donc des droits quant aux différents types de contenus. Spécifier ainsi comment les pages, les fichiers et les dossiers doivent être utilisés, avec rollback automatique en cas d’infraction, a pour avantage de maintenir le site en conformité avec les règles d’accessibilité et de compatibilité entre navigateurs.
Créer des sites SharePoint « toutes options » Parce qu’il dérive de FrontPage, SharePoint Designer 2007 offre une palette d’outils de conception de sites qui a fait ses preuves en matière d’ergonomie. L’approche est 100 % WYSIWYG, et deux types de formatage de pages sont disponibles : un formatage rapide avec les CSS et un autre plus sophistiqué, plus facilement réutilisable, avec les master pages ASP.NET.