3. Agenda
1. Intégration dans le cloud
2. Les services d’intégration
Azure #iPaaS
3. Azure API Management
4. Azure Logic Apps
5. Azure Service Bus
6. Azure Functions
7. Questions/Réponses
5. POURQUOI UNE STRATÉGIE D’INTEGRATION
DANS LE CLOUD ?
Source: Gartner “Market Guide for Hybrid Integration Platform-Enabling Technologies,” by Elizabeth Golluscio, Jess Thompson, Keith Guttridge, April 25, 2016
6. SCÉNARIOS D'INTÉGRATION COMPLEXES
• Interopérabilité entre :
– Application Legacy
• On-promise / Cloud
– Application Mobiles / Web /
IoT / Micro-services
– Applications Partenaires
– Applications SaaS
• Office 365, Saleforce,
Dynamics…
SI
Applications
Partenaires
Applications
Legacy
Applications
SaaS
Web /
Mobile / IoT
9. STRATÉGIE IPAAS AVEC MICROSOFT AZURE
• Stratégie IPaaS (Integration
Platform as a Service) sur Azure
• Composantes de cette stratégie :
– Azure API Management
– Azure Logic Apps
– Azure Service Bus
– Azure Services : API Apps,
Functions..
Logic
Apps
11. EXÉCUTER DES SCÉNARIOS D'INTÉGRATION
COMPLEXES AVEC FACILITÉ
• Connecter facilement des
applications on promise au
cloud
• Implémenter des workflows et
processus métiers via la
composition et l’orchestration
d’APIs prêtes à l’emploie
• Une interopérabilité centrée sur
l'API
13. AZURE API MANAGEMENT – ARCHITECTURE TECHNIQUE
APP DEVELOPERS
APPS
API PUBLISHERS
Hosted anywhere.
Developed using any tech
nology.
BACKEND
APIs
DIRECT OR
VPN
Publisher portal
Gateway
Developer Portal
14. ÉTAPES D’IMPLÉMENTATION
1) API design
2) Develop
(Implement Logic)
Swagger
4) Publish 5) Share7) Monitor
Azure
Mobile
Engageme
nt
6) Control
3) Deploy
Developer
Portal
API Apps
APIMAPIM APIMAPIM
15. API DESIGN
• Types d’APIs :
– Interne
– Externe
– Public/Privé
• RESTful
• Spécification
• Versioning
• Exemple :
• Micrsofot REST API Guidelines :
– https://github.com/Microsoft/api-guidelines
16. RENDEZ SWAG VOS APIS
• Swagger
– Décrire d’une manière agnostique et
standard les APIs REST.
– Permet aux humains et aux ordinateurs
de comprendre les capacités du service.
• The OpenAPI Specification
– https://github.com/OAI/OpenAPI-
Specification
18. DÉPLOIMENT
• Azure App Service - API App
– Service PaaS
– Hébergement d’APIs REST
• En .Net
• Ou autres technologies : Node.JS, Java, PHP…
19. AZURE API MANAGEMENT
• Azure API Management
– Une solution clé en main (PaaS)
pour la publication d’APIs à
destination de développeurs
internes et externes
20. AZURE APIM – COMPOSANTS CLÉS (1/2)
• Publisher Portal :
– Interface d’administration pour
configurer votre programme d’API
• Gateway :
– le point de terminaison (Endpoint) des
APIs managées
• Policies :
– Les règles à appliquer sur les APIs
(restrictions, transformation
authentification, mise en cache, etc..)
Publisher
Portal
Gateway
Policies
Developer
Portal
21. AZURE APIM – COMPOSANTS CLÉS (2/2)
• Developer Portal
– Documentation des APIs
– Tester les APIs
– Demander de l’aide
– Etc
Publisher
Portal
Gateway
Policies
Developer
Portal
22. POLICIES
• Modifier le comportement de l'API via de la configuration
• Types :
– Access restriction
– Authentication
– Transformation
– Advanced
– Custom
• La liste des policies : https://docs.microsoft.com/en-us/azure/api-
management/api-management-policy-reference
24. ANALYTICS
• Dashboard accessible
directement depuis le Publisher
Portal :
– Usage :
• Calls, Bandwidth
– Health :
• Status codes, API response time,
Service response time, cache
– Activity :
• Developers, Products, Subscriptions,
APIs, Operations
Usage Health
Activity
26. API SECURITY
• Transport
– HTTPS/SSL
• Authentification
– HTTP Basic
– Client Certificates
– Authorization Servers
• OAuth2
• OpenIdConnect
• Last Mile Security
– Sécurisation du lien entre la Gateway et le Backend
31. Logic Apps
• Service d’intégration
– Connecter les applications : on-
premises, hybrid et cloud
– Exécuter des scénarios d'intégration
complexes avec facilité
• Orchestration de workflow
• Notions de déclencheurs et d’actions
• Passage des paramètres d’actions en
actions
• Monitoring de l’exécution de chaque étape
• Plusieurs dizaines de modèles existants
33. CONNECTORS
• Connecteurs prêts
à l’emploi
– Connecteurs
mangés par la
plateforme
• API connections
– Réutilisation
– Gestion depuis le
portal
Protocols/Native
XML & EDI
Hybrid
SaaS
34. On-premises Data Gateway avec Logic Apps
• Pour accéder aux données locales, vous pouvez configurer une connexion à une
passerelle de données locales (Data Gateway) pour les connecteurs Azure Logic Apps
compatibles :
– BizTalk Server
– DB2
– File System
– Informix
– MQ
– MySQL
– Oracle Database
– SAP Application Server
– SAP Message Server
– SharePoint for HTTP only, not HTTPS
– SQL Server
– Teradata
• Connect to on-premises data from logic apps :
– https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-connection
• Install an on-premises data gateway for Azure Logic Apps
– https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-install
35. OUTILLAGE
• Logic Apps tools for Visual
Studio
– Logic Apps designer
– Deployment templates
– Source Control & CI/CD
36. MONITORING
• Debugging and History
• Trigger history
• Run history
• Tracking
– Azure Monitoring
– Emit core tracking events
– Send to storage or event hub
– Use TrackedProperties for your
own tracking data
• Monitoring view
• Diagnostics & Alerts
Azure
40. Azure Service Bus
• Azure Service Bus propose différents modèles
de messagerie qui permettent de connecter
facilement des applications.
• Les technologies Azure Services Bus :
Queues, Topics.
41. Azure Service Bus : Queues
• Point-to-point messaging
• First in-first out (FIFO) processing
Queue
42. Azure Service Bus : Topics and Subscriptions
• Publish-Subscribe messaging
• Les messages sont envoyés aux Topics
• Les messages sont reçus par les Subscriptions
• Les filtres peuvent déterminer la Subscription du message
S Topic Sub
Sub
Sub
45. AZURE FUNCTIONS
• Exécuter facilement des petits morceaux de code, ou « fonctions », dans le cloud.
– Calcul à la demande déclenché par des évènements
• Une solution idéale pour le traitement des données, et l’intégration de systèmes,
l’utilisation de l’Internet des objets (IoT) et la création de microservices et d’API
simples.
– Utilisez votre langage de développement préféré (C#, Node.JS, Python, etc.)
• Scenarios :
– Répondre à une demande de webhook GitHub
– Redimensionner une image qui a été téléchargée sur Azure Storage
– Utiliser des files d’attente de traitement des commandes
– ...
https://app.powerbi.com/groups/me/reports/3efc9888-bdfe-464b-9971-d0b228b02cbf/ReportSection
Compte PowerBI :
Username : msarezki@upsilon.onmicrosoft.com
Password : PASSword?2017
12h05
Secure and predictable message delivery
Endpoint=sb://gab2017messaging.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=y3CiO2auNBhMLxu9enVnvZ1TPvzjwpyUYzDEgJuHvO8=
{ "MessageId": "4B7C1909C59D6CADE0537402010A553A",
"Adress": "HRS3781_15090003",
"DateRef": "2017-03-23 02:27:22",
"IndexRef": 879042, "AlarmBackFlow": 1,
"AlarmBattery": 0,
"AlarmLeak": 1,
"id": "cad8b000-d403-40e1-9fa4-888c8abeecdb"
}
Peek: This method enables you to view messages without locking or receiving them.
Receive: Can work in 2 modes: PeekLock (receives the message but keeps it peek-locked until the receiver abandons the message. The maximum timeout is 5 minutes before message expiration) and ReceiveAndDelete (deletes the message after it is received).
Country
12h15
Cloud :
https://gablyonfunctiondemo.azurewebsites.net/api/HttpTriggerCSharp1?code=YL5fHaZl/9/4epMVxkcheD5yvER7NpwnBgRDIJWbHn9awKHql5ItMQ==
Local :
C:\Users\samira\Documents\Visual Studio 2015\Projects\FunctionAppGab2017Demo\FunctionAppGab2017Demo