samedi 19 avril 2008

Biztalk.........................

Biztalk, Biztalk, Biz Talk………….

 

Aucune application ne fonctionne comme un ilot. Que nous l'aimions ou pas, lier les systèmes les uns aux autres est devenu une norme.

Mais connecter des logiciels est beaucoup plus qu'échanger des octets. Tandis que les organisations se déplacent vers un monde orienté services, l'objectif réel – créer des processus métiers qui réunissent des systèmes disparates et en font un tout – se retrouve à portée de main.

Biztalk Server 2006 supporte cet objectif. Tout comme ses prédécesseurs, cette dernière mouture permet de connecter différents logiciels, puis de créer et de modifier graphiquement la logique métier utilisant ce logiciel. Le produit permet aussi aux « information workers » de controler les processus en cours d'exécution, d'interagir avec les partenaires commerciaux et d'effectuer d'autres taches orientées métier

Bâtie sur la fondation de son prédecesseur, Biztalk Server 2004, cette nouvelle mouture ne sera pas déroutante au regard de celui qui a déjà utilisé la version précédente. Les nouveautés les plus importante dans Biztalk Server 2006 sont :

ü  Un meilleur support du déploiement, du contrôle et de la gestion des applications

ü  Une installation significativement plus simple

ü  Des capacités améliorées pour le BAM (Business Activity Monitoring)

 

Biztalk Server 2006 utilise également les dernières versions des autres technologies Microsoft. Elle est batie sur la version 2.0 du .Net Framework par exemple et ses outils de développement sont hostés dans Microsoft Visual Studio 2005, la dernière version du serveur de données Microsoft ou Sql Server 2000.

Biztalk Server 2006 peut aussi s'exécuter sur un Windows à architecture 64 bits, exploitant davantag de mémoire ainsi que les autres avantages spécifiques offerts par cette nouvelle génération de matériels.

Qu'est – ce que Biztalk Server 2006 fournit

 

Combinant différents systemes pour en faire des processus metiers efficacies est un défi. En conséquent Biztalk Server inclut une gamme de technologies. La figure ci – dessous illustre les composants majeurs du produit

 
 

Comme le suggère la figure, le cœur du produit c'est le moteur de Biztalk Server 2006. Ce moteur comprend deux composantes principales :

- Un composant de messagerie qui fournit la capacité à communiquer avec une grande variété d'autres logiciels. En se basant sur des adaptateurs pluggables pour différents types de communication, ce moteur supporte une variété de protocoles et de formats de données, incluant les services Web ainsi que beaucoup d'autres

 

- Le support pour la création et l'exécution de processus définis graphiquement appelé « orchestration ». Bâtie sur le sommet des composants de messagerie, l'orchestration implémente la logique qui pilote toutes les parties d'un processus métier

Plusieurs autres technologies peuvent aussi être utilisées de concert avec le moteur, incluant :

ü  Un moteur de règles métier qui permet l'évaluation d'ensembles complexes de règles

ü  Un outil d'assainissement et de suivi d'activités qui permet aux développeurs et administrateurs de gérer leur moteur ainsi que l'orchestration qu'il exécute

ü  Des services SSO pour l'ntreprise (Enterprise Single Sign On) fournissant la capacité à mapper les informations d'authentification entre des systèmes Windows et d'autres types de systèmes

 

         

 

Au sommet de ce fondement, Biztalk Server 2006 fournit un groupe de technologies qui adressent les besoins orientés metiers plus spécifiques des "information workers" parmi ces technologies citons

 

-          Le BAM (Business Activity Monitoring)

-          BAS (Business Activity Services)

 

Toutes ces technologies sont focalises sur la resolution des problèmes inhérents à l'utilisation de divers types de logiciels afin de permettre l'automatisation des processus métiers. Nous verrons dans un prochain article comme cela s'effectue

 

 
 
 


--
Alain Lompo
Excelta - Conseils et services informatiques
MCT
MCSD For Microsoft .Net
MVP Windows Systems Server / Biztalk Server
Certifié ITIL et Microsoft Biztalk Server

jeudi 10 avril 2008

Talking of Biz

Kingdom Business

--
Alain Lompo
Excelta - Conseils et services informatiques
MCT
MCSD For Microsoft .Net
MVP Windows Systems Server / Biztalk Server
Certifié ITIL et Microsoft Biztalk Server

jeudi 24 janvier 2008

Good links for Biztalk Server

Voici quelques liens sympas vers des documentations et ressources sur Biztalk Server: j'ai essayé de les classeer en catégories mais celà a été très difficile à cause ..... des connections !!!!

The home page of course:
http://www.microsoft.com/biztalk/default.mspx

The developpers Biztalk home:
http://msdn2.microsoft.com/en-us/biztalk/default.aspx

Un très intéressant article sur la messagerie:
http://www.c-sharpcorner.com/UploadFile/john_charles/BiztalkMessagingServicesWorkingwithMessages10192007141834PM/BiztalkMessagingServicesWorkingwithMessages.aspx

Le blog de l'équipe Biztalk Server
http://blogs.msdn.com/biztalk_server_team_blog/

La technet Biztalk
http://technet.microsoft.com/en-us/biztalk/default.aspx

mercredi 16 janvier 2008

Solution BizTalk pour une compagnie pétrolifière


Cette solution ciblait des organismes gouvernementaux d’utilité générale

Background du Client

Le client était une entreprise milliardaire avec trios segments métiers : Transport et raffinage de produits, gaz de pétrole liquéfié et pétrochimie (segment le moins porteur). La collecte, le transport, le marketing et le stockage du pétrole brut de même que la distribution de la lubrification et les spécialités chimiques.

L’architecture suivante a été adoptée

Probleme

En tant que livreur de produits pétroliers, la société est sollicitée pour faire le rapport de la distribution de ces produits au service de revenus internes pour la vérification des paiements de taxes. En 2005, IRS mandata que tous les distributeurs doivent cesser de remplir les rapports de taxes et d’utiliser le système de remplissage EDI EXSTARS développé par IRS.

Notre compagnie devait s’y contraindre ou payer de lourdes amendes chaque foi.


Solution

La compagnie a produit une collection d’orchestrations et de rapports SQL Server pour la compagnie pétrolifère. Le projet inclut la création de 720 rapports TO et 720 rapports CS dans un format EDI X12 afin de satisfaire aux exigences IRS. Ils fournissent ensuite ces données à une table d’interface pour le chargement d’une application qui affiche à l’utilisateur des informations ; l’archivage des rapports EDI et l’accréditation vis – à – vis de IRS ; ainsi que la création des rapports de résumé pour satisfaire les obligations de tests IRS.


Je vous laisse le temps d'admirer l'architecture avant qu'on ne l'analyse de façon plus détaillée

mardi 15 janvier 2008

Intro à BAM (Business Activity Monitoring)

Objectifs
Comprendre quell role BAM peut jouer au sein de vos applications
Voir comment les intercepteurs de R2 s’intègrent dans une solution BAM
Presque toutes les applications ont besoin de visibilité métier
o Les KPI (par exemple nombre de commandes traitées, somme des totaux des commandes)
Les DataWarehouse sont la destination finale des données.
Dans un monde orienté service difficile à coordonner
o SOA Tenet : l’autonomie des services rend la tache plus difficile,
§ L’espace de nom System.Diagnostics s’avère utile dans ce cas mais peut nécessiter du codage fonctionnel supplémentaire.
Une infrastructure distribuée pour une extraction déclarative des données métier
o Peut être utilisé pour les données opérationnelles également
Inclut des outils pour définir l’extraction des données
Des intercepteurs et des API qui permettront d’extraire des données
o Les intercepteurs permettent l’implantation des profiles de suivi permuttables qui sont orientés aspects
Service de collecte et d’aggrégation
Outils de visualisation des données
Capacité d’alertes


Architecture multicouche de BAM



BAM Activity
ü Un ensemble nommé de points relies d’une collection de données
o La pierre angulaire de l’utilisation de BAM
ü Implémentation actuelle – Activité = Table de la base de données
o D’autres artefacts de base de données peuvent être également créés.

CHECKPOINT
Le Checkpoint constitue l’atome d’une BAM ACTIVITY
ü Les checkpoint deviennent des colonnes
ü Une déclaration d’une collection de données
ü Constitué de a(n)
o Nom
o Type de données
o ID
INSTANCE D’ACTIVITE
ü Une fois qu’une activité et ses checkpoint ont été définis on peut en créer des instances
o Chaque instance est représentée par une ligne dans la table des Activités
o Chaque instance doit être représentée par une valeur unique (une clef primaire)
Exemple de table d’activité
ActivityId StartTime Amount
Af22f4e11272 1/9/2007 3:50:34 AM 100.00
9855982d878 1/9/2007 3:50:35 AM 255.55

L’API BAM
La programmation de BAM par le biais de son API s’effectue autour de la classe EventStream
o Elle possède des méthodes appropriées pour démarrer une activité BAM, pour mettre à jour l’instance de cette activité et la compléter.
L’API fournit aussi des classes de base abstraite
La classe DirectEventStream la plus simple pour la plupart des applications
o Synchronisation




BufferedEventStream – qui est asynchrone
o Les messages sont routés au travers de Biztalk MEssageBox


lundi 14 janvier 2008

ETAPES VERS UNE MAITRISE DE WF : ARTICLE 1

Résumé

Dans cette série d' articles nous décrivons les fonctionnalités et avantages de Windows Workflow Foundation qui est devenu un standard de la nouvelle plateforme Windows de Microsoft (Windows Vista et .Net Framework 3.0). WF fournit un framework générique pour le dévelopement de workflows à destination de différents types d’applications.

Contenu
Description de WF
Utilisation de WF
WF et les autres technologies Microsoft

Description de Windows Workflow Foundation
De façon virtuelle tous les logiciels utilises en enterprise ont le même objectif : le support des processus métiers. Certains processus sont entièrement automatisés, reposant entièrement sur la communication entre applications tandis que les autres ( et sans doute la majorité) dépendent des ressources humaines, ne serait – ce que pour initier le processus, approuver des documents que le processus utilise, résoudre des cas exceptionnels et ainsi de suite. Dans tous ces cas, il est souvent possible de spécifier une serie d’étapes discrètes appelée « workflow » qui décrit les activités des gens et des logiciels impliqués dans le processus. Une fois que ce workflow est défini, une application supportant le processus métier peut être bâtie autour de cette définition.

La création et l’exécution d’un workflow dans un logiciel pose un défi unique. Certains processus métiers peuvent durer des heures, des jours, ou des semaines avant de se terminer par exemple. Comment est – ce que le développeur maintient l’information concernant l’état actuel du workflow pour une telle durée ? Ce type de workflow longue durée va typiquement communiquer avec d’autres logiciels dans une façon non bloquante. Comment peut – on relever le défi de la communication asynchrone et faciliter la tâche aux développeurs ? Alors que l’apport et la modélisation de flexibilité entre logiciels s’avère fastidieux les gens en réclament davantage pour le travail et demandent des choses telles que la possibilité de changer un processus métier à la volée. Comment est – ce que le workflow peut gérer des comportements humains imprédictibles ? Lorsque l’on manque des bons fondements sur lesquels bâtir cette tâche peut s’avérer difficile. Par contre quand on dispose d’une technologie explicitement conçue pour gérer les workflows, cela devient jouable.
Microsoft Windows Workflow Foundation a été développé afin de satisfaire à de telles exigences. En tant que composante fondamentale du noyau de WinFx, il est également fondamental aux développeurs ciblant la nouvelle plate forme Windows. WF fournit un Framework commun pour la création de workflows dans les applications destinées à Microsoft Windows (Primordialement, mais bien entendu les applications basées sur les règles d’universalités introduites dans l’architecture du .Net Framework peuvent laisser espérer un accès par d’autres plate formes). Les premiers systèmes pour lesquels WF était disponibles sont Windows XP, Windows Vista et Windows Server 2003

Quelles sont les exigences d’une application de Workflow ?

Afin de comprendre quelles sont les exigences d’un Framework applicatif tel que Windows Workflow Foundation, il est utile de penser à different types d’applications qui pourraient utiliser des workflows. Voici quelques exemples :

  • Une application Microsoft ASP .NET qui affiche des pages à ses utilisateurs pourrait utiliser un workflow pour controler l’ordre dans lequel ces pages sont affichées. Faire cela pourrait faciliter le changement du flux de pages sans changer les pages elles même, et tout aussi bien permettre de séparer la logique de contrôles
  • Une application composite dans un environment orienté service implémenterait ses comportements fondamentaux à l’aide d’un Workflow. Vu que de plus en plus d’applications exposent leur logique par le biais de services web, la création de processus métiers bâtis sur ses services devient plus simple. Une technologie de workflow telle que Windows Workflow Foundation fournit la base pour la logique qui invoquera ces services, les figeant dans une application composite.
  • Une application ciblant un problème spécifique telle qu’une application de CRM ou un marché vertical spécifique, tel que les services financiers, doit être bâti autour d’un workflow. Une technologie de Workflow telle que Windows Workflow Foundation fournit le fondement que la logique qui expose ces services pourra exploiter. Ce type d’applications implémente un grand nombre de processus métiers. La création de la logique qui pilote ces processus sur une technologie telle que WF pourrait rendre l’application beaucoup plus rapide à créer, facilement modifiable et paramétrable.
    Dans la suite de cet article nous allons décortiquer en détail un exemple d’application pilotée par workflow.

ETAPES ELEMENTAIRES AVEC WINDOWS COMMUNICATION FOUNDATION : ARTICLE 1

Dans cette série d’article nous allons explorer quelques possibilités offertes par Windows Communication Foundation, notamment

v Comment définir et implémenter un contrat
v Héberger un service dans un exécutable .Net
v Consommer le service
v Héberger le service dans IIS
v Sécuriser le service

Dans cette première étape nous allons définir un contrat pour un service simple sensé renvoyer la date actuelle.
Pour cela procédons de la sorte :
- Créons un Nouveau projet à l’aide de Microsoft Visual Studio 2005
- Dans la boite de dialogue « Nouveau Projets » sous la section « Type de projets » choisissez Visual C# puis Windows et ensuite « Class Library »
- Assurez-vous que vous avez activé la case à cocher « Créer un nouveau répertoire pour la solution » ensuite sélectionnez la propriété « Nom » et attribuez lui la valeur : ServiceDatation.
- Choisissez un emplacement approprié et spécifiez comme non « Datation »
- Après avoir terminé de remplir ces différentes options, cliquez sur OK

Dans la seconde étape nous allons ajouter une référence vers un espace de nom qui nous donnera accès aux attributs et classes WCF à utiliser. Sous l’onglet .Net de la boite de dialogue qui s’ouvre choisissez « System.ServiceModel » et clickez sur OK

Dans la troisième étape nous allons définir le contrat que le service Datation va exposer.
Allons dans le projet de bibliothèque de classe et renommons le fichier par défaut class1.cs en IDatation.cs
Créez un contenu pour IDatation pareil à celui – ci :

using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;

namespace DatationService
{
[ServiceContract]
public interface IDatation
{
[OperationContract]
DateTime GetTodaysDate ();
}
}

La quatrième tache consistera à implémenter le contrat que le service va exposer
Pour cela ajoutons à notre projet une nouvelle classe que l’on va appeler Datateur.cs et modifiez son contenu de façon à ce qu’il soit pareil à ce qui suit :

using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;

namespace DatationService
{
public class Datateur: IDatation
{
#region IDatation Members

DateTime IDatation.GetTodaysDate()
{
return System.DateTime.Now;
}

#endregion
}
}

Ensuite nous générons le projet, et si tout se passe sans erreur l’implémentation de notre contrat est terminée. L’étape suivante consistera à « hoster » ce service dans un exécutable .Net. Et ceci fera l’objet du prochain article de cette série.