Pergunta

http://www.iseriespython.com/ , que é uma versão do Python para o iSeries, aparentemente, incluindo algumas classes de acesso a dados específicos do sistema. Estou muito interessado em tentar fazer isso, mas terá que obter aprovação no trabalho para fazê-lo. Minhas perguntas são:

Será que o trabalho portuário bem, ou há limites para o que o intérprete pode manipular em comparação com implementações Python padrão?

Será que o iSeries banco de dados de acesso trabalho camada bem, criando objetos utilizáveis ??de definições de tabela?

Foi útil?

Solução

Pelo que tenho visto até agora, ele funciona muito bem. Note que eu estou usando iSeries Python 2.3.3. O fato de que as cordas são nativamente EBCDIC pode ser um problema; é definitivamente uma das razões que muitos pacotes de terceiros não funcionam como está, mesmo se eles são pura Python. (Em alguns casos eles podem ser otimizadas e massajar trabalhar com uso criterioso de codificação e decodificação.) Supostamente 2,5 usos ASCII nativamente, o que, em princípio, melhorar a compatibilidade, mas eu não tenho nenhuma maneira de testar isso porque eu estou em um também- versão antiga do OS / 400.

Em parte devido EBCDIC e em parte porque o OS / 400 e o sistema de arquivos QSYS são nem Unix-like nem o Windows-like, existem algumas peças da biblioteca padrão que não são implementadas ou estão imperfeitamente implementados. Como mal isso afetaria você depende do que você está tentando fazer.

No lado positivo, o específico do iSeries apresenta trabalhos muito bem. É muito fácil trabalhar com arquivos físicos, bem como arquivos de fluxo. Chamando CL ou programas de RPG de Python é bastante indolor. No cômputo geral, acho iSeries Python para ser altamente útil e muito interessante.

Update: Um monte de trabalho tem ido para iSeries Python desde que esta pergunta foi feita. Versão 2.7 está agora disponível, o que significa que é up-to-date, tanto quanto 2.x versões ir . Alguns participantes do fórum são razoavelmente ativo e fornecem apoio incrível. Um deles ficou Django trabalhando no i. Como esperado, a mudança para seqüências ASCII nativas resolve muitos dos problemas EBCDIC e aumenta muito a compatibilidade com pacotes de terceiros. I com entusiasmo recomendaria iSeries Python 2.7 para qualquer um em V5R3 ou posterior. (Eu ainda recomendo fortemente iSeries Python 2.3.3 para aqueles que estão em versões anteriores do sistema operacional.)

Outras dicas

Parece que é funcionaria como esperado. Suporte para outras bibliotecas pode ser muito limitado, no entanto.

conversações Timothy Prickett sobre alguns portos Python para os iSeries neste artigo:

http://www.itjungle.com/tfh/tfh041706-story02.html

Além disso, alguma discussão apareceu nos arquivos de discussão Python:

http://mail.python.org/pipermail /python-list/2004-January/245276.html

iSeriesPython está funcionando muito bem. Estamos usning desde 2005 (ou anterior) em nossos ambientes de desenvolvimento e produção como uma linguagem de utilidade, para a geração de código-fonte COBOL, gerando de interfaces PCML, o envio de SMS, validando / corrigir alguns dados ... etc. Com iSeriesPython você pode acessar o banco de dados iSeries em 2 maneiras: usando File400 e / ou módulo de DB2. Você pode executar / 400 comandos do sistema operacional e você pode trabalhar com ambos os membros QSYS.LIB e arquivos de fluxo IFS. IMHO, iSeries Python é uma ferramenta muito poderosa, mais melhor do que REXX incluído no iSeries. Experimente!

Eu tenho permissão para instalar iSeries Python em uma caixa de cerca de 3 anos. Descobri que funcionou muito bem como anunciado. Entrei em contato com o desenvolvedor e ele era muito bom em responder perguntas. No entanto, antes que eu pudesse pensar em usá-lo em produção, eu tinha que abordar o desenvolvedor a respeito de um contrato de suporte. Isso realmente não é o seu show, por isso ele não disse e que desistiu da idéia. A principal limitação eu encontrei é que ele é vários lançamentos por trás Python em outras plataformas.

Eu também tive uma experiência muito boa com Jython no iSeries. Java é completamente suportado no iSeries. Teoricamente, tudo o que você pode fazer em RPG no iSeries, você pode fazer em Java, o que significa que você pode fazê-lo em Jython. Eu estava enviando e-mail a partir de um / 400 AS (nome antigo para iSeries) via JPython (nome antigo para Jython) e smtplib.py em 1999 ou 2000.

Outro lugar para procurar é na lista de discussão MIDRANGE-L ou pesquisar na arquivos para a lista em midrange.com . Eu sei que eles têm falado sobre isso há algum tempo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top