Cloud-based Development with Microsoft Azure and Office 365

Cloud-based Development with Microsoft Azure and Office 365 is an intensive five-day course that teaches students how to develop and deploy custom software solutions to the Microsoft cloud using Microsoft Azure, Office 365 and SharePoint Online. The course examines developing with Microsoft Azure services, extending SharePoint Online and leveraging the authentication services provided through Azure Active Directory. Along the way. students will be exposed to cutting edge topics such as programming with the Microsoft Graph API and developing client-side web parts using the SharePoint Framework.

While this training course covers many different topics, the overall course agenda has been designed as a single, cohesive story to bring software developers up to speed with industry trends and best practices as of the year 2017. For client-side development, this course emphasizes using the single page application (SPA) model, TypeScript and the AngularJS framework. For server-side development, this course emphasizes developing web applications using ASP.NET MVC and Web API.

While this course examines the classic style of development with Visual Studio, it also covers a second style of development which is growing in popularity in the Microsoft developer community. More specifically, the course examines developing software projects using the Node.js platform and a configurable toolchain of cross-platform developer utilities such as Node Package Manager (npm), Bower, Gulp, Yeoman and Visual Studio Code. After taking this course, students will be comfortable with both styles of development and will know which style to choose when starting new software projects.

Förkunskaper

Attendees should have professional development experience with Visual Studio, JavaScript, C#, the .NET Framework and ASP.NET.

Målgrupp

Developers who want to learn to develop solutions for the Microsoft cloud using Microsoft Azure, Office 365 and SharePoint Online.

Module 01: Developer Roadmap for Azure and Office 365

This module provides a developer-centric introduction to Microsoft Azure. Students will learn how the Azure platform is able to provide on-demand services such as web apps and virtual machines which represent the building blocks used to design, implement and deploy custom software solutions to the Microsoft cloud. The module examines SharePoint Online as a development platform and discusses how SharePoint sites can be extended using the SharePoint add-in model, JavaScript injection techniques and the emerging SharePoint Framework. This module demonstrates how to get started developing for the Microsoft cloud using the classic Visual Studio approach based on creating projects and managing NuGet packages. The module also introduces a completely different style of development based on the Node.js platform, Visual Studio Code and a configurable cross-platform toolchain. The module concludes by discussing how to create trial subscriptions and to install the required software to get a development environment up and running for Office 365 and Microsoft Azure.

  • Microsoft Azure Platform Overview
  • Extending SharePoint Online
  • Developing with Azure Active Directory
  • Developing with the Visual Studio Full Stack
  • Developing with Node.JS & Visual Studio Code
  • Getting Started with Office 365 & Microsoft Azure

Module 02: Working with Azure Web Apps and VMs

This module provides an in-depth examination of creating and configuring Azure web apps. Students will learn how to create app service plans, web apps and deployment slots using the Azure portal and also by using Windows PowerShell and Azure Resource Manager Templates. The module examines deployment using continuous integration and development using WebJobs for scenarios requiring the execution server-side code in an asynchronous or an on-demand fashion. The module also examines creating and configuring virtual machines and virtual networks. Students will learn about scenarios where creating dedicated virtual machines provides important advantages over creating web apps.

  • Web Apps and App Service Plans
  • Deployment Slots
  • Continuous Deployment
  • Developing WebJobs
  • Virtual Machines and Virtual Networks

Module 03: Developing Web Apps using MVC

The module provides a quick primer to ensure that all students are comfortable developing server-side applications in Visual Studio using ASP.NET MVC. The module demonstrates creating new MVC projects and extending the routing scheme by adding controllers and action methods. Students will also learn how to write razor views to generate a user interface using C# code mixed together with HTML. The module explains the benefits on working with strongly-typed models and the common design pattern of decoupling MVC controllers from data access code by using interfaces and the principles of code injection. The module concludes with a demonstration of adding MVC forms to an MVC application to collect and validate user input data.

  • ASP.NET MVC Fundamentals
  • Controllers and Routing
  • Implementing Razor Views
  • Designing Strongly-typed Models
  • Adding MVC Forms and Validation

Module 04: Developing Web Apps with AngularJS

The module examines developing client-side web apps using TypeScript and the single page application (SPA) model. The module begins with a primer on developing with the TypeScript language and a discussion of the role that TypeScript definition files play when programming against JavaScript libraries such as jQuery and D3.js. Next, the module introduces students to the AngularJS framework and teaches students how to get started developing web apps using Angular routes, views and controllers. Students will also learn how to create custom Angular services to encapsulate custom business logic and to increase code reusability and maintainability. While this module currently focuses on AngularJS version 1, the modules concludes with a look at AngularJS version 2 and provides a discussion of what is involved when migrating from AngularJS version 1 to version 2.

  • Migrating from JavaScript to TypeScript
  • Introduction to AngularJS
  • Angular Routes, Views and Controllers
  • Creating a Custom Angular Service
  • Migrating from Angular 1.0 to Angular 2.0

Module 05: Programming Azure Storage and Azure SQL

This module explains the role of Azure storage accounts and discusses the various ways that data and content can be persisted in the Microsoft cloud. Students will learn to create and configure storage containers as well as how to write code to store and retrieve files from blob storage. Students will also learn how to use Azure storage to create a content delivery network (CDN). The module demonstrates writing code to persist data into Azure tables and Azure queues and discusses how tables and queues can be integrated into general application development. The modules explains how the Azure platform provides on-demand SQL Databases as a service and walks through creating an Azure SQL database and integrating it into a development project using the Entity Framework.

  • Azure Storage Accounts
  • Blob Storage and File Storage
  • Creating a CDN using Azure Storage
  • Azure Storage using Tables and Queues
  • Creating Azure SQL Databases
  • Developing with the Entity Framework

Module 06: Developing Custom Web Services using Web API

This module examines developing custom web services using the Web API framework in ASP.NET. Students will learn how to implement RESTful web services using API controllers as well as how to call RESTful web services from client-side code running in the browser. The module demonstrates how to create web services with custom routing schemes by using attribute routing. The module also examines the ODATA protocol and how Web API make it relatively simple to create ODATA web services that support ODATA query options such as filtering, sorting and inline count. The module concludes with a discussion of cross-origin resource sharing (CORS) and a walkthrough of using Web API to add CORS support to a custom web service.

  • Introduction to Web API
  • Developing RESTful Web Services
  • Configuring Attribute-based Routing
  • Developing Web Services that support ODATA
  • Cross-Origin Resource Sharing (CORS)

Module 07: Creating SharePoint-hosted Add-ins

This module introduces the SharePoint add-in model and explains the architectural differences between SharePoint-hosted add-ins and provider-hosted add-ins. Students will learn about the security model for SharePoint add-ins and gain an understanding of why add-ins must request and be granted permissions to complete certain types of operations. The second half of the module focuses on developing SharePoint-hosted add-ins using TypeScript and the AngularJS framework to take advantage of Angular application features such as routes, controllers and views. The module also explains how SharePoint add-ins can be used to extend the user interface of a SharePoint site using client-side App Parts and Custom User Actions.

  • SharePoint Add-in Model Overview
  • SharePoint Add-in Security and Permissions
  • Using TypeScript with SharePoint-hosted Add-ins
  • Using AngularJS with SharePoint-hosted Add-ins
  • Developing Add-ins with Client-side App Parts
  • Extending SharePoint sites with Custom User Actions

Module 08: Programming the SharePoint REST API

This module examines the fundamentals of REST and the OData protocol and explains the architecture and purpose of the SharePoint REST API. Students will learn how to formulate REST URIs which target SharePoint objects such as sites, lists and list items and how to execute asynchronous REST API calls using the AngularJS framework. The module steps through how to use the SharePoint REST API to implement the full range of CRUD behavior in a SharePoint-hosted add-in by creating, reading, updating and deleting items in a SharePoint list. The module demonstrates how to implement paging with SharePoint list items using skip tokens returned by the SharePoint REST API. Students will also learn advanced OData programming techniques in SharePoint Online for dealing with the request digest and using verbose metadata and eTags to implement optimistic concurrency when performing updates.

  • Understanding REST and ODATA
  • The SharePoint REST API
  • Programming the SharePoint REST API
  • Paging SharePoint List Items
  • Modifying SharePoint List Items

Module 09: Creating Provider-hosted Add-ins

The module examines the architecture of a provider-hosted add-in and explains how SharePoint launches this type of add-in using an HTTP redirect to initialize the add-in with a user identity and a SharePoint-specific context. The module also explains how provider-hosted add-ins rely on external authentication which requires extra code to acquire and manage access tokens. Students will learn the best practice of developing provider-hosted add-ins using ASP.NET MVC with a common design pattern which tracks per-user session state in order to cache user context and access tokens across requests. The module also demonstrates how to design a provider-hosted add-in as a single page application (SPA) in which client-side JavaScript code programs directly against the SharePoint REST API using the Cross Domain Library. The module concludes with an examination of SharePoint’s support for remote event receivers and a walkthrough of how to design a provider-hosted add-in with remote event handlers.

  • Architecture of a Provider-hosted Add-in
  • Creating Provider-hosted Add-ins using MVC
  • Acquiring and Managing Access Tokens
  • Working with the Cross Domain Library
  • Implementing Remote Event Receivers

Module 10: Programming the Client-side Object Model (CSOM)

This module examines how to program against SharePoint sites using the Client-side Object Model (CSOM). The module demonstrates using CSOM in common scenarios including the development of Windows Console applications, PowerShell scripts and provider-hosted add-ins. Student will learn about common CSOM programming techniques to authenticate the user and to authenticate the SharePoint add-in itself. The module explains how to write more efficient CSOM code to optimize the amount of data sent across the wire. Students will also be introduced to concepts of remote provisioning and will learn best practice techniques for using CSOM to create site columns, content types and custom lists in a SharePoint site.

  • Understanding CSOM Architecture
  • Writing Code to Authenticate Users and Add-ins
  • Optimizing CSOM Code
  • Remote Exception Handling
  • Creating Site Columns, Content Types and Lists

Module 11: Publishing and Installing SharePoint Add-ins

This module examines how to manage the lifecycle of SharePoint add-ins in the SharePoint Online environment. Students will learn how to package SharePoint add-ins as well as how to publish them using an App Catalog site in SharePoint Online. The module explains the differences between installing a SharePoint add-in at site scope versus tenancy scope. Students will also learn how to upgrade SharePoint-hosted add-ins using feature upgrade techniques to replace files in the app web with updates versions. The module concludes by discussing the steps involved with deploying a provider-hosted add-in in the SharePoint Online environment which involves creating a new Azure web app and configuring it to host the remote web in the Microsoft cloud.

  • The App Catalog Site in SharePoint Online
  • Packaging and Publishing SharePoint Add-ins
  • Installing SharePoint Add-ins
  • Upgrading SharePoint-hosted Add-ins
  • Deploying Provider-hosted Add-ins

Module 12: Using JavaScript Injection in SharePoint Sites

The module explains the fundamental concepts of JavaScript injection and demonstrates how scripts containing custom JavaScript code can be uploaded to SharePoint Online and executed using the permissions of the current user. Students will learn how to extend a SharePoint site by adding new pages and custom JavaScript code which programs against SharePoint’s JavaScript Object Model (JSOM) and the SharePoint REST API. The module then explains how to use remote provisioning to effectively deploy a custom solution which uses JavaScript injection. The module discusses loading JavaScript library dependencies using ScriptLinks as well as how to extend the SharePoint site using custom user actions such as ribbon buttons and ECB menu commands. Along the way, students will also learn how to use JSLink and client-side rendering techniques to create SharePoint lists with customized views.

  • Enabling Scripting in SharePoint Online
  • Understanding JavaScript Injection
  • JSOM Programming
  • Remote Provisioning using CSOM
  • JSLink and Client-side Rendering

Module 13: Developing with the SharePoint Framework

In August of 2016, Microsoft released its first “developer preview” of the SharePoint Framework (SPFx). This module provides an introduction to SPFx and explains why this new client-side framework represents the future of the SharePoint development platform. Students will learn how to set up an SPFx development environment by installing Node.js and cross-platform developer utilities such as Gulp, Yeoman and Visual Studio Code. Students learn how to leverage the SPFx templates provided by Microsoft to create a new SPFx project as well as how to implement a client-side web part with an interactive user experience using the React.js JavaScript library. The module explains how to use the SharePoint Workbench to run and debug SPFx projects both locally and in the SharePoint Online environment. The module concludes with a discussion of how SPFx projects are deployed with the assistance of a content delivery network (CDN).

  • SharePoint Framework Overview
  • Embracing the Cross-platform Toolchain
  • Developing Projects using Visual Studio Code
  • Running Projects in the SharePoint Workbench
  • Programming SharePoint Framework APIs
  • Developing Client-side Web Parts using React.js

Module 14: Authenticating with Azure Active Directory

This module begins with a quick primer on OAuth 2.0 and OpenID Connect and then moves on to discuss the Azure Active Directory security model which involves user authentication, application authentication and an authorization scheme based on configurable permissions. The module teaches students how to create and configure Azure AD applications in the Azure portal as well as how to configure support for common OAuth 2.0 authentication flows using authorization codes, client credentials and implicit flows. Along the way, students will learn best practices for programming authentication against Azure Active Directory in server-side MVC web apps as well as in client-side web apps built using AngularJS.

  • Understanding OAuth 2.0 and OpenID Connect
  • The Role of Azure Active Directory
  • Creating & Configuring Azure AD Applications
  • Programming Authentication with MVC
  • Programming Authentication with AngularJS

Module 15: Programming the Microsoft Graph API

This module introduces students to the Microsoft Graph API and explains how this powerful library abstracts away the divisions between Azure Active Directory, Exchange Online, SharePoint Online and OneDrive to create a single, unified API for general application development. Students will learn how to program against the Microsoft Graph API using direct REST calls and also by using the .NET client library which abstracts away the low-level details of executing and managing REST calls across the network. The module demonstrates how to use the Microsoft Graph API to create and manage users and groups within the context of an Office 365 tenancy. Students will also learn to use the Microsoft Graph API to read, create and send Exchange objects for the current user such as email messages and calendar events. Along the way, the module demonstrates writing code to upload files and documents to the OneDrive site for the current user.

  • •Overview of the Microsoft Graph API
  • •Developing with the Microsoft Graph API
  • •Creating Users and Groups in Office 365
  • •Programming Messages and Calendar Events
  • •Managing Files and Documents in OneDrive

Module 16: Designing Scalable Azure Applications

This module examines common design patterns used to achieve scale and resilience in Microsoft Azure. Students will learn how to implement transient fault handling and how to disable application request routing affinity. The module explains how Azure Service Bus makes it possible to implement an advanced communications strategy to improve application scale and availability. Students will learn to work with Service Bus objects such as relays, queues, topics, subscriptions, event hubs and notification hubs. The module concludes by explaining how to leverage the Azure Redis Cache to scale a multitier application.

  • Design Patterns for Scale and Resilience
  • Implementing a Communications Strategy
  • Service Bus Relays and Queues
  • Service Bus Topics and Subscriptions
  • Event Hubs and Notification Hubs
  • Working with the Azure Redis Cache

Boka kursen

Boka din plats redan idag.

Om kursen

Pris: 35 450,00 kr

exklusive moms

Längd 5 dagar
Kurskod A311

KompetenskortKompetenskort gäller på denna kurs

Boka kursen

Välj ort och kursstart

9 oktober

4 december

Kunduppgifter