SlideShare a Scribd company logo
1 of 18
EMVP Session
Mark Everard (@ev2000)
Khurram Khan
27th October 2015
Exposing /retrieving content via
publisher /subscriber
integrations using EPiServer
…Because I want to prove to
my boss that I’m actually
presenting today… Could any
Instagram users please post a
photo of the talk with the hashtag
#ascend15 thanks 
ASP.NET
SQL
EPiServer CMS /
Commerce
HTML / Pages
RSS / ATOM
Web-services (SOAP /
REST)
Custom implementation
ServiceAPI
FTP / CSV
Triggers / Mirroring
How can expose my content?
Websites
Mobile
Search
PIM
DAM
Translation
Backup
Reporting
DR
In-process or batch
ServiceAPI
Service Layer available to allow update and retrieval of
information from EPiServer (Commerce + CMS)
• EPiServer implementation of ASP.NET WebAPI
• Primary function to enable Commerce integrations (Catalog and
Media)
- Catalog
- Media
- CMS (bulk upload of .episerverdata files)
http://world.episerver.com/documentation/items/episerver-service-api
Publish / Subscribe
A messaging pattern allowing a system to publish a message to
all interested receivers.
• Loose coupling (publishers know nothing about subscribers)
• Scalable (though publisher accepts load)
• Flexibility (agree to one contract)
Loose coupling means that message delivery
guarantees are more difficult though can be achieved,
perhaps via an intermediary message broker or a convention.
Publisher
Subscribe
r
Subscribe
r
Subscribe
r
RSS / ATOM Feeds
RSS / ATOM is a web scale pub-sub implementation.
A system subscribes to a feed to which the publisher adds updates /
messages. Requires a polling approach from a subscriber.
Coincidentally, there’s a new version of Chief2moro.SyndicationFeeds
• Allows editors to create flexible feeds from EPiServer content
• Filter by ContentType – new feature
• Filter by Category – new feature
• Further developer extension points (filtering and item summary)
• Available as a Nuget package for CMS 9
https://github.com/markeverard/Chief2moro.SyndicationFeeds
WebHooks
“User defined HTTP callbacks”
Simple subscriber / publisher
notification system for web based
clients.
Notification delivery rather than
polling
Available on many services
already – social, cloud, payments
etc
…Captain Hook on the screen.
How AMAZING! I really should post
that to my Instagram with the
hashtag #ascend15 
WebHooks
A subscriber sends a payload to subscribe
to a particular notification. There is often
basic authentication involved (app secrets
and Id’s)
After a event the publisher looks at all
relevant subscriptions and delivers
message to all subscribers.
Messages are often lightweight containing
notification of events rather than
themselves detail about the events.
Publisher
Subscribe
r
Subscribe
r
Subscribe
r
POST
I want to
subscribe
Subscription
store
Publisher
Subscription
store
Event
Notifications
POST
ASP.NET WebHooks
Lightweight framework gives you a pattern for building:
• Handling subscriptions from interested subscribers
• Sending subscriptions to publishers
• Sending published messages to subscribers
• Handling publisher messages from subscribed services (via Receivers)
https://github.com/aspnet/WebHooks/
• Subscriptions gives you a way to manage and store subscriptions, and
to make call-backs to all subscribed urls (hooks) at the right time.
• Receivers accept a defined HTTP payload from an external service
(HTTP POST)
ASP.NET WebHooks
Along with a basic framework for sending and handling
subscriptions and publishing and receiving notifications, the
ASP.NET implementation also provides some fleshed out
integrations for the following services. Less work for you!
• Azure Alerts, Dropbox, GitHub, Kudu, Instagram, MailChimp,
PayPal, Pusher, Salesforce, Slack, Stripe, Trello, and
WordPress
What abour Signalr?
Signalr is also a messaging technology that also allows for non-polling
communications between systems.
So what’s the difference?
• Signalr is for client to server communication, for example between
browsers and webservers, allowing efficient and real-time data
exchange
• WebHooks are for server to server communication relying on HTTP
requests to Urls, for example GitHub notifying Azure to deploy a
branch after a commit.
EPiServer WebHooks
What would an EPiServer implementation / usage of WebHooks
look like?
• Publish content events to subscribers (system to system
integration)
• Publish Form data inputs to external systems
• Publish / Subscribe to Catalog events and changes from
integrated commerce systems (Stock control and pricing)
• Subscribe to events from external systems (Payments)
• Subscribe to external content events – Instagram anyone?
Code – Example Inventory /
Pricing WebHooks in Commerce
“Asacontenteditor,Iwantimagesthatare
uploadedonasocialchannel(Instagram)
andtaggedwith‘ascend15’tobeavailablein
mycontentmanagement systemsoIcan
usethemonmyawesomewebsite”
Have you posted your picture tagged with
‘ascend15’ yet? Live demo coming soon
Code – Instagram WebHooks
with EPiServer CMS
Thanks

More Related Content

What's hot

Logging best practice in mule using logger component
Logging best practice in mule using logger componentLogging best practice in mule using logger component
Logging best practice in mule using logger componentGovind Mulinti
 
Integration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBIntegration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBSanjeet Pandey
 
Integration with Salesforce using Mule ESB
Integration with Salesforce using Mule ESBIntegration with Salesforce using Mule ESB
Integration with Salesforce using Mule ESBSanjeet Pandey
 
Integration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBIntegration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBSanjeet Pandey
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersChris O'Brien
 
Introduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace ITIntroduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace ITnamespaceit
 
Create folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esbCreate folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esbSanjeet Pandey
 
Anypoint platform release highlights
Anypoint platform release highlightsAnypoint platform release highlights
Anypoint platform release highlightsD.Rajesh Kumar
 
What Is Alfresco
What Is AlfrescoWhat Is Alfresco
What Is Alfrescofosulliv
 
Mule esb–api layer
Mule esb–api layerMule esb–api layer
Mule esb–api layercharan teja R
 
Flowsinmule 160517130818
Flowsinmule 160517130818Flowsinmule 160517130818
Flowsinmule 160517130818ppts123456
 
ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2Vince Soliza
 
Automatic documentation with mule
Automatic documentation with muleAutomatic documentation with mule
Automatic documentation with muleF K
 

What's hot (20)

Logging best practice in mule using logger component
Logging best practice in mule using logger componentLogging best practice in mule using logger component
Logging best practice in mule using logger component
 
Integration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBIntegration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESB
 
Mule soft Basics
Mule soft BasicsMule soft Basics
Mule soft Basics
 
Integration with Salesforce using Mule ESB
Integration with Salesforce using Mule ESBIntegration with Salesforce using Mule ESB
Integration with Salesforce using Mule ESB
 
Integration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBIntegration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESB
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
 
Introduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace ITIntroduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace IT
 
Building Secure Mobile APIs
Building Secure Mobile APIsBuilding Secure Mobile APIs
Building Secure Mobile APIs
 
Create folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esbCreate folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esb
 
Anypoint platform release highlights
Anypoint platform release highlightsAnypoint platform release highlights
Anypoint platform release highlights
 
Mule
MuleMule
Mule
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
What Is Alfresco
What Is AlfrescoWhat Is Alfresco
What Is Alfresco
 
Mule esb–api layer
Mule esb–api layerMule esb–api layer
Mule esb–api layer
 
Flowsinmule 160517130818
Flowsinmule 160517130818Flowsinmule 160517130818
Flowsinmule 160517130818
 
LANAI CMS
LANAI CMSLANAI CMS
LANAI CMS
 
Mule integration with Servicenow
Mule integration with ServicenowMule integration with Servicenow
Mule integration with Servicenow
 
Aws sqs component in mule
Aws sqs  component in muleAws sqs  component in mule
Aws sqs component in mule
 
ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2
 
Automatic documentation with mule
Automatic documentation with muleAutomatic documentation with mule
Automatic documentation with mule
 

Similar to Expose EPiServer content via publisher/subscriber integrations using webhooks and RSS feeds

In Act Developers Platform
In Act Developers PlatformIn Act Developers Platform
In Act Developers PlatformEris Ristemena
 
code talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating Systemcode talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating SystemAdelina Todeva
 
What Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia CartwrightWhat Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia CartwrightJacovia Cartwright
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapDaniel Zivkovic
 
Serverless Meetup - Event Sourcing
Serverless Meetup - Event SourcingServerless Meetup - Event Sourcing
Serverless Meetup - Event SourcingLuca Bianchi
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...Jitendra Bafna
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing3scale
 
Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Opevel
 
Forcelandia 2018 - Create lively lightning components with streaming api
Forcelandia 2018 - Create lively lightning components with streaming apiForcelandia 2018 - Create lively lightning components with streaming api
Forcelandia 2018 - Create lively lightning components with streaming apiAnshul Verma
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETLorenzo Barbieri
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioKim Clark
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationPace Integration
 
Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Daniel Toomey
 
WOLF presentation at OCC Bangalore Business Meet
WOLF presentation at OCC Bangalore Business MeetWOLF presentation at OCC Bangalore Business Meet
WOLF presentation at OCC Bangalore Business MeetCloudComputing
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture StrategyOCTO Technology
 
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure FunctionsMessaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure FunctionsJohn Staveley
 

Similar to Expose EPiServer content via publisher/subscriber integrations using webhooks and RSS feeds (20)

In Act Developers Platform
In Act Developers PlatformIn Act Developers Platform
In Act Developers Platform
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
 
code talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating Systemcode talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating System
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
What Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia CartwrightWhat Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia Cartwright
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless Recap
 
Serverless Meetup - Event Sourcing
Serverless Meetup - Event SourcingServerless Meetup - Event Sourcing
Serverless Meetup - Event Sourcing
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing
 
Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011
 
Operating your Production API
Operating your Production APIOperating your Production API
Operating your Production API
 
Forcelandia 2018 - Create lively lightning components with streaming api
Forcelandia 2018 - Create lively lightning components with streaming apiForcelandia 2018 - Create lively lightning components with streaming api
Forcelandia 2018 - Create lively lightning components with streaming api
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolio
 
It and ej
It and ejIt and ej
It and ej
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)
 
WOLF presentation at OCC Bangalore Business Meet
WOLF presentation at OCC Bangalore Business MeetWOLF presentation at OCC Bangalore Business Meet
WOLF presentation at OCC Bangalore Business Meet
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure FunctionsMessaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Expose EPiServer content via publisher/subscriber integrations using webhooks and RSS feeds

  • 1. EMVP Session Mark Everard (@ev2000) Khurram Khan 27th October 2015
  • 2. Exposing /retrieving content via publisher /subscriber integrations using EPiServer
  • 3. …Because I want to prove to my boss that I’m actually presenting today… Could any Instagram users please post a photo of the talk with the hashtag #ascend15 thanks 
  • 4. ASP.NET SQL EPiServer CMS / Commerce HTML / Pages RSS / ATOM Web-services (SOAP / REST) Custom implementation ServiceAPI FTP / CSV Triggers / Mirroring How can expose my content? Websites Mobile Search PIM DAM Translation Backup Reporting DR In-process or batch
  • 5. ServiceAPI Service Layer available to allow update and retrieval of information from EPiServer (Commerce + CMS) • EPiServer implementation of ASP.NET WebAPI • Primary function to enable Commerce integrations (Catalog and Media) - Catalog - Media - CMS (bulk upload of .episerverdata files) http://world.episerver.com/documentation/items/episerver-service-api
  • 6. Publish / Subscribe A messaging pattern allowing a system to publish a message to all interested receivers. • Loose coupling (publishers know nothing about subscribers) • Scalable (though publisher accepts load) • Flexibility (agree to one contract) Loose coupling means that message delivery guarantees are more difficult though can be achieved, perhaps via an intermediary message broker or a convention. Publisher Subscribe r Subscribe r Subscribe r
  • 7. RSS / ATOM Feeds RSS / ATOM is a web scale pub-sub implementation. A system subscribes to a feed to which the publisher adds updates / messages. Requires a polling approach from a subscriber. Coincidentally, there’s a new version of Chief2moro.SyndicationFeeds • Allows editors to create flexible feeds from EPiServer content • Filter by ContentType – new feature • Filter by Category – new feature • Further developer extension points (filtering and item summary) • Available as a Nuget package for CMS 9 https://github.com/markeverard/Chief2moro.SyndicationFeeds
  • 8. WebHooks “User defined HTTP callbacks” Simple subscriber / publisher notification system for web based clients. Notification delivery rather than polling Available on many services already – social, cloud, payments etc
  • 9. …Captain Hook on the screen. How AMAZING! I really should post that to my Instagram with the hashtag #ascend15 
  • 10. WebHooks A subscriber sends a payload to subscribe to a particular notification. There is often basic authentication involved (app secrets and Id’s) After a event the publisher looks at all relevant subscriptions and delivers message to all subscribers. Messages are often lightweight containing notification of events rather than themselves detail about the events. Publisher Subscribe r Subscribe r Subscribe r POST I want to subscribe Subscription store Publisher Subscription store Event Notifications POST
  • 11. ASP.NET WebHooks Lightweight framework gives you a pattern for building: • Handling subscriptions from interested subscribers • Sending subscriptions to publishers • Sending published messages to subscribers • Handling publisher messages from subscribed services (via Receivers) https://github.com/aspnet/WebHooks/ • Subscriptions gives you a way to manage and store subscriptions, and to make call-backs to all subscribed urls (hooks) at the right time. • Receivers accept a defined HTTP payload from an external service (HTTP POST)
  • 12. ASP.NET WebHooks Along with a basic framework for sending and handling subscriptions and publishing and receiving notifications, the ASP.NET implementation also provides some fleshed out integrations for the following services. Less work for you! • Azure Alerts, Dropbox, GitHub, Kudu, Instagram, MailChimp, PayPal, Pusher, Salesforce, Slack, Stripe, Trello, and WordPress
  • 13. What abour Signalr? Signalr is also a messaging technology that also allows for non-polling communications between systems. So what’s the difference? • Signalr is for client to server communication, for example between browsers and webservers, allowing efficient and real-time data exchange • WebHooks are for server to server communication relying on HTTP requests to Urls, for example GitHub notifying Azure to deploy a branch after a commit.
  • 14. EPiServer WebHooks What would an EPiServer implementation / usage of WebHooks look like? • Publish content events to subscribers (system to system integration) • Publish Form data inputs to external systems • Publish / Subscribe to Catalog events and changes from integrated commerce systems (Stock control and pricing) • Subscribe to events from external systems (Payments) • Subscribe to external content events – Instagram anyone?
  • 15. Code – Example Inventory / Pricing WebHooks in Commerce
  • 17. Code – Instagram WebHooks with EPiServer CMS

Editor's Notes

  1. Publishers do not need to know about the number of subscribers , or what topics they are interested in. This allows you to develop in isolation without any ripple effects of state or implementation