stefan frutiger / senior consultant microsoft.net trivadis ag [email protected]...

32
Stefan Frutiger / Senior Consultant Microsoft .NET Trivadis AG [email protected] blog.trivadis.com/blogs/ Line of Business Applikationen mit SharePoint 2010 und Silverlight 4

Upload: sibylle-ranly

Post on 06-Apr-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Stefan Frutiger / Senior Consultant Microsoft .NETTrivadis [email protected]/blogs/stefanfrutiger

Line of Business Applikationen mit SharePoint 2010 und Silverlight 4

Page 2: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

AgendaEinführung1. Block / Externe Daten2. Block / SilverlightZusammenfassungQ&A

Page 3: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Einführung

Line of Business Applikationen und SharePoint:Ein «Dream Team»?

Page 4: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Daten, Daten und nochmals DatenAbfragen, Anzeige, Validierung, Sicherheit

SharePoint ist daten-zentrischListen und Bibliotheken«Externe Daten»

Silverlight kann daten-zentrisch seinDataGrid, DataPager, DataForm Controls

«Line of Business …», was ?

Page 5: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

SharePoint 2010Business Connectivity Services (BCS)Externe DatenSilverlight Web Part

Silverlight«Client Object Model» für SharePoint 2010Zugriff auf Sites, Listen, ItemsVerteilung der Silverlight Applikation

Um was geht es inhaltlich?

Page 6: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Erster Block

Externe Daten

Page 7: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

SharePoint 2007 Architektur (Rückblick)

SharePoint Runtimeand Object Model

SP Content Custom Data

SharePoint WebParts / Pages Custom WebParts / Pages

Application Logic

BDC

MOSS, only !!!

???

Read Only !!!

Page 8: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

SharePoint 2010 Architektur (SPD)

List / External List

SP Content Custom Data

SharePoint WebParts / PagesClient Object Model /

Silverlight 4

BCS

External Content Type

SP

DV

S

Design Tools

Page 9: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

DEMO 1

Business Connectivity Services (BCS)External Content TypesSharePoint Designer 2010 Support

Page 10: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Die Demo Applikation: Sport-Events

Page 11: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Basierend auf Daten des «Zürich Marathon»> 22’000 Läufer> 35’000 Resultate der Jahre 2003 - 2009> 2’000 Anmeldungen für das Jahr 2010

Demo Applikation / Daten Basis

Page 12: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

SharePoint 2010 Architektur (VS)

List / External List

SP Content Custom Data

SharePoint WebParts / PagesClient Object Model /

Silverlight 4

BCS

BDC Model

Application Logic

z.B. Entity Model

bdcm

mapping

SP

DV

SV

S

Design Tools

edmx

Page 13: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

DEMO 2

Business Connectivity Services (BCS)External Content TypesVisual Studio 2010 Support

Page 14: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Zweiter Block

Silverlight

Page 15: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Silverlight ist…… von Microsoft… ein Browser Plug-In… ein .NET basiertes Applikations-Framework

Was ist Silverlight?

Page 16: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

«Client Object Model» für SharePoint 2010Zugriff auf Sites, Listen, Items …CAML Abfragen LINQ Support

Einfache VerteilungXAP Datei in SharePoint BibliothekSilverlight Web Part

Was spricht für Silverlight & SharePoint

Page 17: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

ClientContext context = ClientContext.Current;

List list = context.Web.Lists.GetByTitle("Event");

CamlQuery query = CamlQuery.CreateAllItemsQuery();

ListItemCollection items = list.GetItems(query);

context.Load(items);

context.ExecuteQueryAsync(Succeeded, Failed);

Client Object Model / Daten laden

Page 18: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Silverlight WebPart

Silverlight 4 & SharePoint 2010

SharePoint Runtimeand Object Model

Silverlight WebPart

BCS

Client Service

«Hosted» Silverlight Application

View

Model / ViewModel

ClientContext / CAML

Share

Poin

t 2

01

0

«Standalone» Silverlight Application

M-V-VM

Page 19: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

DEMO 3

Silverlight 4 + SharePoint 2010Client Object ModelCAML QueriesDeployment

Page 20: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Externe Listen / PerformanceExternal Content Type

Aktion: ReadList()Filter: «röthlin»Abfrage: > 20 Sekunden

Hinweis:CAML Abfrage mit <Query> und <Where>

External Content Type

Aktion: ReadListFiltered()Filter: «röthlin»Abfrage: < 2 Sekunden

Hinweis:Finder Methoden mit Filter Deskriptoren

Page 21: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Externe Listen / Unterschiede im CodeFilter Methoden<View> <Method Name='ReadListFiltered'> <Filter Name='RunnerFilter' Value='8444'/> </Method> <ViewFields> <FieldRef Name='Id' /> <FieldRef Name='Category'/> <FieldRef Name='EventYear'/> <FieldRef Name='Runner'/> </ViewFields></View>

Filter mit CAML<View>

<Method Name='ReadList'/>

<ViewFields>

<FieldRef Name='Id' />

<FieldRef Name='Category'/>

<FieldRef Name='EventYear'/>

<FieldRef Name='Runner'/>

</ViewFields>

<Query>

<Where>

<Eq>

<FieldRef Name='Name'/>

<Value Type='Text'>

8444</Value>

</Eq>

</Where>

</Query>

</View>

Page 22: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Externe Listen / Datenfluss beim ÖffnenBrowser

Aktion: Liste öffnen1. ReadList()Aktion: Edit List Item2. ReadList()3. ReadList()4. ReadItem()Aktion: View List Item5. ReadList()6. ReadList()7. ReadItem()

Silverlight

Aktion: Liste öffnen1. ReadList()Aktion: Edit List Item2. 3. 4. Aktion: View List Item5. 6. 7.

Page 23: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Externe Listen / Datenfluss beim SpeichernBrowser

Aktion: Save List Item1. ReadList()2. ReadList()3. ReadItem()4. ReadItem()5. ReadItem()6. Update()7. ReadList()

Silverlight

Aktion: Save List Item1. 2. 3. ReadItem()4. ReadItem()5. ReadItem()6. Update()7. ReadItem()

Page 24: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Tooling / RichTextBox / WebBrowser control / Printing API / Implicit theming / Script support / Networking and Sockets /

XAP Signing / Custom window chrome / Pinned full-screen mode / ContextMenu / Right-click event handling / Mouse wheel support /

Webcam & microphone access / RichTextArea Control / ICommand support / Clipboard API / Network authentication / HTML Hosting with WebBrowser / Elevated trust applications / Local file access / Notification API / Cross-domain Networking

changes / Keyboard access in full screen mode / Text trimming / ViewBox / COM interop / Right-to-left, BiDi and complex script /

Offline DRM / H.264 protected content / Silverlight as a drop target / Data binding enhancements / Managed Extensibility

Framework (MEF) / DataGrid enhancements / Fluid UI support in items controls / Google Chrome support

Silverlight 4 / Neue FunktionenTooling

ICommand support

Printing API

Mouse wheel supportContextMenu

COM interop

Clipboard API

Page 25: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Composite Application Guidance (aka Prism V2)UI Composition (Regions, Modules), Logginghttp://msdn.microsoft.com/en-us/library/dd458809.aspx

Silverlight.FXUI Components, Theming, MVVM, IoC Container, Navigationhttp://projects.nikhilk.net/SilverlightFX

SilverstoneCommands, IoC Container, MVVMhttp://code.google.com/p/silverstone

CaliburnPatterns, MVVMhttp://www.codeplex.com/caliburn

CSLA .NET for SilverlightData Binding, Validation, Authorization, Persistencehttp://www.lhotka.net/cslalight

Silverlight 4 / Zusätzliche Frameworks

Page 26: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Zusammenfassung

Page 27: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

SharePoint 2010 «Goodies»Lese- und Schreibzugriff auf externe DatenBCS ist Teil der SharePoint Foundation 2010Der Datenfluss ist gut kontrollierbarTools sind vorhanden

Was nun: «Dream Team», oder nicht?

Page 28: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Windows Server 2008 R2 Standard x64SQL Server 2008 Express SP1 x64SharePoint 2010 Foundation (BETA)SharePoint 2010 Server (BETA)SharePoint Designer 2010 (BETA)Visual Studio 2010 (RC)Silverlight 4 (RC) / Tools & Toolkit

Die (Entwicklungs-) Umgebung

Page 29: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

SharePoint 2010 (BETA)RTM in April 2010Launch Datum: 12. Mai 2010

SharePoint Designer 2010 (BETA)RTM in April 2010Launch Datum : 12. Mai 2010

Silverlight 4 (RC)Release Datum: 12. April 2010

Visual Studio 2010 (RC)Release Datum: 12. April 2010

Tooling

Page 30: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Gleich im Anschluss (in diesem Raum)Sandboxed (oder/und Hosted) Solutionsfür SharePoint 2010 entwickeln

Michael Hofer (1stQuad Solutions GmbH)

Frühere SessionsSharePoint 2010 für Entwickler (Teil 1)

Olaf Feldkamp (Microsoft Schweiz GmbH)

SharePoint 2010 für Entwickler (Teil 2)Olaf Feldkamp (Microsoft Schweiz GmbH)

Workflows für Sharepoint entwickelnReiner Ganser (1stQuad Solutions GmbH)

SharePoint 2010 for information architectsMarkus Böhm (Microsoft Schweiz GmbH)

Migration nach SharePoint 2010Oliver Schnider (Peaches Industries GmbH)

SharePoint Sessions

Page 31: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger

Thank you for your Attention!For more Information please contact

Stefan FrutigerSenior Consultant Microsoft .NET

[email protected]/blogs/stefanfrutigerTel: +41 31 928 09 60Mobile: +41 79 658 42 37

Trivadis AGPapiermühlestrasse 73CH – 3014 Bern

Page 32: Stefan Frutiger / Senior Consultant Microsoft.NET Trivadis AG stefan.frutiger@trivadis.com blog.trivadis.com/blogs/stefanfrutiger