K2 Endpoint Service Broker + SharePoint Webservice

Seit dem Release von Blackpearl 4.6.5 gibt es OOTB einen neuen Service Broker. Mit dem Endpoint Service Broker kann man sich ein SmartObject für einen beliebigen Webservice, WCF Service oder eine .Net Assembly erstellen lassen. In diesem Beispiel zeige ich anhand der Webservice Schnittstelle von SharePoint wie sich die K2 Plattform nun sehr einfach um neue Funktionen erweitern lässt – und zwar ohne zusätzliche Programmierung. Konkret werde ich mir ein SmartObject erstellen, mit dem ich neue SharePoint SiteCollections erstellen kann.

Im SmartObject Services Tester Tool kann man sich am schnellsten orientieren und die neuen Typen identifizieren. Im Screenshot rot markiert.

smotester_endpoint

 

Einen recht guten Überblick über die Möglichkeiten der SharePoint Webservice Schnittstelle liefern die Seiten des MSDN. Dort findet man heraus, dass man zum Erstellen von SiteCollections den Admin Webservice verwenden muss. Zu finden unter <URLcentraladmin>/_vti_adm/Admin.asmx
Kennt man die URL des Dienstes, kann man sich über das Tester Tool mit wenigen Rechtsklicks eine ServiceInstance und das passende SmartObject generieren lassen.

smotester_instance

 

Service Instance

smo

SmartObject

Danach kann man theoretisch aus dem Tester Tool bereits SiteCollections erstellen. Um den Broker zu testen, würde dies sicher ausreichen. Allerdings braucht man in der echten Welt doch immer ein Frontend. Da wir nun ein SmartObject in der Hand haben, gibt es mehrere Einsatzmöglichkeiten:

  • Aufruf in einem K2 Workflow mit entsprechender Parametrisierung. Der Workflow kann von verschiedenen Systemen gestartet werden, zB SharePoint (Ereignisgesteuert), InfoPath, Websites, Windows Anwendungen etc.
  • Aufruf mit Hilfe eines Smartforms, synchron. Das bedeutet ich erstelle mir für das SMO (SmartObject) ein Smartforms UI und binde den Aufruf direkt an ein Ereignis au f dem Formular (zB ein Button Clickevent) .
  • Aufruf mit Hilfe eines Smartforms, asynchron. In diesem Fall erfasse ich die Daten auf einem Smartform und nutze das Formular um den Workflow zu starten. Genau wie im ersten Ansatz könnte man so noch eine Freigabe einbauen und auch die ggf. lange Laufzeit (abhängig vom gewählten SiteTemplate) zum Erstellen der SiteCollection verschleiern indem man den Benutzer sofort auf eine Landingpage weiterleitet.

Das Endergebnis könnte dann so aussehen:

neuesitecoll

 

MSDN SharePoint Webservices
http://msdn.microsoft.com/en-us/library/ee705814(v=office.14).aspx

SmartObject Services Tester Tool Verzeichnis
<Installationsverzeichnis>\K2 blackpearl\Bin

Buffer this pageShare on LinkedInShare on FacebookTweet about this on TwitterEmail this to someone

Leave a Reply

Your email address will not be published. Required fields are marked *