mardi 27 septembre 2016

Ignition Community Conference 2016


Du 19 au 21 septembre 2016 s'est tenue la 4e Ignition Community Conférence, à Folsom, CA. Depuis 2013, cette rencontre annuelle des utilisateurs (intégrateurs, utilisateurs, constructeurs, partenaires et oem) ne cesse de prendre de l'ampleur et d'élargir son influence. la conférence était SOLD OUT dès fin juillet... Avis aux amateurs pour l'année prochaine.

Cette année, le thème était ACCELERATE après DISCOVER en 2014 et BUILD en 2015. 2013 n'avait pas de thème particulier mais aurait pu s'intituler WELCOME.

NOTA : pour les plus pressés ou les plus paresseux, sautez directement à la section "à retenir" ; mais ce serait dommage de louper ce qui suit...

Le thème 2016 est réellement en phase avec l'engouement pour la plateforme Ignition ; la communauté des utilisateurs ne cesse de grandir, les succès sur tous les continents et dans tous les secteurs sont toujours plus nombreux (merci à nos clients francophones !), la satisfaction toujours grandissante tant pour la qualité du produit que pour son architecture innovante et en avance (voir la newsletter de juin 2016).

Mais ACCELERATE, c'est aussi la capacité que procure Ignition pour accélérer l'adoption des nouvelles tendances comme la convergence IT-OT.

Cette convergence des systèmes opérationnels (OT) de l'atelier avec les applications d'entreprises (IT) était finalement déjà au menu en 2003 avec les logiciels FactorySQL et FactoryPMI qui mettaient en oeuvre OPC-COM (pour l'OT) et web server et SQL (pour l'IT).


IT-OT au coeur du produit depuis 2003

En 2006, je distribuais déjà les produits d'Inductive Automation en France... On me prenait pour un gentil illuminé avec ces technologies dans l'industrie ; pensez, le web dans l'industrie ! C'est sûr, quand on avait vu les performances et les difficultés pour mettre les Scada en mode web de nos confrères, il y avait de quoi être sceptique !

En 2010 lors du lancement d'Ignition, fusion de FSQL et de FPMI grâce à l'arrivée d'OPC-UA (nota : Ignition fut le premier produit OPC-UA commercial du marché en 2010, avec une écriture 100% interne du serveur et du client UA en Java pour le multi-plate-forme), même accueil moqueur...

C'est d'ailleurs ce qu'a rappelé Steve Hechtman, CEO d'Inductive Automation en raillant analystes, journalistes et compétiteurs qui prédisaient une fin en 2/3 ans... Comment ? Un nouveau produit sur un marché encombré et tenu par quelques grands noms (Wonderware, Siemens, ABB, Schneider, Rockwell...), des compagnies qui emploient des dizaines de milliers de personnes et font des Mds de dollars de CA ? Impossible d'y survivre, selon eux.

13 ans après, Ignition est toujours là et bien là !
Lors de mes présentations commerciales, je fais souvent le parallèle entre un smartphone et Ignition. Le smartphone permet d'installer/supprimer des applications en ligne sans redémarrage. Les applications sont développées par des tiers. Le smartphone est une plateforme pour les applications et un accélérateur de business pour les éditeurs tiers et les équipementiers.
Ignition en tant que plateforme permet d'installer/supprimer des modules. Ces modules sont développés par des tiers (intégrateurs ou éditeurs).
Le parallèle avec le smartphone ne s'arrête pas là. Si on s'intéresse au lancement du plus fameux sinon iconique des smartphones, l'iPhone, on s'aperçoit que personne ne donnait cher de sa peau non plus. Pensez donc, il y avait déjà Nokia, Motorola, Ericson, Sony, Alcatel... Qu'en est-il aujourd'hui ?

Ce qui fait la différence, c'est la rupture. Ou plutôt les ruptures. Technologique, d'usage, de modèle économique. Et c'est tout un écosystème qui en bénéficie. Vous voyez le parallèle avec Ignition ?

Aujourd'hui, Ignition fait vivre un écosystème de +1500 intégrateurs dans le monde. Et voici que les constructeurs y viennent. A commencer par ceux qui ont un intérêt particulier pour la convergence IT-OT. Voyez plutôt : Elecsys, eWon (maintenant HMS), Hilscher, Advantech B+B, Moxa, Opto22, Magnetrol, Bedrock... Tous intègrent la spécification Spark Plug / MQTT pour être compatible avec Ignition (en plus d'OPC-UA pour la plupart).

IT-OT : MQTT au coeur des stratégies des constructeurs
Il y a 2 technologies fédératrices : OPC-UA et MQTT. Ces mêmes technologies que nous avons adopté avant tout le monde (OPC-UA en 2010 et MQTT dès fin 2015, voir la newsletter) ; l'un des parents de MQTT, Arlen Nipper, en est l'instigateur d'ailleurs. Et il dit lui-même qu'Ignition est LA plateforme idéale pour la convergence IT-OT.

Voici une démonstration live d'Ignition et MQTT avec un broker dans le cloud :




Mais la ICC2016, ce sont aussi des retours d'expérience. Plusieurs dizaines de compagnies ont proposé des projets réalisés avec Ignition. 12 finalistes et 6 d'entre elles ont été récompensées.

Je retiendrai pour ma part celle de CANBERRA qui utilise Ignition comme base pour son outil HORIZON (voir le showcase). Le projet met en oeuvre Ignition et son SDK gratuit pour développer un driver pour OPC-UA avec des fonctions d'autodécouverte et de création automatique de tags (comme avec MQTT Spark Plug).

CANBERRA utilise Ignition pour son produit HORIZON
Voici ce que dit la fiche produit :
"Horizon brings together OPC-UA and SCADA technologies to provide a robust and open platform that can meet your supervisory needs today and well into the future. Horizon is not just a product, it’s an open platform for CANBERRA’s specialized radiological instrumentation which can be used to create a variety of solutions for our customers."

Le produit commercial développé est visible ici RAD_MONITORING_HORIZON.

Enfin, la ICC est l'occasion de parler produit et feuille de route, la fameuse roadmap. Il y a 10 ans, nous avions déjà 10 ans d'avance sur le marché.

Ignition ? Always 10 years ahead the hype!


Mais lorsqu'il s'agit de parler roadmap, il est bien difficile de prédire ce que sera le système dans 3/5 ans. Ce qui est certain, c'est que nous aurons toujours de l'avance...

Roadmap Ignition 2017

La version 7.9 est donc la version actuelle (disponible le 12 octobre prochain). Elle apporte essentiellement les fonctions distribuées (tags, alarmes, historiques distribués), un revamping du serveur web de la gateway (html5, responsive), une version pour ARM (compatible ARMV7 et V8 donc avec le Raspberry PI 3). Pour en savoir plus sur la V7.9, télécharger la datasheet Ignition v7.9 (EN).

Dès les prochains mois (2017Q1), une version embedded noté SPARK d'Ignition sera disponible pour des bases ARM, fonctionnalités limitées (nous consulter) avec mise en réseau automatique grâce aux fonctions distribuées de la v7.9. L'idée est d'avoir des Ignition Spark diffus qui alimentent un serveur central. La mise en réseau sera performante (Gateway Network) et sécurisée (Security Zone).
Le pervasive computing comme je l'ai découvert grâce à Lou Gerstner en 2001 (http://www.informit.com/articles/article.aspx?p=165227).

La version 8 d'Ignition apportera un nouveau module HTML5 ; il ne remplacera pas l'actuel client Vision mais viendra le compléter. Les performances et les fonctionnalités seront au rendez-vous (je sais de quoi je parle;) ), les développeurs ne devraient pas être déroutés... Le Designer sera toujours là. Les fonctionnalités de mise en réseau (services distribués) seront encore plus présentes, plus puissantes mais toujours plus simples de mise en oeuvre.

Au-delà... beaucoup de pistes ouvertes. L'adoption des standards devrait dicter tel ou tel développement. Mais dans 2/3 ans, qui du machine learning ou du NoSQL sera toujours d'actualité ? Ce qui est sûr, c'est que l'on travaillera toujours sur la performance et la scalabilité. Mais donnons-nous rendez-vous dans 12 mois à la ICC2017. Chiche ?

D'ici là, voici ce qu'il faut retenir :
  • Ignition V7.9 est disponible dès le 12 octobre 2016
    • Version Long Term Supported jusqu'en octobre 2021
    • Version ARM et ARM Embedded (SPARK)
    • Scalabilité (scale-out) avec les services distribués
    • Nouvelle page web de la gateway HTML5
    • Nouveaux outils de diagnostique
  • MQTT et OPC-UA à tous les étages chez les constructeurs comme eWon, Moxa, Elecsys, Opto 22, IT MATION EdgeWare et bien d'autres
  • Ignition toujours plus déployé (croissance moyenne de 61% par an depuis 2010)
  • Le SDK est un outil incroyable pour développer le potentiel de la plateforme au profit de vos besoins (voir use case Canberra)


vendredi 12 février 2016

Internet des Objets et Industrie

Concentration

Depuis plusieurs mois, il ne se passe pas une semaine sans une annonce autour des IoTs, que ce soit dans le domaine des gadgets, des applications d'entreprise ou bien encore de l'industrie.
Je ne vous ferais pas l'historique tant les sources de qualité sont nombreuses et facilement accessibles grâce à notre ami commun, Google.

Ce qui m'intéresse aujourd'hui, c'est plutôt les annonces qui concernent directement le secteur de l'industrie...

Vous avez du lire que KEPWARE a été racheté par PTC, si non, lire ici http://www.ptc.com/news/2015/ptc-to-acquire-kepware. Selon PTC, c'est pour épauler sa stratégie des IIoT et plus particulièrement compléter son offre ThingWorx®. Société qui elle même avait été rachetée en 2014 par PTC (http://www.lemondeinformatique.fr/actualites/lire-ptc-cible-l-internet-des-objets-en-rachetant-thingworx-56243.html).

D'ailleurs, vous remarquerez que l'on parle de PTC et ThingWorx® sur des sites liés à l'informatique, mais point de Kepware. C'est un signe intéressant de rapprochement des deux mondes et de fusion des technologies, le chantre même des IoTs, c'est-à-dire l'ubiquité et l'utilisation des standards.

Ce qui me gène dans ces consolidations (et il y en aura beaucoup d'autres à venir dans les prochains mois, je vous l'affirme), c'est la perte d'indépendance pour les utilisateurs et la main mise des grands opérateurs des solutions en end-to-end !
Notre futur dans l'atelier va-t-il se limiter à Siemens, Schneider, GE (voir le rapprochement GE/PTC sur les IoTs justement), Rockwell ? J'ose espérer que non et que la clairvoyance des clients jouera un rôle dans cet échiquier.

Ignition et les IoT pour l'industrie (IIOT)

Pour ma part, je vous annonce qu'Ignition jouera également son rôle en tant que solution agile pour les IoTs avec des annonces dans les prochains jours. Ce sera notre contribution pour libérer les intégrateurs et les utilisateurs du joug de ces immenses entreprises qui usent de leur monopole.

Pour anticiper un peu les choses, voici un petit rappel de ce que l'on peut déjà faire avec Ignition dans le domaine des objets internet communicants grâce aux web services, qui sont finalement une des composantes des IoTs :


Ignition : ONE PLATFORM, UNLIMITED POSSIBILITES

Comme vous avez pu le voir, le module pour les IOT d'Ignition repose sur le protocole MQTT.

Pour la petite anecdote, ce nouveau module que nous vous présenterons fin février a été développé par Arlen Nipper, ni plus ni moins que le coauteur du protocole MQTT (regardez sa présentation TED : https://www.youtube.com/watch?v=qA1Nt_0XomY).

En septembre dernier, j'ai rencontré Arlen lors de la Ignition Community Conference à Folsom, CA. Il a fait une présentation incroyable du potentiel de MQTT associé à la plateforme Ignition.

Arlen Nipper (Cirrus Link/MQTT)

Arlen a confessé être très impressionné par Ignition. Que le créateur du protocole MQTT choisisse Ignition pour construire sa propre solution, cela est la meilleure traduction de la solidité et de la souplesse de la plateforme.

Définitivement, Ignition, c'est ONE PLATFORM, UNLIMITED POSSIBILITES.





vendredi 3 octobre 2014

Futur Proof, let’s do it again

Il y a bien longtemps que je n’ai pas pris le temps de poster un petit message. Un an...Je profite d’un énième déplacement entre Paris et Aix-en-Provence en TGV pour rédiger cette note.

Alors de quoi s’agit-il ?

De supervision bien sûr et de système d’exploitation. Windows 10 Technical Preview en l’occurrence.

Une des grandes qualités d’Ignition, c’est sa très faible adhérence au système d’exploitation. C’était d’ailleurs l’un de mes thèmes préférés lorsque j’ai introduit Ignition en France en 2010. C’était un des 5 atouts : 100% multi plateforme, 100% web server, 100% data centric, 100% évolutif, 100% facile. Voir la vidéo de l’époque :



Cela reste encore plus vrai aujourd’hui.

Donc hier, le 1er octobre 2014, Microsoft a annoncé la sortie prochaine de la nouvelle version de Windows, Windows Threshold ou plutôt Windows 10 comme cela semble être confirmé par la présentation ici : http://bit.ly/1vx8QmU.

Alors je n’ai pas résisté à l’envie de vérifier que cet atout « faible adhérence à l’OS »  reste toujours d’actualité. J’ai donc téléchargé la technical preview de Windows 10 et créer une machine virtuelle… Et fais ce petit film dans le TGV ce matin pendant que certains dorment (TGV de 6H19 gare de Lyon, uhhh) ou encore sont à la voiture-bar (j’irai après ce billet, sûr).




Que peut-on en conclure ?

Je ne porterai pas de jugement sur Windows 10, si ce n’est que l’installation a été très rapide (15-20’) et que globalement on retrouve ses petits si on vient de Windows 8/8.1 (la mise à jour devrait être gratuite dans ce cas, il paraît). Un meilleur cru que Windows 8 et son interface métro… mais on en reparlera (oui vous savez l’adoption de technologies Microsoft un peu trop hâtive par nos confrères comme Silverlight,  Métro, le multitouch… qui ne survivent ps au marché et aux versions successives de Windows).

C’est toujours avec la même envie que j’installe Ignition ; toujours la même chose, certes, mais tellement simple et toujours ok, jamais eu un raté depuis…2005 !

Concernant Ignition
-       installation toujours aussi rapide et sans surprise un vrai confort (surtout pour le commercial que je suis, je fais des centaines de fois cette opération en live chez les clients chaque année…un pur bonheur)
-       fonctionnement de la démo supervision/mes sans problème
-       fonctionnement de MySQL sans problème non plus

Si j'étais
Si j’étais intégrateur ou utilisateur final d’une supervision, à la lecture de ce billet, la première chose qui me viendrait à l’esprit, c’est que mon commercial préféré va encore me vendre une nouvelle version de son scada compatible avec Windows 10. Et que je n’aurais pas le choix. Et que cela nécessitera une nouvelle clé de développement (et la gestion de plusieurs versions et de plusieurs clés…). Et que la migration va encore être l’occasion de grosses suées et pertes de temps considérable.

Si j’étais un responsable informatique, j’aurais à faire face à la réticence au déploiement de Windows 10 dans les ateliers pour les raisons ci-dessus. Et pourtant cela me faciliterait grandement la tâche, car nécessaire pour simplifier la gestion de mon parc, le rendre moins vulnérable aux attaques virales (oui, même dans les ateliers, vous avez dit Stuxnet…) et profiter des avancées que me procure le nouveau Windows Server 2014. Sans parler des ilots de machines non conformes aux règles d’exploitation de l’entreprise.

Si ‘étais un client et que je demandais conseil à ma direction informatique ou à mon intégrateur préféré, que penserait-elle d’un système industriel :
  • compatible avec Windows 2000 (voir vidéo) jusqu’à Windows 10, qui discute avec toutes les bases de données SQL parmi lesquelles IBM DB2, Firebird, MySQL, PostgreSQL et même SQL Server 2014
  • disponible sur les smartphones et tablettes (voir les vidéos
  • qui n’utilise que des standards compatibles avec l’entreprise comme SQL, HTTP, HTTPS, ssl, OPC-UA (non plus de DCOM svp, merci) , services web, java, python, active directory, ldap, sso
  • qui utilise mes bases de données (oui, je peux conserver mes serveurs, mes modèles, mes plans de sauvegarde)
  • qui s’installe en 2 minutes
  • qui se restaure en 2 minutes (merci pour les crash recovery ; une machine neuve et 5 minutes après on est reparti)
  • qui est un serveur d’applications full web (et donc exécute plusieurs projets en simultané (comme ceux qui existent déjà dans l’entreprise, avec les mêmes technologies)
  • dont l’outil de développement est sur le serveur, donc toujours à jour (gratuit, sans dongle, accessible à plusieurs en simultané, sur le même projet ou des projets différents, et par le web)
  • qui intègre en une seule plateforme unifiée tout ce dont j’ai besoin : HMI, supervision, data historian, reporting, MES, middleware d'entreprise
  • dont le mode de licence est illimité en nombre de variables et de clients et de projets
  • qui me permette de réaliser 100% de mes besoins fonctionnels
  • qui fonctionne aussi dans le cloud ou en hybride
  • etc.
Je vous laisse lui répondre.

Mais si la seule chose que vous recherchez c’est la tranquillité d’esprit vis-à-vis des changements de système d’exploitation (futurproof) ou de l'hétérogénéité de votre parc informatique, ou que vous prévoyez déjà le passage à Windows 10 (ou tout autre OS comme Linux, OS X, HP-UX), cette simple, mais excellente raison mérite qu’on se rencontre. C’est par ici.


mardi 4 septembre 2012

Jump to the next curve

J'aime assez l'idée que nous sommes en avance sur les autres. Et cela est indéniable.

2 ans déjà que nous avons un serveur OPC-UA au coeur de notre produit Ignition. Les autres éditeurs et constructeurs commencent à suivre.
Mais nous sommes toujours les seuls à avoir une solution multi plateforme reposant sur un serveur web et les bases SQL. Et depuis la version 7.4, la modélisation objet permet d'aller encore plus loin, plus vite. Avec plus de qualité.

Le tout bien sûr avec un mode de licence qu'aucun autre confrère ne peut concurrencer.

Sommes nous des visionnaires ? Oui, je le pense sincèrement.

Pour l'anecdote, et pour les visionnaires, cet été, j'ai écouté une émission sur France Inter (on verra ça demain) ; celle du 10 aout était particulièrement intéressante : entre science et fiction, les visionnaires. Je vous invite à écouter le podcast Réecouter cette émission mais je vous livre ici une interview d'Arthur C. Clark datant de 1964 (à partir de 1'30) qui a particulièrement retenue mon attention :


Alors, attention, qu'on ne ne fasse pas dire ce que je n'ai pas dit. Je ne suis pas Arthur C. Clark.
Mais j'aime l'idée que nous sommes des visionnaires.

Jump to the next curve and reboot your brain en choisissant Ignition.


lundi 27 août 2012

Pourquoi j'aime Ignition

D'accord, ce n'est pas très objectif, mais quand même, je dois avouer que j'ai toujours tellement de plaisir à lancer Ignition™depuis n'importe où et faire des démonstrations et à (dé)montrer aux clients et prospects combien il est agréable de travailler avec un outil reposant sur 100% des standards informatiques. Ceux qui sont dans votre entreprise, que vos informaticiens maitrisent (et adorent) et que tout jeune diplômé ou non saura dompter très facilement.

Au cours de l'été, j'ai eu à faire des démonstrations (oui, même pendant les vacances, je ne peux pas résister à une démo ;)) et surtout récemment à aider un client en mise en service qui avait besoin d'une fonction simple pour suivre le fonctionnement de ses escalades d'alarmes : envoyer un email avec un destinataire en copie voire copie cachée.

Il existe bien une fonction standard Ignition (system.net.sendEmail) mais elle est relativement basique ; alors un coup de Google (send email python) et on tombe sur cela :

# Import smtplib to provide email functions
import smtplib

# Import the email modules
from email.mime.text import MIMEText

# Define email addresses to use
addr_to   = 'user1@example.com'
addr_from = 'user2@example.com'

# Define SMTP email server details
smtp_server = 'mail.example.com'
smtp_user   = 'test@example.com'
smtp_pass   = '1234567889'

# Construct email
msg = MIMEText('This is a test email')
msg['To'] = addr_to
msg['From'] = addr_from
msg['Subject'] = 'Test Email From RPi'

# Send the message via an SMTP server
s = smtplib.SMTP(smtp_server)
s.login(smtp_user,smtp_pass)
s.sendmail(addr_from, addr_to, msg.as_string())
s.quit()
Le code Python est simple et lisible et je décide de l'essayer en le modifiant avec ajout d'un destinataire en copie et message de type html. Là encore, une simple recherche sur la fonction SMTPLIB de Python me donne des tonnes d'informations : la documentation officielle de Python bien sûr et plein d'exemples simples ou plus complexes mais qui sont très faciles à adapter grâce à la simplicité de la syntaxe de Python.

Un test dans mon éditeur :

Et voilà l'email envoyé :
Il ne reste plus qu'a copier le code et à l'insérer dans un script Ignition™- en l'occurrence, sur changement d'état d'une synthèse d'alarme - pour être alerté en temps réel des évènements en plus de pouvoir prendre le contrôle du système à distance, car je le rappelle, Ignition™ est full web. Et uniquement full web.

On a coutume de dire qu'avec Ignition™, si vous pouvez l'imaginer, vous pouvez le réaliser. C'est ce sentiment de liberté qui fait la force de cet outil.

Le plus agréable dans tout cela ? l'email de remerciement du client et la satisfaction de l'avoir aidé en 2 requêtes Google ;) et moins de 5 minutes chrono.

Bonne rentrée à tous, elle sera chaude en ce qui nous concerne.

mardi 19 juin 2012

Mettre en place une application de TRS et Downtime full web en moins de 10 minutes ? C'est possible.
Voici comment.


Mais pourquoi mettre en place un TRS ?

La mise en place d'indicateurs normalisés de performances du type TRS et TRG est devenue une nécessité pour piloter avec efficacité la production.

Combinés au suivi des arrêts, ces indicateurs deviennent des éléments clés de l'amélioration de la productivité et une aide précieuse aux démarches LEAN et Six Sigma en permettant une collaboration efficace entre tous les départements (fonction scheduling).

Avec Ignition™ MES - OEE Downtime, la mise en place d'une solution de suivi du TRS et des arrêts n'a jamais été aussi simple ni aussi efficace.

Découvrez en quelques minutes les avantages d'Ignition™ et laissez vous convaincre :

  • TRS et Downtime en temps réel
  • planification des OFs
  • module de reporting intégré
  • module d'analyse avec drilldown, drill through... intégré
  • hmi, scada, mes avec le même serveur
  • accessible sur smartphones et tablettes
  • toutes les données (config, collecte) en base SQL ouverte
  • intégration ultra simple au SI (http/https, sql, java, python, opc-ua)
  • variables illimités
  • projets illimités
  • clients illimités
  • multi plateforme
  • full web


mardi 22 mai 2012

Services Web et Supervision Industrielle


Les services web sont un des moyens d’interfaçage entre systèmes informatiques. Ils servent à connaître la météo du lendemain, la valeur des actions en bourse ou d’un voyage en TGV…bref, tout un panel de services disponible publiquement ou non.
Mais dans le domaine de la supervision industrielle et du MES, les services web peuvent servir de middleware entre les ERP et la supervision.

Depuis un certain temps, nous avons réfléchi à l’intégration des services web dans Ignition™ mais nous avons buté sur 3 problèmes :

  1. Il existe plusieurs standards de services web. Trop.
  2. Le format des données est très variable et parfois complexe avec des imbrications de structures
  3. Les réponses peuvent comporter un nombre variable de données à chaque requête

Du point de vue Ignition™, comment traiter ces données complexes en quantité variable et les rendre aussi simple à utiliser et compatibles avec les SQLTags®, les SQLtag® History ou toute autre base de données ? Si vous y réfléchissez, vous verrez que le problème peut rapidement vous donner des cheveux blancs.

Nous avons récemment (Ignition™ version 7.4.2) trouvé une solution simple en intégrant la librairie

Python pour les web services : SUDS

En deux lignes de code Python, vous pouvez interagir avec tout service web reposant sur SOAP et qui fournit des fichiers WSDL. Mais en pratique, qu’est-ce que cela veut dire ?

Les services web démystifiés

Les services web ne sont rien d’autre que des pages web pour les machines. Imaginez un serveur web (comme celui qui héberge ce site), un client web (votre navigateur) et à votre place (vous qui contrôlez le navigateur web et interprétez le contenu), il y a un programme qui fait ce travail.

Le contenu d’une page web est décrit avec du code HTML (du texte), dans un service web il s’agit de XML (eXtensible Markup Language) qui est aussi du texte. HTML permet de décrire comment un contenu doit être affiché dans un navigateur (on parle de rendu), XML permet lui de décrire de manière structurée des données à échanger.

SOAP (Simple Object Access Protocol) est le protocole d’échange entre le serveur web et un client, le contrat entre le serveur et le client qui repose sur XML.

WSDL (Web Services Description Language) est la page web d’accueil (XML) que le serveur envoie en guise de réponse au client à la question « Comment puis-je te parler ? » et « qu’elles peuvent être tes réponses ? »

La libraire Python SUDS

La libraire Python SUDS peut interroger un serveur et analyser le fichier WSDL et afficher en clair comment poser les questions pour invoquer les méthodes. Par exemple, on pourra utiliser un service web pour retrouver un ordre de fabrication, renseigner l’OF avec l’état actuel de la production et le renvoyer à l’ERP.

Ce qui est incroyable avec la librairie SUDS, c’est que cela fonctionne ! Les autres librairies que nous avons essayées n’ont jamais été aussi simples et performantes.

Ce qu’il faut savoir, c’est que le format XML peut être structuré de manière arbitraire. Il existe donc plusieurs formats, chacun essayant de régner en maître, par exemple WSI-BP (Web Services Interoperability – Basic Profile). C’est probablement l’une des raisons des échecs de la plupart des librairies que nous avons testées. Excepté SUDS.


Si on regarde l’exemple ci-dessus, on voit SUDS en action dans le « script playground » d’Ignition™ :

  1. On importe d’abord la librairie
  2. On créer une instance cliente sur un serveur et on demande le contrat « calculator »
  3. On affiche la « traduction » de SUDS qui indique qu’il y a 4 méthodes (add, divide, multiply, subtract) qui chacune prennent 2 arguments de type float
  4. On utilise ces informations pour effectuer notre calcul à l’aide de l’instruction print client.service.divide(33.33, 11.11)
Le code (nécessite Ignition™ 7.4.2 minimum) :
from suds.client import Client
client = Client("http://soaptest.parasoft.com/calculator.wsdl")
print client
print client.service.divide(33.33,11.11)

4 lignes. C’est toute la beauté de SUDS.

Avec les fonctions de script Python d’Ignition™ - et si besoin l’appel de classes Java ;) - on peut utiliser très simplement les services web quel que soit le format des données.

SUDS est une librairie très riche, mais vous n’avez pas besoin de  beaucoup plus que ce que vous avez ici pour faire des choses magiques. Au cas où, la documentation SUDS ici et les PyDocs ici.

SUDS et Ignition™ en action

Mieux qu'un long discours, regardez l'exemple en images animées.

Vous voulez essayer, téléchargez Ignition™, installez-le en 2 minutes et voilà !

lundi 5 mars 2012

Ignition™ dans la revue l'Eau, l'Industrie et les Nuisances

"Smart metering : les besoins feront le marché..."

Ce n'est pas moi qui le dis, mais Corinne Drault-Pezard, Technoscope, dans un excellent article paru dans la non moins excellente revue L'eau, l'Industrie, les Nuisances (numéro 349, http://www.revue-ein.com/ce-mois-ci-dans-la-revue-EIN/).

Ce que j'en pense, c'est qu'aujourd'hui toutes les solutions techniques existent (ou à peu près) et qu'il faut les assembler. C'est là que le rôle de conseil de l'intégrateur prend tout son sens. 
Il doit sélectionner les solutions les plus pertinentes et les plus agiles pour le besoin ciblé ; plus la solution sera ouverte (éviter donc les solutions verticales), plus il y aura de voies d'évolutions et d'intégrations multi énergies voire multi services et plus le client final sera satisfait tout en ayant le sentiment de ne pas être lié à un constructeur et ni à un intégrateur.

Bien sûr, le facteur prix n'est pas étranger à l'équation surtout lorsque l'on multiplie les capteurs. Si pour la partie matérielle (les capteurs, les passerelles) il faut passer par un équipement/un prix, pour les aspects logiciels, il faut choisir une solution qui ne comptabilise ni le nombre de mesures ni le nombre d'utilisateurs. Et qui soit web... Deviner quoi...

Extraits de l'article (disponible sur demande ou mieux encore, en achetant le numéro...) :





GTC et Metering avec Ignition™

Miosmeter®, une solution de télé relève, multi énergies.

Cette nouvelle déclinaison de l'association Miosbox/Ignition confirme la parfaite complémentarité d'un hardware "intelligent" et d'une solution logicielle "agile".
Cela donne une solution innovante, génératrice de gains importants pour l'intégrateur et l'utilisateur final.

La solution a été présentée à Interclima-Elec 2012 (7-12 février 2012).

Miosmeter® en action (Ignition™ embarqué dans la miosbox)

Architecture Miosmeter®

Plus d'informations :
Site web Ignition™ : www.on-solution.net
Site web Mios : http://www.mios.fr/

mardi 31 janvier 2012

Mioswater® : Appliance pour les stations d'épuration

Mioswater® : la première solution embarquée de télégestion et de supervision


Depuis plusieurs mois, MIOS (13) et ON SOLUTION (13) mettent en commun savoir faire et volonté d'apporter des solutions innovantes pour les marchés de l'eau et l'environnement, du building et smart metering, ce que moi je qualifie de machines-to-cloud (j'aurai l'occasion d'en reparler).

Premier fruit de cette collaboration, la Mioswater® a reçu un excellent accueil lors de la 13ème édition du Carrefour des Gestions Locales de l'Eau, événement national de référence pour toutes les problématiques liées à l'eau (25 et 26 janvier 2012 à Rennes).

Mioswater® est l'association de deux solutions uniques sur le marché : la Miosbox, automate fédérateur multi protocoles et multi services et Ignition™, solution de supervision cross plateforme et web.

Avec Mioswater®, vous avez une solution tout-en-un pour toutes vos installations dans l'eau et l'environnement : automatisme, contrôle d'accès et supervision sont embarqué dans un matériel robuste, ouvert, communicant et autonome.

L'architecture permet d'évoluer d'une solution mono box (tout en un) vers une solution multi box avec serveur de supervision sur une machine dédiée ou vers une architecture machines-to-cloud plus orientée services (hébergement, location).

Plus d'informations : http://goo.gl/2NrYx
Site web Ignition™ : www.on-solution.net
Site web Mios : http://www.mios.fr/


Ignition + Mios = Mioswater®


mardi 17 janvier 2012

Modélisation objet avec Ignition 7.4


Il y a bien longtemps que je n'ai pas posté sur ce blog. Non pas que les sujets manquent, mais plutôt une activité de fin d'année intense pour nous.
Ce billet, je n'ai pas résisté à vous le faire partager tout de suite tellement je suis enthousiasmé par ce que j'ai pu voir.

Nous allons vous proposer, dans les prochains jours, la version 7.4 d'Ignition qui apportera comme nouveauté, la modélisation objet.
En 2012, Ignition, ça va roxer !

Vous avez Ignition, vous avez tout compris

OO Scada
La modélisation objet en supervision industrielle accélère le développement et la maintenance des applications, car les écrans et les objets sont dérivés de modèles. Si une modification est faite sur un modèle, celle-ci sera propagée à toutes les instances. Un gain de temps inestimable.
Ca, c'est pour l'aspect visuel des choses.

Mais un composant est aussi doté de données et de comportements (scripts, évènements...). La couche des données est donc naturellement mise au diapason pour cette approche objet. On parlera ici de UDTs (User Defined Type). Si on combine l'utilisation des modèles de composants à celle des UDTs, alors on accède à un tout nouvel étage de possibilité et de puissance.
En réalité, la productivité peut croitre de 10-100 fois comparée à un système classique.

Ignition 7.4 sera objet. Ce n'est pas le premier superviseur objet, j'en connais au moins un autre qui est top, mais ce sera surement le meilleur, ne vous y trompez pas.

Le fait est que nous écoutons toujours beaucoup nos utilisateurs. Le retour d'expérience des utilisateurs de systèmes scada dits objets nous ont bien mis en garde contre les implémentation boguées ou beaucoup trop complexes pour être réellement utilisables ou performantes.

Vous allez donc pouvoir découvrir ce nouveau paradigme avec Ignition 7.4 dès Février 2012 ;  et vous n'allez pas être déçu, comme toujours : ridiculement simple, extrêmement puissant et avec des outils de productivité que personne d'autre ne peut vous proposer. A ce prix en plus.
Le développement avec Ignition sera bien plus performant avec Ignition qu'avec n'importe quel autre outil du marché.

En conclusion, Ignition est un choix incontournable. Regardez simplement les points suivants :

  1. Modèle de licence par serveur, pas par client ni nombre de variables
  2. Installation sur tous les OS, en 2 minutes chrono, même Windows 8
  3. Développement ultra rapide
  4. Déploiement ultra simple et sécurisé sur tous clients PC ou mobile
Tous ces points sont des avantages compétitifs. Vous devez en tirer profit pour gagner plus de projets et surtout les rendre vraiment profitables.

Maintenant avec le développement objet, tous les points s'alignent pour donner une puissance de feu incroyable à tous ceux qui choisissent Ignition.

Qui sera le prochain à nous demander une offre ?


mercredi 18 mai 2011

La supervision RAD 2*, vous allez adorer !

*rapid application development and deployment

Lorsqu’un intégrateur installe Ignition pour son client, il en donne plus qu’il n’y paraît au premier abord. Le client économise à la fois sur le coût des licences, mais également sur la main d’œuvre pour le développement de l’application et son déploiement. C’est le double effet kiss cool pour le client final.

Si vous êtes un intégrateur et que vous lisez ces lignes, vous allez bondir et dire "mais c’est du job en moins pour moi !". L’expérience montre que ce n’est pas ce qui se passe. Au contraire, quand vous offrez plus de fonctionnalités dans le même temps de développement, votre client vous reconnaitra cette efficacité. Et il vous en demandera encore plus. C’est une situation gagnant-gagnant. Et la réalité est que le client a le sentiment d’obtenir enfin ce qu’il a toujours attendu pour ce type de prestation.

C’est une situation que vous devez utiliser comme un avantage décisif pour offrir vos services.

Envisagez un autre point de vue : qui aime payer son intégrateur plusieurs jours juste pour installer et mettre à niveau son logiciel de supervision ? C’est un gaspillage incroyable de temps et d’argent et je – on - comprends parfaitement la frustration des clients finaux dans ce genre de contexte. Stop. L’installation d’une supervision industrielle, base SQL comprise, ne doit pas durer plus de trois minutes, montre en main. Le reste du temps, créez l’application de votre client et déployez une centaine de clients en un clic de souris.

Les clients finaux deviennent de plus en plus exigeants

Les clients finaux commencent à comprendre que c’est ainsi que cela doit se passer. Je suis témoin tous les jours de la grande surprise des clients lorsqu’ils découvrent Ignition et qu’ils commencent à comprendre le potentiel d’une telle architecture. Le scepticisme – d’une solution web centrique, car il faut admettre que jusque là, les propositions des éditeurs prêtaient plutôt à sourire  – laisse la place à un large sourire qui en dit long sur leurs attentes. Et les intégrateurs ne s’y trompent pas non plus. Maintenant, pour un client final – et un bon intégrateur – serveur web et bases SQL sont la norme.

Quand un intégrateur propose à un de ces clients une solution old school, il prend le risque de se voir opposer de sérieux arguments à sa proposition.

Quasi toutes les solutions du marché sont so 90’s. Ce qui est rafraichissant dans la mode ou la musique devient un handicap lorsqu’on parle de logiciels industriels. L’utilisation de bases de données relationnelle est courante en supervision. Tous les éditeurs ont une solution pour "mettre en base" comme ils disent. Mais ce ne sont que des add-on et rien n’a été pensé à la source avec SQL dans l’esprit. Vous pouvez bien sûr arriver à construire une application qui mêle supervision (une licence), historian (une licence) et relationnel avec les bases de l’entreprise (un bricolage)… Mais pourquoi se compliquer la vie, faire des assemblages de logiciels quand vous pouvez le faire en quelques clics, de manière native et pour une fraction du temps de développement ?

Croyez-moi, vous allez adorer.

Intégrateurs, partez en tête pour la course à la compétitivité

Les intégrateurs doivent être à l’affut des solutions pour être plus efficaces. Certains intégrateurs disent "Je fais juste ce que le client me demande." Ceux-là prennent un risque, car un jour, le client découvrira que d’autres intégrateurs peuvent lui en offrir beaucoup plus pour le même budget et dans le même temps !

Voici un exemple concret ; imaginez l'application suivante.

Une GTC simple (remontée d’alarmes, archivage et ihm) d’un datacenter réparti sur plusieurs bâtiments. Chaque bâtiment doit disposer de son propre serveur (+5000 variables) et servir une dizaine de clients, et on doit pouvoir voir les autres bâtiments depuis n’importe quel endroit de l’installation.

Je vous laisse imaginer l’architecture, son déploiement et sa maintenance (ouch les montées de versions…) en solution classique (serveurs + clients lourds ou serveurs + clients légers) et les coûts d'un tel déploiement (penser à inclure la licence de développement – au fait comment je fais quand je n’ai qu’une licence de développement, mais trois applications distinctes et distantes à maintenir ? -, le coût du contrat de maintenance associé, etc.).

Imaginez maintenant la même application avec Ignition : 3 serveurs et du retargetting pour l’hypervision. Sous Linux. Pour le reste, variables, clients et outils de développements en mode web et illimités. Le client pourra étendre son application à loisir. En faisant appel à son intégrateur adoré qui lui aura fait gagner beaucoup d’argent (30k€ vs +120k€) et de nombreuses fonctionnalités (reporting, intégration à l’entreprise, dashboard, applications disponibles sur iPhone/iPad ou Blackberry, etc.).

Alors, qui est-ce qui va adorer ?

jeudi 14 avril 2011

Ignition et les services web

Nous avons pour habitude de fournir à nos clients ce qu'ils attendent (en général rapidement, parfois moins vite, mais en tous cas en tenant compte de l’intérêt général). Ces derniers temps, nous avons une demande très forte pour les services web alors nous avons lancé le développement du module Ignition Web Services.

Une définition pour mémoire d'un service web (source wikipedia france) :

Un service web est un programme informatique permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel.

La définition complète évoque SOAP, WSDL... oublions cela pour l'instant. Nous voulons que l'utilisation du module Web Services ne nécessite pas ou très peu de connaissance des services web. Le module aura les fonctions de demandeur et de fournisseur d'informations.

Mais alors, des services web pour quoi faire ? Pour vous interfacer simplement avec votre ERP (SAP, CEGID...) ou d'autres applications d'entreprise. Mais vous pourrez aussi vous interfacer avec des matériels tels que les Smartserver iLon de Lonmark.

Nous avons tant de développements excitant dans notre planning, le module Web Services n'en n'est qu'un partie. Vous aurez bientôt des nouvelles de ce module et d'autres nouveautés encore.

Stay tuned.

La supervision web, une nouvelle ère

Du contrôle/commande en mode web, une tendance ?



Il y a peu, on considérait impossible la réalisation d'applications web avec des animations et des temps de réponses instantanés comme il est nécessaire pour la supervision industrielle. Aujourd'hui, une nouvelle race de supervision web arrive dans les ateliers.

"Les systèmes à base de Java peuvent maintenant avoir des temps de réponses (très) en dessous de la seconde, avoir des animations riches et s'intégrer parfaitement au système d'information de l'entreprise", précise Nathan Boeger d'Inductive Automation.

A la différence des systèmes classiques, un scada web peut être étendu à tous les départements d'une entreprise comme la qualité, la maintenance, la logistique, les énergies... et de manière très économique. Grâce à l'approche web, chaque intervenant de l'entreprise peut avoir accès aux informations essentielles de la production.

Les raisons de la popularité des interfaces web sont évidentes. Installation en un seul point, accès aux applications par une simple url et un navigateur internet et la certitude d'avoir toujours la dernière version de l'application. Il n'y a plus de gestion complexe des déploiements ni de contraintes de licences par client déployé. Les services informatiques sont d'autant plus favorable à ce type de solutions qu'ils en comprennent la technologie et la portée pour l'exploitation quotidienne du système d'information. Totalement à l'opposé des systèmes traditionnels.

L'avantage économique du modèle web est évident mais il n'est pas le seul. Un système web s'intègre parfaitement aux autres applications d'entreprise et facilite le partage et la diffusion de l'information sans ajouter de complexité.

Sécurité

Lorsqu'on aborde le sujet des applications web, la sécurité est souvent la première objection qui est soulevée. Les évènements récents ont montré que les scada pouvaient devenir des cibles d'attaques et nombre de comités de sécurité informatique pointent maintenant le doigt sur ces outils.

Les solutions traditionnelles traitent la sécurité en l'omettant et en avançant le fait que le système est fermé, qu'il ne faut pas relier la supervision au reste de l'entreprise etc. A l'opposé, les systèmes qui reposent sur des technologies web ont toujours mis en avant l’utilisation de standards de sécurité éprouvés et dores et déjà en place dans les entreprises et administrés par les services informatiques.

Il ne faut pas se leurrer, il y aura bientôt un encadrement légal/juridique pour la sécurité des systèmes industriels. Les vendeurs traditionnels vont devoir revoir complètement leur approche de la sécurité à ce moment là. Et ils béniront ce temps car ils pourront alors vendre des mises à jour à prix d'or !

Et dans le futur

Fonctionnellement parlant, il n'y a pas eu de changement dans le domaine de la supervision ces dernières années.
“Les HMI qui ne sont qu'une interface homme-machine ne sont qu'un confort et se trouvent à bas prix sur internet... La véritable valeur d'un HMI est dans les interfaces de type web, qui se connectent aux applications de gestion de l'entreprise et qui réalisent des fonctions de MES,” ajoute Rich Merritt, senior technical editor de Control Global, dans son article “HMI Software is disappearing”.
Plusieurs théories - appuyées par des exemples de l'histoire, voir Seeing What's Next, éditions Eyrolles - prédisent des changements importants dans l'industrie dans les prochaines années. En faisant le parallèle, on peut estimer que les éditeurs traditionnels de supervision vont continuer à alimenter leur marché sans grande modification. Ils ne vont tout de même pas entrer en compétition avec un modèle économique qu'ils ont créé de toute pièce !
De l'autre côté, les nouveaux entrant qui utilisent une technologie innovante reposant sur le web vont avoir un grand succès là où les éditeurs traditionnels ont failli ; chez tous ces clients qui refusent de dépenser des sommes importantes pour des systèmes perçus comme inutilement compliqués, lourds et trop riches par rapports aux besoins réels. Il y a un potentiel de croissance énorme pour ce segment inoccupé.

Tous ceux et celles qui côtoient les ateliers de production savent parfaitement que l'informatique y pénètre tout juste. Il y a des exceptions, mais en règle générale, le tableau noir (ou blanc) et la feuille de papier sont encore les rois des ateliers. Et si vous envisagez simplement comment remplacer ces éléments avec une application web, vous commencerez alors à entrevoir le potentiel de ce marché inexploité.

Il y a une croissance forte pour les scada web sur un marché vierge. Les utilisateurs ont finalement ce qu'ils ont toujours voulu : la fonctionnalité d'un HMI avec les coûts du web.
La vraie question n'est pas de savoir si le contrôle/commande en mode web est une tendance - c'est une évidence, mais plutôt quels sont les acteurs capables de délivrer la technologie. Aujourd'hui.