J.F.Touchette -- tty25.org
JF Touchette, 4 mai 2008
English Abstract
Jean-Francois Touchette
has
been developing software for more than 20 years. Since 1985, he has
written several
gateways and servers with various protocols. He has been using C and
UNIX
since that time. When Python is suitable, he prefers it. He is the main
author
of the XMLTP/L protocol. He is
currently working in a IT Architecture team, mostly about software and
systems.
Présentation
Né à Montréal, Jean-François Touchette est
informaticien
depuis 1981. Au début de sa carrière, il a
programmé
des applications transactionnelles en COBOL CICS sur des
systèmes
IBM. En 1985, après avoir fait quelques outils en Assembleur
S/370,
il a développé un interface ("gateway") entre un
système
IBM CICS et un Vax et un PDP/11 de DEC. En 1986, il a
créé une
messagerie "BBS" multi-usagers, en langage "C", sous QNX. En 1987, il a
commencé
un B.Sc. en informatique à l'UQAM et il a finalement
complété
un B.Sc. par cumul de certificats,
Info/Logiciels/Télécomms
en 1993. En 1989-91, il a dévéloppé un
système
de courriel et "chat" en "C" sous AIX pour un fournisseur de services
Vidéotex
(c'était avant l'Internet!). En 1991, à l'aide de yacc,
il a écrit un "parser" (analyseur syntaxique) pour un langage
d'automation
d'opérations. Depuis 1992, il conçoit et développe
des
systèmes et logiciels reliés aux systèmes
transactionnels,
aux bases de donnés et aux serveurs d'applications web et
à
des multiplexeur de RPC ("C", Sybase, Open Server, SQL, puis, Java,
Python,
XML et Yacc, Bison et "C", encore).
Depuis 2007, il travaille dans une équipe d'architecture TI,
surtout pour les aspects systèmes et logiciels.
Principaux champs d'intérêts et de compétence:
- conception de logiciels "serveur"
- conception de systèmes transactionnels haute-performance
- conception et développement de passerelles ("gateway")
inter-systèmes
hétérogènes, "B2B"
- développement de logiciels serveur en Python, avec
extension
en "C"
- programmation multi-thread en "C"
- programmation multi-thread en Java (classes pour "pool de
connexions",
"pool" de ressources, synchronisation de tâches).
- développement de "parser" en Yacc, Bison
et "C"
- mise au point et "fine-tuning" de systèmes transactionnels
(base
de données avec haut volume, web, télécomms, ...,
modélisation
selon la théorie des files d'attente, etc.)
- conception orientée-objets rapide
- programmation ultra-robuste
- programmation Smalltalk (demande très rare)
- Linux , OpenBSD, outils GNU;
- sécurité, pare-feu ("firewall"), conception de
protocoles
d'authentification, de RPC et autres
- rédaction d'articles technique (voir Publications
ci-dessous).
Publications
- "XMLTP/L, XMLTP
Light" in Linux
Journal www.linuxjournal.com, 25 mars 2003: présentation du protocole
XMLTP/L (voir aussi "Projets", ci-dessous).
- "Simplified
Exception Identification in Python" in Linux
Journal www.linuxjournal.com, 28 juillet 2002: une façon de
simplifier
le traitement des exceptions en Python et, du même coup, de
réduire
la probalibilité de "bugs".
- "Why
Application
Servers Crash and How to Avoid It" in Linux Journal www.linuxjournal.com, 29 janvier 2002: en utilisant la
théorie
des files d'attente (et un peu d'expérience!), nous pouvons
facilement
déterminer si un serveur pourra résister à un
niveau
de charge plus élevé ou non.
- "HTML Thin Client and Transactions" in Dr.Dobbs, octobre 1999, pages
80-86:
Comment utiliser un "transaction token" pour éviter la
duplication
de transactions dans une application web "thin client". (Est-ce la
source
de l'inspiration des "synchronization token" dans certaines classes
EEJB pour
les servlets? Ou est-ce un cas "d'inspiration parallèle" ?)
NOTE: le
texte de l'article n'est pas disponible sur le web. Code source Java
disponible sur le site de Dr.Dobbs.
Projets "open source"
XMLTP/L or "XMLTP Light" is a
lightweight
RPC protocol which uses XML to encode the stream of data. It has been
designed
to do fast RPC calls over an intranet,within an enterprise.
More specifically,
the first purpose of XMLTP/L is to forward transactions (RPCs) to a
database
server, but, it can be used to do method calls to any server that
follows
the common RPC technique introduced by XML-RPC and older client/server
protocols.
Contact:
Il faut que vous reconstruisiez l'adresse de courriel :