33
Developer Day What’s new for developers in SharePoint 15 Valerie Alonso Marius Constantinescu

What's new for Developers in SharePoint 2013

Embed Size (px)

DESCRIPTION

With SharePoint 2013 just around the corner a plethora of new features for developers will also become available. Starting with enhancements in Visual Studio 2012 for SharePoint developer, iterating through the new SharePoint REST and OData, WCF Data Services framework, Client Side/JavaScript Object Model (CSOM/JSOM), new WCF service for BCS or Remote Event Receivers, ending with building applications for the new tore, we will walk you through you what you need to get your current skillset updated for the SharePoint 2013.

Citation preview

Page 1: What's new for Developers in SharePoint 2013

Developer Day

What’s new for developers in SharePoint 15

Valerie AlonsoMarius Constantinescu

Page 2: What's new for Developers in SharePoint 2013

branding.technology.integration

in brief• + 300 employees• headquartered in Geneva• founded in 1995• international culture• multi-national clients• integrated solutions• microsoft managed partner

Page 3: What's new for Developers in SharePoint 2013

Global Launch

6 NOV 2012

Page 4: What's new for Developers in SharePoint 2013

Agenda

SearchApplication

ServicesSocial &

CollaborationMobilityContent

Management

Web standardsDeveloper

ToolsCloud-App

model BCS WorkflowsCore Platform

Page 5: What's new for Developers in SharePoint 2013

Agenda

SearchApplication

ServicesSocial &

CollaborationMobilityContent

Management

Web standardsDeveloper

ToolsCloud-App

model BCS WorkflowsCore Platform

Page 6: What's new for Developers in SharePoint 2013

Cloud-App model

SearchApplication

ServicesSocial &

CollaborationMobilityContent

Management

Web standardsDeveloper

ToolsCloud-App

model BCS WorkflowsCore Platform

Page 7: What's new for Developers in SharePoint 2013

A new Modern Office/SharePoint Platform

1 billion+Office Users

A new class of Apps enabling new scenarios and User experiences

700k+ SharePoint Developer

s

75% developers using HTML 5 & CSS 3

Public Web API

Flexible Lifecycle

Deploy & Maintain your Apps publicly or internally with Flexibility & ControlDesigned for the Cloud

New Toolset

Give more choices to developersEnable consistent development

platform

ExperienceTeam work

Text 3Cloud

Click icon to add picture

Lifecycle

Page 8: What's new for Developers in SharePoint 2013

Challenges with Solution Packages Farm solutions Performance and stability concerns with impact on the whole farm Full-trust model allow access to entire Server-Side API stack – malicious code could have devastating consequences Incompatible with SharePoint Online (NOT cloud ready) Lifecycle management - upgrading, decommissioning, versioning

Sandbox Solutions Partial trust-model - Site Collection scoped and CAS policies Clunky architecture – relies on 3 additional processes, Scalability issues Too limiting - No email, external Web-Service, no Security Elevation, No support for Web Part pages or Visual Web parts (only via

CKS) Limited development tools support (Visual Studio intellisense only) & deployment to file system (via Module only)

Client Side solutions No formal trust model, Server-Side code not possible as it runs on the Client (Silverlight, JavaScript) Unmonitored and Uncontrolled proliferation (CEWP like Mushrooms) Upgrade often means manual adjustments, difficult to distribute widely

Common issues Requires administrative support for configuration and deployment Steep learning curve - solution design, packaging, dependencies, feature scopes, deployment artifacts Improper cleanup and maintenance, difficult upgrade process

Page 9: What's new for Developers in SharePoint 2013

The Cloud-App Model One web-based

model available across Office & SharePoint

An App is an autonomous Web Application extending SharePoint functionalities

Communicates with internal and external Services using industry standards (REST/OData, JSON)

Flexible authentication flow via OAuth2

Flexible hosting and deployment model

Page 10: What's new for Developers in SharePoint 2013

App Store

Beta Storehttp://office.microsoft.com/en-us/store/

Build apps for Office and SharePointhttp://msdn.microsoft.com/en-us/office/apps

Page 11: What's new for Developers in SharePoint 2013

demo

Page 12: What's new for Developers in SharePoint 2013

Prescriptive GuidanceUse Apps whenever you can

•Enforce better architectural approaches, such as 3-tier architectures•Remember that you are limited to CSOM and REST API•Targeting specific scenarios•Use SharePoint hosted for standalone reusable components•Use Cloud hosted for Large corporate business applications•Use Cloud Hosted or Azure Auto-hosted for wide-reach and public marketplace

Use Apps to take away code from Server, better upgrade stories & no-customized environment•Administrative extensions (Timer-Jobs, Application Services, PowerShell extensions)•Extend SharePoint functionalities

Use solutions (Farm or Sandbox) for SharePoint deep-integrated development

On-premises Custom Web Parts, Application Pages, Custom web services, Event receivers & Feature receivers

•Custom field (column) types•Not supported•Custom site definitions, Delegate controls, Custom themes, Custom action groups and custom action hiding•User controls (.ascx files)

Page 13: What's new for Developers in SharePoint 2013

Benefits of the Cloud-App model

Developer Lean learning curve – reused existing web development skills

(HTML, CSS, JavaScript .NET, PHP) New revenue potential from your every development No more complicated packaging, Reduced risks with 3rd party components, less-complicated

licensing models

Information Worker Based on a proven and familiar application model Applications available via the SharePoint store or corporate catalog Full life-cycle support - provision, upgrade, delete

IT Manager Applications no longer coupled to SharePoint Easier control over App publishing – tight governance control

Administrator Simplified maintenance (upgrade, removal) – enables delegation

Information WorkerDeveloper

IT Manager Administrator

Page 14: What's new for Developers in SharePoint 2013

Web Standards & Core-Platform

SearchApplication

ServicesSocial &

CollaborationMobilityContent

Management

Web standardsDeveloper

ToolsCloud-App

model BCS WorkflowsCore Platform

Page 15: What's new for Developers in SharePoint 2013

SharePoint 2013 & SharePoint online

Click icon to add picture

Click icon to add picture

Page 16: What's new for Developers in SharePoint 2013

Consistent Usage & Access

•https://sharepoint.b-i.com/_api/web/Title

REST / OData

•ClientContext ctx = new ClientContext("https://sharepoint.b-i.com");•ctx.Load(ctx.Web.Title);•ctx.ExecuteQuery();

Managed Code

•var ctx = new SP.ClientContext("https://sharepoint.b-i.com");ctx.load(ctx.get_web().get_title());ctx.executeQueryAsync();

JavaScript

Area REST / CSOM (Script & Client Namespace)

Web http://weburl/_api/Web SP Microsoft.SharePoint.Client

Search http://weburl/_api/Search SP.Search Microsoft.SharePoint.Client.Searc

h

Taxonomy http://weburl/_api/Taxonomy SP.Taxonomy Microsoft.SharePoint.Client.Taxono

my

Social http://weburl/_api/Social SP.Social Microsoft.SharePoint.Client.Social

Page 17: What's new for Developers in SharePoint 2013

Inbound / Outbound Data access

Page 18: What's new for Developers in SharePoint 2013

Choose the right API setServer Side Object ModelSSOM

•Windows PowerShell command, Timer job•Central Administration Extensions, Application Pages, Web Part or User Controls•SharePoint Farm-wide consistent branding

Client-Side Object ModelCSOM• .NET Console, Web Role or Worker Role in Azure, Server external to SharePoint to perform CRUD operations (non-phone applications)•ASP.NET Web Application CRUD on SharePoint or BCS Lists (not behind a firewall)•WCF Data Services with LINQ (target either listdata.svc for list-based operations or client.svc to access other entities)

JavaScript Object ModelJSOM•CRUD Operations on SharePoint Data (batch operations and asynchronous calls)•ASP.NET Web Application CRUD on SharePoint or BCS Lists (across firewalls)•Data always returned in JavaScript Object Notation (JSON)

Mobile Client Object ModelMobile•Windows Phone Application with CRUD on SharePoint Data (core functionality only)•Special extension to support Push Notification Service to alert mobile devices on events (could be combine with Remote Event Receivers)•Use REST/Odata for all other non-core extensibility points

Page 19: What's new for Developers in SharePoint 2013

Remote event receivers

App Server

Push Notifications

Page 20: What's new for Developers in SharePoint 2013

OAuth v2.0

What is it The protocol to handle the

authentication & authorization flow Based on existing internet

implementationsWhy Functionality & Simplicity App and User identities Established model for granting app

accessOther Engineering efficiencies Wide adoption Clear architectural roadmap

Browser

SharePoint Server

1

10

5

8

9

App.com

2

STS (ACS)

3

4

6

7

Page 21: What's new for Developers in SharePoint 2013

Developer tools

Web standardsDeveloper

Tools

SearchApplication

Services

Cloud-App model

Social & CollaborationMobility

BCS

Content Management

WorkflowsCore Platform

Page 22: What's new for Developers in SharePoint 2013

Click icon to add picture

Developer tools

Office 365 Web App “Napa”Visual Studio 2012

SharePoint Tools

SharePoint Designer 2013SharePoint built-in tools Developer Dashboard SharePoint Design Manager

Visual Studio 2012 NAPA

Page 23: What's new for Developers in SharePoint 2013

demo

Page 24: What's new for Developers in SharePoint 2013

Business Connectivity Services

Web standardsDeveloper

Tools

SearchApplication

Services

Cloud-App model

Social & CollaborationMobility

BCS

Content Management

WorkflowsCore Platform

Page 25: What's new for Developers in SharePoint 2013

Quick Recap on BCS

What is it• Business Connectivity Services (BCS), in SharePoint 2010 was an improvement to the

Business Data Catalog (BDC) created for Office SharePoint Server 2007.• BCS enables SharePoint to access data from external data systems or LOB Systems (such as

SAP, ERP, CRM)• Other data-driven applications that are exposed through Windows Communication

Foundation (WCF) services endpoints or .NET Assemblies

What’s new• Enhanced support for REST & CSOM• Connectivity to OData sources • Application Scoped External Content Types• Notification Callbacks via External Events

Page 26: What's new for Developers in SharePoint 2013

Business Connectivity Services

OData • Automatic generation of BDC Models based on OData Sources

(via Visual Studio 2012)• REST API available for ECTs opening for Web and Mobile

development

Event Listener• Event subscribers receive notifications from publishers (external

systems – must implement interfaces!) via “Push notifications” (post to REST end-point specified) or Code Callouts hooks

• 2 new Events receiver operations - Subscribe/Unsubscribe• Supported connections (OData, WCF, SQL) and data payload

returned as ATOM or JSON• Subscription enable event receivers on External lists - (events

triggered on data change for target Entity are shipped as Alerts on Views

App-Scoped External Content types• BDC Models packaged in a SharePoint App – scoped only to that

App• Connections could be either built-in the BDC Model or in the BCS

Connection Settings object - shareable (requires Secure Store)• Only works with OData sources

SharePoint Connector Framework

Office 2010/2013Rich-Client Integration

Presentation

SharePoint Enterprise

Authoring Tools

Visual Studio 2012

SharePoint Designer 2013

Business Data Web PartsExternal Content Types

Extensibility

External Lists

External Columns

SharePoint Object Model

SQL Database

WCF Service

.NET Assembly

REST API

Remote Event Receivers

CSOM API

Word

Outlook Integration Contacts Calendar Tasks Discussion Lists

Profile Pages

Rich-Client Extensions

External Data Search

Secure Store

App-Scoped External Content Types

OData Sources

Page 27: What's new for Developers in SharePoint 2013

Workflows

Web standardsDeveloper

Tools

SearchApplication

Services

Cloud-App model

Social & CollaborationMobility

BCS

Content Management

WorkflowCore Platform

Page 28: What's new for Developers in SharePoint 2013

Workflow Architectures

Workflow Manager 1.0

• Hosts WCF and WF 4.0

• Client/Server rely on OAuth for secure communication

Workflow Services Manager

• Control workflow execution

Office 365 / SharePoint 2013 Authoring Tools

SharePoint Object Model

Visual Studio 2012

SharePoint Designer 2013

Azure Access Control

Azure Workflow

Azure Service Bus

OAuth2

Azure WorkflowService Application Proxy

Workflow Services ManagerDeployment

MessagingInstances

Interop REST

Events

SharePoint 2010 Workflow Host

(WF v3)Events

Content

SharePoint Apps

Solution Packages

Visio Pro 2013

RoutedEvents

Page 29: What's new for Developers in SharePoint 2013

Workflows – Tooling & Authoring

Visio 2013 3 Stencil categories for SP2013 Workflow Actions, Conditions &

Terminators

SharePoint Designer 2013• Can build both 2010/2013 workflows• Stages, Loops & Steps – finally useful – status per stage Core Actions• “Add a Comment”, “Build Dictionary”, “Count Items in

Dictionary”, “Do Calculation”• “Call HTTP Web Service”, Go To “Stage” Coordination Actions• Start a List workflow, Start a Site workflow Project Actions• Create Project from Current Item, Set Project Stage Status,

Wait for Project Event

Visual Studio 2012 Designer surface for declarative workflows Deploy via SharePoint App Integrate Workflow Manager Client 1.0 functionality

Be more efficient when authoring your workflows

Authoring Improvements• C# Expressions • Designer Improvements – totally create workflows declaratively via • State Machine, Contract-First

Basic building blocks to enable building a versioning story

Versioning

• Workflow Identity – traceable, persistent & query-able association information between Instance and Definition

• Side by Side Versioning• Dynamic Update

Improve runtime performance and extensibility

Runtime Enhancements• Improved performance on VB Expressions • Expressions Extensibility• Partial Trust (run from within a SharePoint App)

Page 30: What's new for Developers in SharePoint 2013

Summary

Web standardsDeveloper

Tools

SearchApplication

Services

Cloud-App model

Social & CollaborationMobility

BCS

Content Management

WorkflowsCore Platform

Page 31: What's new for Developers in SharePoint 2013

Related sessions

Les Apps, nouveauté SharePoint 201315:15 Berlin

Gestion de contenu web avec SharePoint 2013

16:30 BerlinOffice Client 2013: Nouvelles fonctionnalités et principe d’application

16:30 Albertville

Page 32: What's new for Developers in SharePoint 2013

Thank you

Page 33: What's new for Developers in SharePoint 2013

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a

commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a

commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.