2010-03-04 2 views
5

J'ai un gros problème avec IBM HACL pour accéder à un serveur qui parle le protocole 3270. La bibliothèque continue à se bloquer, et notre enveloppe JNI est en fait une couche de correction de bogues pour la bibliothèque mal implémentée et mal documentée (et je suppose que nous avons aussi introduit de nouveaux bogues). De plus, dans notre entreprise, tout le monde connaît Java et pourrait maintenir le logiciel si nous n'avions pas le JNI-Layer et la bibliothèque de classes IBM.Implémenter le protocole 3270 en Java

Nous devons utiliser la bibliothèque de classes C++, parce que la bibliothèque Java IBM est inutilisable: nous obtenons tous les caractères non-imprimables traduits, et nous perdons tous les caractères de contrôle le long du chemin.

Maintenant, la question est la suivante: peut-on fossé cette bibliothèque et mettre en œuvre notre solution en Java complètement (nous aimerions éviter d'utiliser une autre bibliothèque d'un autre fournisseur)? Le protocole est-il bien documenté? L'implémentation de 3270-over-SSL est-elle vraiment si complexe?

Merci.

+1

Si c'est quelque chose comme le flux de données 5250, vous êtes à la porte de l'enfer, regardant dans les abysses. –

+0

Vous pourriez envisager une version d'évaluation d'un logiciel d'émulation de terminal disponible dans le commerce - p. http://www.attachmate.com/Products/Terminal+Emulation/Reflection/ribm/tech-specs.htm (Je n'ai aucun lien avec ce fournisseur autre que mon entreprise utilise une version différente de leur produit) – barrowc

Répondre

1

http://tools.ietf.org/html/rfc1041

donc je suppose que son documenté (en supposant que je frappe le droit doc) ne pourrais pas trouver une implémentation java cependant, vous aurez besoin de coder sur telnet, ou peut-être SSH

+0

Ok , au moins j'ai un point de départ. Décoder le flux de données pourrait être amusant (bien, plus de réparer les fuites de mémoire dans le code JNI je n'ai pas écrit). –

+0

cela semble être beaucoup plus complet: http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=GA23-0059-07 malheureusement son pas libre .... – radai

1

Je ne connais pas avec les différences entre 3270 et 5250 flux de données, mais il existe une implémentation 5250 en Java dans le projet tn5250j disponible à partir de http://tn5250j.sourceforge.net/

Il pourrait être utilisable pour vous?

(il y a aussi un projet de screen scraping 3270 à http://freehost3270.sourceforge.net/ mais il semble être abandonné).

1

freehost3270 ne semble pas aussi abandonnée que cela puisse paraître - CVS contient des modifications depuis il y a 2 ans. Il y a toujours un argument selon lequel un bon code n'aura pas besoin d'être changé dans tous les cas si les exigences n'ont pas changé. Il y a eu des commentaires complémentaires à la base de code. Si vous ne voulez surtout pas travailler avec d'autres produits, alors travailler avec ce code/projet semble être votre meilleure option.

1

Freehost n'est pas bon code. Ne même pas la peine d'essayer. Il y a une raison pour laquelle cela semble mort. JIN TN3270 est mieux mais incomplet. Idéalement, vous voulez trouver l'API utilisée par le logiciel Emulator de votre entreprise. Je suis toujours à la recherche d'un pour le nôtre.

+0

Je comprends ce que vous dites, mais je ne suis pas entièrement d'accord. Nous avons utilisé FreeHost comme noyau d'une gemme JRuby qui nous a permis de faire des tests d'automatisation de la même manière que Selenium-Webdriver pour les sites web. Freehost n'est pas parfait, et nous avons dû faire quelques ajustements pour nous assurer qu'il fonctionne partout, cependant par rapport à partir de rien, je dirais que FreeHost est un bon point de départ.Je n'ai aucune expérience avec JIN TN3270, c'est peut-être mieux, mais FreeHost n'est pas complet, c'est juste incomplet. – Calphool

0

Une autre option serait h3270. C'est un frontal Java pour la suite d'outils x3270.

+0

Merci, mais cela ne résoudrait pas mon problème. Nous n'avons pas besoin de raclage d'écran, mais d'un accès bas niveau au flux de protocole 3270, car certaines données couvrent plusieurs écrans, et nous ne pouvons pas compter sur l'événement "mise à jour d'écran". En tout cas, je travaille sur quelque chose de différent maintenant, et je ne sais pas si l'ancien projet est toujours vivant, ni qui travaille dessus maintenant. –

Questions connexes