blog.easyciel.net author="Patrick Rabian" about="c#, sharepoint, biztalk, team system resources" more="news, samples, tips for .NET world's developers !"

TechDays 2007



Voici un compte rendu des sessions que j'ai suivi aux TechDays...
Vous pourrez le remarquer, j'ai fortemment mis l'accent sur MOSS 2007 qui me semble être une évolution majeur par rapport à la version 2003 qui me posait pas mal de soucis !
Tout le contenu n'est pas forcemment issu des sessions, je me suis permis parfois d'accentuer certains points ou de les illustrer par des schémas. 
Pour donner un avis général, je dirais que l'ensemble était assez intéressant mais peut-être pas assez technique à mon goût :( ...un petit goût de "commercial" days. Quoi qu'il en soit, aucun regret, bonne organisation pour une 1ere et beaucoup de monde en 3 jours (apparemment 8000 visiteurs uniques). J'ai d'ailleurs raté 2 sessions à cause du trop plein d'auditeurs. Dommage.
Bonne lecture !

 

1       Informations générales

1.1    Vista

1.1.1        Sécurité

1.1.1.1       ASLR

(Address Space Layout Randomization)

Positionnement mémoire aléatoire lors du lancement des DLL, notamment systèmes.

Objectif : contrer les attaques de type « return-to-libc ».

Les applications crées avec VS peuvent profiter de cette fonctionnalité en recompilant grâce à l’option /dynamicbase).

1.1.1.2       UAC

(User Account control)

à Filtrage des droits (jeton filtré). Par exemple, un profil ayant les droits « administrateur » n’en profite que sur demande explicite ou confirmation (lancement similaire à un runas)

à Virtualisation des répertoire sensibles pour rerouter l’écriture (Ex : Program Files)

1.1.1.3       Interface utilisateur

Concernant les clients « riches » : nouvelle interface utilisateur basé sur un langage déclaratif XAML. Ce language a des fonctionnalités natives très puissantes concernant la mise en forme, transformations ou l’intégration de contenus multimedia.
La couche applicative associée se présente sous le nom de WPF (Windows Presentation  Foundation).

Concernant les clients « Web » : sortie officielle de Ajax en release. Mode de licence « permissive » (modifiable et redistribuable) à on peut envisager de nombreuses évolutions provenant des communautés de développeurs.

1.2    Nouveautés développeurs

1.2.1.1       Framework 3.5 et Visual Studio « Orcas »

Nouvelle release du framework .NET : nouveau compilateur C# 3 et VB9. Intégration de Linq (language de requêtage orienté objet) directement + les différentes déclinaisons Dlinq (pour Database), Xlinq (Pour XML), …

1.2.1.2       Expression Blend

Produit de la suite « Expression » dédiée aux designers et permettant notamment la création d’IHM web et client riche.

1.2.1.3       WPF/E

Runtime WPF pour exécution en multi-plateforme (via un navigateur web à  assimilable à Flash)

Encore en version beta. Pas de sortie release prévue lors de la sortie release de Orcas.

 

2       Office system 2007

2.1    Développement client riche

2.1.1        Visual Studio 2005 SE pour Office 2007

Suite de VSTO 2003 et VSTO 2005.

Permet de développer des applications orientées Office (add-ins,…). Propose une palette de tempalte de projets.

Une prochaine version est prévue pour Orcas : VSTO V3.

2.1.2        Add-ins

Développement sur mesure permettant de personnaliser Office avec des traitements métiers liés à des Web services, Bases de donnée ou annuaire, …

Permet également de manipuler les boites de dialogue Office

*Pour les add-ins, penser à définir des droits « Full-trust » dans le projet Setup

2.1.3        Ruban

Un ruban est un bandeau de l’interface utilisateur associée à un onglet.


Décrit par un fichier XML.

Personnalisation plus poussée par référence à des classes implémentant « RibbonSupport »

2.1.4        Content controls

En mode “Developer”, permet de disposer d’une palette de contrôles à utiliser dans un document

 

2.1.5        Task Panes

Existent déjà depuis la version 2003 de Office.

Démonstration d’utilisation avec MapPoint pour afficher et imprimer un plan associé à une adresse créée par un formulaire « Content Controls ».

2.1.6        Excel Services

Possibilité d’exploiter les Excel Services par exemple dans un « task pane » pour afficher des données / graphes.

2.1.7        WPF

WPF est utilisable dans un contexte Office. Par exemple, on peut imaginer mettre à disposition un « tas pane » affichant la terre en 3D pour sélectionner des zones commerciales !

2.1.8        Format OpenXML

Les documents doc, xls, … se déclinent en extension docx, xlsx… et sont stockés dans un format 100% texte compressé en zip. Ainsi, un docx peut être renommé en zip et décompressé pour récupérer une arborescence OpenXML consultable et modifiable. Il devient assez facile de produire des documents Word ou Excel dynamiquement sans licence serveur particulière, juste en manipulant des contenus XML.

 

 

3       SharePoint Designer 2007

3.1    Utilisateurs

Microsoft Office Sharepoint Designer permet la personnalisation de sites WSS 3.0.



Les utilisateurs cible de l’outil sont des profils aussi bien développeur que non-développeur.

Pas besoin de coder pour adapter l’interface, les comportements, les données…évite les risques concernant la stabilité de la plateforme, ainsi que l’éventuelle perte de performances.

La sécurité Sharepoint intègre des profiles d’accès via MOSD, ainsi, il est possible de laisser un référent portail modifier les informations qui concernent son service librement sans pouvoir intervenir sur les parties qui lui sont étrangères. Cet aspect appui d’autant plus l’intérêt de l’outil pour des utilisateurs de type « métiers ».

Bien entendu, MOSD ne couvre pas tout type d’adaptation ! Pour compléter les manques, il faut faire appel à un développeur au travers de Visual Studio 2005 (Création de custom controls/webparts, pages ASP.NET, actions personnalisées autour des flux de travail, intégration au gestionnaire d’événement).

3.2    Modèles de site

En standard, MOSS/WSS incluent 40 modèles de site pouvant être utilisés depuis l’interface web ou MOSD.

3.3    DataView : grille de donnée

Fonctionnalités :

  • Conception WYSIWYG
  • Support de Ajax pour les filtrages de donnée. Permet notamment d’éviter les effets de rechargement de la page.
  • Expression XPATH
  • Intellisense XSLT (avec le contexte de donnée XPATH)
  • Synchro design/code
  • En utilisation, les DataViews gèrent les modifications sur les données
  • Intégrable au workflow
  • Différentes sources de donnée : support OOB pour les listes, ODBC, OleDb, XML, Service SOAP, Script Server, RSS, Business Data Catalog
  • Possibilité de combiner des données provenant de sources de donnée différentes

3.4    Workflow

  • Rattaché à une liste ou un formulaire
  • Basé sur des « Events », « Conditions » et « Actions ». Une dizaine d’actions possibles par défaut. Ex : envoyé un mail. Déclenchement d’un workflow sur ajout d’un document.
  • Stockage XOML (natif WF)
  • Supporte les données riches des listes
  • Extensible via Visual Studio
  • Connexion de « MS Project » sur des taches pour suivi (en plus de WSS)
  • Les possibilités de connexion de workflows avec des applications externes peut se faire via le BDC  MOSS ou via Biztalk

3.5    Design

  • Edition des master pages
  • Edition des styles
  • Nouveaux filets de sécurité :
    • Les utilisateurs peuvent restaurer le contenu originel des pages (re-ghosting)
    • Gestion des versions et de la double corbeille

4       Développement SharePoint 2007

4.1    WSS 3.0

·         Application 100% ASP.NET

·         Support « User Controls »

·         Rendu via master pages

4.2    ASP.NET

Fonctionnalité « page ASP.NET » permet d’exploiter un master Sharepoint et ainsi rendre son intégration transparente. Ainsi, le développement ASP.NET pure prend une place importante dans la personnnalisation WSS et réduit ainsi l’utilisation des web parts (même si l’usage n’est pas toujours le même).

4.3    Webpart

·         L’héritage de System.Web.UI.Webpart (Webpart native ASP.NET) fonctionne dans Sharepoint. Le namespace ‘Sharepoint’ également ! Par contre, il faut impérativement utiliser SPWebPartZones et SPWebPartManager car les versions ASP.NET ne fonctionnent pas.

·         Apparition des SPGridView, spécialisant  la GridView ASP.NET

·         CAML : apparition de l’attribut scope=’recursive’ pour recherche sur toute une collection de sites.

·         Le développement des connexions de webpart est simplifié par l’utilisation de « custom attributes »

·         La migration de webpart V2 vers V3 se fait uniquement par recompilation avec Visual Studio 2005

·         On peut créer des webparts « hybrides » : elle hérite de Sharepoint.Webpart et utilise des custom attributes ASP.NET 2.0

4.4    ASP.NET User Control

  • SmartPart V3 « The return of smartpart » a été pensé pour MOSS 2007. Il permet d’héberger un usercontrol ASP.NET 2.0 dans une webpart à Compilation JIT ASP.NET 2.0 permet de coller directement le code en déploiement et plus nécessairement les assemblies (donc code compilé) !) dans un répertoire dédié.
  • Accès au site web SP depuis une développement ASP.NET à encapsuler dans une propriété qui renvoi de la manière suivante :
    • En exécution dans un contexte Sharepoint : SPControl.GetContextWeb(this.context) 
    • En exécution détachée de Sharepoint : new SPSite(« http:://… »).OpenWeb() ;

4.5    Master Pages

MOSS intègre une « Master Page Gallery » qui permet de stocker/gérer et surtout partager les différents master. On peut également partager un master entre différentes instances de MOSS.

Une feature (existe aussi en webpart) appelé « MasterPicker » permet d’appliquer un master depuis la gallerie a : un site ou  un site et tous ses sous sites ou réappliquer le master par défaut.

4.6    Field Types

Objectif : construire des formulaires natifs à Sharepoint

Ce principe existait déjà dans Sharepoint mais a été étendu :

·         Permet d’utiliser des contrôles  ASP.NET pour étendre les possibilité de formatage

·         Permet l’usage de XML/XSL pour étendre nativement le formatage

·         Usage de CAML possible

·        

4.7    CAML

Language XML très performant pour Sharepoint. La prise en main n’étant pas forcemment rapide, il existe des outils permettant de générer du CAML :

·         U2U CAML Builder

·         CAML Viewer

CAML permet de « coder » déclarativement un nombre important de fonctions :

·         Recherches

·         Les vues et formulaires sont extensibles via CAML.

·        

4.8    Visual Studio 2005

Il existe une extension appelé «VSeWSS » = Visual Studio extensions for WSS, qui permet :

·         de construire une site définition par reverse engineering

·         un déploiement automatisé

·         une mise à dispo de projets webparts, …

·         la possibilité de debugger en directe

4.9    Divers

iisapp.vbs : outil générique IIS très utile pour éviter les IIS reset très couteux en temps avec les redémarrage Sharepoint. (ex : cscript.exe c:\windows\system32\…\iisapp.vbs …. /a /r)

5       Administration MOSS 2007

Les possibilités d’administration sont vastes !

Les outils d’administrations se décomposent en 2 familles : interface web et application en ligne de commande.

5.1    L’interface web : administration centrale de SharePoint

L’administration central se découpe en 3 écrans principaux personnalisables :

 

Home

Page bloc-note !

  • Liste des tâches,
  • Topologie de la ferme de serveurs,
  • Références
  • Personnalisable via webparts

 

Operations

Administration orientée infrastructure / exploitation

  • Gestion des serveurs et services
  • Gestion de la sécurité (niveau service, antivirus, sso, ..)
  • Gestion des traces et du reporting (supervision)
  • Gestion des mises à jour et migrations
  • Paramétrages globaux
  • Sauvegarde et restauration
  • Configuration des bases de donnée de stockage
  • Gestion des déploiements de contenu (ex : pour multi-site/multi-server via planification)

 

Application Management

Administration orienté configuration / industrialisation

  • Gestion des applications web (IIS, bases de contenu, …)
  • Gestion des sites / collections de site
  • Gestion de la recherche
  • Gestion des services de formulaires
  • Gestion des services partagés (Profiles, Search, Alertes, Excel Services, Business Data Catalog, Project Server…)
  • Gestion de la sécurité hors contexte site (gestion des auth. providers, sites perso, …)
  • Autres services connexes (workflow, module de conversion de document, …)

5.2    Stsadm.exe en ligne de commande

L’outil stsadm offre une cinquantaine de fonctions pour couvrir les besoins d’exploitation de Sharepoint sous forme de scripts batch.

Voir : http://technet2.microsoft.com/Office/f/?en-us/library/188f006d-aa66-4784-a65b-a31822aa13f71033.mspx

5.3    Informations complémentaires

-          On peut partager un SSP entre plusieurs ferme

-          Les profiles peuvent être importés depuis un domaine et planifiables

-          On peut mettre en place une politique de rétention de l’information

-          Business Data Catalog

 

6       La sécurité dans SharePoint 2007

6.1    Zones

L’environnement de sécurité MOSS doit permettre de gérer différents types d’accès au portail.

 

Ces types d’accès se modélisent sous forme de zones au niveau de MOSS. On peut ainsi définir 5 zones différentes au maximum par portail.

Une zone est associée à une url d’accès et un mode d’authentification.

 

 

6.2    Modes d’authentification

Les différents modes d’authentification sont les suivants :

 

Les sources d’authentification peuvent être de type LDAP, Active Directory, Base de donnée (Provider natif pour Sql Server) ou complètement personnalisées .NET.

Une authentification va permettre d’associer un utilisateur à un (ou plusieurs) groupe(s) Sharepoint et d’y associer des droits au niveau de Sharepoint avec un granularité pouvant descendre jusqu’au document.

6.3    Authentification ASP.NET

L’intégration forte de Sharepoint au Framework .NET 2.0 et ASP.NET permet de profiter pleinement de toutes les fonctionnalités des providers (authentification, roles) s’appuyant sur des fichiers de configuration XML. Il faut noter que l’administration Sharepoint sait gérer la création et la modification de ces fichiers de type .config ce qui permet de conserver une forte cohérence entre les aspects standards du produit et sa personnalisation via .NET.

Les limitations

  • Accessible uniquement depuis un navigateur web
  • Le crawler de recherche ne peut s’appuyer que sur une authentification Windows, l’auth. ASP.NET ne profite donc pas des fonctionnalités natives de filtrage dans les recherches, sauf a développer un système de mapping ASP.NET ßà Windows (bon fonctionnement global pas forcement garantie).
  • Fonctionnement dégradé depuis Office
  • A une application ASP.NET ne peut être associé qu’un type d’authentification
  • Obligation d’avoir un compte dans le repository Sharepoint associé à un compte dans le repository provider  ASP.NET

6.4    Authentification anonyme

Très limité concernant les possibilités en écriture :

  • Lecture seule sur les bibliothèques
  • Ecriture possible sur les listes

6.5    Droits Sharepoint

6.5.1        Administrateurs

Il existe 3 niveaux d’administration déléguables et isolables ( ?).

  • Administrateur centrale (full control)
  • Administrateur de contenu partagé (gère les services partagés)
  • Administrateur de contenu (administrateur de site, de collection de site)

Un administrateur de contenu a les droits suivants :

  • Peut déverrouiller des documents
  • Gère la corbeille de 2ème niveau
  • Ses droits sont non-supprimables

6.5.2        Groupes Sharepoint

Par défaut, il existe les groupes Sharepoint suivants : Propriétaire (Owners), Membres (Members), Visiteurs (Visitors)

Si l’on souhaite définir ses propres groupes, il existe 8 niveaux de droits pouvant être associés à un groupe (ou directement à un utilisateur mais ce n’est pas conseillé) :


Ces droits sont initialement affectés au niveau d’un site et automatiquement hérités par les entités de niveau inférieur. Par contre, l’héritage peut être « brisé » et ces droits peuvent être redéfinis au niveau des entités de plus bas niveau. Ainsi la granularité des droits s’applique sur :

·         Les listes

  • Les bibliothèques de documents
  • Les documents

En fait, les 8 valeurs de niveaux de droits sont proposées par défaut et encapsulent une présélection parmi 33 niveaux d’autorisations. Ces niveaux de droits « custom »  sont définis au niveau d’une « web application ». Voici la liste des niveaux d’autorisation :



 

Il faut noter que contrairement à SPS 2003 / WSS 2.0, l’interface utilisateur s’adapte aux droits.

6.6    Informations complémentaires

Balise <PeopleFisherWildcards> à définir dans le web.config pour afficher le formulaire de recherche des utilisateurs intégré à MOSS

 

7       Excel Services

Très orienté Business Intelligence !

  • Performance point
  • Microsoft Business ScoreCard Manager
  • Proclarity

7.1    Excel 2007 client

Evolutions

  • Capacité de 1 millions de lignes / 16000 colonnes
  • Styles avancé, Styles automatiques, basé sur les données
  • Multi threaded

 

7.2    Excel 2007 services

Intérêt

  • Partage centralisé
  • Modèles serveur « lockable »
  • Frontal web via navigateur pour la lecture, le filtrage (mais pas l’écriture)
  • Excel Calculation services (associé à des fonctions définis par les utilisateurs)

7.3    Excel Services depuis MOSS 2007

  • KPI : Key performance indicator

à      Webpart disponible pour pouvoir construire un tableau d’indicateurs issues de SPList, Feuilles Excel, Sql Server 2005, Données saisies

·         Partage de fichiers de connexions depuis les doclib pour exploitation directe par les utilisateurs : création de tables de pivot / graphes basé sur des cubes.

·         Publication partielle d’un document possible (ex : feuille 2 uniquement, tableau dynamique 5 et 7, …)

·         Les tableaux peuvent être utilisé comme des vues sélectionnables sous forme de DropDownList

·         Utilisation du catalogue de données métiers

 

8       Industrialisation de la gestion de formulaires

8.1    InfoPath 2007

8.1.1        Objectifs

  • Puissance de création des formulaires électroniques
  • Simplicité du déploiement des formulaires
  • Utilisation online et offline

8.1.2        Positionnement

Les solutions de gestion de formulaires alternatives de la plateforme Microsoft sont les suivantes :

Clients riches : WinForm, Word, Excel

Clients web : WebForm, WSS

Voyons les niveaux de complexité pour industrialiser des formulaires depuis ces solutions et depuis InfoPath :

Clients

Productivité l’interface

Déploiement Intégration sur un portail  MOSS/WSS

Accès à des sources de données

Règles d’affichage et de validation

RICHES





WinForm / .NET

Word

Excel

InfoPath Office

WEB





WebForm / .NET

WSS 3.0

InfoPath Web


Clients

Maintenance

Traitements complexes / très personnalisés

Intégration Workflow

Compétence

Non IT

RICHES





WinForm / .NET

Word

Excel

InfoPath Office

WEB





WebForm / .NET

WSS 3.0

InfoPath Web




Légende

Inadapté

Long / Complexe

Intermédiaire / Correcte

Rapide / Simple

 

De plus, les possibilités d’association de rôles / utilisateur permettent simplement de personnaliser des vues.

8.2    Accès aux données

8.2.1        Les sources

WS, SPList, SPDocLib, XML, BD Sql Server et Access….(ODBC, OleDb ?)

8.2.2        Fonctionnalités

  • Récupération de données depuis des sources ou envoi des données via web service, Doclib, Email ou re-dépot sur source de donnée
  • Bibliothèque de connexion des données : centralise les connexions pour les utilisateurs, format XML, mise à jour simple et centralisée
  • Promotion des données pour mise à disposition sous forme de métadonnée SharePoint ou pour les workflow
  • Les sources de données peuvent être en mode connecté ou déconnecté

8.3    Form Server

Mise à disposition des formulaires depuis un serveur web

Intégré à MOSS 2007 Enterprise

8.4    Sécurité

Grâce à IRM (Information Right Management), possibilité de gérer les accès au formulaire : lecture, écriture, impression

8.5    Workflow

S’intègre parfaitement au workflow de MOSS 2007. Les données de formulaire peuvent être associées aux traitements liés au workflow (décisions, actions …).

8.6    Informations complémentaires

Un formulaire peut être crée par import d’un formulaire Word (pas besoin de Word 2007)

10-15% des contrôles ne sont pas compatibles web

Configuration possible de la barre d’outil du formulaire (cf ‘Submit Options’ et ‘Forms options’)

 

9       WPF pour les données

9.1    Winform, controles

Dans un contexte Winform WPF, il existe un DataContext global par défaut (Window.DataContext).

Ce datacontext peut être utiliser simplement comme support de donnée par défaut pour être exploiter directement en code déclaratif XAML. On peut également créer ses propres datacontext.

9.2    DataTemplate

Les datatemplate sont des sortes de feuilles de styles à appliquer aux données pour en formater très efficacement le « look and feel ».

Ainsi, on peut déclarer des datatemplate et les associé à des controles exploitant des données (ou pas). De plus, on peut associer des datatemplate à des types de contrôle par défaut.

Il existe des templates fournis par défaut. Ex : template hiérarchique sous forme d’arborescence (master/detail à n niveaux)

 

9.3    Les vues

Les vues sont des représentations réorganisées des données sources. Ce ne sont pas des vues au sens graphique. L’intérêt est d’avoir différents formatage des données dans un même contexte, très efficacement et sans altérer les données sources.

Ainsi, on peut appliquer des filtres et des clauses pour modifier l’ordre (sort) d’affichage des données. Elles s’appuient sur un modèle MVC.

Les interfaces et classes associés sont : ICollectionView et CollectionViewSource.GetDefaultView

9.4    Les autres fonctionnalités

Regroupement des données : cf GroupStyle

Validator, pour la validation des données : cf Binding.ValidationRules et Validation.ErrorTemplate

10         Visual Studio Orcas pour le web

10.1   Gains par rapport à Visual Studio 2005

On notera des améliorations sur les points suivants :

  • Performances
  • Intégration native de « Web applicaiton projects », associée à une recommandation d’utilisation de ce type de projets.
  • Ciblage possible de plusieurs version du Framework .NET pour la compilation : .NET 2.0 (Whidbey), .NET 3.0 (Vista à même compilateur que .NET 2.0), .NET 3.5 (Orcas)
  • Le designer web de Visual Studio a complètement été réécrit. Ainsi, le moteur « design » est celui du produit « Expression » : c’est un moteur de formatage full CSS !
  • L’objectif de Orcas est également d’augmenter la productivité notamment concernant Ajax.
  • Nativement, cette version de Visual Studio sera associée au Framework .NET 3.5 (C# 3, Linq, …)
  • L’interfaçage avec IIS 7 sera également prévue.

10.2   Design

L’éditeur de CSS porte le codename « Saphire ». Des panneaux d’outils Visual Studio apparaissent pour gérer les CSS, ils permettent notamment une saisie rapide, des vues filtrées des CSS concernées par un contrôle ou l’inverse.

L’écran design intègre maintenant une vue « Split » affichant simultanément le code et la vue designer.

10.3   Ajax, JavaScript

  • Intégration d’un accompagnement pour l’utilisation des extenders Ajax.
  • Ajout de l’IntelliSense pour Javascript :
    • Pseudo-compilation intégrée pour marquer dynamiquement les erreurs
    • Tags XML (en commentaire) pour documenter l’IntelliSense JS.
    • La version JS du Framework .NET est mieux exploitable (namespace Sys.)

10.4   Linq

-          Projet Blinq = génération d’une IHM d’administation depuis une base SQL Server. Outil incluant un wizard. Génère des requêtes au format LinqToSql. (via LinqToSqlDataSource)

-          Actuellement Linq CTP génère encore du code .NET 2.0. Dans cette version, il est donc exploitable sur des projets .NET 2.0 mais ce ne sera plus possible en release ou il deviendra natif .NET 3.5. Linq CTP modifie le web.config (cf <system.codedom><compiler>…)

10.5   Divers

-          Support de l’UAC pour combler le problème de démarrage en admin de Visual Studio 2005 sur Vista

-          Intégration du design WCF / XAML

-          IIS 7 devient complètement paramétrable depuis le fichier web.config

 

11         Interopérabilité .NET / J2EE

Modes de communication

  • Point à point ou via un service broker
  • Synchrone ou asynchrone

11.1   JNBridge

JNBridge est outil pour l’intéropérabilité Java / .NET (générer un jar proxy vers une assembly .NET ou l’inverse).

Permet notamment d’appeler du binaire entre Java et .NET en mode :

  • Shared Memory
  • TCP Binaire
  • WS SOAP / http

Fig. JNBridgePro usage

Fig. Implémentation d’un adapter Biztalk pour J2EE

 

JNBridgePro Software Licenses

License Type

Running Time

Std. Ed : Price per License

Ent. Ed. : Price per License

Developer

Unlimited

$795

$1495

Server Deployment

Unlimited

$1395

$3975

11.2   JIntegra

JIntegra est un outil permettant de créer des wrappers Java en surcouche d’objets .NET (compatible .NET Remoting).

Fig. Architecture point à point

Developer License

 US$399

Server License (1 CPU)

 US$999

Server License (Multi-CPU)

US$1,999

11.3   Stratégies

11.3.1    In process

JVM + CLR coexistent via JNBridge, via des Pinvoke, depuis .NET, pour lancer la JVM java.

++ : Meilleur performances / fluidité

--- : Complexe, peu robuste, pb de montée en charge

11.3.2    Distribution de composants

Via JNBridge

++ : bonnes performances / souplesse

--- : JNBridge est une solution dédiée .NET / java

11.3.3    Services Web

SOAP, WS-*

++ : évolutif, très standard

--- : obligation d’interfaçage via des messages, perte de performances, fiabilité (composable via WS-reliable)

11.3.4    Intégration

·         Messaging : MSMQ, ponts JMS

·         Broker : Biztalk, WCF Bindings

 

12         Team system : présentation

12.1   Team Foundation Server

La solution TFS est composée des briques suivantes :

+ Source, version control…
+ Document management

Project Site (ou Team Portal)  = portail WSS 2.0

12.2   Les clients

12.2.1    Produits Microsoft

  • Visual Studio Team Edition (Developer, Tester, Architect, Database Admin)
  • Visual Studio Team Explorer
  • Excel
  • MS Project

12.2.2    Autres solutions

12.2.3    Les clients et fonctionnalités associés

Le lien avec les produits Excel et Project se présente de la manière suivante :

Link between Excel, Project and TFS

Les données sont “déconnectées” en le client et le serveur. Des fonctions lié à un add-in permettent des mises à jours dans les 2 sens (Publish / Import / Refresh).

On peut ainsi, utiliser Excel pour créer des workitems (taches, déclaration de bugs…) et les publier sur le serveur central (TFS). De la même manière, on peut les importer dans Excel depuis TFS.

De puis Project, on peut créer des tâches et les publier sur TFS. Ensuite, on peut rafraichir ces tâches par extraction de TFS pour mettre à jour leur niveau d’avancement dans Project.

Il existe une notion d’ « action » permettant de créer des déclencheurs (trigger) pour compléter la personnalisation via des développements custom.

 

Voici les possibilités des différents clients « standards » :

Client

Doc. mgt

Visu. reporting

Créa. Work items

Gestion work items

Gestion des sources

Gestion des build

Gestion reporting

Analyse du code

Archi.

Tests

Internet Explorer

P

P (via WSS)

P (via addin)

O

O

O

O

O

O

O

Excel

O

P (via Olap)

P (via addin)

P (via addin)

O

O

O

O

O

O

Team Explorer

O

O

P

P

O

O

O

O

O

O

VS 2005 Pro

O

O

P

P

P

P

P

O

O

O

VS 2005 TS

O

O

P

P

P

P

P

P

P

P

 

12.3   Méthode et indicateurs de projets

Objectif : envisager Team system sous l’angle de la gouvernance de projet.

Le cadre méthodologique, par défaut, est structuré par MSF. Team system est l’outil support de la méthode. En standard, Team system offre 2 déclinaisons de MSF : Agile et CMMI.

Microsoft Solutions Framework est un ensemble de processus liés au développement applicatif . MSF s’appuie sur des méthodes éprouvées mais complètement personnalisables et évolutives.

Quoi qu’il en soit, les processus en place dans l’entreprise peuvent être complètement réintégrés à la solution.

 

Fonctionnalités couverte pour la maitrise d’œuvre :

  • Mise en relation des acteurs
  • Intégration et partage des normes
  • Mise en place des workflows par activités
  • Indicateurs de pilotage de projet

En phase de vie de projet, les données exploitables par la MOA sont les suivantes :

-          Les requêtes (ex : suivi des workitems)

-          Les rapports

-          Le site portail (suivi et MAJ des aspects documentaires)

12.4   Personnalisation

La configuration générale de l’outil se fait depuis l’outil d’administration Team Explorer, intégrée ou non à Visual Studio et lié aux droits d’accès (Active Directory obligatoire).

Un éditeur existe pour accompagner la personnalisation des processus : Process Template Editor (packagé sous le nom VSTS Customization Toolkit . Doit être installé sur le serveur TFS a customiser ou sur un poste intégrant les assemblies TeamSystem !).

 

L’intégration d’une solution Team system se fait selon les étapes suivantes :

  •  
    1. Définition de la méthode projet
    2. Définition des zones et itérations
    3. Définition des workitems et des rôles

 

Les différents types de personnalisation :

Type de personnalisation

Difficulté

Technique associée

Description

Point d’attention

Scénarios, Workitems

**

Process Template Editor

Il faut définir les scénarios de chaque workitems sous forme de workflow a état

1 serveur = 1 template

Requètes

*

Team Explorer

Personnalisation identique à un « querybuilder » type Access

Vérifier l’impact sur les documents “type”

Rapports

***

Reporting Services, Analysis Services

Modification des cubes OLAP et des reportings associés

Veiller aux liens dans le site portail

Définition de site et documents

**

Idem personnalisation et administration des sites WSS

Fichiers stp (ex : MSFAgile.stp) et xml (ex : WssTasks.xml)

Les documents et rapports référencés doivent être présents dans le modèle

12.5   Roadmap

12.5.1    VSTS Orcas (Mi-2007)

  • Intégration continue
  • Outsourcing
  • Personnalisation

12.5.2    VSTS Orcas + 1 (2009 ?)

  • Gouvernance de projets
  • Renforcement des tests
  • Rôles complémentaires (modélisation business analyst ?)

12.6   Exemple de déroulement d’un scénario

Action

Acteur

Outil natif

Outil tiers

 

Déclaration d’un bug

Business Analyst

Excel

Web

 

Récupération du bug

Chef de projet

Excel

Web

 

Création des tâches associés au bug

Chef de projet

Excel

Web

 

Ajout des tâches dans MS Project

Chef de projet

Excel

Project

 

Récupération de la tache de correction du bug

Développeur

Visual Studio

Email

 

Récupération des sources depuis TFS

Développeur

Visual Studio

-

 

Correction du bug

Développeur

Visual Studio

-

 

Archivage des sources temporairement (fonction étagère « Shelve »)

Développeur

Visual Studio

-

 

Utilisation des tests unitaires, d’une base de donnée de tests et de tests « web » (scriptables)

Développeur

Visual Studio

-

 

Archivage des sources (associé à une police)

Développeur

Visual Studio

-

 

Build automatique

 

Team Foundation Server

MSBuild

Le build est lié au workitem bug, ce qui permet un suivi de version.

Le build ne se fait que si les tests « web » sont validés

 

13         Biztalk 2006 R2

Date de sortie prévue : fin juin 2007

Pour rappel, voici 2 fonctionnalités de Biztalk 2006 (version actuelle) qui pourraient être mise à profit dans les projets :

-          Gestion des erreurs par abonnement (détaché des flux)

-          Alertes, BAM associé à Sql Server Notification Services

13.1   EDI

-          Nouveau module complètement intégré

-          Formalisation de l’enveloppe d’échange EDI = « AS2 »

-          Livraison de plus de 8000 schémas XSD EDIFACT en natif

-          Administration de la gestion des partenaires, accords d’interchange

13.2   RFID

-          Nouveau module complètement intégré

-          RFID Event Processes : remontée de flux d’infos RFID

-          Règles de gestion RFID, filtrage à Traitement orientés métier

-          Couche de gestion de drivers pour les fournisseurs de solutions RFID

13.3   SOA Pragmatique

-          Basé sur la maturité de l’entreprise au niveau de l’intégration des web services

-          Concevoir en pensant à l’exploitation

-          2 types de ROI :

§         Technique : uniformisation des services

§         Métier : agilité

-          Démarche de migration SOA incrémentielle : exposer, composer, consommer

13.4   Intégration de WCF

Nouveaux type de transport associé à WCF

Type de transport

Description

WsHttp Adapter           

WS-* standards support  / HTTP transport.

NetTcp Adapter                            

WS-* standards support / TCP transport.

WCF NetMsmq Adapter

Queued messaging avec transport MSMQ

WCF BasicHttp

Compatible web services 1ere génération

WCF NetNamedPipe

Messagerie interprocessus avec transport NamedPipe

WCF Custom

Utilisation des composants WCF (bindings, behaviors et binding elements).

WCF CustomIsolated

Utilisation des composants WCF via http hébergé par IIS (bindings, behaviors et binding elements)..

 

Illustration via l’interface d’administration :

 



 

 

 

13.5   R2 Adapter Framework

S’intègre à la stratégie plus globale de Microsoft autour de l’unification des échanges par services et donc WCF (Windows Communication Foundation).

Ce framework permet de concevoir des « adapter » (ou « connecteurs ») compatible pour .NET, Office, Biztalk, …et qui sont exposés sous forme de « channels » WCF.

La fonctionnalité « Add adapter service » apparaît dans Visual Studio, ainsi que le nouveau type de projet : .NET 3.0 Adapter.

 

On peut ainsi envisager de créer des connecteurs pour l’entreprise qui pourront s’intégrer à un Framework technique bas niveau et pourront être consommés par différentes applications à simplification et réutilisabilité.

Un premier niveau permet à tout application basé sur .NET (Custom, Office, Biztalk) de consommer directement ces connecteurs.

Un second niveau permettrait d’interfacer ces connecteurs via du .NET ou Biztalk et de partager ainsi les passerelles vers les solutions hétérogènes de l’entreprise qui souhaiteraient accéder aux ressources cibles des connecteurs.

 

Il existe des évolutions sur les adapters R2 Line of Business (LOB) Adapters comme SAP, Siebel, Oracle DB, and TIBCO RV.

A noter, la refonte de l’adapter Oracle Db et la disparition du « faux » adapter Oracle EBusiness Suite. L’adapter Oracle Db a été complètement refondu : performance, …

13.6   ESB Toolkit

-          Guidelines, Patterns , codes samples

-          Possibilité de définir des règles de routage dynamiquement (sans passer par la messagebox).

-          Annuaire qui référence les services et les règles de transformation à appliquer entre services

-          Pipeline JMS natif (très utilisé en J2EE, notamment serveur Jboss/TomCat…)

13.7   Cycle de vie BPM

-          Un processus peut peut-être défini dans VISIO (ou MEGA) par un Business Analyst et implémenté dans Visual Studio par un développeur (export BPEL).

-          Utilisation du BAM hors de Biztalk via une assembly « Event Observation »

-          « Rule Manager » pour gérer la cohérence des règles métiers natives Biztalk (vue des interconnexions)