Technologietag SharePoint 2010 Business Applications in SharePoint 2010 Marco Leithold, Thomas Lorenz 2 © conplement AG 2010. All Rights Reserved. conplement AG Mittwoch, 15. Dezember 2010 Agenda Einführung Business Applications mit externen Daten Silverlight und SharePoint Zusammenfassung 3 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications im SharePoint 2010 Einführung 4 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications im SharePoint 2010 Warum beschäftigen wir uns mit externen Daten im SharePoint 2010? 5 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 SharePoint „Organigramm“ 6 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Informationsinseln im SharePoint 7 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Daten, Daten und Daten Zentralisiert Listen und Bibliotheken Views Site Collection/Application übergreifend? Performance? Unternehmensdaten aus anderen Applikationen? Unternehmensweite/-zentrale Suche? Workflows? … 8 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications in SharePoint 2010 Business Applications mit externen Daten 9 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Externe Daten Zugriff auf externe Daten erfolgt über … den Business Connectivity Service (BCS) Vorteile Lesen von und/oder schreiben nach externen Systemen Vertraute Benutzeroberfläche Konfigurierbare Konnektivität zu externen Systemen Offlinezugriff auf externe Daten Einbindung in die Suche Verknüpfung von SharePoint-Daten mit externen Daten … 10 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Connectivity Service Office Applications Design Tools 11 © conplement AG 2010. All Rights Reserved. SharePoint Mittwoch, 15. Dezember 2010 Werkzeuge 12 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 BCS SharePoint Server SharePoint DB Connector 13 © conplement AG 2010. All Rights Reserved. WCF /WS Connector .NET Assembly Connector Mittwoch, 15. Dezember 2010 AS Custom Connector BCS => Applikation (CRM) BDC (Business Data Connectivity ) BDC Modell CRM Connector Kontakt Entity (External Content Type) Methoden (CRUD) Finder Properties Assoziationen CRUD = Create, Read, Update, Delete 14 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Vorname Nachname Abteilung Firma … Business Applications in SharePoint 2010 DEMO „External Content Types“ • Erstellen eines ECT im SharePoint Designer 18 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Darstellungsmöglichkeiten Externe Listen Externe Datenspalten Chart WebPart Business Data WebPart Business Data List/Related List Business Data Item 19 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications in SharePoint 2010 DEMO „Darstellung von externen Daten“ • External Lists • External Columns • Webparts 20 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Connectivity Service Office Applications Design Tools 21 © conplement AG 2010. All Rights Reserved. SharePoint Mittwoch, 15. Dezember 2010 Übersicht SharePoint Client BCS in Office Client BCS in SharePoint Identity Federation service BCS Meta Data Store Client Data Cache DB Connector WCF /WS Connector .NET Assembly Connector AS Custom Connector Client to Backend Direct Connection External data Persistence Store SQL 22 © conplement AG 2010. All Rights Reserved. Custom .NET assembly SAP ORACLE Siebel Mittwoch, 15. Dezember 2010 Data Cubes Business Applications in SharePoint 2010 DEMO „Externe Daten und Office 2010“ • Outlook Simple Connect • Excel Add-in • Word 23 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Outlook 2010 Intermediate Solution 24 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Überblick 25 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 BSC Features der SharePoint-Versionen BCS Server Features Foundation SharePoint Standard External Data Column External Lists Connectors (ADO, WCF, .net) CA BDC Admin Pages BDC Multi-Tenant BDC Admin OM Runtime OM Secure Store BDC Web Parts Profile Pages Packaging Rich Client Extensions InfoPath Forms 26 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 SharePoint Enterprise Was externe Listen nicht können … Keine RSS Feeds Keine E-Mail Benachrichtigungen Keinen Export zu Excel Keine Managed Metadaten-Unterstützung Keine Berechtigungsvergabe auf Elementebene Keine Versionsverwaltung 27 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications in SharePoint 2010 Silverlight und SharePoint 28 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Silverlight in SharePoint 2010 Höhere Usability im Vergleich zu Infopath Silverlight entlastet die Front-End-Server Silverlight kann in separaten ASPX-Seiten oder auf WebParts platziert werden SharePoint liefert ein „Silverlight WebPart“ mit Gut geeignet für schnelle Lösung Aber: keine InitParam-Unterstützung XAB-Dateien können im LAYOUTS-Ordner deployed aber auch in der Content Database, z. B. Dokumentenbibliothek, abgelegt werden 29 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Architektur 30 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Silverlight Client Objektmodell 31 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Kommunikation 32 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Silverlight CLR Client OM LAYOUTS ClientBin Microsoft.SharePoint.Client.Silverlight (262 KB) Microsoft.SharePoint.Client.Silverlight.Runtime (138 KB) Abfrage darf nur Asynchron erfolgen, z. B.: ClientContext context = ClientContext.Current; context.Load(<<Irgendwas>>); ClientRequestSucceededEventHandler success = new ClientRequestSucceededEventHandler(ExecuteQueryAsyncSuccess); ClientRequestFailedEventHandler failure = new ClientRequestFailedEventHandler(ExecuteQueryAsyncFailure); context.ExecuteQueryAsync(success, failure); private delegate void UpdateUIMethod(); private void ExecuteQueryAsyncSuccess(object sender, ClientRequestSucceededEventArgs args) { UpdateUIMethod updateUI = UpdateDisplay; this.Dispatcher.BeginInvoke(updateUI); } private void UpdateDisplay() {…} 33 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Silverlight und BCS Kann nur auf externe Listen zugreifen Verwendet List und ListItem als Objekte für CRUD ID-Feld muss ein Int32 Type sein Keine Bulk- und Batching-Unterstützung Keine BLOB Streaming-Unterstützung using (ClientContext context = ClientContext.Current ?? new ClientContext("<<ServerUrl>>")) { Web site = context.Web; context.Load(site.Lists); List list = site.Lists.GetByTitle("<<ListName>>"); context.Load(list); CamlQuery query = new CamlQuery(); query.ViewXml = "<View>" + "<Method Name='Read List'/>" + "<ViewFields>" + "<FieldRef Name='ID' ListItemMenu='TRUE' LinkToItem='TRUE'/>" + "<FieldRef Name='EventName'/><FieldRef Name='Location'/>" + "<FieldRef Name='Info'/>" + "</ViewFields>" + "</View>"; items = list.GetItems(query); context.Load(items); context.ExecuteQueryAsync(Succeeded, Failed); } 34 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications in SharePoint 2010 DEMO „Silverlight Beispiele“ 35 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Business Applications in SharePoint 2010 Zusammenfassung 36 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Zusammenfassung Wir haben gesehen … weshalb externe Daten in SharePoint wichtig sind wie Ihnen externe Daten helfen Informationsinseln zu vermeiden wie Sie externe Daten an SharePoint anbinden wie Sie externe Daten an Ihr Office anbinden welche Möglichkeiten Ihnen dank Silverlight offen stehen 37 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010 Vielen Dank Marco Leithold Senior Engineer [email protected] Thomas Lorenz Business Developer [email protected] 38 © conplement AG 2010. All Rights Reserved. Mittwoch, 15. Dezember 2010