Mas você mencionou outros sistemas, esses sistemas ainda estão em mainframe ... estou fazendo essa pergunta ... porque não precisava tirar do mainframe ... mas se o objetivo é realmente trabalhar em outro ambiente, não lhe aconcelho o Windows, mas como já falou que esta rodando em Windows.<br>
<br>Você deve desenvolver composite applications com o Catalyst, que vai lhe oferecer tudo que precisa, a integração com as aplicações em Cobol você vai fazer com webservices, o que vai lhe poupar muito tempo, e garantir o controle e integridade dos seus dados.<br>
<br><div class="gmail_quote">2008/6/18 kleber <<a href="mailto:payback@oi.com.br">payback@oi.com.br</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Eu já trabalhei com maiframe ( atualmente não ).<br>
Possuo vários sistemas desenvolvidos em ambiente maiframe porém migrei para<br>
ambiente web somente o de contabilidade ( que chamei de projeto piloto ).<br>
Portanto somente o sistema contábil roda em ambiente windows.<br>
Para realizar a migração básicamente substitui o comando de leitura do cobol<br>
cics<br>
( portanto de uma tela de dados ) para um arquivo em um determinado<br>
diretório<br>
( gerado pelo perl ) e gravei um arquivo de saida referente o status do<br>
processamento<br>
( arquivo html ) que é enviado para o usuário pelo perl.<br>
<br>
O fernando Oliveira me sugeriu utilizar kill para controlar um processo<br>
porém pelo que entendi este comando aborta um processo.<br>
A minha necessidade não é abortar um processo quando um outro idêntico está<br>
rodando e sim colocá-lo em estado de espera aguardando a conclussão do<br>
processo<br>
corrente para sua reexecução ( formar uma fila de espera ).<br>
<br>
Você tem alguma sugestão de como fazer isto ????????????????<br>
<br>
Agradeço a atenção dispensada ,<br>
<br>
kleber<br>
<br>
<br>
<br>
<br>
<br>
----- Original Message -----<br>
From: <<a href="mailto:marco_lima@sapo.pt">marco_lima@sapo.pt</a>><br>
To: "Perl Mongers Rio de Janeiro" <<a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a>><br>
Sent: Tuesday, June 17, 2008 8:09 PM<br>
Subject: Re: [Rio-pm] Controle de processo em perl<br>
<br>
<br>
Salve!<br>
<br>
Então não percebi direito:<br>
<br>
>> Disponho destes sistemas administrativos em ambiente maiframe ( cobol ,<br>
>> cobol/cics , vsam , etc ) e implementei um projeto piloto do sistema de<br>
>> contabilidade. ( aproximadamente 120 programas )<br>
<br>
Você tinha mencionado que esta trabalhando com um ambiente<br>
mainframe??? isso não esta correto??<br>
<br>
No caso dos sistemas em questão, o ambiente web pode não ser o mais<br>
apropriado, principalmente no caso de ERP. mas um bom caminho para uma<br>
solução mais adequada e segura, é desenvolver composite applications<br>
com catalyst, porque estamos aqui falando de SOA e esta pode ser a<br>
forma mais segura e rápida, e como não é um simples sistema web, mas<br>
pelo que percebi, todas as aplicações da empresa.<br>
<br>
Todos os sistemas estão sendo executados no Windows?<br>
<br>
Citando kleber <<a href="mailto:payback@oi.com.br">payback@oi.com.br</a>>:<br>
<br>
> Acho que é possível , através do cobol , ler a entrada padrão.<br>
> Vou pesquisar este assunto.<br>
><br>
> Vou dar um exemplo de como montei este esquema .<br>
> Pôr exemplo , o sistema possui as seguintes entidades cadastráveis :<br>
> Grupo empresarial , Empresa , Departamento , Seção , Operador , etc.<br>
> ( Um grupo empresarial é constuido de várias empresas , uma empresa<br>
> possui<br>
> vários departamentos , um departamento possui várias seções , uma seção<br>
> possui vários<br>
> operadores )<br>
><br>
> Crei para cada entidade um diretório ( c:\payback\contabil\tabela\grupo ;<br>
> c:\payback\contabil\tabela\empresa ; c:\payback\contabil\tabela\depto ;<br>
> etc )<br>
><br>
> Criei um script perl para cada entidade ( portanto reside em um único<br>
> diretório ) que<br>
> captura o dado informado pelo usuário e executa o programa cobol para<br>
> manutenção.<br>
> ( Nota - este programa cobol já esta pronto em cobol / cics )<br>
> A questão central está em garantir uma execução única deste script perl<br>
> pois<br>
> preciso garantir que um grave e vários lêem ( segurança do ambiente ).<br>
><br>
> O marco_lima me perguntou porque cobol ?????<br>
> É pelo fato de já possuir vários sistemas prontos em cobol.<br>
> Caso este projeto de bureau de serviço avance , é bem provável que<br>
> converta<br>
> todos<br>
> os aplicativos para uma linguagem mais adequada ao ambiente web.<br>
> Entretanto estou implementando um piloto.<br>
> Meu ambiente operacional é : Win2003 server , Apache 2.0 , ActivePerl 5.8<br>
> ,<br>
> Cobol 4.5 , etc.<br>
><br>
> Mais uma vez agradeço a atenção dispensada ,<br>
><br>
> kleber<br>
><br>
><br>
> ----- Original Message -----<br>
> From: "Fernando Oliveira" <<a href="mailto:fernandocorrea@gmail.com">fernandocorrea@gmail.com</a>><br>
> To: "Perl Mongers Rio de Janeiro" <<a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a>><br>
> Sent: Tuesday, June 17, 2008 2:31 PM<br>
> Subject: Re: [Rio-pm] Controle de processo em perl<br>
><br>
><br>
> Bom, eu acho q vc já começou bem procurando a lista. Um bom inicio na<br>
> minha<br>
> opinião,<br>
> seria o livro begining perl (<a href="http://www.perl.org/books/beginning-perl/" target="_blank">http://www.perl.org/books/beginning-perl/</a>)<br>
> (vc<br>
> pode ver esse e N<br>
> outros livros na nossa sessão de livros e resenhas (<br>
> <a href="http://rio.pm.org/livros.pl%29" target="_blank">http://rio.pm.org/livros.pl)</a>). Uma outra<br>
> importante fonte de pesquisa é o perldoc (para saber mais sobre o kill,<br>
> leia<br>
> o perldoc -f kill,<br>
> para saber de outras funções, perldoc perlfunc).<br>
> Eu gostaria de fazer uma pergunta, a única forma de entrada para esses<br>
> programas em cobol<br>
> seria por arquivo?<br>
> Bom, mas perguntas estamos aí!<br>
> E seja bem vindo!<br>
><br>
> 2008/6/17 kleber <<a href="mailto:payback@oi.com.br">payback@oi.com.br</a>>:<br>
><br>
>> Olá Fernando ,<br>
>><br>
>> Agradeço a atenção dispensada.<br>
>> Moro em Belo Horizonte e obtive informação sobre vocês pesquisando na<br>
>> internet.<br>
>><br>
>> Atualmente estou trabalhando num projeto de prestação de serviços , no<br>
>> formato de bureau , onde pretendo disponibiliar todos os sistemas<br>
>> administrativos de uma empresa<br>
>> ( contabilidade , folha de pagamento , suprimentos , controle patrimonial<br>
>> ,<br>
>> etc ).<br>
>><br>
>> Disponho destes sistemas administrativos em ambiente maiframe ( cobol ,<br>
>> cobol/cics , vsam , etc ) e implementei um projeto piloto do sistema de<br>
>> contabilidade. ( aproximadamente 120 programas )<br>
>><br>
>> É aí que entra o perl ou seja , ele faz a interligação entre o usuário e<br>
>> o<br>
>> servidor.<br>
>> Portanto , o ambiente pode ser descrito assim :<br>
>><br>
>> - html / javascript -> Possibilita a entrada de dados pelo<br>
>> usuário<br>
>> - perl -> captura dados do cliente , grava um arquivo texto<br>
>> para<br>
>> passagem<br>
>> ao cobol , executa programa cobol , lê arquivo<br>
>> resposta do<br>
>> processamento cobol ( html ) e redireciona ao<br>
>> usário<br>
>> - cobol -> Realiza manutenção da base de dados e gera arquivo<br>
>> html com o<br>
>> status do processsamento<br>
>><br>
>> Conforme disse anteriormente possuo pouca experiência em perl .<br>
>> ( livro perl como programar deitel )<br>
>> Poderia me dar mais informações sobre sua sugestão ??????????<br>
>> Conhece alguma fonte de consulta onde eu possa pesquisar ????????<br>
>><br>
>> Um abraço ,<br>
>><br>
>> kleber<br>
>><br>
>><br>
>><br>
>><br>
>> ----- Original Message -----<br>
>> From: "Fernando Oliveira" <<a href="mailto:fernandocorrea@gmail.com">fernandocorrea@gmail.com</a>><br>
>> To: "Perl Mongers Rio de Janeiro" <<a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a>><br>
>> Sent: Tuesday, June 17, 2008 10:07 AM<br>
>> Subject: Re: [Rio-pm] Controle de processo em perl<br>
>><br>
>><br>
>> Vc pode dar um <code> kill 0 => $pid; </code> e se retornar verdadeiro,<br>
>> quer<br>
>> dizer q o pid ainda está rodando...<br>
>> Agora qto ao goto, vc poderia fazer algo + bonito, anlo como:<br>
>> <code><br>
>> sleep 1 while kill 0 => $pid;<br>
>> </code><br>
>><br>
>> além disso, na minha opinião, ser mais bonito, ainda consome menos<br>
>> processamento...<br>
>><br>
>> 2008/6/17 kleber <<a href="mailto:payback@oi.com.br">payback@oi.com.br</a>>:<br>
>><br>
>> > Olá Pessoal ,<br>
>> ><br>
>> > Estou executando uma função em perl de forma não concorrente ou seja<br>
>> > ela só pode ser reexecutada após encerrar a primeira instância.<br>
>> ><br>
>> > Atualmente estou fazendo assim :<br>
>> ><br>
>> > use warnings;<br>
>> > use strict;<br>
>> > use CGI qw( :standard );<br>
>> > use Fcntl qw( :flock :DEFAULT );<br>
>> > #<br>
>> > ######## Permite executar um script pôr vez<br>
>> > #<br>
>> > denovo:<br>
>> > if ( -e "c:\\payback\\cgiaindx.nul" ) { goto denovo; }<br>
>> > sysopen( TASK, "c:\\payback\\cgiaindx.nul", O_WRONLY|O_EXCL|O_CREAT )<br>
>> > or warn ( goto denovo );<br>
>> > flock( TASK, LOCK_EX ) or warn ( goto denovo );<br>
>> > #<br>
>> > ######### instruções em perl de uma função qualquer<br>
>> > #<br>
>> > flock( TASK, LOCK_UN );<br>
>> > close( TASK );<br>
>> > unlink( "c:\\payback\\cgiaindx.nul" );<br>
>> > exit;<br>
>> > #<br>
>> ><br>
>> > Gostaria de saber se é possível atingir este mesmo objetivo alocando um<br>
>> > número de processo a variável que controla o pid ( PROCESSO_ID ) E<br>
>> > TESTANDO<br>
>> > SUA DISPONIBILIDADE ??????????????????????<br>
>> ><br>
>> > TALVEZ ATÉ MESMO UTILIZANDO UMA VARIÁVEL DE AMBIENTE E TESTANDO SEU<br>
>> > STATUS<br>
>> > ?????????<br>
>> ><br>
>> > OU UTILIZANDO OUTRO MÉTODO DE CONTROLE ??????????????????<br>
>> > Nota - Meu conhecimento de perl é limitado.<br>
>> ><br>
>> > Agradeço a atenção dispensada ,<br>
>> ><br>
>> > kleber<br>
>> ><br>
>> > _______________________________________________<br>
>> > Rio-pm mailing list<br>
>> > <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> > <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> Just another Perl Hacker,<br>
>> Fernando (SmokeMachine)<br>
>> <a href="http://perl-e.org" target="_blank">http://perl-e.org</a><br>
>><br>
>><br>
>><br>
>><br>
>> --------------------------------------------------------------------------------<br>
>><br>
>><br>
>> _______________________________________________<br>
>> Rio-pm mailing list<br>
>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>><br>
>> _______________________________________________<br>
>> Rio-pm mailing list<br>
>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>><br>
><br>
><br>
><br>
> --<br>
> Just another Perl Hacker,<br>
> Fernando (SmokeMachine)<br>
> <a href="http://perl-e.org" target="_blank">http://perl-e.org</a><br>
><br>
><br>
><br>
> --------------------------------------------------------------------------------<br>
><br>
><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
<br>
<br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><br>Marco Lima<br><a href="http://www.perl.org.br">www.perl.org.br</a><br><a href="mailto:mago.perlbr@gmail.com">mago.perlbr@gmail.com</a><br><br>$_ = "wftedskaebjgdpjgidbsmnjgc";tr/a-z/oh,turtleneck Phrase Jar!/; print;<br>
<br>"Ninguém é tão grande que não possa aprender, e nem tão pequeno que não possa ensinar"