450 likes | 578 Views
Conférence Développeurs – 24 juin 2010. easy input . . . . . . smart output Thierry Lepiez, DSI Hoya Lens France. Agenda. Courte présentation HoyaiLog en action avec HoyaiLink et iDentifier Présentation technique HoyaiLink Architectures réseau et logicielle
E N D
ConférenceDéveloppeurs – 24 juin 2010 easy input . . . . . . smart output Thierry Lepiez, DSI Hoya Lens France
Agenda • Courte présentationHoyaiLog • en action avec HoyaiLink et iDentifier • Présentation technique HoyaiLink • Architectures réseau et logicielle • Usages PMS , logiciels et instruments • Déploiement • Calendrier prévisionnel de déploiement HoyaiLog/HoyaiLink • Principes de migration des Hoyalog installés • Infrastructure réseau
HoyaiLog, aperçu http://www.hoyailog.fr
HoyaiLink Présentation technique
Situation actuelle – les aires de conflitspotentiels Dans un monde idéal, les opticiens aimeraient voir tous ces outils interconnectés les uns aux autres sans effort!
Les différentescatégoriesd’outils des opticiens Logiciels de gestion magasin Outilsd’aide au choix des produits Outils de prise de mesures Outils de consultation, aide à la commande Outils de commandes RX
HoyaiLink, la brique de connexion http://www.hoyailink.fr
hoyaiLink.com pour les développeurs for developers
Cas A – monoposte • Cas d’utilisation • Un seul poste de commande • les instruments et le logiciel qui doivent communiquer sont sur ce poste • connexion Internet disponible • Solution • le mode de travail HoyaiLink utilisé est « HoyaiLink Standard » • les données HoyaiLink sont stockées sur l’ordinateur.
Cas B – Multipostes • Cas d’application • Plusieurs postes partagent les informations de commandes dans le magasin • Un poste consolide les informations, soit en magasin, soit en back-office • Un seul poste du réseau local magasin a accès à internet • Solution • Le rôle de « maître » est affecté à l’ordinateur A qui joue le rôle de serveur logique dans le réseau local de l’opticien. • Les données HoyaiLink sont stockées sur l’ordinateur A. • Le mode de travail HoyaiLink utilisé pour l’ordinateur visuReal et l’ordinateur B est « HoyaiLinkRemote ». • La version « HoyaiLinkRemote » stocke à distance sur le maître, ici l’ordinateur A. • Les consultations sont toujours stockées physiquement sur l’ordinateur A • Chaque opticien saisit une référence de commande lors d’une consultation visuReal ; le plus souvent le nom de famille du consommateur. • Il utilise la référence de la commande pour identifier les données de la consultation dans la liste des consultations stockées sur l’ordinateur A. • Ensuite, pour pouvoir travailler il charge la consultation ; les données sont chargées à distance depuis l’ordinateur A. • Remarque : • L’ordinateur A doit être en marche pour permettre le fonctionnement de HoyaiLink en réseau local. • Le plus souvent, un ordinateur du magasin peut jouer le rôle de maître.
Principes techniques de base HoyaiLink • HoyaiLinkest un process/service qui s’exécutesur la machine locale. • HoyaiLinkest un espace de stockagetemporaire pour l’échange. • L’espace de stockagepeutêtre local ousur le réseau, y compris internet. • Le principal objectifest de partager les donnéesentrediverses applications. • Les donnéesnesontaccessiblesqu’autraversd’HoyaiLink • HoyaiLinkcontientdifférentsconnecteurs (web, local). • HoyaiLinkn’a pas d’interfaceutilisateur (opticien).
HoyaiLink – composants • Les 4 principauxcomposants de HoyaiLink: • Lancementd’applications • HoyaiLinkcontientuneliste de programmes qui peuventêtredémarrés pour traiterunecommande. • Gestion de session • Aperçu des donnéesstockées (commedans un système de fichiersouune base de données) • Gestionnaire de mise à jour • Cecomposantpermet à Hoyailink de se mettre à jour lui-même. • Contrôle de traceur • Le système de prise de commandespeut lire les données du traceurinterfacé avec HoyaiLink.
Logiciel gestion magasin HoyaiLink Lit le Bus Ecritsur Bus Enchaine Identifier Enchaine VisuReal enchaine HoyaiLog Enchaine avec…… HoyaiLinkaperçu des flux de connexion Opticien lancel’ application suivante Envoyer/ Recevoir Données Ecrire les données dans HoyaiLink et ouvrir l’application suivante qui les récupère. Un identifiant de session est utilisé pour récupérer les données de tout composant qui enrichit les informations de la commande
Comment se connecter à HoyaiLink? • Le principeestd’utiliser le Hoya Software Development Kit • pour se connecter à HoyaiLink. • Celavouspermetd’utiliser les différentscomposants du bus , telsquel’identifiant de session, le lanceurd’applications et autres. • En interne, HoyaiLinkutilise un format XML pour échangerl’information. Le format XML estbasique et contienttoutes les donnéesdisponibles pour commander un produit , en incluanttous les différentspériphériques qui peuventcommuniquer avec HoyaiLink
Comment s’interfacer avec HoyaiLink ? • Le SDK contient • Un manuel du programmeur et la documentation • Le code source des bibliothèquesd’interfaçagedans les environnementscibles • Les bibliothèquespermettentd’appeler les fonctionsd’HoyaiLink qui sontfourniessousformebinaire (exemple, DLL pour windows) • Les plateformessupportées • OS 32 et 64bit. • Windows • Delphi • C++ • Visual Basic 2008 • Linux • Apple
API HOYAiLINK • API complète • Gestion des applications • Gestion des sessions • Gestion des fichiers • Gestion des commandes • Gestion du traceur
Fonctions - Applications • getInstalledApplications() • launchApplication() • launchApplicationWithSession() • getCurrentSessionId() • initializeApplication() • finalizeApplication() • getLastError() • registerApplication() • unregisterApplication()
Fonctions - Sessions • createSession() • openSession() • closeSession() • deleteSession() • getSessionCommission() • setSessionCommission() • openSessionList() • getFirstSessionItem() • getNextSessionItem() • closeSessionList()
Fonctions - fichiers • openFileList() • getFirstFileItem() • getNextFileItem() • closeFileList() • createFile() • openFile() • writeFile() • readFile() • closeFile()
Fonctions – commandes • sendOrderBySession() • sendStockAvailabilityCheck() • calculateLensThicknessCartesian() • calculateLensThicknessPolar() • getLastLogicalErrorCodesA() / getLastLogicalErrorCodesW() • openTrackAndTraceList() • getFirstTrackAndTraceEntryA() / getFirstTrackAndTraceEntryW() • getNextTrackAndTraceEntryA() / getNextTrackAndTraceEntryW() • closeTrackAndTraceList()
Fonctions – traceur • tracerInstalled() • executeTracerA() / executeTracerW() • openTraceList() • getFirstTraceEntryA() / getFirstTraceEntryW() • getNextTraceEntryA() / getNextTraceEntryW() • closeTraceList() • openTraceData() • getTraceUsage() • setTraceUsage()
Processus standard • Principe général • Initialisation application • Ouverture d une session • Lecture / écriture des données • Transfert du contrôle à une autre application (facultatif) • Contrôle commande Hoya ( facultatif) • Webservice traduction codes EDI • Contrôle de stock • Envoi commande • Mode silencieux • Mode Web • Suivi avancement de commandes • Définir un identifiant de session • Fermeture session • Close application
La structure XML structure utilisée en interne dansHoyaiLink • Structure simple:
Avantages de la structure XML • Collaboration multi sources • élaboration de la commande • contrôle de la commande • suivi commandes • communication inter application • structure xml évolutive • espace de stockage temporaire
XML – partie client (customer) • <?xml version="1.0" encoding="UTF-8" ?> • <lens-ordernumber="123456" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="order_2009-11-20.xsd"> • <customer> • <customer-number>002646</customer-number> • </customer> • <commercial> • <commission>Test commission</commission> • </commercial> • </lens-order>
XML – complément consommateur (consumer) • <?xml version="1.0" encoding="UTF-8" ?> • <lens-ordernumber="123456" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="order_2009-11-20.xsd"> • <customer> • <customer-number>002646</customer-number> • </customer> • <consumer> • <person> • <first-name>Hoya</first-name> • <last-name>Lens</last-name> • </person> • </consumer> • <commercial> • <commission>Test consumer</commission> • </commercial> • </lens-order>
XML – complément verre • <?xml version="1.0" encoding="UTF-8" ?> • <lens-ordernumber="123456" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="order_2009-11-20.xsd"> • <customer> <customer-number>002646</customer-number> </customer> • <consumer><person> <first-name>Hoya</first-name> <last-name>Lens</last-name> </person> </consumer> • <prescription> • <prescription-right> • <sphere>+1.50</sphere> • <cylinder>-0.75</cylinder> • <axis>90</axis> • <addition>+2.00</addition> • </prescription-right> • <prescription-left> • <sphere>+1.75</sphere> • <cylinder>-1.25</cylinder> • <axis>95</axis> • <addition>+2.00</addition> • </prescription-left> • </prescription> • <commercial> • <commission>Test prescription</commission> • </commercial> • </lens-order>
Demo hoyabus2service • Outil à la disposition des développeurs • Visualisation de l’invisible • Démo
Architecture réseau • HoyaiLogwww.hoyailog.fr • Site web • Protocole http • port 80 • HoyaiLinkwww.hoyailink.fr • Composant local • Connexion TCP/IP • Port 8787, 8788 • iDentifierwww.hoyanet.eu • Site web • Protocole http • Port 80 • Port 8787 pour les communications avec Hoyailink
HoyaiLog Déploiement
Déploiement • Calendrier prévisionnel de déploiement Hoyailog/Hoyailink • Principes de migration des Hoyalog installés • Infrastructure réseau • Proxys, ports, etc…
Migration Hoyalog -> Hoyailog • Démarrage Janvier 2011 • Durée : 13 semaines environ • calendrier de migration par groupement • préavis au groupement • indépendant du PMS utilisé • synchro éditeurs si version hoyailink prête • bascule automatique en une nuit
Principes de migration • Objectifs : limiter les contraintes • Préserver l’investissement des éditeurs de logiciel • Remplacer Hoyalog , fin de vie 2011. • Solutions : • Phase transitoire • Remplacement hoyalogconversion.exe pour transfert HoyaiLog • Supporte uniquement le transfert des commandes du PMS vers HOYA • Phase finale • Liens natifs HoyaiLink • Suivi commandes, état des stocks, transferts, enrichissements, pointages
Déploiement • conservation de l investissement • interface hoyalog reprise automatiquement • seule amélioration de l'existant • prise en compte du proxy • nouvelles fonctionnalités -> nouveaux développements • contrôle stock disponible • forme OMA • suivi avancements • calculs d'épaisseurs • partage d informations sur le bus
Déploiement – pré requis • compte hoyanet • connexion hoyaiLog compte/user/pass • téléchargement hoyailink banalisé • installation • Accès internet ou pas • droits admin • base de registre HKCU • ports tcps à ouvrir pare feu
Déploiement – PMS interfacé Hoyalog • Remplacements • hoyalogconversion.exe • loc.exe • comportement • Le logiciel magasin appelle hoyalogconversion.exe • traduction lorder en XML, passage par hoyailink • Le logiciel magasin appelle loc.exe • redirection vers le site web hoyailog
Déploiement multipostes • Environnement magasins multipostes • un pc maitre qui partage l'espace hoyailink • des pc clients connectés par le réseau local • Environnement sécurisé • un pc maitre avec accès internet via proxy • des pc clients connectés par le réseau interne
HOYAiLOG • Hoyalog • plus de 15000 installations en Europe • plus de 2500 installations en France • HoyaiLog remplacera Hoyalog en 2011 • mode web • plus ergonomique • plus ouvert • plus de problèmes d'installation sur le pc du magasin • plus de problèmes de catalogue • toujours à jour • nouvelles possibilité (promotions, ..) • communiquant avec l'Univers des services HOYA • ... et non HOYA ! PMS, traceurs, bornes..
HOYAiLINK • composant essentiel, c'est la touche de magie • invisible pour les utilisateurs • indispensable pour faire communiquer les logiciels • clé de voute du partage d’informations commande • relie tous les outils Hoya au reste du monde • plus de ressaisie • pas d'erreur de saisie • facilite la vie de l'utilisateur • permet une élaboration de commande déstructurée • n'impose pas de process de commandes • facilite la communication entre les différents outils • logiciels magasins, bornes, traceurs, base clients, ...