SlideShare ist ein Scribd-Unternehmen logo
1 von 62
OverviewOffice 365 for Developers Bruce Kyle ISV Architect Evangelist Developer & Platform Evangelism, West Region US Partner Team Microsoft Corporation
Agenda Developing for SharePoint Online Standard What Is Supported Sandboxed Solutions Client Object Model Windows Azure Integration SharePoint Services & Workflow Migration Approaches ISV Early Adoption Programs
Office 365 Overview
Announcing Microsoft Office 365 BRINGING TOGETHER CLOUD VERSIONS OF OUR MOST TRUSTED COMMUNICATIONS AND COLLABORATION PRODUCTS WITH THE LATEST VERSION OF OUR DESKTOP SUITE FOR BUSINESSES OF ALL SIZES. 
What Is Supported; What Isn’t Supported SharePoint Online Standard
Key Extensibility Points for SharePoint Online Sandboxed Solutions SharePoint Server Ribbon SharePoint Dialog Boxes Event Enhancements Rest APIs Silverlight Webpart Listbox Lookups & Relationships LINQ to SharePoint Client Object Model Architecture Guidelines http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4387e030-73dc-48e7-ac95-abc043b9335a
SharePoint Online Platform for Devs OOTB Browser SharePoint Designer 2010 Visual Studio 2010 Sandbox Solutions Code Feature Receivers, Event Receivers, Navigation, Web Parts, InfoPath Forms Logic, Custom Declarative Workflow Activities Declarative Declarative Workflows, Content Types, Site Columns, List Definitions, Lists, Custom Ribbon Actions/Extensions, Web templates, Site Pages, Page Layouts, Master Pages Client Object Model Silverlight, JavaScript .NET
Supported WSP Installs Branding On the Server Sandbox Solutions On the Client Client Object Model SharePoint Services, Workflows
Supported - Branding Custom branding Master Pages, Page Layouts CSS Themes Embedding custom controls and Silverlight applications Web Part limitations Deploying .js files to the Master Page Gallery
Sandbox SharePoint Online Standard
Administration SharePoint 2010 SharePoint Online
Sandboxed Solution Designed for farm administrators to trust custom solutions will not damage or impair the SharePoint farm Gives site collection admins authority to manage apps in site collection Developers can create solutions deployed safely
Sandboxed Solutions Look and behave like farm solution Sandboxed solution marked to allow partially trusted callers Scoped to SPSite / Site Collection Web Parts Lists List Templates Custom Actions Workflows Event Receivers Content Types Site Columns Compile time support within Visual Studio
Sandbox Benefits Removes risk of affecting processes outside the sandbox Deployment by site collection administrators Increased scalability and flexibility are increased A solution does not have to be modified or recompiled if it is moved from a sandbox to running directly on the farm
Sandbox Limitations Managing Quotas Deployment locations External services SharePoint web services SharePoint namespaces
Permitted Feature Elements ContentType Field  CustomAction Module  ListInstance ListTemplate Receivers WebTemplate WorkflowAssociation PropertyBag WorkflowActions
Sandbox Assemblies Cannot Connect to resources that are not located on the local server Access a database Change the threading model Call unmanaged code Write to disk Access resources in a different site collection Office 365 Limitations Until GA++ No BCS No Web Service Calls
Components You Can Deploy in Sandbox Web Parts Event receivers Feature receivers Custom Microsoft SharePoint Designer workflow activities Microsoft InfoPath business logic
Sandbox Solution Support Summary
Sandbox Deployment WSP files Solution Gallery located at root of site collection Microsoft Conidential- NDA Only
Sandboxed Solution Monitoring Quotas specify limits for resource consumption per day Summed across solutions deployed to Site Collection i.e.: add up CPU Points for all solutions Solution is self-regulated vs. quotas to protect Site Collection Throttled Deactivated Microsoft Confidential - NDA Only
Monitored Resources
Building Sandbox Web Part
Client Object Model SharePoint Online
SharePoint Client Object Model Scoped SharePoint API Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime Works in .NET Applications Silverlight Applications JavaScript Works on client machines (remote) No need to install SharePoint runtime Asynchronous operations Security Microsoft Confidential - NDA Only
Equivalent Objects Member names mostly the same from server to client (e. g., SPWeb.QuickLaunchEnabled = Web.QuickLaunchEnabled) Microsoft Confidential - NDA Only
Supported Areas Site Collections and Sites Lists, List Items, Views, and List Schemas Files and Folders Web, List, and List Item Property Bags Web Parts Security Content Types Site Templates and Site Collection Operations Microsoft Confidential - NDA Only
Client Object Model Execution Flow Managed Clients Server Managed Controls and Logic SPO-D Or BCS GA+ External Data Sources Client Service client.svc Managed Object Model Server Object Model Proxy Proxy Content Databases JavaScript Object Model JavaScript Controls and Logic Web Browsers Microsoft Confidential - NDA Only
SharePoint Online and Silverlight Silverlight Many benefits RIA Web Services/Distributed Systems SP Client Object Model makes SP/SPO solutions possible SPO Limitations overcome by SL SPO + Silverlight Common solution pattern for cloud solutions Microsoft Confidential - NDA Only
Azure Integration
Windows Azure Platform Extend & Scale Azure Cloud App Windows Platform in the Cloud Developer Experience Cloud Storage Connected Platform AppFabric Grow your business
What’s Possible? SPO-D or GA+ SPO-D Microsoft Confidential - NDA Only
Calling External Code OAUTH 2.0 Post-GA Services SharePoint Online Internet SPO ACS 2.0 Post-GA Services User Azure Microsoft Confidential - NDA Only
Accessing External Data OAUTH 2.0 BCS Post-GA Data Internet SharePoint Online ACS 2.0 SPO Post-GA Data Azure User Microsoft Confidential - NDA Only
Exposing SP Data to External Code Internet OAUTH 2.0 Post-GA Web Application Data SharePoint Online SPO Web Application User Azure Microsoft Confidential - NDA Only
Azure AppFabric Service Bus Flow Azure AppFabric Service Bus Relay On Premise Your Service Users
Excel & Access ServicesWorkflow Solutions SharePoint Online
SharePoint Services Summary Excel Services Surface Excel data and artifacts in SharePoint Online Publish pieces of Excel workbooks to SharePoint Online Interact with Excel data and artifacts with the REST API and JavaScript Object Model Access Services Convert Access databases to SharePoint lists and forms
Workflow Services Prototype workflows in Visio 2010 Use diagrams to get sign-off Implement the workflow in SharePoint Designer 2010 Custom or copy & modify built in workflow Actions, conditions and steps Develop custom workflow actions and events in Visual Studio 2010
Workflow Services Implemented via Workflow Event Receiver Override SPWorkflowEventReceiver Scope SPSite SPWeb SPList SPContentType Events WorkflowStarting WorkflowStarted WorkflowCompleted WorkflowLoading WorkflowUnloading  WorkflowPostponed Can’t export from SPD2010 to VS2010 Can’t build Visual Studio code workflows in a sandboxed solution
Common SharePoint Migration Approaches Microsoft Confidential - NDA Only
Application Components What components make up your applications? Solutions Features How are they scoped? Farm, Site, Web How do these components map to your target environment? What changes need to be made?
Multiple paths are possible Greenfield Rewrite components to adhere to best practices before migrating Migrate data to new locations  Brownfield Migrate pieces that work in the target environment Update architecture later Ex: http://sharepoint2010.microsoft.com Migrate data as needed, or not at all Gradual vs. Complete Creating an SPO compatible on premise solution for later migration. Microsoft Confidential - NDA Only
Capabilities By Solution Type Microsoft Confidential - NDA Only
Capabilities By Solution Type Microsoft Confidential - NDA Only
Mash Up Pattern Client Data Model SharePoint 2010 SharePoint Online SharePoint Online Client Data Model Client Application Services User On Premises Microsoft Confidential - NDA Only
Client Data Model Web Application SharePoint 2010 SharePoint Online SharePoint Online Data Client Data Model Services User On Premises Microsoft Confidential - NDA Only Server Application
Lync Online
Lync Online Features Presence, IM, audio, video, and screen sharing Lync Web App for online presentations with external contacts Federation with customers and partners Reply by IM from Outlook IM with Windows Live contacts Presence and click-to-communicate from Office and SharePoint
Lync Controls “Drag and Drop” feature integration Contact list, contact search Presence, contact info, custom contact list IM and audio “Click-to-Call” Supports contextual conversations
Contextual Conversations Launch applications from the Lync conversation window Lync Extensibility Window Context Host Silverlight applications in the Lync conversation window extension Use separately or combine
Exchange Online
Use Exchange Managed Web API Managed API for developing applications that use Exchange Web Services  Functional parity with EWS* Easier than working with EWS proxy classes Makes EWS calls under the covers No additional required server side components Backwards compatible Request versioning new ExchangeService( 		ExchangeVersion.Exchange2010_SP1); Cloud compatible out of the box
Development Scenarios I want Exchange data in my application Create/Read/Update/Delete operations on mailbox items: Appointments Attachments Contacts Emails Tasks Public Folders I want to leverage Exchange business logic I want Outlook feature “X” in my application Free/Busy Notifications Data Sync
About Exchange Online Exchange Web Services Managed API 1.1 Power of Exchange Web Services Productivity of .NET Interact with Exchange data from your applications Leverage Exchange business logic in your applications
Resources
Resources – Office 365 Overview Office 365 http://office365.microsoft.com Office 365 Developer Training Kit http://msdn.microsoft.com/en-us/sharepoint/gg153540.aspx Microsoft Office 365 Fact Sheet http://www.microsoft.com/presspass/presskits/office/docs/office365FS.docx Office 365 Beta Service Descriptions http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6c6ecc6c-64f5-490a-bca3-8835c9a4a2ea SharePoint Online Developer Resource Center  http://msdn.microsoft.com/sharepointonline
Resources - Developers Developing, Deploying, and Monitoring Sandboxed Solutions in SharePoint 2010 http://msdn.microsoft.com/en-us/magazine/ee335711.aspx SharePoint Online Standard Developer Guide http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d007f35e-375c-4b11-bc40-bc9082bb224a&displaylang=en Microsoft Patterns & Practices – SharePoint 2010 http://msdn.microsoft.com/en-us/library/ff770300.aspx SharePoint 2010 Training Kit http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ SharePoint 2010 Training Kit  - Client Object Model http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ClientObjectModel/
Resources - Developer Best Practices: Common Coding Issues When Using the SharePoint Object Modelhttp://msdn.microsoft.com/en-us/library/bb687949.aspx
ISV Resources Join Metro Connect Office 365 and (SharePoint)Azure http://connect.microsoft.com/metro Deep dives, software design reviews, porting events Office 365 Beta http://office365.microsoft.com/ Microsoft Partner Network Online Services Sales Guides https://partner.microsoft.com/40053541
Summary Functionality available in sandboxed solutions Develop on-premise Deploy to SPO Debugging and troubleshooting Architect for the sandbox Server code runs in sandbox Silverlight Call external web services Azure Call Azure-hosted WCF services from Silverlight web parts Use the Azure AppFabric Service Bus to call on-premise WCF services Use Azure Worker Roles to simulate long running services BCS coming soon after launch

Weitere ähnliche Inhalte

Was ist angesagt?

Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsDhanik Sahni
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...Aimore Technologies
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuSalesforce Developers
 
Integration using Salesforce Canvas
Integration using Salesforce CanvasIntegration using Salesforce Canvas
Integration using Salesforce CanvasDhanik Sahni
 
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Yury Bondarau
 
Enterprise Flex Using Cairngorm
Enterprise Flex Using CairngormEnterprise Flex Using Cairngorm
Enterprise Flex Using CairngormJaibeer Malik
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudSam Garforth
 
Rits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRight IT Services
 
Salesforce Lightning Experience Overview by Brainiate
Salesforce Lightning Experience Overview by BrainiateSalesforce Lightning Experience Overview by Brainiate
Salesforce Lightning Experience Overview by Brainiatebrainiate
 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopGnanasekaran Thoppae
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explainedRoy Gilad
 
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Salesforce Developers
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop LondonKeir Bowden
 
Microsoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxMicrosoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxNanddeep Nachan
 

Was ist angesagt? (20)

Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic Events
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 
Force.com Friday - Intro to Visualforce
Force.com Friday - Intro to VisualforceForce.com Friday - Intro to Visualforce
Force.com Friday - Intro to Visualforce
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
 
Integration using Salesforce Canvas
Integration using Salesforce CanvasIntegration using Salesforce Canvas
Integration using Salesforce Canvas
 
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
 
Enterprise Flex Using Cairngorm
Enterprise Flex Using CairngormEnterprise Flex Using Cairngorm
Enterprise Flex Using Cairngorm
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App Cloud
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Rits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce Lightning
 
Force.com Friday - Intro to Force.com
Force.com Friday -  Intro to Force.comForce.com Friday -  Intro to Force.com
Force.com Friday - Intro to Force.com
 
Salesforce Lightning Experience Overview by Brainiate
Salesforce Lightning Experience Overview by BrainiateSalesforce Lightning Experience Overview by Brainiate
Salesforce Lightning Experience Overview by Brainiate
 
Intro to Force.com Webinar presentation
Intro to Force.com Webinar presentationIntro to Force.com Webinar presentation
Intro to Force.com Webinar presentation
 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshop
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explained
 
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
 
Lightning week - Paris DUG
Lightning week - Paris DUGLightning week - Paris DUG
Lightning week - Paris DUG
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
 
Microsoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxMicrosoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFx
 

Ähnlich wie Office 365 for Developers

SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)Mithun T. Dhar
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
Customizing SharePoint Online
Customizing SharePoint OnlineCustomizing SharePoint Online
Customizing SharePoint OnlineBert Johnson
 
SharePoint 2010 Application Development
SharePoint 2010 Application DevelopmentSharePoint 2010 Application Development
SharePoint 2010 Application Developmentmattbremer
 
Session4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoSession4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoMithun T. Dhar
 
Office 365 Deployment Strategies 2.0
Office 365 Deployment Strategies 2.0Office 365 Deployment Strategies 2.0
Office 365 Deployment Strategies 2.0Bert Johnson
 
Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Chakkaradeep Chandran
 
Office 365 SUGUK march 2011
Office 365 SUGUK march 2011Office 365 SUGUK march 2011
Office 365 SUGUK march 2011pearce.alex
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for DevsMicrosoftFeed
 
Development of skype for business and knowledge of
Development of skype for business and knowledge ofDevelopment of skype for business and knowledge of
Development of skype for business and knowledge ofayemyatmoe069
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 
Data Centric Composites and mashups In SharePoint 2010
Data Centric Composites and mashups In SharePoint 2010Data Centric Composites and mashups In SharePoint 2010
Data Centric Composites and mashups In SharePoint 2010Ayman El-Hattab
 
Real World Add-in Development for Office365
Real World Add-in Development for Office365Real World Add-in Development for Office365
Real World Add-in Development for Office365Brian Culver
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
A SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerA SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerAlexander Burton
 
Get Ready for SharePoint 2016
Get Ready for SharePoint 2016Get Ready for SharePoint 2016
Get Ready for SharePoint 2016Trigent_Senthil
 
HSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity toolHSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity toolBrian Culver
 
App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...Oliver Wirkus
 

Ähnlich wie Office 365 for Developers (20)

SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)SharePoint 2010 developer overview (in Visual Studio 2010)
SharePoint 2010 developer overview (in Visual Studio 2010)
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Customizing SharePoint Online
Customizing SharePoint OnlineCustomizing SharePoint Online
Customizing SharePoint Online
 
SharePoint 2010 Application Development
SharePoint 2010 Application DevelopmentSharePoint 2010 Application Development
SharePoint 2010 Application Development
 
Session4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayoSession4-Sharepoint Online-chrismayo
Session4-Sharepoint Online-chrismayo
 
Office 365 Deployment Strategies 2.0
Office 365 Deployment Strategies 2.0Office 365 Deployment Strategies 2.0
Office 365 Deployment Strategies 2.0
 
Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online
 
Office 365 SUGUK march 2011
Office 365 SUGUK march 2011Office 365 SUGUK march 2011
Office 365 SUGUK march 2011
 
Meec 2010 SharePoint 2010
Meec 2010 SharePoint 2010Meec 2010 SharePoint 2010
Meec 2010 SharePoint 2010
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 
Development of skype for business and knowledge of
Development of skype for business and knowledge ofDevelopment of skype for business and knowledge of
Development of skype for business and knowledge of
 
Sharepoint2
Sharepoint2Sharepoint2
Sharepoint2
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
Data Centric Composites and mashups In SharePoint 2010
Data Centric Composites and mashups In SharePoint 2010Data Centric Composites and mashups In SharePoint 2010
Data Centric Composites and mashups In SharePoint 2010
 
Real World Add-in Development for Office365
Real World Add-in Development for Office365Real World Add-in Development for Office365
Real World Add-in Development for Office365
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
A SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerA SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project Server
 
Get Ready for SharePoint 2016
Get Ready for SharePoint 2016Get Ready for SharePoint 2016
Get Ready for SharePoint 2016
 
HSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity toolHSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity tool
 
App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...App Modernization - What you need to know before planning a migration to Offi...
App Modernization - What you need to know before planning a migration to Offi...
 

Mehr von Wes Yanaga

Windows Phone 7 Now
Windows Phone 7 NowWindows Phone 7 Now
Windows Phone 7 NowWes Yanaga
 
Pinned Sites IE 9 Lightup
Pinned Sites IE 9 LightupPinned Sites IE 9 Lightup
Pinned Sites IE 9 LightupWes Yanaga
 
Hyper-v Cloud
Hyper-v Cloud Hyper-v Cloud
Hyper-v Cloud Wes Yanaga
 
windows phone-developer-guidance-map- 2-d00_-v2
windows phone-developer-guidance-map- 2-d00_-v2windows phone-developer-guidance-map- 2-d00_-v2
windows phone-developer-guidance-map- 2-d00_-v2Wes Yanaga
 
Azure Discover Event Silicon Valley
Azure Discover Event Silicon ValleyAzure Discover Event Silicon Valley
Azure Discover Event Silicon ValleyWes Yanaga
 
Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7Wes Yanaga
 
Business Opportunity for Windows Phone 7
Business Opportunity for Windows Phone 7Business Opportunity for Windows Phone 7
Business Opportunity for Windows Phone 7Wes Yanaga
 
Mpr walkthrough
Mpr walkthroughMpr walkthrough
Mpr walkthroughWes Yanaga
 
Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Wes Yanaga
 

Mehr von Wes Yanaga (10)

Windows Phone 7 Now
Windows Phone 7 NowWindows Phone 7 Now
Windows Phone 7 Now
 
Pinned Sites IE 9 Lightup
Pinned Sites IE 9 LightupPinned Sites IE 9 Lightup
Pinned Sites IE 9 Lightup
 
Private cloud
Private cloudPrivate cloud
Private cloud
 
Hyper-v Cloud
Hyper-v Cloud Hyper-v Cloud
Hyper-v Cloud
 
windows phone-developer-guidance-map- 2-d00_-v2
windows phone-developer-guidance-map- 2-d00_-v2windows phone-developer-guidance-map- 2-d00_-v2
windows phone-developer-guidance-map- 2-d00_-v2
 
Azure Discover Event Silicon Valley
Azure Discover Event Silicon ValleyAzure Discover Event Silicon Valley
Azure Discover Event Silicon Valley
 
Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7
 
Business Opportunity for Windows Phone 7
Business Opportunity for Windows Phone 7Business Opportunity for Windows Phone 7
Business Opportunity for Windows Phone 7
 
Mpr walkthrough
Mpr walkthroughMpr walkthrough
Mpr walkthrough
 
Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)Intro to c# (vs. objective c and java)
Intro to c# (vs. objective c and java)
 

Kürzlich hochgeladen

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Kürzlich hochgeladen (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Office 365 for Developers

  • 1. OverviewOffice 365 for Developers Bruce Kyle ISV Architect Evangelist Developer & Platform Evangelism, West Region US Partner Team Microsoft Corporation
  • 2.
  • 3. Agenda Developing for SharePoint Online Standard What Is Supported Sandboxed Solutions Client Object Model Windows Azure Integration SharePoint Services & Workflow Migration Approaches ISV Early Adoption Programs
  • 5. Announcing Microsoft Office 365 BRINGING TOGETHER CLOUD VERSIONS OF OUR MOST TRUSTED COMMUNICATIONS AND COLLABORATION PRODUCTS WITH THE LATEST VERSION OF OUR DESKTOP SUITE FOR BUSINESSES OF ALL SIZES. 
  • 6. What Is Supported; What Isn’t Supported SharePoint Online Standard
  • 7. Key Extensibility Points for SharePoint Online Sandboxed Solutions SharePoint Server Ribbon SharePoint Dialog Boxes Event Enhancements Rest APIs Silverlight Webpart Listbox Lookups & Relationships LINQ to SharePoint Client Object Model Architecture Guidelines http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4387e030-73dc-48e7-ac95-abc043b9335a
  • 8. SharePoint Online Platform for Devs OOTB Browser SharePoint Designer 2010 Visual Studio 2010 Sandbox Solutions Code Feature Receivers, Event Receivers, Navigation, Web Parts, InfoPath Forms Logic, Custom Declarative Workflow Activities Declarative Declarative Workflows, Content Types, Site Columns, List Definitions, Lists, Custom Ribbon Actions/Extensions, Web templates, Site Pages, Page Layouts, Master Pages Client Object Model Silverlight, JavaScript .NET
  • 9. Supported WSP Installs Branding On the Server Sandbox Solutions On the Client Client Object Model SharePoint Services, Workflows
  • 10. Supported - Branding Custom branding Master Pages, Page Layouts CSS Themes Embedding custom controls and Silverlight applications Web Part limitations Deploying .js files to the Master Page Gallery
  • 12. Administration SharePoint 2010 SharePoint Online
  • 13. Sandboxed Solution Designed for farm administrators to trust custom solutions will not damage or impair the SharePoint farm Gives site collection admins authority to manage apps in site collection Developers can create solutions deployed safely
  • 14. Sandboxed Solutions Look and behave like farm solution Sandboxed solution marked to allow partially trusted callers Scoped to SPSite / Site Collection Web Parts Lists List Templates Custom Actions Workflows Event Receivers Content Types Site Columns Compile time support within Visual Studio
  • 15. Sandbox Benefits Removes risk of affecting processes outside the sandbox Deployment by site collection administrators Increased scalability and flexibility are increased A solution does not have to be modified or recompiled if it is moved from a sandbox to running directly on the farm
  • 16. Sandbox Limitations Managing Quotas Deployment locations External services SharePoint web services SharePoint namespaces
  • 17. Permitted Feature Elements ContentType Field CustomAction Module ListInstance ListTemplate Receivers WebTemplate WorkflowAssociation PropertyBag WorkflowActions
  • 18. Sandbox Assemblies Cannot Connect to resources that are not located on the local server Access a database Change the threading model Call unmanaged code Write to disk Access resources in a different site collection Office 365 Limitations Until GA++ No BCS No Web Service Calls
  • 19. Components You Can Deploy in Sandbox Web Parts Event receivers Feature receivers Custom Microsoft SharePoint Designer workflow activities Microsoft InfoPath business logic
  • 21. Sandbox Deployment WSP files Solution Gallery located at root of site collection Microsoft Conidential- NDA Only
  • 22. Sandboxed Solution Monitoring Quotas specify limits for resource consumption per day Summed across solutions deployed to Site Collection i.e.: add up CPU Points for all solutions Solution is self-regulated vs. quotas to protect Site Collection Throttled Deactivated Microsoft Confidential - NDA Only
  • 25. Client Object Model SharePoint Online
  • 26. SharePoint Client Object Model Scoped SharePoint API Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime Works in .NET Applications Silverlight Applications JavaScript Works on client machines (remote) No need to install SharePoint runtime Asynchronous operations Security Microsoft Confidential - NDA Only
  • 27. Equivalent Objects Member names mostly the same from server to client (e. g., SPWeb.QuickLaunchEnabled = Web.QuickLaunchEnabled) Microsoft Confidential - NDA Only
  • 28. Supported Areas Site Collections and Sites Lists, List Items, Views, and List Schemas Files and Folders Web, List, and List Item Property Bags Web Parts Security Content Types Site Templates and Site Collection Operations Microsoft Confidential - NDA Only
  • 29. Client Object Model Execution Flow Managed Clients Server Managed Controls and Logic SPO-D Or BCS GA+ External Data Sources Client Service client.svc Managed Object Model Server Object Model Proxy Proxy Content Databases JavaScript Object Model JavaScript Controls and Logic Web Browsers Microsoft Confidential - NDA Only
  • 30. SharePoint Online and Silverlight Silverlight Many benefits RIA Web Services/Distributed Systems SP Client Object Model makes SP/SPO solutions possible SPO Limitations overcome by SL SPO + Silverlight Common solution pattern for cloud solutions Microsoft Confidential - NDA Only
  • 32. Windows Azure Platform Extend & Scale Azure Cloud App Windows Platform in the Cloud Developer Experience Cloud Storage Connected Platform AppFabric Grow your business
  • 33. What’s Possible? SPO-D or GA+ SPO-D Microsoft Confidential - NDA Only
  • 34. Calling External Code OAUTH 2.0 Post-GA Services SharePoint Online Internet SPO ACS 2.0 Post-GA Services User Azure Microsoft Confidential - NDA Only
  • 35. Accessing External Data OAUTH 2.0 BCS Post-GA Data Internet SharePoint Online ACS 2.0 SPO Post-GA Data Azure User Microsoft Confidential - NDA Only
  • 36. Exposing SP Data to External Code Internet OAUTH 2.0 Post-GA Web Application Data SharePoint Online SPO Web Application User Azure Microsoft Confidential - NDA Only
  • 37. Azure AppFabric Service Bus Flow Azure AppFabric Service Bus Relay On Premise Your Service Users
  • 38. Excel & Access ServicesWorkflow Solutions SharePoint Online
  • 39. SharePoint Services Summary Excel Services Surface Excel data and artifacts in SharePoint Online Publish pieces of Excel workbooks to SharePoint Online Interact with Excel data and artifacts with the REST API and JavaScript Object Model Access Services Convert Access databases to SharePoint lists and forms
  • 40. Workflow Services Prototype workflows in Visio 2010 Use diagrams to get sign-off Implement the workflow in SharePoint Designer 2010 Custom or copy & modify built in workflow Actions, conditions and steps Develop custom workflow actions and events in Visual Studio 2010
  • 41. Workflow Services Implemented via Workflow Event Receiver Override SPWorkflowEventReceiver Scope SPSite SPWeb SPList SPContentType Events WorkflowStarting WorkflowStarted WorkflowCompleted WorkflowLoading WorkflowUnloading  WorkflowPostponed Can’t export from SPD2010 to VS2010 Can’t build Visual Studio code workflows in a sandboxed solution
  • 42. Common SharePoint Migration Approaches Microsoft Confidential - NDA Only
  • 43. Application Components What components make up your applications? Solutions Features How are they scoped? Farm, Site, Web How do these components map to your target environment? What changes need to be made?
  • 44. Multiple paths are possible Greenfield Rewrite components to adhere to best practices before migrating Migrate data to new locations Brownfield Migrate pieces that work in the target environment Update architecture later Ex: http://sharepoint2010.microsoft.com Migrate data as needed, or not at all Gradual vs. Complete Creating an SPO compatible on premise solution for later migration. Microsoft Confidential - NDA Only
  • 45. Capabilities By Solution Type Microsoft Confidential - NDA Only
  • 46. Capabilities By Solution Type Microsoft Confidential - NDA Only
  • 47. Mash Up Pattern Client Data Model SharePoint 2010 SharePoint Online SharePoint Online Client Data Model Client Application Services User On Premises Microsoft Confidential - NDA Only
  • 48. Client Data Model Web Application SharePoint 2010 SharePoint Online SharePoint Online Data Client Data Model Services User On Premises Microsoft Confidential - NDA Only Server Application
  • 50. Lync Online Features Presence, IM, audio, video, and screen sharing Lync Web App for online presentations with external contacts Federation with customers and partners Reply by IM from Outlook IM with Windows Live contacts Presence and click-to-communicate from Office and SharePoint
  • 51. Lync Controls “Drag and Drop” feature integration Contact list, contact search Presence, contact info, custom contact list IM and audio “Click-to-Call” Supports contextual conversations
  • 52. Contextual Conversations Launch applications from the Lync conversation window Lync Extensibility Window Context Host Silverlight applications in the Lync conversation window extension Use separately or combine
  • 54. Use Exchange Managed Web API Managed API for developing applications that use Exchange Web Services Functional parity with EWS* Easier than working with EWS proxy classes Makes EWS calls under the covers No additional required server side components Backwards compatible Request versioning new ExchangeService( ExchangeVersion.Exchange2010_SP1); Cloud compatible out of the box
  • 55. Development Scenarios I want Exchange data in my application Create/Read/Update/Delete operations on mailbox items: Appointments Attachments Contacts Emails Tasks Public Folders I want to leverage Exchange business logic I want Outlook feature “X” in my application Free/Busy Notifications Data Sync
  • 56. About Exchange Online Exchange Web Services Managed API 1.1 Power of Exchange Web Services Productivity of .NET Interact with Exchange data from your applications Leverage Exchange business logic in your applications
  • 58. Resources – Office 365 Overview Office 365 http://office365.microsoft.com Office 365 Developer Training Kit http://msdn.microsoft.com/en-us/sharepoint/gg153540.aspx Microsoft Office 365 Fact Sheet http://www.microsoft.com/presspass/presskits/office/docs/office365FS.docx Office 365 Beta Service Descriptions http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6c6ecc6c-64f5-490a-bca3-8835c9a4a2ea SharePoint Online Developer Resource Center http://msdn.microsoft.com/sharepointonline
  • 59. Resources - Developers Developing, Deploying, and Monitoring Sandboxed Solutions in SharePoint 2010 http://msdn.microsoft.com/en-us/magazine/ee335711.aspx SharePoint Online Standard Developer Guide http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d007f35e-375c-4b11-bc40-bc9082bb224a&displaylang=en Microsoft Patterns & Practices – SharePoint 2010 http://msdn.microsoft.com/en-us/library/ff770300.aspx SharePoint 2010 Training Kit http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ SharePoint 2010 Training Kit - Client Object Model http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ClientObjectModel/
  • 60. Resources - Developer Best Practices: Common Coding Issues When Using the SharePoint Object Modelhttp://msdn.microsoft.com/en-us/library/bb687949.aspx
  • 61. ISV Resources Join Metro Connect Office 365 and (SharePoint)Azure http://connect.microsoft.com/metro Deep dives, software design reviews, porting events Office 365 Beta http://office365.microsoft.com/ Microsoft Partner Network Online Services Sales Guides https://partner.microsoft.com/40053541
  • 62. Summary Functionality available in sandboxed solutions Develop on-premise Deploy to SPO Debugging and troubleshooting Architect for the sandbox Server code runs in sandbox Silverlight Call external web services Azure Call Azure-hosted WCF services from Silverlight web parts Use the Azure AppFabric Service Bus to call on-premise WCF services Use Azure Worker Roles to simulate long running services BCS coming soon after launch
  • 63. © 2009 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.

Hinweis der Redaktion

  1. Microsoft® Office 365delivers the power of cloud productivity to businesses of all sizes, helping to save time, money and free up valued resources. Office 365 combines the familiar Office desktop suite with cloud-based versions of Microsoft’s next-generation communications and collaboration services: Exchange Online, SharePoint Online and Lync Online. Office 365 is simple to use and easy to administer – all backed by the robust security and guaranteed reliability you expect from a world-class service provider.Microsoft Office 365 Includes:Microsoft® Office Professional PlusThe world’s leading productivity tool now seamlessly connected and delivered with cloud services – for the best productivity experience across the PC, Phone and Browser.Exchange OnlineCloud-based email, calendar and contacts with always-up-to-date protection from viruses and spam.SharePoint OnlineCloud-based service for creating sites to connect colleagues, partners and customers.Lync OnlineCloud-based instant messaging, presence, and online meeting experiences with PC-audio, video conferencing and screen sharing. Key Microsoft Office 365 Benefits:Anywhere-access to email, documents, contacts, and calendars on nearly any device Work seamlessly with Microsoft Office and the other programs your users already count on everydayBusiness-class features including IT-level phone support,  guaranteed 99.9% uptime, geo-redundancy, and disaster recoveryPay-as-you-go pricing options which give you predictability and flexibility for all or part of your organizationLatest version of Business Productivity Online Suite (BPOS), which has millions of business users today Microsoft® Office 365 for small businesses offers an easy-to-use set of web-enabled tools for small businesses, independent consultants and professionals looking for business-class productivity services. Working with the tools people know and use today, Office 365 provides anywhere access to email, important documents, contacts, and calendars on nearly any device. It’s free for the first 30 days and then just $6 per user per month. Microsoft® Office 365 for enterprises brings together cloud versions of our trusted communications and collaboration software with our familiar Office Professional Plus desktop suite. It is designed to help meet your IT needs for robust security, 24/7 reliability, and user productivity.We have a variety of plans to meet the needs of businesses of all sizes and varying IT needs. Priced from $2 - $28 per month per user, each plan has the same 99.9% uptime guarantee and includes the security and support you expect from Microsoft. Office 365 offers great flexibility by allowing businesses to provide users access to only the services they need and pay-as-you-go pricing options. Microsoft® Office 365 for education provides your institution with the same great communication and collaboration experiences used in enterprises around the world while saving time and money. Microsoft Office 365 for education delivers all of this and more while training students on familiar software which employers depend upon.
  2. Sandboxed solutionsA sandboxed solution is deployed at the site collection level by using the SharePoint solution gallery, and it cannot access data outside of the site collection in which it was deployed. In addition, a sandboxed solution cannot invoke certain security-related functionality, such as running with elevated privileges. All of these restrictions are put in place to ensure that malicious or poorly performing code cannot adversely affect the SharePoint Online environment. As a result, site collection administrators can feel confident about uploading and activating a sandboxed solution. SharePoint Online supports the deployment of sandboxed solutions that restricts the operations that your code can perform, and also provides a monitoring environment to verify that code does not adversely impact other sites. Note: Developing a sandboxed solution is the only way you can upload and run custom code in SharePoint Online.SharePoint Server ribbonThe SharePoint Server ribbon provides a consistent user interface for working with SharePoint objects. The ribbon includes tabs and controls that appear at the top of the browser interface, providing a consistent location to perform tasks for users of your SharePoint site.SharePoint dialog boxesSharePoint provides a dialog box platform that enables modal dialog boxes to be included in custom solutions that fit in with the style of a SharePoint page. By using dialog boxes, users are encouraged to focus on the information that is presented to them, and then interact with and close the dialog box before continuing to work with the site. Dialog boxes enable the creation of responsive user interfaces so that users can complete data entry boxes from the pop-up dialog box on the existing page, instead of having to navigate to a new page to complete the data entry task. In many cases, they improve performance by reducing the number of page requests and round trips to the server.Silverlight Web PartSharePoint 2010 provides a Silverlight Web Part that you can use to easily add a Silverlight application to a page in your site. You can upload a Silverlight application to a library in your SharePoint site and then configure the Silverlight Web Part to load your Silverlight application.List lookups and relationshipsSharePoint 2010 enables you to create relationships between lists in your SharePoint site collection. For example, you can specify that the column for a list can take values that exist only in another list elsewhere on the site. Using a defined lookup, you can use join statements in Collaborative Application Markup Language (CAML) or LINQ to SharePoint to query across lists.LINQ to SharePointSharePoint 2010 includes the LINQ to SharePoint provider, which translates LINQ statements to CAML queries. LINQ is a standard query language and, when applied to SharePoint, it enables developers to query SharePoint lists without requiring them to learn the CAML syntax that is used internally by SharePoint.Event enhancementsSharePoint 2010 provides new events that you can use when developing applications for your SharePoint site. Events enable you to intercept an action and run code either pre-event or post-event, as part of a sandboxed solution.Workflow enhancementsIn SharePoint 2010, you can associate workflows with the site and with a particular list. This enables you to create workflows that affect multiple lists or start workflows that do not affect lists. Workflows also support new events that enable complex business processes to be chained together in a modular, manageable way. Note: You can develop code for workflow events only in sandboxed solutions.Client object modelThe client object model is a client-side set of technologies that exposes SharePoint 2010 server-side objects and data on client computers. By using the client object model, you can develop applications that run on the client computer through familiar development concepts, such as objects, properties, events, and methods.REST APIsSharePoint 2010 provides access to server data through the Representational State Transfer (REST) API. By using REST, lists and list items are represented as HTTP resources that can be addressed by remote URLs.
  3. Important to note here that the only installs that are supported are WSP installs .. And they are made by the site collection admin.
  4. Demo is available in the kitYou can use SharePoint Designer to do the custom brandingAdding a Silverlight Application to a Master PageTask 1 – Create a Library for the Silverlight ApplicationTask 2 – Create the Custom Master PageTask 3 – Customize the Master PageTask 4 – Apply the Custom Master Page
  5. Sandboxed solutions challenge, however, has always been the balance between creating solutions and deploying them in a way that you can trust will not damage or impair the SharePoint farm. Farm administrators are responsible for maintaining the health and integrity of the SharePoint farm, and often this means putting complicated, time-consuming processes in place to test and validate solutions deployed to the farm. This need is counter to the rapid application model used to create SharePoint solutions, and it complicates the deployment of third-party solutions. A new feature in SharePoint 2010, called sandboxed solutions, addresses many of these concerns, enabling farm administrators to feel comfortable that the SharePoint farm is safe, giving site collection administrators the authority to manage the applications in their site collection, and providing developers with the flexibility to create solutions they know will be deployed in a safe and rapid manner.
  6. A sandboxed solution looks and behaves like a farm solution, but a sandboxed solution’s assembly must be marked to allow partially trusted callers. The Sandboxed Solution property is configured in the properties window of the project. Remember that a sandboxed solution can be deployed as a full-trust solution and gain the expanded capabilities that come with running in full trust because nothing in the .wsp solution file specifies it as a sandboxed solution or a farm solution. This is determined by how the solution is deployed.Generally you can do most things you can with full solutions, at least those within the context of a site collection. You cannot deploy files on disc or assemblies to the GAC.
  7. Solutions can be added to a production SharePoint Server environment without the risk of affecting processes outside the sandboxSite collection administrators can deploy sandboxed solutions, freeing farm administrators from this taskScalability and flexibility are increased because sandboxes run in separate process that can be restricted by quotas, and their effect on the farm can be monitoredA solution does not have to be modified or recompiled if it is moved from a sandbox to running directly on the farmhttp://technet.microsoft.com/en-us/library/ee721992.aspx
  8. Quotas managed byMSOnline – cannot be modified by individual customers because it is a shared environment.See link to MSDN blog on quotas.Describe the various ways that the sandbox is limited and how the limitations affect what you can and cannot do in the sandbox.
  9. Sandboxed solutions have access to a large subset of functionality in the Microsoft.SharePoint namespace. Essentially all the classes below SPSite are available. This means that SPSite, SPWeb, SPList, and SPListItem are all available. In a sandboxed solution, you can create Web Parts, list definitions and instances, content types and fields, modules, declarative workflows, and event receivers. The complete sandboxed API is documented in the SharePoint SDK.
  10. In general, the sandbox process prevents you from accessing data outside the site collection where the solution has been deployed. This means, for example, that you can’t access the Internet to make Web service calls, you can’t access a hard drive to read or write files, and you can’t access code that is not marked to allow partially trusted callers. You also can’t deploy files to disk or add assemblies to the GAC in a sandboxed solution, and security-related functionality, such as running RunWithElevatedPriviledges and other SPSecurity methods, is not allowedBCS to ship in service update prior to the next major Rev
  11. But what you can do is read and write to lists and libraries within the same site collection. The sandbox provides enough functionality to build most of the applications that are required at a site level. At times, however, you might want to enable your sandboxed solutions to reach outside the sandbox to perform a trusted operation, such as calling a Web service or accessing a database. The best way to reach out of the sandbox is by using the Business Connectivity Services (BCS) to create an external content type. You can then read and write to the data source from the sandboxed solution. Another, more advanced, way to reach outside the sandbox is to create a class that runs in a full-trust process outside the sandboxed worker process to proxy calls. This proxy class is deployed as a farm solution and is callable from the sandboxed solution. Although it is outside the scope of this presentation to describe how to create a full-trust proxy, you should be aware of the functionality.
  12. Code components:Feature receiversEvent receiversSPItemEventReceiverSPListEventReceiverSPWebEventReceiverNavigationWeb Parts (if derived from the WebPart class)Microsoft InfoPath forms logicSharePoint Designer workflow activitiesSandboxed solutions workflow activitiesDeclarative components:Declarative workflowsContent types, site columnsLists and list definitionsVisual and nonvisual Web PartsCustom actions, ribbon extensionsClient-side technologiesWeb templates, site pages, page layouts, and master pagesThe following capabilities and elements are not supported in sandboxed solutions:Access to the Internet to make web service callsAccess to a hard disk to read or write filesYou can, of course, read and write to lists and libraries within SharePoint OnlineWeb application-scoped or farm-scoped FeaturesAdding assemblies to the global assembly cacheRunning security-related functionality; for example, RunWithElevatedPrivileges or other SPSecurity methodsCustom Action groupsHideCustomAction elementContent type bindingWeb Part connections
  13. The structure of a sandboxed solution is very similar to a farm solution, which generally runs with full-trust permissions. The main differences lie in how a sandboxed solution is deployed and in the process that hosts the solution (which determines whether a solution is a sandboxed solution or a farm solution). This means that the same sandboxed solution can run with full trust when it’s deployed at the farm level and with partial trust when it’s deployed at the site collection level. (Office 365 apps don’t run at the farm level. They run at the site level.)A SharePoint solution is a deployable package that can contain features and assemblies. The solution package is a .cab-based file with a .wsp extension. Visual Studio 2010 SharePoint project templates create .wsp package files. A solution might contain a number of SharePoint features, and these features provide functionality such as Web Parts, list definitions, modules, and event receivers.Site collection administrators now have the authority to upload, activate, delete, and manage sandboxed solutions using the new Solution Gallery, which is a repository of sandboxed solutions. The gallery also enables a site collection administrator to monitor a solution’s usage against a resource quota. The Solution Gallery is simply a standard SharePoint list that stores the .wsp file. It is located under the _catalogs folder at _catalogs/solutions. The gallery is added to your site collection when you upgrade from a SharePoint 2007 site collection.
  14. Farm administrators have the responsibility to keep the SharePoint farm healthy and secure, and they now have the tools to monitor and set quotas on sandboxed solutions. SharePoint provides farm administrators with a UI in Central Administration to assign resource quotas to each site collection. You can access the quotas from the Central Administration page under the Application Management section. Resource monitors keep sandbox solutions from over taxing the server.The SUM of all resource measures is the number applied to the quota.The MAX of all resource measures is used to determine if the sandbox should be turned off for a given solution one day.Discuss throttling and the page you see and ULS.Add a link to P&P work about resource consumption.Each metric, called a ResourceMeasure, contains a ResourcesPerPoint property. The ResourcesPerPoint value is divided by the resources consumed to calculate the points used for that category. For example, AbnormalProcessTerminationCount has a ResourcesPerPoint value of 1. Every time a sandboxed solution terminates abnormally, 1 point is added. If you want to increase the penalty for a sandboxed solution that terminates, you can set ResourcesPerPoint to another value, such as 2. You can use 0 if you are not concerned about this metric. Other ResourceMeasures might not have a one-to-one correspondence with an event. The CPUExecutionTime metric prevents a sandboxed solution from consuming too many CPU cycles. The default ResourcesPerPoint value is 3,600 for CPUExecutionTime.Another value is AbsoluteLimit, which is incremented each time a solution gets a point. If a solution exceeds the AbsoluteLimit value, it is terminated even if the daily usage limit has not been reached. Exceeding the value of AbsoluteLimit affects only the single solution, unlike the daily usage limit. These two levels of quotas, daily limit and absolute limit, work together to protect the health of the farm.
  15. SharePoint contains 14 metrics that contribute to the quota points.Each metric, called a ResourceMeasure, contains a ResourcesPerPoint property. The ResourcesPerPoint value is divided by the resources consumed to calculate the points used for that category. For example, AbnormalProcessTerminationCount has a ResourcesPerPoint value of 1. Every time a sandboxed solution terminates abnormally, 1 point is added. If you want to increase the penalty for a sandboxed solution that terminates, you can set ResourcesPerPoint to another value, such as 2. You can use 0 if you are not concerned about this metric. Other ResourceMeasures might not have a one-to-one correspondence with an event. The CPUExecutionTime metric prevents a sandboxed solution from consuming too many CPU cycles. The default ResourcesPerPoint value is 3,600 for CPUExecutionTime.Another value is AbsoluteLimit, which is incremented each time a solution gets a point. If a solution exceeds the AbsoluteLimit value, it is terminated even if the daily usage limit has not been reached. Exceeding the value of AbsoluteLimit affects only the single solution, unlike the daily usage limit. These two levels of quotas, daily limit and absolute limit, work together to protect the health of the farm. I strongly recommend that you not modify ResourceMeasures, but as a developer or an administrator, you should understand exactly how these mechanisms work.http://technet.microsoft.com/en-us/library/ff603636.aspx Resource Per Point is how much this contributes to the point limit per day for the site collectionHard Limit is how much of this resource a solution can use in a single invocation before it is terminated – a maximum use of quota in a single invocationInvocation count is used to measure the per-instance cost of a solution for purposes of reporting and assigning to run-time “tiers” for farms that want to separate solutions into multiple different sandbox processes – there is only one by default.
  16. Visual Studio 2010 SupportNew Project SupportIntellisensePackagingF5 DebuggingSharePoint Power ToolsCompilation SupportVisual Web Part (Sandboxed)the default SharePoint project type in Visual Studio is a sandboxed solution. This should be the default in your mind as well—you should be thinking about creating your SharePoint solutions to run within the sandboxed environment. You have seen that sandboxed applications are very capable, can do most of the tasks that a business user needs, and provide the ability to break out in a safe way when you need to. The real benefit is the speed at which you can deploy your solutions into the enterprise. You no longer need to follow a grueling process of testing and validation for every solution you create, although good software practices should always be followed. Developing, Deploying, and Monitoring Sandboxed Solutions in SharePoint 2010http://msdn.microsoft.com/en-us/magazine/ee335711.aspxYou build an sandboxed app the same way you build a farm solution. You can add a webpart to the solution. At this point, you have a fully functional sandboxed Web Part that you can deploy.During the development of a sandboxed solution, Visual Studio automatically deploys and activates the solution in the Solution Gallery when you press F5. If you browse to the Solution Gallery, you can see the solution you just created and deployed. As you can with other types of Visual Studio projects, you can set a breakpoint in the code for a sandboxed solution. However, Visual Studio won’t recognize a breakpoint at this point because the Web Part has not been added to a page. When you add the Web Part to a page, Visual Studio detects that the assembly has been loaded and will stop on the breakpoint. Even though you haven’t added any real code to the project yet, you can see that everything is in place and working correctly.Sandboxed solutions do not run under the IIS worker process used by SharePoint called w3wp.exe. Instead, they run under the sandboxed worker process called SPUCWorkerProcess.exe.Visual Studio automatically attaches the debugger to this process when you press F5. If you are debugging a solution that’s already deployed, you need to attach to this process manually.
  17. Similar to programming against server objects in the server context, the new client-side object models use a ClientContext object as the "center of gravity" for all operations. The process of obtaining and working with sites and data begins by retrieving a context object.Show the various resources and their locationsServer – Microsoft.SharePoint – [..]\\14\\ISAPI .NET – Microsoft.SharePoint.Client – [..]\\14\\ISAPISilverlight – Microsoft.SharePoint.Client.Silverlight – [..]\\14\\LAYOUTS\\ClientBinECMAScript– SP.js - [..]\\LAYOUTS
  18. The Client Object Model contains a lot of overlap coverage with the full SharePoint API
  19. This diagram displays how the transport mechanism worksManage client OM = .NET / SilverlightAll communication goes through the client.svc WCF serviceMicrosoft implemented the client OM by decorating the core SharePoint OM with attributes if it was “client aware”[ClientCallableType(Name=“Web”,[…]),[…]]public class SPWeb {}Then a code gen tool generates the client OM assemblies and JavaScriptThis ensures that there’s fidelity between all the client OM’s and the server equiv
  20. Many Benefits include:Designed specifically for Silverlight applicationsWorks on client machines (remote)No need to install SharePoint runtimeAsynchronous operationsPer user security context availableIncreases application portabilityOvercomes sandbox limitationsEASY TO DEPLOY!
  21. Purpose: Windows Azure is partner friendly, great opportunity for SaaS ISVsWindows Azure has been around since Feb 2010, we have thousands of active users with incredibly good experienceWindows Azure is important dimension of our cloud strategy and to our partner strategyIt provides scalable hosting platform for customers, ISVs and partners, to host their applications and extend their own cloud, and leverage the scale and investment we have in AzureGreat examples today with SaaS ISVs leveraging their existing tools and skills to write applications that run on Windows Azure or Windows ServerHosters can take advantage of Azure, and leverage us for fail/over, burst capacityBut the partnering opportunity for Azure is not restricted on SaaS ISVs developing their applications to run on Azure, we are also sharing our learning on Azure with hosters and customers We run it ourselves to make sure it will work for you at arbitrary scale with good COGS[ Announcing: Azure Appliance]Customers and high scale partners have been asking to provide Windows Azure technology so they can run it in their datacentersThis is to emphasize that Microsoft is committed to bringing the learningsfrom the MS datacenter into our hosting partner's datacenters either through integrating the Azure innovations-- such as elasticity, multi-tenancy, and power & automation efficiencies -- into Windows Server/System Center or via the Azure Appliance.
  22. This pattern demonstrates how to call external code at GA and post GA stages.0. A user accesses a Silverlight application deployed to a SharePoint Online site.1a. The Silverlight application can call external code running in Azure.1a. ACS is used to provide tokens used for Authorization.1b. The Silverlight application can call external code accessible from the Internet.1b. OAUTH is used to provide tokens used for Authorization.ACS – Access Control ServiceAzure (ACS 2.0 – Waiting for 2.0)Internet (OAuth 2.0 – future work by BPOS/SPO team)
  23. This pattern demonstrates how to access external data at GA and post GA stages.0. A user accesses a Silverlight application deployed to a SharePoint Online site.1a. The Silverlight application can access external data stored in Azure.1a. ACS is used to provide tokens used for Authorization.1b. The Silverlight application can access external data stored available on the Internet.1b. OAUTH is used to provide tokens used for Authorization.OAUTH 2.0 Example:A good example of external data access on the Internet are pictures stored on a user’s Flickr site.In order to access the pictures on the Flickr site the user signs into the Flickr site and OAUTH is used to Provide a token back to the Silverlight application which may be used to access the pictures on the user’s Flickr site.Once OAUTH 2.0 is release, a primary goal is to enable the BCS to use OAUTH 2.0 to access external data sources.
  24. This pattern demonstrates how to access SharePoint data at GA and post GA stages.Right now SharePoint does not support OAUTH 2.0.Currently this is a wav 15 planning item in the costing work stage. It has yet to be decided if this will be implemented as part of wave 14 post GA or if it will be part of wave 15.Can revoke via same UI as regular SharePoint groups. This UI has yet to be built to accommodate applications and OAUTH support.0a. A user accesses a web application from an Internet web site.1a. OAUTH is used to provide tokens used for Authorization.2a. The web application uses the token to access SharePoint data.0b. A user accesses a web application hosted in Azure.1b. OAUTH is used to provide tokens used for Authorization.2b. The web application uses the token to access SharePoint data.Get feedback from the field on this on especially.
  25. Cloud based relay for WCF servicesTraverses Network Address Translation (NAT)Service opens outbound bi-directional TCP connection and leaves it openService is relayed through the cloud to the on-premise applications (WCF services)ASMX not supported
  26. Can create Custom Actions:Define class/method in Visual Studio 2010Sandbox Solutions APIDefine new action via <WorkflowActions> schemaMaps designer to method call<Action><RuleDesigner><Parameters>
  27. Use diagrams to illustrate these concepts.
  28. Silverlight application can provide a single view into both SPO and On Premises apps
  29. Lync ControlsShips in Microsoft Lync 2010 SDK“Drag and Drop” feature integrationContact list, contact searchPresence, contact info, custom contact listIM and audio “Click-to-Call”Supports contextual conversationsWPF 3.5/4 and Silverlight 4Requires Lync 2010Reuses Lync 2010 connectionPut your Content into a Lync conversation