Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.

Slides:



Advertisements
Similar presentations
Bob German Principal Architect Introduction to Cloud Hosted Apps Your apps here!
Advertisements

@jerry_yasir SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Extending Your Reach with SharePoint and Office. Ignite: Office SharePoint Azure.
Microsoft SharePoint 2010 technology for Developers
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National Architect Neudesic Ryan McIntyre, MCITP, MCPD National Architect.
Power BI Sites and Mobile BI. What You Will Learn Sharing and Collaboration Introducing Power BI Exploring Power BI Features and Services Partner Opportunities.
App for SharePoint (*.app) Widgets Dashboards Data roll ups.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
SharePoint 2010 First Look: What's new for Developers in Microsoft SharePoint 2010 Matthew McDermott, MVP Aptillon, Able
Development models for on-premises Transformation approaches Farm solution considerations.
Silver SponsorsGold Sponsors Bronze Sponsors SharePoint App Model Redefine your SharePoint Customisation Erwin Tsai SharePoint Solution Architect Techfly.
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
SharePoint Server 2013 Architecture and Identity
Enterprise Collaboration Strategist Author, Blogger, Speaker.
Creating a SharePoint App with Microsoft Access Services
©2012 Microsoft Corporation. All rights reserved..
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 15 Technical Preview and published July Thierry Gasser TSP
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Any device, anywhere, anytime New discovery channels New ways of working Redefined expectations for apps.
SPC204 Security Problems in SharePoint 2010 Authentication and Authorization.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
Sharing Geographic Content
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
First Look Clinic: What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Sayed Ali (MCTS, MCITP, MCT, MCSA, MCSE )
Refine Author business logic Customize screen layouts / branding Define custom queries Extend Explore ecosystem components Create custom controls.
Bob German Principal Architect A New on SharePoint Development Building Light-Weight Web Parts with AngularJS
Office 365 Platform Flexible Tools Understand different provisioning options and their advantages and disadvantages…
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Search 2013 Thierry Gasser Technical Solution Professional (TSP)
How to build an App Deep dive into the capabilities of Apps Lessons learned.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Windows 8 Application Microsoft Word with Apps For Office Internal O365 SharePoint Site Windows Azure Cloud Services Windows Azure Workflow Server.
Enabling Developers with Development Features Presented by: Ricardo Wilkins SharePoint Solutions Architect.
SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.
TRANSITIONING FULL TRUST CODE TO CLIENT APIS Architecting SharePoint For The Future Chris Domino December 10, 2015.
Yaroslav Pentsarskyy Involved in SharePoint since 2003 SharePoint MVP (2009- Present) Blog: sharemuch.com.
Windows 8 Application Microsoft Word with an app for Office Internal O365 SharePoint Site Windows Azure Web Sites Windows Azure Workflow Service.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Back to Basics A Tour of Microsoft SharePoint. Who am I? Kenny Duenke Lead Systems Analyst RGA
Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP.
One Drive for Business: More Than a File Share Erica Toelle
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Bob German Principal Architect Developing SharePoint Applications with MVC and Entity Framework.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
2012 © Trivadis BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN WELCOME The SharePoint 2013 App Model.
Intro to Apps Anatomy of an App App Architecture.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Virtual techdays INDIA │ November 2010 SharePoint 2010 – Your one stop shop for all portal requirements Saranya Sriram │ Developer Evangelist, Microsoft.
Productivity Architect Meet Chris Bortlik Author, Blogger, Speaker.
Converting SharePoint on- premise Apps to Office 365 Jos Auker-Woor M377.
Demand Management and Workflow
Line of Business Solutions in SharePoint Online
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi Senior Consultant - PiaSys.com Track: DEV | Level:
SharePoint-Hosted Apps and JavaScript
Windows Azure Keenan Newton 3-021
SharePoint Online Authentication Patterns
Getting Started with SP2013 Apps
SharePoint Development
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Introduction to Portal for ArcGIS
Western Mass Microsoft Technology Users Group
Presentation transcript:

Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps

Bob German  SharePoint Principal Architect at BlueMetal Architects  Developer and architect on the SharePoint platform since Site Server 3.0  Co-author of SharePoint 2010 Development with Silverlight for Addison-Wesley BlueMetal Architects  Boston, New York and Chicago.  We strive to build solutions that exactly meet our clients’ needs  SharePoint / Information Management  Data Platforms / Analytics ● Design  Mobile Apps ● Enterprise Apps ● App

A Brief History of SharePoint Development 2007 Well documented model with “Features” and “Solutions” 2010 Added Sandbox Added Client APIs 2013 Deprecated Sandbox Added App Model, more Client APIs Key concept: Microsoft wants us to start developing outside of SharePoint Similar to Facebook and other online service “apps” Code runs in browser or an external web site; access SharePoint via Client API’s Works in Office 365 and other hosted services Helps with stability, upgradability on-premises as well 2003 First.NET version; limited API No documented deployment model ASP Classic “Digital Dashboard” CAML is born

Application code is omnipotent Applications can affect farm stability and scalability Applications can circumvent security Doesn’t play well in shared / multi-tenant environments SharePoint development today is like MS- DOS development was in 1981.

No IsolationProcess IsolationApp Isolation Examples MS DOS, Windows 3.1, Windows 95, Mac OS 9 Windows NT, Windows 7, Mac OS X Windows Phone 8, Android, iOS Validated API protects OS Yes Process memory protection Yes App storage isolation Yes Permission SchemeNoneUser-basedApp-based SharePoint farm Solution SharePoint App

It’s time to rethink how we develop for SharePoint 1.Microsoft wants us to start developing outside of SharePoint 2.Instead of trying to protect SharePoint from code running within it, the Client APIs provide isolation and protection Similar to Facebook and other online service “apps” Code runs in browser or an external web site; access SharePoint via Client API’s Works in Office 365 and other hosted services Better on premises as well! Better stability, upgradability, and control Thinking Outside the Box

Comparing the Models Traditional Solutions Server API Code runs inside SharePoint (farm level or user code service) Deploy in Solutions Gallery (Sandbox or Central Admin) Limited Cloud Support Run as user or be omnipotent Modern Solutions Client API Code runs outside of SharePoint (browser or external web server) Deploy via App Catalog (Enterprise or Office Store) Designed for the Cloud Run with granular App Permissions

The SharePoint App Model Host Web App Web SharePoint Hosted App Provider or Auto-Hosted App App Azure or other provider Host Web App Web (optional) App is installed here App runs here

Browser Based Isolation App Azure or other provider Host Web App Web (optional) Different domain names leverage browsers’ same-origin policy for isolation

The App Model Today

? Will Sandboxed solutions really go away, and when? Where are we supposed to host provider-hosted apps? Will Auto-hosted apps be available on premises? And if they are – will they run on premises or in Windows Azure? Will the app model be another flash in the pan like Sandboxed Solutions or Silverlight? Will Microsoft stop supporting Farm Solutions some day? Will customers migrate to SharePoint Online? What’s a SharePoint Professional to do? Are my customers ready for SharePoint 2013? Can we transition from licenses to hosted services?

Develop Outside the Box Instead of…Start to… Running code on the server  Run code in the browser Using the Server API  Use the Client API Designing solutions the traditional way  Design solutions that are structured like apps Buying products that work only on premises  Buy products that work in Office 365 Office 365? Pretend you might be going to Office 365… It’s a good bet Microsoft will invest in development approaches that work on Office 365 Your on-prem SharePoint farms will enjoy the stability and ease of upgrades that Office 365 demands

Real World Scenario IT Issues Dashboard Visual tracking of issues across a large department Common uses: Track service requests (help desk, etc.) Track workflow performance (used with an audit list) Dashboard to display SharePoint list data The challenge:

demo IT Issues Dashboard Content Editor Web Part SharePoint Hosted App

Develop Outside the Box 1.In the Browser 2.External Web Server Programming in Azure and External Web Sites 3.In Workflow Manager SharePoint 2013 and Workflow Foundation 4.5

demo Site Provisioning Web Part Content Editor Web Part SharePoint Hosted App Client Object Model Lists and provisions child sites using a custom Web Template Common uses: Manage sites within a department site collection Manage project sites Automatic navigation to child sites

Site Provisioning Web Part HTML and CSS Get SP Context Find WebTemplate 5 Create Child Site 3 Get, display sites 3, 4, 5

App Authentication User accesses SharePoint JSOM or REST API’s using inherent SharePoint security already in place Used by Javascript on web pages in App web or using Cross-domain library Only runs as User – no App identity Internal Standard Authorization protocol used in many public web sites (FaceBook, Twitter, Live, Google, etc.) – “Valet Key” to access information Requires external authentication server (e.g. Azure ACS) Office 365 Auto-Hosted Apps automatically set up for OAuth External (OAuth) SharePoint server is configured to trust an external server to authenticate users (Server  Server) No external authentication server – great for on-premises scenarios Uses SSL Certs for simplicity – App code needs access to SSL Private Key External (S2S)

Standard in use by dozens of public sites Similar to a valet key App gives to a partly trusted 3rd party Grants limited access SharePoint grants the app access on the user’s behalf No need to pass the user’s credentials SharePoint can limit the scope of access OAuth – Open Authorization

demo Location Mapping Web Part Provider Hosted App Client Object Model with OAuth Geocodes list items and displays them on a map Event receiver geocodes items Common uses: Display store or customer locations Adapt to plot events or photos on a map Get ready for the new GeoLocation features in SharePoint 2013

Location Mapping Web Part Handle List Event 2 Locations List HTML and CSS Geocode; Update list Get SP Context Display Map GeoLocation Field 1 1

Workflow Manager SharePoint 2013 SharePoint Designer 2013 Visual Studio 2012 SharePoint 2010 Workflow Engine Workflow Manager 1.0 SQL Server and Windows Server ClientOM REST Services  Workflow Manager hosts WF 4.5 workflows  Workflows are 100% declarative  Extend via web services, not installed assemblies

demo Reusable Workflow Steps Reusable workflow step runs in Workflow Manager 1.0 Accesses SharePoint REST API Works with Visual Designer in SP Designer 2013

Microsoft Moved the Cheese Traditional SharePoint Development (Code runs on SharePoint servers) New App Model (Code runs outside of SharePoint) Old Packaging New Approach (Code runs outside of SharePoint) SharePoin t Developer

Resources and Call to Action Prepare for the future – develop outside of SharePoint Update Development Skills Learn client side development (Javascript, jQuery, Client OM, etc.) Learn SharePoint App design patterns Learn Azure and Oauth Develop more in the browser, less on the server Favor client APIs over server APIs Resources Architectural Overviewhttp://bit.ly/FutureProof-A SP-Hosted – Site Creation Samplehttp://bit.ly/FutureProof-B Provider-Hosted – Locations Samplehttp://bit.ly/FutureProof-C Workflow – Site Creation with RESThttp://bit.ly/SiteCreationWorkflow