Developing sharepoint apps for office 365
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Developing SharePoint Apps for Office 365 PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

Developing SharePoint Apps for Office 365. Steve Wright Senior Manager Sogeti USA, LLC. Contact Info. Thank You!. For Sponsoring the Developer Track. About Me – Steve Wright. Senior Manager in Sogeti’s Business Information Management (BIM) Practice

Download Presentation

Developing SharePoint Apps for Office 365

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Developing sharepoint apps for office 365

Developing SharePoint Apps for Office 365

Steve Wright

Senior Manager

Sogeti USA, LLC

Contact Info


Developing sharepoint apps for office 365

Thank You!

ForSponsoring the

Developer Track


About me steve wright

About Me – Steve Wright

  • Senior Manager in Sogeti’s Business Information Management (BIM) Practice

  • SharePoint and .NET Consultant in Omaha for 17 years

  • Author of books on SQL Server, SharePoint Business Intelligence, SharePoint Governance and SharePoint Designer

  • New book on app development from Apress

    E-Mail - [email protected]


Agenda

Agenda

  • Introduction to the Cloud App Model

  • Comparing SP 2010 and SP 2013 Development

  • Using SharePoint Apps in SharePoint

  • App Architecture and Patterns

  • UI Components of a SharePoint App

  • The Development Environment

  • Security in SharePoint Apps

  • Q&A


Introduction to the cloud app model

Introduction to the Cloud App Model

Cloud App Model was introduced in SharePoint 2013 as an alternative to Full Trust and Sandboxed solutions.

  • Similar to the development model introduced for Windows 8, the Windows Runtime (WinRT), Office 2013, and Windows Phone 8.

  • A SharePoint app is a single package of functionality that can be installed, used and uninstalled on a SharePoint site with very little overhead or footprint on the SharePoint server farm.

  • App files are managed entirely by SharePoint itself. There are no solution files scattered throughout the SharePoint "hive".


Solutions for sharepoint 2010 revisited

Solutions for SharePoint 2010 Revisited

  • Applications built for SP 2010 were of two varieties.

    • Full Trust Solutions

      • Access to everything in the server farm.

      • Security dependent on the developer.

      • Poorly written solutions could cripple or crash the server farm.

      • Too much access. Too little control.

    • Sandboxed Solutions

      • Limited to accessing resources within their own site collection.

      • Restricted to a subset of the server-side model.

      • Ran in a separate Windows process to protect SharePoint.

      • Too limited. Too difficult. DEPRECATED!


Apps designed for the cloud

Apps Designed for the Cloud

The Cloud App Model was designed to improve performance and stability of multi-tenant SharePoint deployments like SharePoint Online.

  • No client application can be allowed to produce an unmanageable load on the farm or crash server processes.

  • Apps cannot execute ANY CODE within the SharePoint server farm.

  • Apps use client-side technologies like JavaScript and web service calls for all custom logic.

  • SharePoint 2013 contains a vastly-improved Client-Side Object Model (CSOM) for use by apps. The Server-Side Object Model (SSOM) is not available to apps.

  • Apps use sophisticated web service call mechanisms like REST and OData to access SharePoint data and remote resources.


Using apps in sharepoint 2013

Using Apps in SharePoint 2013

Using apps for SharePoint is very similar to using apps on mobile devices such as Android- or iOS-based phones.

  • A SharePoint app can be acquired from the SharePoint Store or from an App Catalog deployed by the organization.

  • The app is installed into a SharePoint site, not the server.

  • An authorized user installs the app on a site which then makes it available to other users.

  • When the app is no longer needed it is uninstalled by the user and all associated files and configurations are removed completely.


Demo using an app in sharepoint

DEMO – Using an App in SharePoint

Let’s play Tic-Tac-Toe!


Design patterns app structure

Design Patterns - App Structure

SharePoint App Webs

  • Host Web - where the app is installed

  • App Web - contains the apps files

  • Remote Web - contains ASP.NET server-side logic

SharePoint App Project Templates

  • SharePoint-Hosted– Host + App?

  • Auto-Hosted– Host + App + Azure-hosted Remote Web

  • Provider-Hosted– Host + App + Self-hosted Remote Web


Design patterns client side vs server side

Design Patterns – Client-Side vs. Server-Side

Rules of Thumb

  • Use client-side code whenever possible.

  • Use server-side code (i.e. remote web) only when necessary.

  • Server-side code runs outside of SharePoint, so

    • It is outside SharePoint's security boundary.

    • It must use client libraries or web services to access SharePoint just like browser-based code.


Sharepoint app ui components

SharePoint App UI Components

  • Immersive Web Pages - Full browser pages served from the app web or a remote web.

  • Client Web Parts - Provides the contents to an IFRAME embedded in a SharePoint page as a web part. (a.k.a. App Parts)


Sharepoint app ui components cont

SharePoint App UI Components (Cont.)

  • Style Sheet Inheritance – Conform to the host site’s branding.

  • Chrome Control – Inherit navigation and contextual elements from the host site.

  • Custom Actions - Provide new menu items on the ribbon or Edit Control Block (ECB).


Demo hello world

DEMO – Hello World!

Because what would a development talk be without one?


The development environment

The Development Environment

  • Server Infrastructure

    • SharePoint Online (part of O365)

    • On-site SharePoint 2013 Server farm

      • No client OS installation supported!

  • Developer Environment

    • Workstation

      • Visual Studio 2012

      • Microsoft Office Developer Tools for Visual Studio 2012

    • Napa Office 365 Development Tools

      • Free development tool available in the Office Store

      • Actually a provider-hosted SharePoint app!


Demo napa client web part

DEMO – Napa / Client Web Part


Security tokens

Security - Tokens

SharePoint Apps use tokens to represent various security-related values.

  • Generated and passed between components to provide secure communications.

  • Tokens used by SharePoint use the Security Assertion Markup Language (SAML) XML format.

  • Tokens are only useful when the party receiving the token trusts the token issuer.

  • Types of Tokens

    • Identity (or User) Token

    • Server-to-Server Token

    • Context Token

    • Access Token


Security app permissions

Security – App Permissions

The app must request specific permissions in its manifest. The user must grant those permissions in order to install the app.

  • Scope- Specifies the SharePoint resources that are accessible to the app.

  • Permission - Specifies the type of actions that can be taken on the resource.

  • Properties - Optionally, specifies additional information for the scope of the permission.

    <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write">

    <Property Name="BaseTemplateId" Value="101"/>

    </AppPermissionRequest>


Security authentication

Security - Authentication

Users: "Who are you?"

  • SharePoint 2013 uses claims-based authentication.

  • On-site - Use Active Directory, FBA or custom claims providers.

  • Online - Microsoft Online Directory Service (MS-ODS)

  • Hybrid - Use identity federation (eg. ADFS) to manage users in both environments.

    Apps: "What app are you using?"

  • Each deployed app has a unique identity.

  • App identity used to grant permissions tothe app's codebase.


Security authorization policies

Security - Authorization Policies

"What are you allowed to do?"

  • User-Only Policy- Access is granted based only on the user's identity.

  • User+App Policy- Access is granted only if BOTH the user AND the app have the required permissions.

  • App-Only Policy- The app provides the necessary user identity information with each request. (“High-Trust” apps only)


Demo access sharepoint data

DEMO – Access SharePoint Data


Questions

Questions?

E-Mail - [email protected]

Contact Info


  • Login