Annonce commerciale :

  
 English (United States) Français (France)
Inscription  
 
samedi 19 mai 2012

Annonce commerciale

Articles
06

Introduction à SharePoint et SAP :

Voila des années que je travaille dans le domaine de l'intégration .net et SAP jusqu'ici pour de toutes petites applications ou des connecteurs. Mais depuis quelques temps, un produit Microsoft est en train de bouleverser la donne .... Microsoft SharePoint 2010 (voir aussi le site officiel).

Fan d'un autre portail .net DotNetNuke (celui même que j'utilise pour b-integration.net) j'avoue avoir été surpris par SharePoint et surtout sa pénétration dans les grands comptes. Même si je reste critique sur certains points je dois bien avouer que l'intégration de ce portail avec Microsoft Office et les autres produits de Microsoft est excellente.

Mais là ou cela devient des plus intéressants, c'est que si SAP NetWeaver Portal n'a pas été le succès escompté (trop SAP), il est très facile de développer des applications SharePoint connectées à SAP.

Le but de cet article est donc de vous initier à cela mais aussi de vous proposer un modèle de développement avec les formations qui vont avec.

Je me dois d'ajouter que tout ce que j'écris dans cette article s'applique aussi bien à Microsoft SharePoint qu'à DotNetNuke.

 

Mais qu'est ce qu'un portail ?

Pour résumer un portail est un accès unique à différentes fonctions de l'entreprise pour une audience précise avec une charte graphique commune, une authentification commune, et la possibilité de personnaliser les contenus et les comportements des applications en fonction d'autorisations.

C'est donc à la fois un outil d'intégration d'applications et aussi un outil d'aggrégation de contenu (c.à.d un contenu unique qui "mélange" de manière pertinentes différentes contenus depuis différentes sources).

Techniquement un portail est à la fois un framework et à la fois une infrastructure ou déployer ses applications.

Fonctionnellement un portail est un support de connaissances de documents et d'application MAIS AUSSI la possibilité de créer de l'intelligence c.à.d créer dynamiquement des liens entre des informations et concepts qui paraissaient dissociés.

 

L'objectif réel de la mise en place d'un portail Microsoft SharePoint, ou DotNetNuke.

L'objectif premier d'un portail est de fournir sur une interface unique (web) l'ensemble des applications pour une audience précise.

Pour cela on doit définir des choix d'architecture basés sur plusieurs critères (OK je me répète mais bon) :

  • La performance et l'ergonomie
  • La sécurité
  • La maintenabilité
  • L'internationalisation
  • et l'impact sur les licenses.

Puis on doit distinguer ce qui est du domaine de l'intégration (une application tiers qui est intégrée dans Microsoft SharePoint) à de l'aggrégation (plusieurs backends connecté ensemble dans un webpart unique selon le principe que l'intelligence est la capacité de créer des liens entre des concepts appararements distincts) nécessitant du développement spécifique.

 

Les modèles de développement pour SharePoint 2010

Typiquement nous avons 3 modèles de développement sur SharePoint.

  • Développement SharePoint pur Càd du développement de webpart pour enrichir SharePoint en se basant sur le framework et les objects SharePoints (Documents, Workflow, taches, etc...).
    Pour cela je propose le modèle suivant : Ecran écrit avec les contrôles SharePoint, l'utilisation d'un IOC  comme Castle.
  • Développement de Webpart connectés à des backends (sauf SAP).
    Pour cela je propose le modèle suivant ; Ecran écrit avec les contrôles SharePoint, l'utilisation d'un IOC comme Castle, utilisation d'un ORM comme nHibernate.
  • Développement de WebPart connectés à SAP.
    Pour cela je propose le modèle suivant : Ecran écrit avec les contrôles SharePoint, utilisation d'un IOC comme Castle, utilisation de la bibliothèque ERPCOnnect de Theobald Software.

 

Que peut-on intégrer dans Microsoft SharePoint ?

Tout ! On peut tout intégrer dans Microsoft SharePoint (comme dans DotNetNuke). Aprés cela dépend des cinq critères ci dessus qui vont déterminer la faisabilité....

Mais il faut distinguer plusieurs types d'intégration :

  • De SharePoint vers d'autres applications :
    • De manière synchrone.
    • De manière asynchrone.
    • De manière presque temps réel.
  • Des autres applications vers SharePoint
    • De manière synchone.
    • De manière asynchrone
    • De manière presque temps réel.

 

les exemples d'intégration Microsoft SharePoint

Microsoft office

Certainement la force principale de SharePoint, son intégration avec Microsoft Office. Ainsi depuis MS Word, Excel etc on peut publier ses documents, et créer de nouvelles versions dans le DMS de SharePoint. Il est possible aussi par exemple de créer un blog sur SharePoint et l'alimenter via MS Word. Idem pour les tâches, l'intégration outlook, ou avec d'autres produits comme MS Project. Si il y'a une raison pour avoir SharePoint c'est bien celle ci. Sans cela je préfèrerais DotNetNuke (http://www.dotnetnuke) qui est mieux fait pour le collaboratif. 

 

SAP

C'est le core-business du site b-integration.net. Il existe plusieurs intégrations possibles :

  • Ecran SharePoint connecté à SAP en temps réel (comme on ferait dans SAP NetWeaverPortal). --> ProxyClient ou consommation de webservices et/ou d'XML Feeder.
  • Intégration d'un Workflow SharePoint à SAP (appel de RFC/BAPI, envoi d'iDoc). --> ProxyClient ou consommation de webservices.
  • Interaction en ABAP des fonctions et avec le framework de Microsoft SharePoint, .net et MS Office --> ProxyServer.

La couverture fonctionnelle est exactement la même qu'avec SAP NetWeaverPortal.

Client Serveur Message Transport Commentaires
Webpart SharePoint SAP RFC, iDoc, BW, BAPI Connexion native  Accès synchrone aussi performant qu'un SAP GUI mais nécessite une license SAP par utilisateur.
Webpart SharePoint SAP RFC, iDoc, BW, BAPI Web Service  idem, mais nécessite d'activer le service SOAPRFC dans le SAP WAS, et est un peu moins safe et performant qu'un accès natif.
Infopath ou XML/XSLT SAP WebAS  http post + réception d'XML  http des XML sont créés sur le SAP WEB AS et SharePoint les consomme.Avantage est qu'on peut utiliser des XSLT facilement maintenable. Par contre il faut une license SAP par utilisateur SharePoint de l'application.
 SAP Proxy serveur .net ZRFC, iDoc  connexion native.  Dans ce cas SAP se connecte via SM59 à un proxy serveur développé en .net. SAP est le client (consommateur du service). L'avantage est qu'il n'y a aucune licence à gérer, la license étant à gérer dans le proxy server. Cela permet de développer les fonctionnalités qu'on veut dans le proxy serveur et de les rendres accessibles aux développeurs SAP (en ABAP avec un call function) et aux équipes systèmes via des mappings sur des flux ALE.
 Service .net  SAP RFC, iDoc, BAPI connexion native Si vous avez un process qui ne nécessite pas une connexion temps réel à SAP, vous développez des services qui vont extraire les masters datas nécessaires périodiquement (vous pouvez gérer un cache de 2nd niveau). Dans le cas d'une intégration avec SharePoint on peut imaginer un service qui va récupérer les résultats finaux d'un workflow SharePoint pour transférer des données dans SAP comme pour les master datas ou encore des processus de validation de commandes fournisseur.
         A suivre....
     
     
     

 

 

 

DMS (Gestion Electronique de Document)

La très grande majorité des éditeurs de DMS et d'outils d'archivage propose des solutions intégrés avec SharePoint. Pour celui que je connais le plus LiveLink (je suis certifié sur LiveLink comme consultant), l'offre est complète :

Cela fait d'autant plus de sens que même si SharePoint intègre une gestion de document, je vois deux raisons de préferer un DMS extérieur.

  • En cas d'une très grande quantité de documents il est préférable de séparer le frontend (le portail) du backend (le DMS) surtout quand on exploite pleinement les capacités d'un DMS comme LiveLink. C'est d'autant plus vrai si on utilise derrière une politique d'archivage avec des signatures électronique ou des chaines de dématérialisation de documents.
  • Les DMS comme ceux d'OpenText, IBM, emc2, etc... sont autrement plus puissants.

 Au passage pour des besoins simple il est possible de développer son propre webpart connecté à LiveLink en utilisant les DLL de LAPI pour la version 9.7 de LiveLink et les webservices de la version 10. 

Logiciels d'Atlassian

Atlassian est l'éditeur du wiki et de l'outil de ticketing les plus répandus : Confluence, et JIRA. Confluence est par exemple le wiki du site http://sdn.sap.com de SAP. Quand à JIRA on le retrouve dans de nombreuses entreprises des plus petites aux plus grandes (10 $us pour 10 users, parfait pour les startup).

Pour JIRA, il existe un connector pour http://wiki.customware.net/repository/display/AtlassianPlugins/Connector+for+SharePoint+and+JIRA.
Pour confluence aussi http://www.atlassian.com/software/sharepoint-connector/overview permettant ainsi d'avoir un véritable WIKI dans Microsoft SharePoint.

 

Autres logiciels

 SharePoint est suffisamment facile pour que de nombreux éditeurs proposent leurs solutions adaptées pour SharePoint... Mais je reviendrais la dessus plus tard. 

La gestion de projet Portail sur SharePoint

Il faut voir un portail comme étant une infrastructure. Il est donc préférable de splitter un projet unique de mise en place d'un portail en plusieurs projets séparés.

Projet n° 1: Mise en place du portail en tant qu'infrastructure.

L'objectif de cette phase est de mettre en place techniquement le serveur SharePoint, fixer les pré-requis de sécurité y compris pour les documents, produire les documents de gouvernance de projet SharePoint et de gestion des tests et déploiements.

Projet n° 2 : L'environnement collaboratif pour le suivi du portail des utilisateurs et des développements.

La force d'un portail est d'etre d'une certaine manière auto-supportée. Pour chaque application que vous déploier dessus vous pouvez fournir un lien vers la documentation, vers le support, vers un forum de discussion associé à l'application. Dans cette phase il est donc nécessaire de mettre en place la partie collaborative avec les parties suivantes :

  • Publication des documents de gouvernance.
  • Création d'un espace pour les utilisateurs avec un forum de discussions pour l'assistance
  • Création d'un espace de génération de ticket de support.
  • Création d'un espace pour interface l'équipe système et les développeurs de projets SharePoint.
  • Création d'un template de spécification pour les développements d'applications SharePoint reprenant les 5 points clés.

Projet n°3 : Organisation fonctionnelle du portail.

  • Analyse des besoins : Définitions des audiences visées, définitions de la taxonomie des documents, définitions des roles de sécurité, etc.
  • Mise en place de la charte graphique.
  • Mise en place de la navigation sur le site

 Projet n°4 : Collaboration, KM et formation.

Un portail est un changement de culture totale si vous abordez cela dans le sens de la collaboration et du knowledge management (la gestion de la connaissance). Cette partie est si complexe que je ne vais pas l'aborder ici. Mais pour vous donnez une idée cela repose sur deux questions clés : Quel est le bénéfice de chacun à collaborer et comment faire pour valoriser plus le faire savoir que le savoir.

Cette étape doit aussi inclure la mise en place d'action d'initiation d'une communauté ce qui nécessite à ses fondateurs de montrer l'exemple.

Projet n°X : Développement d'application sur le portail

A partir de là un portail n'est jusqu'une infrastructure. Toute application développée dessus doit répondre aux 5 points clés....Cette partie là nécessite aussi un article en soi.

 

Le projet SharePoint pour SAP de b-integration.net

Dans le cadre de développement de projets open source sur le site, je lance une section consacrée à SharePoint. Mon objectif est de vous proposer des modules SharePoint pour SAP, et d'animer une communauté Microsoft SharePoint SAP.

 
Exemple d'un premier module pour vérifier les utilisateurs SAP directement depuis SharePointnt

Les bons pré-requis techniques pour développer sur SharePoint

Bien sur il faut connaitre C#, Webform et/ou MVC et un minimum le framework .net 3.5. Mais je vous conseille surtout de maitriser les outils suivants : 

 

Conclusion

SharePoint est une possibilité fantastique d'associer le meilleur de SAP (le Backend) avec le meilleur de Microsoft et de quoi occuper mes vieux jours pendant quelques années. Mais un portail c'est aussi l'animation d'une communauté, un travail d'adhésion, la possibilité de structure la connaissance de l'entreprise d'améliorer la collaboration mais aussi les liens humains... Et surtout le portail est le frontend idéal pour créer de l'intelligence.... Cela fait 8 ans que je fais du portail. Et c'est pour moi une passion même si j'ai la conviction que nous pouvons aller beaucoup plus loin....

Pour information, la société APPLIUM sponsor de ce site sans laquelle nous n'existerions plus, investi beaucoup sur SharePoint avec mon aide. Alors si vous êtes intéressé, contactez les (et/ou moi à contact@jfortias.com).

 

Remerciement

Je remercie au passage Pascal Van Vlanderen pour m'avoir mis le pied à l'étrier et m'avoir appris tant de chose sur SharePoint. Dank U (c'est un flamand).

Liens sur b-integration.net à propos de SharePoint et SAP.

Sur le blog :

Dans la section articles :

Dans la section forum :

Liens internets :

 

Actions: E-mail | RSS comment feed |

Comments

# bhaddad
jeudi 24 novembre 2011 19:45
L'intégration Sharepoint et SAP, c'est vraiment le sujet chaud du moment. Chez Winshuttle nous avons organisé récemment des webinaires à ce sujet puisque nous proposons des solutions pour simplifier cette intégration et nous avons à chaque fois explosé les compteurs en nombre de participants.

Si ça vous intéresse je peux en faire un topo, qui montre comment passer d'une spec. à des formulaires opérationnels en 20mn.
Par ailleurs nous cherchons des partenaires connaissant SAP et Sharepoint pour aider nos clients à monter ces processus.
# cwtf
mercredi 14 décembre 2011 22:00
Comment Sharepoint s'authentifie sur un serveur WebAS ? En gros client = Sharepoint, Serveur = SAP WebAS.
# jfo
mercredi 14 décembre 2011 22:25
SharePoint n'est pas installable sur SAP WEBAS. Par contre il est possible d'exposer des webservice via le soaprfc service du WAS et les appeler depuis des webpart ou des workflow SharePoint... pour l'authentification il suffit de créer en .net une authentification via le login et password (arg j'ai un trou de mémoire y'a un objet à instancer pour)

Post Comment

Only registered users may post comments.
  
 Imprimer   


Les maques SAP, ABAP, BSP, Microsoft, .net, sont des marques déposées par leurs ayant-droiits.

Le site www.sap-integration.net est un site indépendant de SAP et de Microsoft et de tout autre éditeurs de logiciels ou fabricants de matériels.