SHAREPOINT 2013 FOR IT PROFESSIONALS 4 DAYS ADS2013: App Development with SharePoint 2013 AUDIENCE FORMAT COURSE DESCRIPTION.NET Developers Instructor-led webcast with hands-on labs This 4-day course explores the techniques and strategies required to develop, test, debug and publish apps created using the new App Model introduced by SharePoint 2013. Students will learn about the strengths and weaknesses of each of the three app hosting models: SharePoint-hosted apps, provider-hosted apps, and autohosted apps. Students will also learn about developing apps for both the Office 365 environment and for a SharePoint 2013 on-premises environment. This course provides in-depth discussions and lab exercises to reinforce the development skills required for app development including programming with JavaScript, jquery, the SharePoint REST API and the Client-side Object Model (CSOM). Students will also learn how to create and manage access tokens in order to authenticate REST API calls and CSOM calls using the server-to-server (S2S) authentication protocol in on-premises environments and the industry-standard OAuth protocol in the Office 365 environment. This course also teaches students how to manage the lifecycle of a SharePoint app in the Office 365 environment as well as in a SharePoint 2013 on-premises environment. Students will learn about the fundamentals of app packaging, app publishing, app installation and app versioning. The course teaches students how to publish SharePoint apps to the public Office Store to make them available in Microsoft's global marketplace where they can be purchased and installed by SharePoint customers around the world. STUDENT PREREQUISITES Attendees should have professional development experience with Visual Studio, the.net Framework and ASP.NET. We also recommend (but don t require) that attendees have previous hands-on experience with the SharePoint platform plus experience using HL5, CSS3, JavaScript and jquery. Course Modules 1. The SharePoint App Model 2. JavaScript and jquery Primer 3. SharePoint-hosted Apps 4. Programming Apps Using the REST API 5. Provider-hosted Apps 6. App Authentication Using S2S Trusts 7. CSOM Programming 8. Building Apps with SharePoint Services 9. Publishing, Installing and Versioning Apps 10. App Authentication Using OAuth 11. Autohosted Apps for Office 365 12 Publishing Apps to the Public Office Store 866.475.4440 Info@CriticalPathTraining.com www.criticalpathtraining.com
MODULE 01: The SharePoint App Model This module examines the architecture and fundamental concepts of the new App Model that was introduced with the release of SharePoint 2013. Students will learn about the three app hosting models: SharePoint-hosted apps, provider-hosted apps and autohosted apps. Students will also learn how to get started developing and testing SharePoint apps with Visual Studio 2012 in both the Office 365 environment and a SharePoint onpremises environment. This introductory module concludes with a quick primer on creating a user interface design using HL5 and CSS3. Introduction to SharePoint Apps Overview of App Development SharePoint Apps Using Visual Studio Working with HL5 and CSS3 Hands-on Lab: Getting Started with SharePoint App Development Exercise 1: Creating a New Developer Site for Testing Exercise 2: Creating and Debugging a SharePoint-Hosted App Exercise 3: Creating and Debugging a Provider-Hosted App MODULE 02: JavaScript and jquery Primer This modules begins by reviewing essential concepts and syntax for JavaScript programming including working with functions, objects, closures, prototypes and modules. Students will also be given a quick primer on leveraging the jquery library to achieve higher levels of productivity when programming with JavaScript. The last section of this module examines how to create more sophisticated user interface designs using the jquery UI library. JavaScript Programming Writing Reusable JavaScript Libraries The jquery Library with the jquery UI Library Hands-on Lab: Programming with JavaScript and the jquery Library Exercise 1: Adding Client-side Behavior to Pages Using JavaScript Exercise 2: Writing JavaScript Code Using Modules Exercise 3: Programming JavaScript Using the jquery Library Exercise 4: Improving the User Experience Using the jquery UI Plugin MODULE 03: SharePoint-hosted Apps This module provides an in-depth examination of the supporting architecture for SharePoint-hosted apps. Students will learn about the role of the app web and how to design the user interface for an app start page. Students will also learn how to leverage the app web as a storage container for creating lists and document libraries that are private to the app. The module concludes with a discussion on how to develop and test app parts in the host web where the app is installed. SharePoint-hosted App Architecture Understanding the App Web User Interface Design Techniques Creating Lists and Document Libraries App Parts Hands-on Lab: a SharePoint-hosted App Exercise 1: Designing the Start Page Using an HL5 Layout Exercise 2: Adding Lists and Document Libraries to the App Web Exercise 3: Displaying a List using a Web Part Page Exercise 4: and Testing an App Part
MODULE 04: Programming Apps Using the REST API This module introduces the essential concepts and programming techniques required to call web services that have been created according the principles of REST and the OData protocol. Students will learn how to create the URIs required to execute queries against the SharePoint REST API that involve selecting columns, filtering and ordering. Students will also learn how to leverage the jquery library to execute REST API calls and to manage OData results returned from the SharePoint host environment. REST and OData Primer Executing REST API Calls Using jquery isplaying OData Results on a Page Reading and Writing SharePoint List Items Querying for External Data Using the Web Proxy Hands-on Lab: Programming Against the SharePoint REST API Exercise 1: Executing OData Queries Using the Browser Exercise 2: Making REST API Calls from a SharePoint-hosted App Exercise 3: Rendering OData Results Using the jsrender Library Exercise 4: Creating and Updating List Items Using the REST API MODULE 05: Provider-hosted Apps The module begins with an in-depth examination of the architecture of a provider-hosted app. Students will learn how to create a user interface experience in the pages of the remote web using a customer master page and the SharePoint 2013 Chrome Control. The module discusses how to write and test server-side code which leverages ASP.NET and the libraries of the.net Framework. Student will learn how to create remote event receivers as well as how to implement the remote web of a provider-hosted app in Visual Studio 2012 using an ASP.NET MVC4 project. User Interface Design for the Remote Web Writing and Debugging Server-side C# Code Remote Event Receivers Using the Cross Domain Library App Development Using ASP.NET MVC4 Hands-on Lab: a Provider-hosted App Exercise 1: Creating a Provider-hosted App Project in Visual Studio 2012 Exercise 2: Writing and Debugging Server-side Code Exercise 3: Creating a Remote Event Receiver Exercise 4: Using the Cross Domain Library Exercise 5: Creating a Provider-hosted App using MVC4 MODULE 06: App Authentication Using S2S Trusts This module examines how to develop provider-hosted apps with a server-to-server (S2S) trust in a SharePoint 2013 on-premises environment. Students will learn how to create a test certificate and how to configure an S2S trust. Students will also learn how to create a provider-hosted app project that uses an S2S trust, making it possible to execute authenticated web service calls back to the SharePoint host environment. The module also includes a discussion of using the TokenHelper class to create access tokens and pass them to the SharePoint host when making authenticated calls. Architecture of an S2S Trust Understanding App Security Principals Configuring an S2S Trust Creating and Managing S2S Access Tokens Hands-on Lab: Apps that Authenticate using S2S Trusts Exercise 1: Creating a Test SSL Certificate for Testing Purposes Exercise 2: Registering a Security Token Issuer in an On-premises Farm Exercise 3: Configuring an S2S Trust for a Provider-hosted App Exercise 4: Passing S2S Access Tokens when Making REST API Calls
MODULE 07: CSOM Programming This module introduces students to programming with the Client-side Object Model (CSOM) in SharePoint 2013. Emphasis is placed on writing server-side C# code in the remote web using CSOM and executing queries efficiently. Students will learn how to leverage CSOM to create lists and document libraries in the host web during app installation. Students will also learn how to use CSOM to register remote event receivers for the purpose of adding behaviors to list and document libraries that have been created in the host web. Getting Started with the CSOM Optimizing the Execution of CSOM Queries Creating Lists and Document Libraries Registering Remote Event Receivers Hands-on Lab: Programming a Provider-hosted App Using the CSOM Exercise 1: Creating an App with an App Initialized Event Handler Exercise 2: Using CSOM to Create New Lists and Document Libraries Exercise 3: Using CSOM to Register a Remote Event Receiver Exercise 4: Extending the Host Web Using Custom Actions MODULE 08: Building Apps with SharePoint Services This module discusses how to incorporate SharePoint 2013 services into the design and implementation of a SharePoint App. You will learn how to create SharePoint Apps that consume services from the Business Data Connectivity Services (BCS), the Secure Store Service the Managed Metadata Service, the User Profile Service and the SharePoint Search Service. Business Connectivity Services (BCS) Secure Store Service Managed Metadata Service User Profile Service SharePoint Search Service Hands-on Lab: Building Apps which Leverage SharePoint 2013 Services Exercise 1: an App with an External Content Type Exercise 2: Caching Authentication Credentials Using the Secure Store Service Exercise 3: Programming with the Managed Metadata API Exercise 4: Programming against the User Profile Service Exercise 5: Programming against the SharePoint Search Service MODULE 09: Publishing, Installing and Versioning Apps This module discusses how to manage the lifecycle of a SharePoint app in a production environment. Students will learn how to create an App Catalog site and how to publish SharePoint apps. Students will also learn about the differences between site-scoped app installation and tenancyscoped app installation. The module concludes with a discussion of app versioning and strategies for evolving the behavior of an app over time. App Packaging Publishing Apps to the App Catalog Installing and Configuring Apps Versioning Apps Hands-on Lab: Publishing and Installing Apps Exercise 1: Examining the Contents of a.app File Exercise 2: Creating an App Catalog Site Exercise 3: Publishing and Installing a SharePoint-hosted App Exercise 4: Installing a SharePoint-Hosted App at Tenancy Scope
MODULE 10: App Authentication Using OAuth This module discusses how to develop and test cloud-hosted apps in the Office 365 environment that use the OAuth authentication protocol. Students will learn about the underlying architecture and essential concepts of the OAuth protocol. Students will also learn about the important role that Windows Azure Access Control Service (ACS) plays in the Office 365 implementation of the OAuth protocol. This module will also provide detailed coverage on using the TokenHelper class in a Visual Studio project to program against context tokens, refresh tokens and access tokens. OAuth Architecture Registering App Security Principals in Office 365 Configuring OAuth in a Provider-hosted App Making CSOM and REST API Calls Using OAuth Caching Refresh Tokens and Access Tokens Hands-on Lab: Authenticating a Provider-hosted App Using OAuth Exercise 1: Registering an App Security Principal in Office 365 Exercise 2: Programming CSOM Using OAuth Exercise 3: Programming REST API Calls Using OAuth Exercise 4: Caching Refresh Tokens and Access Tokens MODULE 11: Autohosted Apps for Office 365 This module discusses how to develop and configure autohosted apps for the Office 365 environment. Students will learn about the integration between the Office 365 environment and Windows Azure which automatically deploys the remote web associated with an autohosted app during app installation. Students will also learn trick and techniques that make developing autohosted apps much easier than developing a provider-hosted app. This module concludes with a discussion on how to configure an autohosted app to automatically create a SQL Azure database during app installation. Autohosted App Architecture Authenticating Using OAuth Packaging and Installation Integrating a SQL Azure Database Hands-on Lab: and Debugging a Hosted-hosted App Exercise 1: Creating an Autohosted App Project Exercise 2: Testing and Debugging an Autohosted App Exercise 3: Adding Support for a SQL Azure Database MODULE 12: Publishing Apps to the Public Office Store This module discusses how to package and publish a SharePoint app to the public Office Store to make it available in Microsoft's global marketplace. Students will learn about creating a Seller Dashboard account as well as the app requirements that must be met before publishing a SharePoint app to the Office Store. The module concludes with a discussion about the differences between publishing SharePoint-hosted apps versus provider-hosted apps versus autohosted apps to the Office Store. The Office Store The Seller Dashboard Publishing SharePoint-hosted Apps Publishing Provider-hosted Apps Publishing Autohosted Apps Hands-on Lab: Publishing Apps to the Office Store Exercise 1: Register an Account with the Seller Dashboard Exercise 2: Publishing a SharePoint-hosted App to the Office Store Exercise 3: Publishing an Autohosted App to the Office Store 866.475.4440 Info@CriticalPathTraining.com www.criticalpathtraining.com