4. What are Apps?
Apps for SharePoint are self-contained pieces of functionality that
extend the capabilities of a SharePoint site.
Targeted
Lightweight
Easy to use
Start thinking differently! Start thinking in services!
0
5. How do Apps live?
Apps are in essence web applications
Apps live in their own isolated
environment called the “app web”.
The site in which they function is called
the “host web”
Part of the Cloud App Model
▪ Support for tiered architecture
Different languages are used for writing
apps:
▪ HTML
▪ JavaScript
▪ PHP
▪ .NET
0
6. Integration with SharePoint
Integrate and connect with SharePoint
▪ SharePoint 2013 REST Service (Representational State Transfer)
▪ JavaScript
• Using cross-domain library to access the host (via remote app – auto hosted / provider hosted)
▪ SCOM (SharePoint Client Object Model)
Apps have the ability to access features of the host through SharePoint APIs:
▪ Search
▪ Workflow
▪ User Profiles & Social
▪ Taxonomy
▪ BCS
0
7. Registration & distribution
Registered with an app manifest (XML
based)
▪ Describes basic properties
▪ Tells SharePoint how the App is started
▪ Where the App will run
▪ Define authentication schemes (app
principals)
▪ Declare required permissions
Distributed through an App Package
▪ Package contents differ depending on
hosting location
▪ .app extension
0
8. SharePoint UX
Immersive Full Page
▪ App is shown full screen inside the SharePoint Site
Part
▪ App is shown as a Part on the page
UI Custom Actions
▪ Make the App available through Ribbon or menu actions
0
9. Why use Apps?
Apps are not installed on the host server
▪ No overload on SharePoint with excessive API calls
▪ No solution packages rolled out on your server which influences the 15 hive or
GAC
Able to publish and sell Apps to others
Lots of hosting options for the App
▪ Even combinations possible
Apps are easy in use
▪ Installation / Uninstallation
▪ Updates
▪ Monitoring usage
0
10. Examples of Apps
Executing a survey amongst employees on an intranet
Calculator Apps
▪ Mortgage for houses
▪ Curreny converter
Creating Mash-ups by combining different data sources as services of
organizations, maps and other.
▪ Population figures over countries in a map
▪ Pointing out restaurants on a map
Weather information
Contact detail card
Facebook (dutch: smoelenboek)
Birthdays
…
0
12. Hosting of Apps for SharePoint
Different options for hosting:
▪ Provider-hosted
▪ Autohosted
▪ SharePoint-hosted
You can also mix and match and
host some components in
SharePoint and some others in
the “cloud.”
0
13. Availability of Apps
SharePoint Store
▪ Public App store
▪ Publish your Apps world-wide
▪ Ability to sell your Apps
▪ Acquisition is handled from discovery,
purchase and updates
Private App Catalog
▪ Internal App store
▪ Publish your Apps inside the
organization
▪ Can be on-premise or in SharePoint
online
0
16. Developing Apps
Development environment with SharePoint 2013
▪ Distribute Apps for SharePoint through an App Catalog
▪ Apps have full control permissions
▪ Use the “Developer site” template
▪ Lots of configuration needed
• SharePoint 2013,
• Windows Server 2008R2,
• PowerShell for configuring App domain and services, …)
Important! Only possible to deploy Apps for SharePoint from Visual Studio
2012 to a developer site.
0
17. Developing Apps
Office 365 Developer site
▪ Enables you to develop from any computer and operating system which support
a Visual Studio 2012 installation
▪ Is preconfigured for App isolation and OAuth
▪ Develop Apps remotely by using “Napa”
▪ After registration online it is available
▪ “Developer site” is created for you
0
18. Developing Apps for SharePoint-hosted
An isolated domain is needed where the App will be executed
You will need to define an isolated App domain
▪ E.g. apps.contoso.com
URL of the location of the App becomes:
▪ http[s]://tenantname-<unique identifier>.apps.contoso.com/AppName
▪ Name of tenant is configurable
0
The Cloud App Model supports a tiered architecture in which the app's business logic, data, and user interface (UI) can be distributed into separate components
Cross-Domain:When you build apps for SharePoint, you usually have to incorporate data from various sources. However, for security reasons, there are blocking mechanisms that prevent communication with more than one domain at a time. When you use the cross-domain library, the webpages in your app can access data in your remote domain and the SharePoint domain.The cross-domain library is a client-side alternative in the form of a JavaScript file (SP.RequestExecutor.js) that is hosted in the SharePoint website that you can reference in your remote app. The cross-domain library allows you to interact with more than one domain in your remote app page through a proxyExamples:you can have an app whose presentation logic is in HTML and JavaScript and runs on the client, whose business logic is in Microsoft .NET and runs in Windows Azure, and whose data is stored in SQL Azure. Or you can have an app that is written in PHP and has its data stored in MySQL.
App Manifest An app manifest is an XML file that declares the basic properties of the app along with where the app will run and what to do when the app is started
SharePoint-hosted apps: When the app is hosted in SharePoint itself, the code is HTML and JavaScript and is hosted by SharePoint. No servcer-side code can be hosted on SharePointNote When you deploy a SharePoint-hosted app, SharePoint creates a new website called the app web. You can think of it as a dynamically created safe space for your app. Besides allowing you to store pages, lists, and libraries, the app web is also an isolated endpoint that your app can securely call client side by using JavaScript.autohosted apps, SharePoint automatically deploys your app into Windows Azure Web Sites and SQL Azure, and these apps run in the cloud. provider-hosted apps, you or your IT department hosts the app on a dedicated server or third-party hosting service. These apps run on your server or in the cloud, depending on how you choose to host your app.Apps that have a mix of components in SharePoint and in the cloud: SharePoint components run in SharePoint, and components hosted in the cloud run in the cloudImportant! You can also mix and match and host some components in SharePoint and some others in the “cloud.”
SharePoint 2013 Preview provides a wide variety of features:such as Search, workflow, social networking, taxonomy, user profiles, and Business Connectivity Services (BCS)—that your apps can take advantage of