Français English
Le MTC à Paris dispose d’une plateforme de démo d’interopérabilité entre SAP et la plateforme Microsoft. Par exemple, SharePoint peut être un complément de processus SAP en ajoutant des workflows humains.
La plate-forme de démo est à demeure (dans les locaux du MTC à Paris) et ressemble à cela:
MTC Paris have a platform to demo interop between SAP and Microsoft Platform. For instance, SharePoint can complement SAP processes with human workflows.
The demo platform in on premise and looks like this:

SAP SharePoint on premise

J’ai donc essayé d’exposer SAP dans une application Web Windows Azure en prenant les critères suivants:
1/ ne pas changer l’existant
2/ ne pas trop coder
3/ ne pas changer les règles de pare-feu

NB: dans cet exemple, les performances ne sont pas prises en compte. Il pourrait y avoir des couches en moins mais cela changerait les règles 1/ ou 2/.

Le résultat ressemble à cela:
So I tried to expose SAP to a Windows Azure Web application with the following criteria in mind:
1/ don’t change existing assets
2/  don’t write too much code
3/ don’t change firewall rules

NB: in this sample, performance is not taken into account. There could be less layers, but that would have changed rules 1/ or 2/.

The result looks like this:

Diapositive2

image

 

AzureBridge est la partie centrale du prototype. Il s’appuie sur deux technologies: Azure Service Bus et le service de routage (RoutingService) de Windows Communication Foundation 4.0 (WCF).
C’est un service Windows développé en C#. Il a très peu de lignes de codes comme le montre l’analyse de Visual Studio 2010:
AzureBridge is the central part of this prototype. It uses two technologies: Azure Service Bus, and Windows Communication Foundation (WCF) 4.0’s routing service.
It is developed as a Windows Service, in C#.
It has very few lines of code, as shown by Visual Studio 2010 code metrics:

image

Cela vient de ce qu’on utilise la classe de routage qui fait l’essentiel du travail This comes from the fact that we leverage the RoutingService Class which does the job

image

Puis la configuration fait le reste. Essentiellement, on indique qu’on expose tous les contrats du service SapWCFSvc suivant le binding d’Azure Service Bus ws2007HttpRelayBinding Then configuration does the rest. We mainly tell we want to expose all contracts of the SapWCFSvc service with the Azure Service Bus’ ws2007HttpRelayBinding.

image

Regardons mantenant ce qu’il y a derrière les différentes flèches du diagramme Let’s now take a look at what’s behind each arrow
Diapositive3

1/ s’appuie sur le BizTalk Adapter Pack. Je bloguerai sans doute sur cette techno plus tard.

2/ est un appel WCF classique

3/ est une exposition de service via l’Azure Service Bus

4/ est une consommation de service WCF via un binding de l’Azure Service Bus
1/ is based on the BizTalk Adapter Pack (it does not require BizTalk Server).
I might blog further on this technology later on.

2/ is a classical WCF call

3/ is a service (the routing service) exposed thru Azure Service Bus.

4/ is a WCF call thru an Azure Service Bus binding

 

L’application Web Azure ressemble à une application APS.NET classique. Peupler la grille de données, par exemple, prend les mêmes deux lignes de code: The Windows Azure Web Application looks like a regular ASP.NET Web App. For instance, populating the GridView is as simple as those two lines of code:

image

Au niveau sécurité, ce prototype utilise le pattern du “trusted subsystem” où l’application Web utilise toujours le même compte de service, sans emprunter l’identité de l’utilisateur Web authentifié. From a security perspective, this prototype uses the trusted subsystem pattern where the Web Application always uses the same service account, wihout impersonating the authenticated Web user.

 

Conclusion

Ce prototype permet de démontrer:
- la simplicité d’interopérabilité entre SAP et la plateforme Microsoft avec le BizTalk Adapter Pack
- la puissance du service de routage, nouveauté du .NET Framework 4.0
- la facilité avec l'aquelle l’Azure Service Bus permet d’exposer dans les nuages des systèmes à demeure
- La similarité enttre un développement ASP.NET classique et un développement Web pour Windows Azure
Conclusion

This prototype demonstrates:
- how easy it is to interoperate between SAP and the Microsoft Platform with BizTalk Adapter Pack
- the power of routing service which comes with .NET Framework 4.0
- how easy it is to expose on premise systems to the cloud with Azure Service Bus
- similarity between a classic ASP.NET development and a Windows Azure Web development

:-)

Benjamin