2. Competitive forces
• We want to pay only for what we need!
• We want you to be quicker than wind!
• We want the better quality for us!
• We want it cheap!
• We want to control what we are doing with
our environments
• We want to develop the easiest way
2
4. The answer?
• Cloud model with multi-tenants
• Control what is running on each environment
• Microsoft cloud platform
– Major platforms in the Microsoft ecosystem
available online
– Owned and operated by Microsoft
– Microsoft is a major competitor and goes quickly
4
5. The answer?
• Easier upgrade
• Multi-hosts capability
• Better integration
• Multi-devices
• SharePoint not required locally for dev
purposes
5
6. App for SharePoint Defined
• "There's an App for that"
– Popular catch phrase that demonstrates the
popularity of App Stores
• Like an App on a phone, Apps for SharePoint
provide functionality that extends SharePoint
• Installed on a specific SharePoint Web but
always runs somewhere other than SharePoint
• Rectangle thru which users interact with
functionality
6
7. Technologies used for the apps
• HTML (5)
• CSS
• JavaScript
• No SharePoint server-side code!
• Need some server-code? It must be hosted
outside
7
9. Chrome Control
• Present the navigation header of the Host Web
in a block element on the App page
• Register the SharePoint ChromeControl
JavaScript using a <script> tag
• Provide an HTML block element to put the
header into
• The control inherits its appearance from the
Host Web
• Customize the control using the available
options
9
10. App Licensing
• 1 License for each App on each Host Web
• Perpetual or Trial
• All user or multiuser
• Free, Trial, Paid, or Site
• With or without an expiration date
• 15, 30, 60 days, unlimited, OR Perpetual
• Per user or Unlimited
• Free or Paid
• Only applies to Apps in the SharePoint Store
• Microsoft currently receives a 20% fee for
paid Apps in the SharePoint Store
10
11. Authentification & authorization
• Specific set of permissions
• If user has the ability to grand permissions,
app can be installed
• SharePoint-Hosted apps have the benefit of
using built-in security
• Oauth is required for Self-hosted and Azure-
Provisioned apps
11
12. App rights
• Default rights : Read, Write, Manage and Full
Control
• Not possible to customize
• Apps are granted permissions to a scope and
all children of the scope
• Defined in declarative XML
12
13. Impacts
• New model based on well-known
architectures
• New way for doing business
– Sell to the mass
– Expose online apps in SharePoint
• New way of thinking about IT and services
13
15. Napa for SharePoint
• Develop on the cloud from any device
• HTML/CSS/Javascript
• Available for free
• Can be opened in Visual-Studio 2012+
• Many great dev features
15
16. Hosting models
• SharePoint-hosted
• Cloud-hosted (AKA self-hosted)
– Provider-hosted (On-premise, ISP, etc.)
– Azure-Autohosted (Office 365)
• Hybrid
– SharePoint-hosted but depend on Cloud
resources
– Cloud-hosted but depend on SharePoint
resources
16
17. SharePoint-hosted Apps
• App resources are hosted in SharePoint but
code only runs in the client browser
• Code is HTML and JavaScript,
no server-side code can run at all
• Unless deployed using JSOM, no JavaScript
on the Host Web
• App resources are stored in an App Web
• Deployed entirely to SharePoint
17
18. Provider-hosted
• All files are located on an external server
• Pre-deployed Web/Database:
– On-premise
– Third-party (ISP) hosting service
• Web content NOT hosted on SharePoint's Azure
• Content can use any Web technology
• Content can be common for all tenants
• If a WSP is included, an App Web is generated
18
19. Azure-Autohosted
• Auto-deployed Azure Web/Database
• Azure Web Site
– Limit 1
– ASP.NET (including MVC)
• Azure DB
– Limit 1
– Limits during preview
• 1 GB in size
• Not in SharePoint Store
• Workflow
– No Limit
– 2013 Workflow Manager
19
23. Characteristics Of An App for SharePoint
• Always Web-scoped
• Always installed the Host Web
• Always contain an AppManifest.xml file that
defines characteristics about the App
• Never run server-side code on SharePoint
server
• Optionally, house App resources on an auto-
created subweb called the App Web
23
25. Host Web
• Web where the business user installs the App
• The user interacts with the App on the Host
Web
• Only limited SharePoint resources allowed:
– App Parts
– Custom Actions
• App resources can be housed in an App Web
or elsewhere on the Web
25
26. App Web
• Dynamically created subweb,
created when the App Package includes a WSP
• Used to store Web resources:
– Pages, CSS, Images, JavaScript, etc.
• The App Web is used to store SharePoint
resources:
– Master Pages, Lists/Libraries, SharePoint Lists,
Site Columns and Content Types, Web Parts, etc.
• Isolated endpoint the App can securely call
using client side code (CSOM, JSOM, REST)
• The App always has Full Control of its App Web
26
27. App configuration for on-premises farm
• Ensure that App service application and subscription service are created
and running in farm
• Subscription service is used to provide unique Site Collection ID for App
Urls
• Apps will be hosted on own domain, within their own frame
– Leverages web browser same-origin policy for script isolation
• URL naming – each app has unique URL – one app = one URL
– http://default-appUID.apps.contoso.com
– appUID – combination of site collection ID and particular SPWeb where app
is installed
http://sp/sites/web http:// /sites/web/appguidtenant-apphash1.contosoapps.com
main SharePoint site app1 SharePoint site
http://apps-87e90ada14c175.contosoapps.com/sites/web/014c9c59-5d9c-4a59-a5ce-2116a4c90296
29. Client Script Object Models
• .NET and Silverlight API
• JavaScript API
• REST API (useful when .NET is not available)
• Choose the right object model according to
your needs, constraints and existing apps
29
32. Sandboxed Solutions
• Sandboxed solutions are deprecated
• Really?
• Sandboxed code is deprecated and should
not be used anymore
• Sandboxed solution without code are used
for App Web with CAML declarative XML
32
33. App Stores
• SharePoint Store
– Managed by Microsoft
– Must be a Microsoft Seller to upload an App
– Handles discovery to purchase to updates
• Web Application App Catalog
– Managed in SharePoint Central Administration
– Company-developed or purchased Apps
• Apps in Testing
– Managed in a Developer Site
– Sideloaded by Napa/Visual Studio
– Intended for testing Apps only
33
35. SharePoint 2010 applications
• Full-trust farm solutions and sandboxed
solutions are still available
• SharePoint 2010 developments still work in
SharePoint 2013
• Small changes can be required
35
36. Next steps?
• Speak about cloud-model around you!
• Office 365 trial subscriptions
• 5-days Training session @ Boost-IT in the
next few months
36