As organizations continue their digital transformation to the cloud they are faced with the challenge of having accurate and timely information for their ever increasing number of digital assets being uploaded to the cloud and Office 365 . Join this session to learn how we can use Azure and Microsoft's Cognitive Services to build truly intelligent business solutions in Office 365. In this developer session you we will be introducing you to SharePoint Webhooks, Microsoft Flow, Azure Serverless with Azure Functions, and the Cognitive Services Vision API which when combined can make this a reality. Full project source code will be available on Github.
2. Who Am I
• Raleigh North Carolina
• Developer x 20 years
• Twitter: @joshcarlisle
• Web: www.joshcarlisle.io
• Github: https://github.com/joshdcar
• Email: joshc@viewfusion.com
3. “Can you please
give me more
required fields to fill
out on my form?”
-- said NO ONE EVER
@joshcarlisle
4. The problem is everyone LOVES
the benefits of all that great
information but HATES how
much work it takes!
@joshcarlisle
5. So we have ourselves a
conundrum!
How do we reliability get the
data we need without the user?
@joshcarlisle
6. Intelligent Solutions
Intelligent Solutions are solutions that use Artificial
Intelligence & Machine Learning to enhance and
automate our business process.
@joshcarlisle
Translated … our users get all
the benefits with none of the
work!
7. Azure Cognitive Services
A collection of artificial intelligence and machine learning APIs for
vision, speech, language, and knowledge.
Computer Vision API
Photo Analysis (tags, colors, landmarks), Optical Character Recognition
(OCR), Content Moderation, Face API, Emotion API, Video Indexer
Language API
Language Understanding (LUIS) (Bots), Spell Check, Text Analysis
(Sentiment, Topics), Translator, Linguistics
@joshcarlisle
8. Integrating with Cognitive Services
Microsoft Flow & Logic Apps
Microsoft Flow and it’s parent Logic Apps are a no-code designer based
workflow and orchestration service. Connectors for Cognitive Services.
Webhooks
Webhooks are http callbacks that can be configuration to respond to
events. SharePoint lists & libraries support webhook notifications.
Azure Functions
An event driven Serverless offering. Code based solution (C#, Node, etc)
that can respond to various events ranging from http (webhooks) to
queues and blobs. Integrates closely with Microsoft Flow and Logic Apps.
@joshcarlisle
9. Microsoft Flow & Logic Apps
• Consider as your default staring point.
• No-Code Designer Based Workflows
• Native Connectors for Cognitive Services
(Preview)
• Microsoft Flow Built on Logic Apps
• Microsoft Flow = Business User (Teams)
• Logic Apps = Enterprise
• Integrate with Azure Functions for
complex scenarios
@joshcarlisle
11. Azure Functions
@joshcarlisle
Consider for more complex scenarios
OR
Supplement existing Logic Apps & Flows
Serverless
• No Server Management
• Automatic Scaling
• Micro-Transaction Only
pay what you use
Code Based Solution
• C#, Javascript
• Develop Locally or Azure
12. SharePoint Webhooks
• Often comparted to Event Receivers
• Requires registration of REST endpoint
• REST Endpoint is notified upon changes
• Dependent on SharePoint Change Log
• Advantage Repeatability Provisioning
• Often paired with Azure Functions
@joshcarlisle
We Beg\Plead for users to fill out data
We add many required fields to force users to fill out data
We dedicate administrators to review and approve the filled out data
We create buckets to drop documents in for someone else to fill out data
Many have given up on metadata
Build your applications without the expectation of data
Some argue the new SharePoint Modern Experience seems to de-emphasize
The problem is It’s still important for search and other apps
Nothing new – we’ve been trying to do this for years with workflows
What’s new are the services available for us to do the heavy lifting
What’s new is the infrastructure to coordinate and integrate are easier then ever!
Most common API is the Computer Vision and Language
For Simplistic \ Fast Scenarios
Suggested Starting Point
Something that requires more complex logic
Working with Term Store Fields
Resizing Image to work within Cognitive Services Size Restrictions
Comparison to Event Receivers only skin deep – under the covers VERY different
100% Code