← Desenvolvimento

Projecto de integração PHC e website com webservices

Lida 16701 vezes

Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Boas,
Tenho de desenvolver uma aplicação que permita a integração de um software de gestão (PHC) com um website. O website será em PHP , a linguagem a utilizar para fazer o webservice ainda não sei qual utilizar. Aconselham C# ou VB.NET ??
Já agora, como poderei fazer para registrar as ordens do website na base de dados do PHC? Ou seja, eu penso que consiga disponibilizar a informação do PHC para o website , mas o contrário como poderei fazer??

Agradeço dicas...

Obrigado,

Paulo
Offline

zenn 
Membro
Mensagens 119 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Deixa-me ver se entendi... tens de desenvolver uma aplicação que envie a informação que escrevas para um website em php para que seja vista por quem o visita certo?
Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Vou explicar melhor ,
A aplicação tem de ir à base de dados e enviar informação para um website, nomeadamente produtos. Se houver uma compra nesse website , o website tem de comunicar com a aplicação e esta inserir determinada informação na base de dados.

Obrigado
Offline

epsy 
Membro
Mensagens 553 Gostos 1
Feedback +1

Troféus totais: 25
Trófeus: (Ver todos)
Search Windows User Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1

Alguns pontos:

O webservice poderá ser em asp.net (vb.net ou c#), mas isso implica estar num servidor que suporte essas tecnologias (SO windows, iis webserver, etc).
Se o website é feito em PHP, tens algumas vantagens se o webservice for feito também em PHP e desse modo funcionar no mesmo servidor.

O webservice precisa de uma aplicação cliente local, que comunique com ele. Essa aplicação serve de intermediário: comunica remotamente com o webservice e localmente com o PHC. Portanto deve estar instalada no computador onde trabalha o php.
Esta aplicação poderá ser desenvolvida em VB.NET ou C#, em java, etc.


Se o objectivo fosse apenas actualizar stocks de produtos, o PHC, penso que já tem algumas interfaces que poderão facilitar esse trabalho. Isto poderá permitir um sistema mais simples.

Para enviar as encomendas do site para o php, aí já é mais complexo, porque estás a actualizar várias tabelas do PHC: stocks, encomendas, facturação, etc, etc.

P.S: A aplicação iCom da Innovatio, faz a integração entre PHC e websites, mas não nunca usei e nem sei os preços (?). Suponho que não seja barata, mas o sistema que queres desenvolver é bastante complexo e pode-se justificar adquirir uma solução já feita.
Offline

almargo 
Membro
Mensagens 377 Gostos 1
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Boas,

Por experiência própria, pois temos esse tipo de aplicações com Primavera e Eticadata, foi mais simples para nós desenvolver em .NET e colocar a aplicação no servidor, sendo que é efectuada uma verficação em intervalos regulares para verificar a informação a sincronizar.

No PHC, se não me falha a memória, tens de introduzires as compras do site como encomendas para depois conseguires fazer o tratamento dos movimentos de uma forma mais simples. Penso que funcionam por eventos, mas se preciares de mais alguma info PM que eu peço ao n/ técnico PHC para te ajudar.

Abraços

Hugo Pinto
Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Boas,

Por experiência própria, pois temos esse tipo de aplicações com Primavera e Eticadata, foi mais simples para nós desenvolver em .NET e colocar a aplicação no servidor, sendo que é efectuada uma verficação em intervalos regulares para verificar a informação a sincronizar.

No PHC, se não me falha a memória, tens de introduzires as compras do site como encomendas para depois conseguires fazer o tratamento dos movimentos de uma forma mais simples. Penso que funcionam por eventos, mas se preciares de mais alguma info PM que eu peço ao n/ técnico PHC para te ajudar.

Abraços

Hugo Pinto

Bom dia,
Em primeiro lugar muito obrigado aos membros que me responderam. É fantástico saber que há pessoas que não têm problemas em partilhar os seus conhecimentos para ajudar os outros.
Sendo assim vou então pedir-vos que me orientem mais um pouco pois até agora apenas fazia projectos exclusivamente em php e sem a complexidade deste....

Fazendo um resumo do problema :

1 ) Tenho um servidor com o PHC instalado localmente .
2 ) Pretendo fazer uma partilha da informação da base de dados do PHC ( Tenho conhecimento sobre a estrutura de tabelas/dados do mesmo através do dicionário de dados do mesmo ).
3 ) Pretendo que o website actualize frequentemente a informação vinda dessa partilha.
4 ) Pretendo que um cliente que faça uma compra no website , essa mesma compra seja introduzida no PHC como encomenda.
5 ) Preciso da vossa ajuda / orientação para fazer isto :) lol


O que eu tenho em mente e não sei se estou correcto :

1 ) Visto que tenho o PHC num servidor local , fazer uma interface em .Net que envie a informação por webservices. Para isto preciso de ter IP fixo nesse servidor local,correcto ?
2 ) No alojamento onde tenho o site comunico com o servidor local para ir buscar os dados através de chamadas a esse webservice,correcto?
3 ) Terei também de programar nessa interface métodos para quando um cliente introduz uma nova encomenda ela ser actualizada na base de dados do servidor local , correcto ?

Por enquanto nesta fase inicial do projecto são as dúvidas que tenho , muito obrigado mais uma vez pela vossa ajuda.

Cumprimentos,

Paulo Luis

Offline

almargo 
Membro
Mensagens 377 Gostos 1
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Bom Dia Paulo,

Estamos cá para ajudar :)

Quanto às tuas perguntas:

1) Não. A "minha" ideia é que a aplicação desenvolvida e instalada no servidor de PHC é que vai fazer o " trabalho" todo, seja enviar os novos produtos para o website, seja recolher as encomendas e introduzir no PHC
2) Supostamente no website não terás de desenvolver nada. Tudo é feito pela aplicação .NET
3) A ideia seria isso mesmo, a aplicação fazer a gestão de toda a comunicação entre website e PHC


Abraços,

Hugo Pinto
Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Bom Dia Paulo,

Estamos cá para ajudar :)

Quanto às tuas perguntas:

1) Não. A "minha" ideia é que a aplicação desenvolvida e instalada no servidor de PHC é que vai fazer o " trabalho" todo, seja enviar os novos produtos para o website, seja recolher as encomendas e introduzir no PHC
2) Supostamente no website não terás de desenvolver nada. Tudo é feito pela aplicação .NET
3) A ideia seria isso mesmo, a aplicação fazer a gestão de toda a comunicação entre website e PHC


Abraços,

Hugo Pinto

Obrigado Hugo,
Só mais uma pergunta em relação ao ponto 2. Para registar uma nova encomenda quando esta é feita no site não é necessário que seja o próprio site a comunicá-la à interface .net ?

Mais uma vez obrigado,

Paulo Luis
Offline

almargo 
Membro
Mensagens 377 Gostos 1
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Olá Paulo,

Não obrigatoriamente. A ideia seria algo como isto:

- As encomendas no site têm um numerador
- Quando importas as encomendas para o PHC, deves ter um campo auxiliar no documento do PHC que te permita identificar o número de encomenda do website.
- A aplicação deve verificar as encomendas de forma regular, e compara se já existe no PHC. Se não existe importa

Podes ainda fazer de outra forma, usar uma BD auxiliar (ou ficheiro de texto) que te permita saber qual a última encomenda importada para o PHC. Assim, o programa "sabe" que se o número de encomenda é superior no Website, deve fazer a importação.

Abraço

Hugo Pinto
Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Alguns pontos:

O webservice poderá ser em asp.net (vb.net ou c#), mas isso implica estar num servidor que suporte essas tecnologias (SO windows, iis webserver, etc).
Se o website é feito em PHP, tens algumas vantagens se o webservice for feito também em PHP e desse modo funcionar no mesmo servidor.

O webservice precisa de uma aplicação cliente local, que comunique com ele. Essa aplicação serve de intermediário: comunica remotamente com o webservice e localmente com o PHC. Portanto deve estar instalada no computador onde trabalha o php.
Esta aplicação poderá ser desenvolvida em VB.NET ou C#, em java, etc.


Se o objectivo fosse apenas actualizar stocks de produtos, o PHC, penso que já tem algumas interfaces que poderão facilitar esse trabalho. Isto poderá permitir um sistema mais simples.

Para enviar as encomendas do site para o php, aí já é mais complexo, porque estás a actualizar várias tabelas do PHC: stocks, encomendas, facturação, etc, etc.

P.S: A aplicação iCom da Innovatio, faz a integração entre PHC e websites, mas não nunca usei e nem sei os preços (?). Suponho que não seja barata, mas o sistema que queres desenvolver é bastante complexo e pode-se justificar adquirir uma solução já feita.

Boas,
Estou ainda a ver a melhor maneira de desenvolver isto e pelo que vi da tua explicação percebi o seguinte:


- Eu posso fazer o webservice em PHP e esse webservice estar alojado no servidor do website , certo?
- Por outro lado ter no servidor local uma aplicação que faça de interface com esse webservice,certo?
ou seja,quando quero fazer uma encomenda , chamo o webservice , que por sua vez chama um método da interface e dá-se uma acção? certo?

Mais uma vez obrigado pela vossa ajuda

Paulo
Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Olá Paulo,

Não obrigatoriamente. A ideia seria algo como isto:

- As encomendas no site têm um numerador
- Quando importas as encomendas para o PHC, deves ter um campo auxiliar no documento do PHC que te permita identificar o número de encomenda do website.
- A aplicação deve verificar as encomendas de forma regular, e compara se já existe no PHC. Se não existe importa

Podes ainda fazer de outra forma, usar uma BD auxiliar (ou ficheiro de texto) que te permita saber qual a última encomenda importada para o PHC. Assim, o programa "sabe" que se o número de encomenda é superior no Website, deve fazer a importação.

Abraço

Hugo Pinto

Viva Hugo,
Algum tempo depois cá estou eu de novo :)
Segui as tuas dicas e criei uma aplicação em C# que faz a sincronização entre o PHC e o website.
Para acabar só falta mesmo a parte das encomendas.
Tenho algumas dúvidas porque as encomendas não estão apenas centradas numa tabela.Por exemplo a maior parte dos dados da encomenda é introduzida na tabela BO ( Dossiers Internos ) mas depois o produto,por exemplo está na tabela BI. Ou seja,para colocar uma encomenda vou ter de mexer em mais do que uma tabela.
Sabes onde posso encontrar a enciclopédia PHC? Estou farto de ouvir falar mas não sei onde encontrar isso..lol

Já agora, muito obrigado pelas dicas iniciais.... Possibilitaram-me desenvolver o projecto

Thanks mais uma vez

Paulo
Offline

almargo 
Membro
Mensagens 377 Gostos 1
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Olá Paulo,

Tenho o meu programador PHC de férias. Vou ver se consigo falar com ele.

Offline

pluis3103 
Membro
Mensagens 19 Gostos 0
Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Seventh year Anniversary

Olá Paulo,

Tenho o meu programador PHC de férias. Vou ver se consigo falar com ele.



Deixa-o descansar então Hugo :) Vou tentar descobrir.. É chato estar a interromper as férias dele.
Muito obrigado na mesma... Qualquer coisa que eu te possa ajudar um dia é só dizeres. Mais ligado à parte de PHP que é a minha área e onde te posso ajudar mais.
Foi 5 estrelas a tua ajuda neste processo.  :)
Offline

almargo 
Membro
Mensagens 377 Gostos 1
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Naaaaa. Ele até gosta :)

De qualquer forma já falei com ele e ficou de me enviar mais info assim que tenha acesso à net.
Atendendo a que está no Panamá... não sei quando vai ser :)

Sempre às ordens.
Offline

epsy 
Membro
Mensagens 553 Gostos 1
Feedback +1

Troféus totais: 25
Trófeus: (Ver todos)
Search Windows User Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1

Nem de propósito, comentei o teu post há umas semanas e agora surgiu-me uma solução muito semelhante para desenvolver.

Concretamente, também vamos desenvolver uma solução que permita sincronizar dados entre o PHC e uma aplicação web.
Basicamente os requisitos são:

- importar (sincronizar) novos clientes e encomendas do website para o phc
- exportar  produtos / sincronizar stocks do phc para o website.

Do lado do site (em asp.net), provavelmente iremos optar por desenvolver um webservice,  que recebe os pedidos enviados pela aplicação local e implementa esses pedidos na base de dados do site.

Os pedidos que a aplicação fará ao webservice, serão deste género:
- Enviar  a ficha dos novos clientes que se registaram no site
- Enviar os dados das novas encomendas feitas no site
- Inserir / actualizar produtos na base de dados do site

Do lado do PHC, iremos desenvolver uma aplicação local que envia os pedidos ao webservice e faz as correspondentes actualizações na base de dados do PHC.

Senão estou em erro, o PHC Enterprise (topo de gama) tem uma framework de desenvolvimento que permite programar (em XBase) novas rotinas e funcionalidades.  Neste caso seria preferível implementar rotinas de importação / exportação de dados em ficheiros xml, csv, etc.

O problema é que a versão do PHC para a qual vamos fazer a implementação, é muito provavelmente a versão corporate (que ao que sei, não tem essa framework de programação), o que obriga a que a aplicação local externa tenha de se ligar directamente à base de dados do PHC ( que eu preferia evitar).


Podes-me dizer para qual é versão do phc da tua solução?. E quais as dificuldades principais que encontraste? Suponho que a complexidade do esquema da base de dados do PHC e os nomes estranhos que as tabelas têm, tenha sido uma delas.