SharePoint 2013 and legacy web apps How to use the Provider-Hosted App Model to make them available in SharePoint 2013 Office 365 Sites.

Slides:



Advertisements
Similar presentations
Web Hosting. The purpose of this Startup Guide is to familiarize you with Own Web Now's Web Hosting. Own Web Now offers two web hosting platforms, one.
Advertisements

Unknown/uncontrolled data applications Bad/broken end-user applications Inefficient business processes Backlog of IT requests No data access control/backup.
Kentico CMS 5.5 R2 What’s New. Highlights Intranet Solution Document management package – WebDAV support – Project & task management – Document libraries.
Customizing the MOSS 2007 Search Results November 2007 Rafael Perez.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National Architect Neudesic Ryan McIntyre, MCITP, MCPD National Architect.
Unknown/uncontrolled data applications Bad/broken end-user applications Inefficient business processes Backlog of IT requests No data access control/backup.
App for SharePoint (*.app) Widgets Dashboards Data roll ups.
Calendar Browser is a groupware used for booking all kinds of resources within an organization. Calendar Browser is installed on a file server and in a.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Microsoft ® Official Course Developing Remote-hosted Apps for SharePoint Microsoft SharePoint 2013 SharePoint Practice.
Access to Azure EXTENDING OFFICE 365 INTO THE CLOUD George Young Dawson Butte Software SHAREPOINT SATURDAY DENVER 2015 – JANUARY.
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
1 of 4 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Access Web Apps – OK, Now What? EXTENDING ACCESS WEB APPS George Young Dawson Butte Software ACCESS DAY – OCTOBER DENVER,
02 | Install and Configure Team Foundation Server Anthony Borton | ALM Consultant, Enhance ALM Steven Borg | Co-founder & Strategist, Northwest Cadence.
©2012 Microsoft Corporation. All rights reserved..
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 21: Publishing Your Pages on the Web.
Fraser Technical Solutions, LLC
Intro to Apps Minnesota SharePoint User Group Raymond April 2014.
Basic SharePoint 2013 App Development start-up for New Developers
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 2013 Technical Preview and published July Introducing.
Review of last session The Weebly Dashboard The Weebly Dashboard Controls your account and your sites Controls your account and your sites From here you.
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Pricing Changes MSDN subscriptions Stand- alone tool Team collaboration Release management Visual Studio Team Foundation Server Device CAL Visual Studio.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
Web Sites for amateur radio. So You want to make a Web Site? There are several things you need to know about web sites before you start to think about.
OM. Brad Gall Senior Consultant
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
Objective To create a professional, affordable, and easy to use website Create a user friendly interface with accessibility and effortless navigation.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
23/04/2017 Desarrollando una integración entre Azure Websites y SharePoint Online de Office 365.
Access 2013 Platform Overview Access Low up-front investment Easy to evolve and iterate Easy adoption One version of the truth Easy to collaborate.
Enabling Developers with Development Features Presented by: Ricardo Wilkins SharePoint Solutions Architect.
BIT 285: ( Web) Application Programming Lecture 15: Tuesday, February 24, 2015 Microsoft Azure Instructor: Craig Duckett.
Webview and Web services. Web Apps You can make your web content available to users in two ways in a traditional web browser in an Android application,
Master Data Management & Microsoft Master Data Services Presented By: Jeff Prom Data Architect MCTS - Business Intelligence (2008), Admin (2008), Developer.
Intro to Datazen.
Designing Enterprise Corporate Web Sites using SharePoint 2010 Paul Stubbs Technical Evangelist Microsoft.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
MGT305 - Application Management in Private and Public Clouds Sean Christensen Senior Product Marketing Manager Microsoft Corporation MGT305.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
MGT305 - Application Management in Private and Public Clouds Daniel Savage Microsoft Corporation MGT305 Kenan Owens Microsoft Corporation.
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Entity Framework Database Connection with ASP Notes from started/getting-started-with-ef-using-mvc/creating-an-
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
 Learn the mechanics of using App Inventor to build apps.  Learn how to design an app’s user interface with the App Inventor Designer, and its behavior.
Converting SharePoint on- premise Apps to Office 365 Jos Auker-Woor M377.
HOW TO SET UP A WEBSITE. Why use WordPress? Nearly half of the websites on the Internet are running on the WordPress website platform It’s totally free.
Microsoft Dynamics NAV Microsoft Dynamics NAV managed service for partners, under the hood Dmitry Chadayev Corporate Vice President, Microsoft.
Developers Introduction to the Power BI Platform.
Office 365 Upsell Paths.
Introduction ITEC 420.
Data Virtualization Demoette… ODBC Clients
Upsell Small Business Customers to an Office 365 plan
LMEvents SharePoint Portal How-to Guide
Development Changes in Dynamics 365 for Finance and Operations
Managing Your Literature Search Using Zotero
Principles of report writing
So you were told to make a website
SharePoint Online Authentication Patterns
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Western Mass Microsoft Technology Users Group
Microsoft 365 Business Technical Fundamentals Series
Presentation transcript:

SharePoint 2013 and legacy web apps How to use the Provider-Hosted App Model to make them available in SharePoint 2013 Office 365 Sites

Hi Everyone!  Name: Paul Aldigé Katz   Twitter  Company: LimeLeap (  LinkedIn:  Job Title: Chief Software Architect  Hobbies: Tennis, Windows Phone Development (in my copious amount of free time)

And I’m a new dad! Eli gave me the day off

SharePoint’s New App Model  To highlight the new app model briefly, Microsoft has:  Completely separated custom server-side code from SharePoint in order to protect SharePoint’s core code from extra resource intensive processing. Unlike web parts, no server-side app code runs on SharePoint’s server.  In return, Microsoft has made a HUGE investment in providing service- based methods for exposing SharePoint’s object library to code running on other servers.

SharePoint’s New App Model  From a GUI perspective, apps appear:  Within iFrames inside of SharePoint pages using App Parts OR  As full web sites running on a different server using SharePoint’s available client-side libraries and web services to bring in SharePoint’s design theme.  In either case, your app’s server-side code does not run in SharePoint  Your app’s server-side code can either run in an auto-hosted Azure space, or on your own server infrastructure, via the provider-hosted app model.  For the purposes of this presentation, we’ll focus on the latter

Why choose the Provider-Hosted hosting method?  Your app might need to run behind a corporate firewall; for whatever reason, hosting it in the cloud is a no-no.  Your app’s server-side code is PHP, JSP, etc…  SharePoint 2013 is just one of many clients for your web application  You just like the control of directly running your own app

I’ll show you how we turned this:

Into that:

Assumptions for this presentation  You have a SharePoint 2013 Office 365 Developer Site:  Free 30 Day Trial Available, $100 a year afterward   Free for MSDN Premium and Ultimate Subscribers  Can be provisioned from Office 365 E1 or E3 plans  You have Visual Studio 2012 Professional or higher installed, and Microsoft Office Developer Tools for Visual Studio 2012  You have at least Visual Studio 2010 or higher to upgrade the codebase of your existing web application

Assumptions for this presentation  Your existing web application:  is at least a.NET 4.0 web application  Uses some form of internal users database table to manage accounts  We’ll be syncing this later with the Office 365 account

SharePoint Site Setup Some initial setup steps to do on your SharePoint site

Create an App Catalog Site  Click Admin on the top menu and then click SharePoint in the dropdown  Click apps on the right sidebar  Click App Catalog under apps. SharePoint will guide you though creating your App Catalog Site if you don’t already have one

Use appregnew.aspx to create a client secret based relationship with your app  /_layouts/15/appregnew.aspx /_layouts/15/appregnew.aspx

Use appregnew.aspx to create a client secret based relationship with your app  This method does not support multi-tenant uses of your app  Use the Microsoft Seller Dashboard if you want to “sell” your app to multiple SharePoint installations  Your app Domain will need to include a specific port number if it won’t be running on a standard SSL port.  Make sure you write down the information created. It will be necessary when packaging your app.

Building Your App In Visual Studio 2012 How to build your on-premise app

Create your app in VS I Specify your SharePoint 2013 site Make sure your select “Provider-hosted” for where you want to host your app.

Create your app in VS2012- II Specify Use client secret when setting up authentication

Create your app in VS2012- III  Your new solution contains two projects:  The SharePoint 2013 App project  A matching web application project that Visual Studio assumes will be your provider hosted app. For the purposes of this walkthrough you can ignore it.

In your appManifest.xml file, specify the start page of your app

Then update the code of your AppManifest.xml file to include your client ID.

Add an app part to embed an interface inside a SharePoint page

Now Publish your app to create an.app file. You’ll be asked for your Client ID and Secret. Enter them in the wizard. Also, specify the website your app will be hosted it’s OK to specify an SSL address that doesn’t exist. For our method of deployment, it doesn’t matter

Publish your app to SharePoint Make it available for your site collections

Upload your app file to the SharePoint developer site.  Go to your App Catalog Site, and click the Distribute apps for SharePoint tile

Upload your app file  Click new app, and upload the.app file the Visual Studio publishing tool created.  After the upload, add any additional information for your catalog entry:

We’re half done!!! Now we need to make your web application talk to SharePoint

Web Application Updates Updates you can make

Install the SharePoint Server 2013 Client Components SDK   Install it on the web server that will be hosting your provider-hosted app  Also, install it on any development workstations that do not have Visual Studio 2012 installed, but will be used to update the web application’s code.

Also install Microsoft Identity Foundation 

In your Visual Studio web project, add..  TokenHelper.vb or TokenHelper.cs  Can be cut and pasted from the Visual Studio 2012 app project.  Should also be available online  Also add the following references  Microsoft.IdentityModel – Set Copy Local to true  Microsoft.IdentityModel.Extensions – Set Copy Local to true  Microsoft.SharePoint.Client – Set Copy Local to true  Microsoft.SharePoint.Client.Runtime – Set Copy Local to true  System.IdentityModel  System.Web.Extensions  System.ServiceModel  System.Web.Extensions

Add your ClientId and ClientSecret to the web.config file of your application  The default TokenHelper code reads these  Now that both your SharePoint App and your Web Application have them, there is a basis for them to trust each other!

On the start page of your app, determine the user’s identity Leverage this against your user’s table to determine the user accessing your site

Feel free to alter TokenHelper…  For one of our apps, we made a version that can be instantiated, with the client settings then loaded in from a database.  This approach allowed for multiple SharePoint apps to work off the same web application.  Update reference code is attached to this slide.

You should now have a fully authenticated SharePoint 2013 app! Although, it looks nothing like SharePoint probably…

Use the Chrome Control Bring a bit of SharePoint 2013 into your app

The Chrome Control  Essentially, the Chrome Control uses JavaScript to:  load in the style sheet from your SharePoint site  Integrate a top navigation bar you can customize.  For more info:

Update your web application’s GUI Code  Minimize how your application’s style sheet interferes with SharePoint’s style sheet.  Use my ThemeHelper class to bring SharePoint colors into your style sheets  Theme-Colors-Into-Your-Apps Theme-Colors-Into-Your-Apps  This is a HUGE timesaver if it can be assumed your App will have Manage rights for the SharePoint site  If Your Have More Time….  Adopt SharePoint styles instead of using your web application’s styles so that your application’s design changes properly when an end-user changes their SharePoint theme. See if the overall layout of your web application fits SharePoint’s Modern UI look and feel.

Let’s dive into some code! A look at how Authentication is working, the Chrome Control, and ThemeHelper!

Summary  It doesn’t take long to get a legacy.NET application connected to a SharePoint 2013 Office 365 site, complete with seamless authentication  You can enjoy the relative inexpensiveness and availability of a SharePoint 2013 Office 365 site, while pulling in legacy applications hosted elsewhere  The price for each Office 365 E1 user is only $8.00 a month, and also includes Hosted , Office Web Apps, Lync, Skydrive Pro  We really haven’t touched the surface of what SharePoint apps can actually do with the SharePoint object model. All we did was authenticate, but there’s tons more available via the SharePoint.Client library