| Basel Building real Business Apps with Office365/Azure Gilbert Nicolet – BPA Solutions SA.

Slides:



Advertisements
Similar presentations
SharePoint 2010 Overview Presented by: Oscar Garcia
Advertisements

SharePoint 2010 Client Side Object Model. Agenda Introduction The Problem Client side vs Server Side Client Side Object Model – How it works – What can.
Intro to SharePoint 2013 Architecture Liam Cleary.
Power BI Sites and Mobile BI. What You Will Learn Sharing and Collaboration Introducing Power BI Exploring Power BI Features and Services Partner Opportunities.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Development models for on-premises Transformation approaches Farm solution considerations.
Access Web Apps – OK, Now What? EXTENDING ACCESS WEB APPS George Young Dawson Butte Software ACCESS DAY – OCTOBER DENVER,
Creating a SharePoint App with Microsoft Access Services
©2012 Microsoft Corporation. All rights reserved..
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.
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
The new way to work together SharePoint Products Cloud Server Free.
Building Dynamic Applications on both Office 365 and on-premise.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Samuvel Johnson nd MCA B. Contents  Introduction to Real-time systems  Two main types of system  Testing real-time software  Difficulties.
Server-side Scripting Powering the webs favourite services.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
VS Anywhere. Visual Studio Industry Partner VS Anywhere NEXT STEPS Contact us at: Websitehttps://vsanywhere.com Blog- Facebook.
Office 365 Platform Flexible Tools Understand different provisioning options and their advantages and disadvantages…
New SharePoint 2016 Features
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
…. PrePlanPrepareMigratePost Pre- Deployment PlanPrepareMigrate Post- Deployment First Mailbox.
Computer Emergency Notification System (CENS)
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Online Conference June 17 th and 18 th SharePoint Online Administration with PowerShell.
Welcome to Azure App Services! Amie Seisay
Intro to Datazen.
Microsoft ® Official Course Developing a Publishing Site for Web Content Microsoft SharePoint 2013 SharePoint Practice.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Welcome to the Minnesota SharePoint User Group February 13 th, 2013 SharePoint 2013 – Developers Track - Client Side Rendering.
Cloud Roadshow. Advanced SharePoint add-in Development.
Welcome to Azure App Services! Amie Seisay
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
30 Copyright © 2009, Oracle. All rights reserved. Using Oracle Business Intelligence Delivers.
0Copyright 2014 FUJITSU New Zealand Limited FUJITSU CONFIDENTIAL UNLESS SPECIFIED OTHERWISE Microsoft CRM Tablet App for Dynamics CRM 2013 Travis Chen.
Built atop SharePoint Online, WorkPoint 365 Offers a Project and Case Management Solution to Boost Business Productivity and Deliver Governance OFFICE.
Back to Basics A Tour of Microsoft SharePoint. Who am I? Kenny Duenke Lead Systems Analyst RGA
SharePoint ShortUrl and SharePoint Document Merge SharePoint and Office 365 Add-ins to Increase Productivity and Improve User Adoption! OFFICE 365 APP.
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Apps for the modern enterprise INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORM RON COURVILLE.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Converting SharePoint on- premise Apps to Office 365 Jos Auker-Woor M377.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
ESign365 Add-In Gives Enterprises and Their Users the Power to Seamlessly Edit and Send Documents for e-Signature Within Office 365 OFFICE 365 APP BUILDER.
Line of Business Solutions in SharePoint Online
Letsignit, an Automated Signature Solution for Microsoft Office 365 and Microsoft Exchange, Provides Efficiency in Branding and Customization OFFICE.
Microsoft SharePoint Server 2016
0x - Lecture Title Andrew Connell, MVP
SharePoint Online Development Best Practices
Database Driven Websites
Get Enterprise-Grade Call Handling and Control for Microsoft Office 365 and Skype for Business with the Bridge Boss-Admin Executive Console OFFICE 365.
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework
Please thank our sponsors!
The SharePoint framework
Technical Capabilities
Letsignit, an Automated Signature Solution for Microsoft Office 365 and Microsoft Exchange, Provides Efficiency in Branding and Customization OFFICE.
SharePoint Development
Western Mass Microsoft Technology Users Group
Presentation transcript:

| Basel Building real Business Apps with Office365/Azure Gilbert Nicolet – BPA Solutions SA

Agenda BPA Solutions Initial situation Technical considerations Choosen architecture Result Points of interest

| Basel BPA Solutions Chapter 1/6

Building real Business Apps with Office365/Azure Founded in 2001, 20+ SharePoint Experts Business Solutions for SharePoint  BPA CRM  BPA Quality  BPA Risk  BPA Recruiting Offices in CH (HQ) and US 800+ Customers WW 50+ Partners WW 10+ Languages

| Basel Initial situation Chapter 2/6

Building real Business Apps with Office365/Azure Situation end 2011 We had an existing large applications set  Running fine onPremise  Using only SSOM inside c# code (Server Side Object Model) (SPList, SPLIstItem…)  Working with dynamic lists, fields, screens !  BPA Applications are NOT on 365  They can NOT run on 365 AS IS (c#/SSOM) We are not large enough to develop/maintain two different solutions onPremise/onLine

On Premise Screens Dynamic screens with a lot of information quickly available

On Premise Screens Links between webparts and a lot of functions

On Premise Screens Dynamic Popups with Tabs

On Premise Screens Complex functions (incl. e.g. Send )

On premise Screens And a deep query engine

Building real Business Apps with Office365/Azure Goal end 2011 Define/choose the technologies/architecture to provide an application  With (quite) the same features onLine and onPremise  Using the most efficient technologies (speed, capabilities)  Running in the Microsoft 365 Cloud and onPremise with as less differences as possible in the coding  At a competitive price Profits  We were part of the PAB and Office 15 SDR programs, so, we included the future SP15 possibilities in our analysis  We achieved this development with an great help from Microsoft Redmond (Two trips and weekly calls)

| Basel Technical considerations Chapter 3/6

Building real Business Apps with Office365/Azure Summary of a Microsoft SP 15 ‘apps’ solution : To run onLine, we decided to create Apps An App contains  A) html, js, css, site templates, list templates, masterpages, aspx and client webparts without c# run on/from SP servers and on users’ devices  B) aspx with c# run on Azure servers  C) configurations files An App can be deployed «automatically» to  Office365 (A elements)  Azure (B elements) with automatic cross authentication (SP Token) “Client Webparts” must run without c# (only js allowed) but the javascripts can call Azure applications from the client (or use CSOM to get SP data directly) Dynamic ribbon from miscallenaous webparts not possible

Building real Business Apps with Office365/Azure Azure programs are able to Call current SP site with «current SP user» authentication and privileges (CSOM) Call external servers, e.g. SMTP servers Access server’s local data, like Files Run «batch» jobs (batches or repetitive processes) Colocation is available SP webparts and Azure c# part running in the same location

Building real Business Apps with Office365/Azure The way to onLine To port our applications to SP 365, we could pass to  SP+JS (Client webparts with JS)  SP+Azure(C#) Elements to take decision  Response time  CSOM has constraints to obtain good response time.  CSOM Call between servers consumes a bit of time  Executing CSOM requests from laptops won’t help !  All application’s JS on laptop would deliver our sources to clients and competitors  We want to offer quite all our products onPremise AND onLine with one documentation, one training, one development, one maintenance  No dynamic ribbon from multiple webparts

Building real Business Apps with Office365/Azure We imagined some solutions what we discarded. The two last discarded were Most of the code in JS - Security/privacy problems - Speed (many data transfer laptop-server) - JS portability / browser compatibility Port our C# code to Azure and transfer our data to SqlServer + Would be faster than SP at running time - Large parts of the application to redevelop - We would loose all OOB SP feature that our clients love

| Basel Chosen architecture Chapter 4/6

Building real Business Apps with Office365/Azure We kept two architectures Online  C# code on Azure  Data inside SP  Data handling with CSOM  Buttons inside the pages instead of ribbon OnPremise  C# code inside webparts  Data inside SP  Data handling with SSOM  Ribbon Both #if used Problem : CSOM/SSOM

Building real Business Apps with Office365/Azure Webpart onLine global rendering 1- Page+webpart IFrames 2- Light IFrame content 3- WP Request 4- gets data(c#/csom) 5- data back 6- builds html/js part 7- html/js back 8- html/js displayed/used Sharepoint 365 site Azure application Webpart in browser IFrame

| Basel Result Chapter 5/6

Online Screens

| Basel Points of interest Chapter 6/6

Building real Business Apps with Office365/Azure Some technical solutions could be interesting Data accesses Webpart/pages personalization Ribbon Single solution onLine/onPermise

Building real Business Apps with Office365/Azure Data accesses Remember : we use dynamic lists, fields, screens The screens, lists and fields are not “known” by our components. We must read the SP structure. So: We developed a “Data kernel” which :  Handles SP data via CSOM or SSOM  Caches some structure information (lists, fields, views…) in memory and/or serialized filed  Caching system is not 100% the same onLine and onPremise We changed some algorithms to avoid CSOM speed problems  Reduce the number of clientcontext.executequery  Fetch only the necessary data (e.g. only the necessary fields) Remaining problems  Speed  Cache

Building real Business Apps with Office365/Azure Webparts properties Users must be able to add pages and customize them with our application Our webparts have complex properties So:  We store our webparts properties in list  We developed a webpart properties editor  The effective webpart property is just a set of IDs

Building real Business Apps with Office365/Azure Ribbon  On premise, we generate in one single ribbon tab all commands to all webparts displayed on the page  FluentRibbon used in SP2010 onPremise and SP2013 onPremise  We did not find a solution for dynamic ribbon onLine So: We generate ribbon buttons onPremise and normal buttons onLine

Building real Business Apps with Office365/Azure Single solution onLine/onPremise OnPremise webparts are c# with SSOM accesses OnLine webparts are Javascript calling Azure using c# with CSOM accesses So: Our webparts are  Close to empty  Not the same onPremise and onLine  But they at 98% call the same c# code  On the SP Server for onPremise  On Azure server for onLine Functionalities are close to the same Thanks to DataKernel !

Summary  Single solution possible at 90%  SSOM/CSOM or only CSOM  Dynamic Ribbon versus buttons  Performances -> Algorithm  Pages customization by end user For more information