Workflow et bcs sous SharePoint 2013

Preview:

Citation preview

Workflows et BCS sous SharePoint 2013

Qui suis-je ?

Nabil BABACIMVP SharePointAZEO@: nabil.babaci@azeo.comwww: http://dotnet4ever.fr CodePlex: https://www.codeplex.com/site/users/view/nabilbabaci

Agenda

Workflow• Dans la théorie

• Nouveautés• Workflow manager• Architecture & Topologie• Workflow Service Manager

• Dans la pratique• Binaires• Workflow Manager en détail• Configuration• Tools• Démo• Troubleshooting courant

Agenda

BCS• Dans la théorie• Nouveautés• ODATA• ECT

• Dans la pratique• SPO ODATA• SPO AppLevel

Workflow en Théorie

Théorie > Nouveautés générales

Haute disponibilité, Multi tenant (WF cluster )Scalabilité horizontaleDéclaratif (xaml) :• Fin du Custom Code • Custom Code => Web Service et Custom Code Activity

SharePoint Online : déjà installé, transparent pour l’utilisateurService Bus (Hérité d’Azure) : REST & Message ( formatage du message )Communication en CSOMOOTB :• Vue :

• Style Visio• Style Classique

• Nouvelles Actions & Activities ( Http Web Service, JSON, Get Items from Dictionary…)

Théorie > Workflow Manager

Anciennement Windows Azure WorkflowNon installé par défautNon créé pour fonctionner avec SharePoint Foundation 2013Rappel Foundation => Workflow 2010 uniquementFramework .NET 4.5Pas de Workflow template pour 2013, uniquement 2010Support VS 2012 , SPDesigner 2013, Visio 2013

Théorie > Architecture

2 composants : WFM et Service BusWFM : • utilise le Service Bus ( couche de communication)• REST ( appels HTTP/S)

Service Bus : • Facilite la communication entre serveurs (OAUTH)• Hérité d’azure, maintenant on-Prem• Intermédiaire ( message delivery, check l’état du

WF)

Token OAuth : App ID + User Context initializer

Théorie > Architecture

SharePoint Host 2013

Théorie > Topologie Cohabitation

Cohabitation:• NLB en entré• WF Manager + WF Client installés

sur la même machine• 1 DB• HA 3 fermes

Théorie > Topologie Fédéré

Fédéré :• WF Manager sur d’autres serveur ( sans SP)• WF Client installé sur chaque machine• HA 3 WF nodes

Théorie >WF Service manager

Deployment : • Description des WF• Scope SPDesigner ou Browser ( commande de Publication)

Messaging : • Déclenche des events quand il y a changement• Notification au près du WF Manager• Accessible depuis les APPS

Instance : Manage les instances (start, stop,status)Interop : En charge d’invoquer les WF 2010

Théorie > WF Service manager > Interop

Cas : • Héritage de WF 2010 • Besoin d’accès à des activités sous SP2010• Encapsulation

SP2013WF Manager

WF HOST 3.5

Instance 2013Instance 2010Start Request

Mes

sage

la

yer

WF Service

REST endpoint

Exécution

EventsWorkflowInterop.Wait

Exécution

Notification

Workflow en Pratique

Pratique > Binaires

WF Client 1.0WF Manager 1.0WF Manager CU 1.0WF Manager Tools 1.0 Visual Studio 2012 CoreWF Manager Tools 1.0 Visual Studio 2012Dépendance :• Service Bus + CU 1.0• App Fabric 1.0

Pratique > WF Manager en détail

IIS : WorkflowMgmtPool, http et https4 NT Services : • Workflow Manager Backend• Service Bus Message Broker• Service Bus Gateway• Windows Fabric Host Service

Base de données:• Workflow databases:

• WFManagementDB : Base de données de gestion de la batterie de serveurs de WFM• WFInstanceManagementDB : Magasin de gestion des instances • WFResourceManagemetDB : Magasin de gestion des ressources

• Service bus databases:• SBManagementDB :Base de données de gestion de la batterie de serveurs Service Bus• SbGatewayDatabase :Base de données de passerelle Service Bus• SBMessageContainer01-n :Bases de données de conteneurs de messages

Pratique > Configuration

1. Configuration par défaut ( sur la ferme)• Utilisez un compte de service différent ( svc_wf + accès

DBO sur MASTER)• 3Fichiers à garder :

• Config.txt• Powershell.txt• Journal.txt

2. Configuration personnalisé3. Joindre une ferme

Register-SPWorkflowService ( pour SPDesigner)IIS – WF management SiteWorkflow Service Proxy => Status ok

Démo

Pratique > Custom > Custom Action & Activities

SPD 2007/2010 SPD 2013

WF4.x

.rules

WF3.x

.xoml.XAML

• Declarative Custom Activity « Sandbox + Farm + SPO » , No code

• Code Custom Activity (On Prem) => SPD

WF4.5Activities

Workflow ManagerActivities

ProjectActivities

SharePointActivities

Custom Activities1. Workflow Manager

• Custom assembly dans :• \Workflow\Artifacts• \Workflow\WFWebRoot\bin

• AllowedType.xml à copier dans les dossiers

• Restart “Workflow Manager backend”

2. SharePoint• GAC/BIN• .actions4 dans TEMPLATE\1033\Workflow• Reset IIS

3. Client• SPD cache à supprimer

(%LocalAppdata%\Microsoft\WebsiteCache)

Pratique > Custom > Types manquant

Trusted Surface : Primitives définies par défaut (OOTB)

Type Supporting ActivitiesString String ActivitiesDate support using DateTime and TimeSpan Date Support ActivitiesNumeric support using Int32 and Double Numeric Type ActivitiesBoolean Boolean ActivitiesGuid Guid ActivitiesICollection, including IList Collection ActivitiesIDictionary and KeyValuePair IDictionaryDynamicValue DynamicValue ActivitiesException Exception ActivitiesUri Uri Activities

Pratique > Custom > Types manquant

AllowedTypes.xml :• \WFWebRoot\bin • \Workflow\Artifacts• Multi-tenant : copie sur chaque serveur

Pratique > Debug

• Fiddler • Debug Mode > Breakpoint et Console• Pour SPO pas de Debug -> History List, Remote Log,

Custom Web Part Log• Event Viewer > Dossier Workflow• WFInstancesManagementDB >Debug Traces

Pratique > Troubleshooting courant

Register-SPWorkflowService : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information

• Assembly à supprimer ( Preview -> RTM = relicat)• Microsoft.SharePoint.WorkflowServices.Activities• Microsoft.SharePoint.WorkflowServices.Activities.Design

Workflow > Troubleshooting courant

Erreur 401 sur le WF : Etat « Suspendu »

• User Profile Synchronisation à lancer• Se connecter avec un compte différent de svc_wf ou

SHAREPOINT\SYSTEM• Compte en Owner

Workflow > Troubleshooting courant

Service bus 403 > Event viewer• Voir l’état des connexions de sortie

Toolbox avec des éléments dépréciés ( GetCurrentListId ? SetField ?)• Version de Workflow manager Tool -> Web installer• Utiliser les DynamicValues (SPListItem + DynamicValue)

Aller plus loin !

Msdn forum : WF managerLa suite détaillée sur mon blog : http://dotnet4ever.fr

WF Slides et SamplesBCS plus en détail

BCS en Théorie

BCS > Nouveautés

Même mode de fonctionnement entre 2010 et 2013Amélioration sur les listes externesSharePoint Apps et Office AppsRéception d’évènement sur les listes externesOData ( !! N’est plus présent dans SPDesigner)REST et CSOM amélioréToujours présent , utilisation avec OFFICE Visio 2013 : lié des données externes sur les diagrammesOffice > BCS office shared featuresHybride : On-Prem <-> OnlineLevel : Farm, App, .Net Assembly connector, Search Connector ( No-Code)

BCS > Big picture

BCS > Big Comparaison - OnPremFeatures SharePoint Foundation SharePoint Server 2013

Standard CAL SharePoint Server 2013 Enterprise CAL

BCS: Alerts for External Lists

No Yes Yes

BCS: App Scoped External Content Types (ECTs)

No Yes Yes

BCS: Business Data Webparts

No Yes Yes

BCS: External List Yes Yes Yes

BCS: OData connector No Yes Yes

BCS: Profile Pages No Yes Yes

BCS: Rich Client Integration

No No Yes

BCS: Secure Store Service

Yes Yes Yes

BCS: Tenant-level external data log

No No Yes

BCS> Big Comparaison – O365Features Small Business Small Business

Premium Midsize

Business Enterprise E1 Education A2

Government G1

Enterprise E3 Education A3 Government

G3

Enterprise E4 Education A4 Government

G4

Enterprise K1 Government

K1 Enterprise

External Users

BCS: Alerts for External Lists

No No No No Yes Yes No Yes

BCS: App Scoped External Content Types (ECTs)

No No No No Yes Yes No Yes

BCS: Business Data Webparts

No No No No Yes Yes No Yes

BCS: External List

No No No No Yes Yes No Yes

BCS: OData connector

No No No No Yes Yes No Yes

BCS: Profile Pages

No No No No No No No No

BCS: Rich Client Integration

No No No No No No No No

BCS: Secure Store Service

No No No No Yes Yes No Yes

BCS: Tenant-level external data log

No No No No Yes Yes No Yes

BCS> Big Comparaison 2010 vs 2013

Business Connectivity Services Feature

SharePoint 2010 SharePoint 2013

On-Premise SPO On-Prem SPO

External List √ √ √ √

External Data column √ √ √ √

Connectors WCF, SQL, .Net WCFWCF,

SQL, .Net, OData

WCF, OData, SQL Azure

Secure Store Service √ √ √ √

Profile Pages √ X √ X

Business Data Web Parts

√ √ √ X

Rich Client Integration

√ X √ X

BCS connectors for Search

√ X √ X

InfoPath forms connected to BCS

√ √ √ √

Notifications from External Systems.

X X √ √

Hybrid BCS X X √

Additional CSOM APIs for BCS

X X √ √

App scoped BCS models

X X √ √

BCS > ODATA et Apps

Office Apps, SharePoint Apps : BCS est partoutHébergement selon 3 modes :• SharePoint-Hosted App• Cloud-based Apps (Provider-Hosted App &

Autohosted App)

BCS> Event receiver

Créer des alertes ( UI ou custom code)Créer des WF sur les External ListsExternal System Events featurePowershell pour gérer les notifications :• Get-SPBusinessDataCatalogEntityNoticationWeb,• Clear-SPBusinessDataCatalogEntityNotificationWeb,• Set-SPBusinessDataCatalogEntityNotificationWeb

BCS >ODATAPowerShell• Get-SPODataConnectionSetting• Set-SPODataConnectionSetting, • New_SPODataConnectionSetting • Remove_SPODataConnectionSetting,• Get-SPODataConnectionSettingMetadata• Set-SPODataConnectionSettingMetadata

Créer des ECT avec du ODATA !• Auto sous VS• Pas sous SPD => WCF et exposer ses données !!!

Bcs > ODATA MappingModèle Opération HTTP ODATA

Finder Read List GET http://intranet/_api/web/lists/getByTitle(‘Tasks’)/Items

Specific Finder

Read Item GET http://intranet/_api/web/lists/getByTitle(‘Tasks’)/Items(1)

Creator Create POST http://intranet/_api/web/lists/getByTitle(‘Tasks’)/items

Updater Update PUT http://intranet/_api/web/lists/getByTitle(‘Tasks’)/items(2)

Deleter Delete DELETE http://intranet/_api/web/lists/getByTitle(‘Tasks’)/items(2)

AssociationNavigator

Association GET http://intranet/_vti_bin/LisdtData.svc/Customers(‘Contoso’)/

Invoices

BCS > ECT Architecture

BCS >ECT

App Level • Indépendante• Isolation granulaire• 1 seul fichier BDCM ( Doc lib) ->

wspimport• Pas de configuration BDC Service

Application

Farm Level• BDC Store• Sandbox aussi

BCS > Limites BDC SA

Type Scope Default Max

Connections Global 100 500

Items Database 2000 25,000Timeout Database 60 sec 600 sec

Size Service 3 MB 150 MB

Timeout Service 60 sec 600 sec

Démo

Conclusion

Avec les WFS et BCS on peut tout faire !

… ou presque.

Merci

Recommended