Upload
marius-constantinescu
View
1.448
Download
3
Tags:
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
Developer Day
What’s new for developers in SharePoint 15
Valerie AlonsoMarius Constantinescu
branding.technology.integration
in brief• + 300 employees• headquartered in Geneva• founded in 1995• international culture• multi-national clients• integrated solutions• microsoft managed partner
Global Launch
6 NOV 2012
Agenda
SearchApplication
ServicesSocial &
CollaborationMobilityContent
Management
Web standardsDeveloper
ToolsCloud-App
model BCS WorkflowsCore Platform
Agenda
SearchApplication
ServicesSocial &
CollaborationMobilityContent
Management
Web standardsDeveloper
ToolsCloud-App
model BCS WorkflowsCore Platform
Cloud-App model
SearchApplication
ServicesSocial &
CollaborationMobilityContent
Management
Web standardsDeveloper
ToolsCloud-App
model BCS WorkflowsCore Platform
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
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
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
App Store
Beta Storehttp://office.microsoft.com/en-us/store/
Build apps for Office and SharePointhttp://msdn.microsoft.com/en-us/office/apps
demo
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)
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
Web Standards & Core-Platform
SearchApplication
ServicesSocial &
CollaborationMobilityContent
Management
Web standardsDeveloper
ToolsCloud-App
model BCS WorkflowsCore Platform
SharePoint 2013 & SharePoint online
Click icon to add picture
Click icon to add picture
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
Inbound / Outbound Data access
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
Remote event receivers
App Server
Push Notifications
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
Developer tools
Web standardsDeveloper
Tools
SearchApplication
Services
Cloud-App model
Social & CollaborationMobility
BCS
Content Management
WorkflowsCore Platform
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
demo
Business Connectivity Services
Web standardsDeveloper
Tools
SearchApplication
Services
Cloud-App model
Social & CollaborationMobility
BCS
Content Management
WorkflowsCore Platform
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
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
Workflows
Web standardsDeveloper
Tools
SearchApplication
Services
Cloud-App model
Social & CollaborationMobility
BCS
Content Management
WorkflowCore Platform
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
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)
Summary
Web standardsDeveloper
Tools
SearchApplication
Services
Cloud-App model
Social & CollaborationMobility
BCS
Content Management
WorkflowsCore Platform
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
Thank you
© 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.