SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Pallav Mathur | SharePoint Consultant
SharePoint Add-ins
– A Brief Overview
NOUSINFOSYSTEMS
L E V E R A G I N G I N T E L L E C T
2SharePoint Add-ins – A Brief Overview
ABSTRACT
The SharePoint Development model has
been constantly evolving over the last
several years. In particular, the core
philosophy behind SharePoint Develop-
ment has changed. The SharePoint App
Model or the Add-in has placed increased
emphasis on increasing code scalability
and decoupling the code from the Share-
Point stack as much as possible. In line
with this, code has been deliberately
hosted outside SharePoint and communi-
cation with SharePoint would happen
using Client side code, Rest APIs and
other client libraries. The other advantage
of decoupling the code is that it helps in
moving towards a digital marketplace
where each application has to be indepen-
dent of each other. In recent years, Office
Store has been growing rapidly and Share-
Point Add-in can act as the perfect tool for
small and large enterprises alike to launch
their products in the digital marketplace.
Based on business needs, enterprises can
choose from a couple of flavors of Share-
Point Add-in. In this whitepaper, we take
you through the pros and cons of using
both the flavors which would ultimately
help you to make an informed decision.
INTRODUCTION
The add-in model for SharePoint
(formerly known as the ‘App Model’) is a
major shift in development practices for
Office 365 and SharePoint 2013.
Microsoft is strategically investing in
cloud technologies and moving towards
Software-as-a-Service and subscription
based applications. SharePoint being
Microsoft’s flagship platform for content
management, SharePoint Add-ins (previ-
ously named as SharePoint Apps) are a
step towards achieving this goal.
SHAREPOINT ADD-IN
SharePoint Add-ins are self-contained extensions of SharePoint websites that we can create, and run without
custom code on the SharePoint server. Being an independent entity, SharePoint Add-In brings a lot of flexibility.
As per market trends, Office Store is a fast growing market segment and SharePoint Add-ins are tools for businesses
to promote their products in the digital marketplace. The Office Store has provided a platform for small businesses
to promote and sell their products as SharePoint Add-ins. For large enterprises, it has helped them to make their
business to become ‘Cloud-ready’.
3SharePoint Add-ins – A Brief Overview
Subscription based Application: End user can Add/Remove applications as per need without affecting the
core business.
Pay-as-you-go Facility: Pay for application based on its usage.
Office 365 Compatible: SharePoint Add-ins can be used to develop apps for both on premise and Office 365
environments.
Fast Go-to-market Capability: Using NAPA and other browser based tools, simple SharePoint Add-in can be
built rapidly to fulfill basic needs.
Portability / Maintenance / Easy Enhancements / Reusability: These are some of the hidden built-in features
that come along with SharePoint Add-Ins.
SHAREPOINT
DEPLOYMENT MODEL
SharePoint farm is an infrastructure inten-
sive platform. Even though it provides a lot
of Out-of-the-Box functionality, very often
it has to be customized to suit specific
business needs. Server side customiza-
tion always comes with a risk of bad code
bringing down the complete infrastruc-
ture. This is where Add-ins provide great
extensibility by allowing customization of
the system without affecting the hosting
environment. Developers have 2 options
to choose from, for deployment depend-
ing upon compatibility and external
integrations.
SHAREPOINT
HOSTED
All artifacts (JavaScript files/CSS/page
layouts etc) in SharePoint Hosted Add-in
get deployed to ‘App Web’, which is a sepa-
rate web under the ‘Hosted Web’. App web
is on a sub-domain where the application
resides. Whenever users request for the
app, they get redirected to the page where
the application resides and gets rendered
in SharePoint inside an iFrame.
No server side code is allowed in Share-
Point Hosted App which means we can
only use JSOM / REST for development
and not CSOM or Compiled code.
Typically, the development of SharePoint
Add-ins necessitates the incorporation of
data from various sources. However, for
security reasons, there are protocols that
prevent communication with more than
one domain at a time. These security
protocols are implemented in most
browsers, making it difficult or impossible
to accomplish client-side calls across
domains.
PROVIDER
HOSTED
Provider Hosted Add-in can use all the
components from SharePoint Hosted
add-in. Apart from this, it has a remote
component, like a separate web applica-
tion, service or database which is not part
of SharePoint Hosting. External compo-
nent need not to be in Microsoft Stack.
Any hosting framework can be used for
the Provider.
If the remote component is implemented
using .NET, then we can use SharePoint
Client-Side Object Model (CSOM) to
access SharePoint services and resourc-
es. For the remote component that is not
based on .NET, there are REST/OData
APIs which can be used. JSOM libraries
cannot be used on remote page, but
provider-hosted add-ins can have custom
SharePoint pages in an add-in web and
JavaScript on these pages can use the
JSOM library.
Provider hosted Add-in has a special
chrome control that can be used to
provide remote pages in add-in, a Share-
Point look and feel.
Client-side communication is bound only
to that domain. Since Add-in is deployed
to a separate domain, cross-domain
communication is a technical challenge if
we need to access resources in Add-in
web from Host web. SharePoint has a
cross-domain library which is a client-side
alternative in the form of JavaScript file
(SP.RequestExecutor.js) that is hosted on
the SharePoint website and can be refer-
enced in remote add-in.
4SharePoint Add-ins – A Brief Overview
AUTHENTICATION &
AUTHORIZATION
SharePoint Add-in must specify, through
the add-in manifest file, the permissions
an add-in needs to access SharePoint
resources outside the add-in web (The
add-in automatically has full control
permission to the entire add-in web).
When the add-in is designed to be
launched from within SharePoint, the
add-in installation infrastructure prompts
the user who installs the add-in to grant or
deny the needed permissions.
SharePoint Hosted Add-in uses ‘signed-in’
user privilege for Authentication and
Authorization. It requests a specific set of
permissions when they are installed. If the
current user has the ability to grant the
App those permissions, then the applica-
tion can be installed. It uses the Share-
Point inbuilt security and Add-in code runs
under signed in user’s context.
5SharePoint Add-ins – A Brief Overview
Provider Hosted App can be authenticated with ACS (Azure Access Control Servicer) OR digital
certificate. One of the main questions in Provider Hosted Add-in is how will it be authorized to
interact with SharePoint for its resources.
There are three options present for authorization in Provider-Hosted add-in
Low Trust:
It can register with ACS which will issue a token to the Add-in that will allow it to
access the resources in SharePoint where it is installed. ACS will play the role of
trusted token issuer in an OAuth 2.0 authentication flow. OAuth is required whenev-
er we are calling SharePoint from a remotely hosted web application that can’t use
client-side code exclusively.
High Trust:
This type of trust is established using digital certificate. The high-trust system is
primarily intended for add-ins whose remote components are hosted on premise.
Cross-Domain Library:
It lets users to interact with more than one domain from the remote components of
add-in through a proxy. If client-side code and the permissions of a user who is
signed into SharePoint are sufficient, the cross-domain library is a good option. The
cross-domain library is also convenient whenever you are making remote calls
through a firewall.
CONCLUSION:
In summary, SharePoint and Office 365 are here to stay. SharePoint is a
service, just like Exchange or Salesforce or Outlook.com or GMAIL or GitHub.
They want customers to think of it as a service that they can subscribe to. The
On-premise offering will continue to be an integral part of enterprise environ-
ments since a large percentage of customers who bought into massive
deployments are currently storing large volumes of data on premise. There
are also very real challenges to migrating to the cloud including regulatory or
legal challenges.
This is a great time to re-visit customized applications and code and move
them away from SharePoint, thereby using SharePoint as a Product and not
as a platform. Enterprises can get the best out of SharePoint by using
Out-of-the-Box functionalities and configurations by building applications
outside of SharePoint.
ABOUT NOUS INFOSYSTEMS
Nous Infosystems is a CMMi Level 5 SVC + SSD v1.3, ISO 9001:2008, and ISO/IEC 27001:2013 certified global Information Technology firm
providing software solutions across a broad spectrum of industries. Major offerings include Digital Transformation, Application Development
& Maintenance, Enterprise Application Integration, Product Engineering, Business Intelligence, Independent Testing and Infrastructure
Management Services.
For more information,
Please visit - www.nousinfosystems.com, www.testree.com, www.vserve247.com or mail us at info@nousinfo.com
Copyright© Nous Infosystems. All rights reserved.
ABOUT AUTHOR
Pallav Mathur is a Microsoft Certified
SharePoint Expert (MCSE) at Nous Infosys-
tems with over 10+ years of experience in
Enterprise Social Collaboration technolo-
gies. He is responsible for conceptualizing
and implementing solutions for clients
across technologies such as SharePoint,
MS CRM and .NET. Besides his work,
Pallav is an avid traveller and he is currently
settled in Atlanta, US.
Pallav Mathur
SharePoint Consultant
BEST SUITED FOR:
- Individual or team productivity app
- Business process automation with low to
medium complexity business rules
BENEFITS:
- Reuse common SharePoint artifacts
- Automatic hosting in SharePoint
- Native SharePoint UX
- Runs on either on-premise or cloud
CONSIDERATION:
- Uses JavaScript for Custom Visualizations & logic
- Uses workflow for automation
- No server-side code is allowed
- App data stored in SharePoint lists
- Slower patch cycle
SHAREPOINT HOSTED
BEST SUITED FOR:
- Large robust Internet/enterprise-scale
application
- Connecting exsiting sites to SharePoint
BENEFITS:
- Can execute server-side code
- Works with any existing web/on-premise servers
- Uses full power of Azure
- Runs on either on-premise or cloud
CONSIDERATION:
- More developer responsibility
- Requires upfront and on-going operational costs
PROVIDER HOSTED
APP HOSTING
OPTIONS

Más contenido relacionado

La actualidad más candente

Co|Create Website Documentation Guidebook
Co|Create Website Documentation GuidebookCo|Create Website Documentation Guidebook
Co|Create Website Documentation GuidebookJon Wretlind, BFA, MDiv
 
Oracle Eloqua 477 Release Overview
Oracle Eloqua 477 Release OverviewOracle Eloqua 477 Release Overview
Oracle Eloqua 477 Release OverviewRon Corbisier
 
Hybrid integration reference architecture
Hybrid integration reference architectureHybrid integration reference architecture
Hybrid integration reference architectureKim Clark
 
Securely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gatewaySecurely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gatewayZuaib
 
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 minsBuild Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 minsKashi Ahmed
 
Melbourne API Management Seminar
Melbourne API Management SeminarMelbourne API Management Seminar
Melbourne API Management SeminarCA API Management
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
 
A Review on Salesforce Integration
A Review on Salesforce IntegrationA Review on Salesforce Integration
A Review on Salesforce Integrationijtsrd
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuSalesforce Developers
 
What's New in API Connect & DataPower Gateway in 1H 2018
What's New in API Connect & DataPower Gateway in 1H 2018What's New in API Connect & DataPower Gateway in 1H 2018
What's New in API Connect & DataPower Gateway in 1H 2018IBM API Connect
 
The Power of IBM API Management. API connect 2016 Vegas
The Power of IBM API Management. API connect 2016 VegasThe Power of IBM API Management. API connect 2016 Vegas
The Power of IBM API Management. API connect 2016 VegasSaaS-Journal
 
Ent money mind
Ent money mindEnt money mind
Ent money mindsefie2013
 
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair OldfieldEmeldi Group
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceKasun Indrasiri
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesSlideTeam
 
API: Extracting Value
API:  Extracting ValueAPI:  Extracting Value
API: Extracting ValueTrustRobin
 
IBM API Connect - overview
IBM API Connect - overviewIBM API Connect - overview
IBM API Connect - overviewRamy Bassem
 

La actualidad más candente (20)

Co|Create Website Documentation Guidebook
Co|Create Website Documentation GuidebookCo|Create Website Documentation Guidebook
Co|Create Website Documentation Guidebook
 
Oracle Eloqua 477 Release Overview
Oracle Eloqua 477 Release OverviewOracle Eloqua 477 Release Overview
Oracle Eloqua 477 Release Overview
 
Hybrid integration reference architecture
Hybrid integration reference architectureHybrid integration reference architecture
Hybrid integration reference architecture
 
Securely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gatewaySecurely expose protected resources as ap is with app42 api gateway
Securely expose protected resources as ap is with app42 api gateway
 
Going Offline with Salesforce1 Mobile SDK
Going Offline with Salesforce1 Mobile SDKGoing Offline with Salesforce1 Mobile SDK
Going Offline with Salesforce1 Mobile SDK
 
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 minsBuild Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
 
Melbourne API Management Seminar
Melbourne API Management SeminarMelbourne API Management Seminar
Melbourne API Management Seminar
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and Roadmap
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design Architecture
 
A Review on Salesforce Integration
A Review on Salesforce IntegrationA Review on Salesforce Integration
A Review on Salesforce Integration
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
 
API strategy with IBM API connect
API strategy with IBM API connectAPI strategy with IBM API connect
API strategy with IBM API connect
 
What's New in API Connect & DataPower Gateway in 1H 2018
What's New in API Connect & DataPower Gateway in 1H 2018What's New in API Connect & DataPower Gateway in 1H 2018
What's New in API Connect & DataPower Gateway in 1H 2018
 
The Power of IBM API Management. API connect 2016 Vegas
The Power of IBM API Management. API connect 2016 VegasThe Power of IBM API Management. API connect 2016 Vegas
The Power of IBM API Management. API connect 2016 Vegas
 
Ent money mind
Ent money mindEnt money mind
Ent money mind
 
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA Convergence
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
 
API: Extracting Value
API:  Extracting ValueAPI:  Extracting Value
API: Extracting Value
 
IBM API Connect - overview
IBM API Connect - overviewIBM API Connect - overview
IBM API Connect - overview
 

Destacado

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentEdin Kapic
 
Nous Opens Global Migration Facility to Support Growing SmartBear Business
Nous Opens Global Migration Facility to Support Growing SmartBear BusinessNous Opens Global Migration Facility to Support Growing SmartBear Business
Nous Opens Global Migration Facility to Support Growing SmartBear BusinessNous Infosystems
 
Importance of Population Health Management
Importance of Population Health ManagementImportance of Population Health Management
Importance of Population Health ManagementNous Infosystems
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesNous Infosystems
 
Upcoming Webinar: Building Value from Mobile Health (mHealth)
Upcoming Webinar: Building Value from Mobile Health (mHealth)Upcoming Webinar: Building Value from Mobile Health (mHealth)
Upcoming Webinar: Building Value from Mobile Health (mHealth)Nous Infosystems
 
High Performance Computing
High Performance ComputingHigh Performance Computing
High Performance ComputingNous Infosystems
 

Destacado (7)

High-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises DevelopmentHigh-Trust Add-Ins SharePoint for On-Premises Development
High-Trust Add-Ins SharePoint for On-Premises Development
 
vServe24/7 brochure
vServe24/7 brochurevServe24/7 brochure
vServe24/7 brochure
 
Nous Opens Global Migration Facility to Support Growing SmartBear Business
Nous Opens Global Migration Facility to Support Growing SmartBear BusinessNous Opens Global Migration Facility to Support Growing SmartBear Business
Nous Opens Global Migration Facility to Support Growing SmartBear Business
 
Importance of Population Health Management
Importance of Population Health ManagementImportance of Population Health Management
Importance of Population Health Management
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
 
Upcoming Webinar: Building Value from Mobile Health (mHealth)
Upcoming Webinar: Building Value from Mobile Health (mHealth)Upcoming Webinar: Building Value from Mobile Health (mHealth)
Upcoming Webinar: Building Value from Mobile Health (mHealth)
 
High Performance Computing
High Performance ComputingHigh Performance Computing
High Performance Computing
 

Similar a SharePoint Add-Ins - Brief Overview

SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenRyan Schouten
 
Deciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint SolutionsDeciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint SolutionsDavid J Rosenthal
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013Toni Il Caiser
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelJames Tramel
 
Portable single page applications with AngularJS in SharePoint
Portable single page applications with AngularJS in SharePointPortable single page applications with AngularJS in SharePoint
Portable single page applications with AngularJS in SharePointRoger Noble
 
sps-2013-architecture-overview.pdf
sps-2013-architecture-overview.pdfsps-2013-architecture-overview.pdf
sps-2013-architecture-overview.pdfandinieldananty
 
SharePoint 2013: What's New For Legal?
SharePoint 2013: What's New For Legal?SharePoint 2013: What's New For Legal?
SharePoint 2013: What's New For Legal?Evan Hodges
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013Folio3 Software
 
Sharepoint mobile by pirtle
Sharepoint mobile by pirtleSharepoint mobile by pirtle
Sharepoint mobile by pirtleguestcaf8eb67
 
Sharepoint mobile by pirtle
Sharepoint mobile by pirtleSharepoint mobile by pirtle
Sharepoint mobile by pirtleabrusia
 
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProSPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProBrian Culver
 
Meetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfMeetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfRed Hat
 
A Successful Path to a Solution Driven SharePoint Migration
A Successful Path to a Solution Driven SharePoint Migration A Successful Path to a Solution Driven SharePoint Migration
A Successful Path to a Solution Driven SharePoint Migration Marlee Long
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 
Deep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDeep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDhanik Sahni
 
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...CSIRO National AI Centre
 
When to Develop on a Platform (IndyTechFest 2008)
When to Develop on a Platform (IndyTechFest 2008)When to Develop on a Platform (IndyTechFest 2008)
When to Develop on a Platform (IndyTechFest 2008)Rob Wilson
 

Similar a SharePoint Add-Ins - Brief Overview (20)

SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
Deciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint SolutionsDeciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint Solutions
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
 
Portable single page applications with AngularJS in SharePoint
Portable single page applications with AngularJS in SharePointPortable single page applications with AngularJS in SharePoint
Portable single page applications with AngularJS in SharePoint
 
sps-2013-architecture-overview.pdf
sps-2013-architecture-overview.pdfsps-2013-architecture-overview.pdf
sps-2013-architecture-overview.pdf
 
SharePoint 2013: What's New For Legal?
SharePoint 2013: What's New For Legal?SharePoint 2013: What's New For Legal?
SharePoint 2013: What's New For Legal?
 
A Complete Guide to Python Web Development
A Complete Guide to Python Web DevelopmentA Complete Guide to Python Web Development
A Complete Guide to Python Web Development
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 
Office365
Office365Office365
Office365
 
Sharepoint mobile by pirtle
Sharepoint mobile by pirtleSharepoint mobile by pirtle
Sharepoint mobile by pirtle
 
Sharepoint mobile by pirtle
Sharepoint mobile by pirtleSharepoint mobile by pirtle
Sharepoint mobile by pirtle
 
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProSPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
 
Meetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdfMeetup 2022 - API Gateway landscape.pdf
Meetup 2022 - API Gateway landscape.pdf
 
A Successful Path to a Solution Driven SharePoint Migration
A Successful Path to a Solution Driven SharePoint Migration A Successful Path to a Solution Driven SharePoint Migration
A Successful Path to a Solution Driven SharePoint Migration
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
Deep dive into Salesforce Connected App
Deep dive into Salesforce Connected AppDeep dive into Salesforce Connected App
Deep dive into Salesforce Connected App
 
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...The app of the possible Shailen Sukul MBUG  gets Modern Apps and Modern User ...
The app of the possible Shailen Sukul MBUG gets Modern Apps and Modern User ...
 
When to Develop on a Platform (IndyTechFest 2008)
When to Develop on a Platform (IndyTechFest 2008)When to Develop on a Platform (IndyTechFest 2008)
When to Develop on a Platform (IndyTechFest 2008)
 

Último

Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentationuneakwhite
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...rajveerescorts2022
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Sheetaleventcompany
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLkapoorjyoti4444
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfAdmir Softic
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...amitlee9823
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceMalegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceDamini Dixit
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwaitdaisycvs
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon investment
 
Business Model Canvas (BMC)- A new venture concept
Business Model Canvas (BMC)-  A new venture conceptBusiness Model Canvas (BMC)-  A new venture concept
Business Model Canvas (BMC)- A new venture conceptP&CO
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...lizamodels9
 
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...lizamodels9
 

Último (20)

Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceMalegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Business Model Canvas (BMC)- A new venture concept
Business Model Canvas (BMC)-  A new venture conceptBusiness Model Canvas (BMC)-  A new venture concept
Business Model Canvas (BMC)- A new venture concept
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
 
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
 

SharePoint Add-Ins - Brief Overview

  • 1. Pallav Mathur | SharePoint Consultant SharePoint Add-ins – A Brief Overview NOUSINFOSYSTEMS L E V E R A G I N G I N T E L L E C T
  • 2. 2SharePoint Add-ins – A Brief Overview ABSTRACT The SharePoint Development model has been constantly evolving over the last several years. In particular, the core philosophy behind SharePoint Develop- ment has changed. The SharePoint App Model or the Add-in has placed increased emphasis on increasing code scalability and decoupling the code from the Share- Point stack as much as possible. In line with this, code has been deliberately hosted outside SharePoint and communi- cation with SharePoint would happen using Client side code, Rest APIs and other client libraries. The other advantage of decoupling the code is that it helps in moving towards a digital marketplace where each application has to be indepen- dent of each other. In recent years, Office Store has been growing rapidly and Share- Point Add-in can act as the perfect tool for small and large enterprises alike to launch their products in the digital marketplace. Based on business needs, enterprises can choose from a couple of flavors of Share- Point Add-in. In this whitepaper, we take you through the pros and cons of using both the flavors which would ultimately help you to make an informed decision.
  • 3. INTRODUCTION The add-in model for SharePoint (formerly known as the ‘App Model’) is a major shift in development practices for Office 365 and SharePoint 2013. Microsoft is strategically investing in cloud technologies and moving towards Software-as-a-Service and subscription based applications. SharePoint being Microsoft’s flagship platform for content management, SharePoint Add-ins (previ- ously named as SharePoint Apps) are a step towards achieving this goal. SHAREPOINT ADD-IN SharePoint Add-ins are self-contained extensions of SharePoint websites that we can create, and run without custom code on the SharePoint server. Being an independent entity, SharePoint Add-In brings a lot of flexibility. As per market trends, Office Store is a fast growing market segment and SharePoint Add-ins are tools for businesses to promote their products in the digital marketplace. The Office Store has provided a platform for small businesses to promote and sell their products as SharePoint Add-ins. For large enterprises, it has helped them to make their business to become ‘Cloud-ready’. 3SharePoint Add-ins – A Brief Overview Subscription based Application: End user can Add/Remove applications as per need without affecting the core business. Pay-as-you-go Facility: Pay for application based on its usage. Office 365 Compatible: SharePoint Add-ins can be used to develop apps for both on premise and Office 365 environments. Fast Go-to-market Capability: Using NAPA and other browser based tools, simple SharePoint Add-in can be built rapidly to fulfill basic needs. Portability / Maintenance / Easy Enhancements / Reusability: These are some of the hidden built-in features that come along with SharePoint Add-Ins.
  • 4. SHAREPOINT DEPLOYMENT MODEL SharePoint farm is an infrastructure inten- sive platform. Even though it provides a lot of Out-of-the-Box functionality, very often it has to be customized to suit specific business needs. Server side customiza- tion always comes with a risk of bad code bringing down the complete infrastruc- ture. This is where Add-ins provide great extensibility by allowing customization of the system without affecting the hosting environment. Developers have 2 options to choose from, for deployment depend- ing upon compatibility and external integrations. SHAREPOINT HOSTED All artifacts (JavaScript files/CSS/page layouts etc) in SharePoint Hosted Add-in get deployed to ‘App Web’, which is a sepa- rate web under the ‘Hosted Web’. App web is on a sub-domain where the application resides. Whenever users request for the app, they get redirected to the page where the application resides and gets rendered in SharePoint inside an iFrame. No server side code is allowed in Share- Point Hosted App which means we can only use JSOM / REST for development and not CSOM or Compiled code. Typically, the development of SharePoint Add-ins necessitates the incorporation of data from various sources. However, for security reasons, there are protocols that prevent communication with more than one domain at a time. These security protocols are implemented in most browsers, making it difficult or impossible to accomplish client-side calls across domains. PROVIDER HOSTED Provider Hosted Add-in can use all the components from SharePoint Hosted add-in. Apart from this, it has a remote component, like a separate web applica- tion, service or database which is not part of SharePoint Hosting. External compo- nent need not to be in Microsoft Stack. Any hosting framework can be used for the Provider. If the remote component is implemented using .NET, then we can use SharePoint Client-Side Object Model (CSOM) to access SharePoint services and resourc- es. For the remote component that is not based on .NET, there are REST/OData APIs which can be used. JSOM libraries cannot be used on remote page, but provider-hosted add-ins can have custom SharePoint pages in an add-in web and JavaScript on these pages can use the JSOM library. Provider hosted Add-in has a special chrome control that can be used to provide remote pages in add-in, a Share- Point look and feel. Client-side communication is bound only to that domain. Since Add-in is deployed to a separate domain, cross-domain communication is a technical challenge if we need to access resources in Add-in web from Host web. SharePoint has a cross-domain library which is a client-side alternative in the form of JavaScript file (SP.RequestExecutor.js) that is hosted on the SharePoint website and can be refer- enced in remote add-in. 4SharePoint Add-ins – A Brief Overview
  • 5. AUTHENTICATION & AUTHORIZATION SharePoint Add-in must specify, through the add-in manifest file, the permissions an add-in needs to access SharePoint resources outside the add-in web (The add-in automatically has full control permission to the entire add-in web). When the add-in is designed to be launched from within SharePoint, the add-in installation infrastructure prompts the user who installs the add-in to grant or deny the needed permissions. SharePoint Hosted Add-in uses ‘signed-in’ user privilege for Authentication and Authorization. It requests a specific set of permissions when they are installed. If the current user has the ability to grant the App those permissions, then the applica- tion can be installed. It uses the Share- Point inbuilt security and Add-in code runs under signed in user’s context. 5SharePoint Add-ins – A Brief Overview Provider Hosted App can be authenticated with ACS (Azure Access Control Servicer) OR digital certificate. One of the main questions in Provider Hosted Add-in is how will it be authorized to interact with SharePoint for its resources. There are three options present for authorization in Provider-Hosted add-in Low Trust: It can register with ACS which will issue a token to the Add-in that will allow it to access the resources in SharePoint where it is installed. ACS will play the role of trusted token issuer in an OAuth 2.0 authentication flow. OAuth is required whenev- er we are calling SharePoint from a remotely hosted web application that can’t use client-side code exclusively. High Trust: This type of trust is established using digital certificate. The high-trust system is primarily intended for add-ins whose remote components are hosted on premise. Cross-Domain Library: It lets users to interact with more than one domain from the remote components of add-in through a proxy. If client-side code and the permissions of a user who is signed into SharePoint are sufficient, the cross-domain library is a good option. The cross-domain library is also convenient whenever you are making remote calls through a firewall.
  • 6. CONCLUSION: In summary, SharePoint and Office 365 are here to stay. SharePoint is a service, just like Exchange or Salesforce or Outlook.com or GMAIL or GitHub. They want customers to think of it as a service that they can subscribe to. The On-premise offering will continue to be an integral part of enterprise environ- ments since a large percentage of customers who bought into massive deployments are currently storing large volumes of data on premise. There are also very real challenges to migrating to the cloud including regulatory or legal challenges. This is a great time to re-visit customized applications and code and move them away from SharePoint, thereby using SharePoint as a Product and not as a platform. Enterprises can get the best out of SharePoint by using Out-of-the-Box functionalities and configurations by building applications outside of SharePoint. ABOUT NOUS INFOSYSTEMS Nous Infosystems is a CMMi Level 5 SVC + SSD v1.3, ISO 9001:2008, and ISO/IEC 27001:2013 certified global Information Technology firm providing software solutions across a broad spectrum of industries. Major offerings include Digital Transformation, Application Development & Maintenance, Enterprise Application Integration, Product Engineering, Business Intelligence, Independent Testing and Infrastructure Management Services. For more information, Please visit - www.nousinfosystems.com, www.testree.com, www.vserve247.com or mail us at info@nousinfo.com Copyright© Nous Infosystems. All rights reserved. ABOUT AUTHOR Pallav Mathur is a Microsoft Certified SharePoint Expert (MCSE) at Nous Infosys- tems with over 10+ years of experience in Enterprise Social Collaboration technolo- gies. He is responsible for conceptualizing and implementing solutions for clients across technologies such as SharePoint, MS CRM and .NET. Besides his work, Pallav is an avid traveller and he is currently settled in Atlanta, US. Pallav Mathur SharePoint Consultant BEST SUITED FOR: - Individual or team productivity app - Business process automation with low to medium complexity business rules BENEFITS: - Reuse common SharePoint artifacts - Automatic hosting in SharePoint - Native SharePoint UX - Runs on either on-premise or cloud CONSIDERATION: - Uses JavaScript for Custom Visualizations & logic - Uses workflow for automation - No server-side code is allowed - App data stored in SharePoint lists - Slower patch cycle SHAREPOINT HOSTED BEST SUITED FOR: - Large robust Internet/enterprise-scale application - Connecting exsiting sites to SharePoint BENEFITS: - Can execute server-side code - Works with any existing web/on-premise servers - Uses full power of Azure - Runs on either on-premise or cloud CONSIDERATION: - More developer responsibility - Requires upfront and on-going operational costs PROVIDER HOSTED APP HOSTING OPTIONS