Olá pessoal! 
Estou com a seguinte dúvida :
Tenho um sistema feito em uma framework RAD em php. Esse sistema encontra-se em desenvolvimento, e agora estamos com um leque de requisitos bem maior que necessita de uma arquitetura bem mais robusta por se tratar de um sistema web de médio porte. Estou querendo desenvolver os novos requisitos em java, porém estou na dúvida em como fazer essa integração desse parte do sistema já feito nessa framework com os novos módulos a serem implementados.
as seguintes soluções foram apontadas:
Desenvolver os novos requisitos como serviços(web services) para se comunicar com a framework utilizada.
Desenvolver novas aplicações web em java e serem chamadas via GET pela aplicação.
Preciso de uma arquitetura que me ofereça tanto interoperabilidade quanto robustez, pois se trata de um sistema que exige imediatismo de resposta e considerada quantidade de acessos. Qual seria a melhor arquitetura a ser adotada para esse cenário?
PS: As seguintes soluções foram apontadas mas gostaria que pudessem dar dicas de outras arquiteturas que melhor resolveria o problema em questão.
O ideal sera tudo ser uma tecnologia apenas, ou tudo em PHP ou tudo em Java.
Mas se quer misturar as coisas, então acho q é melhor webservices, visto que assim o sistema continua sendo por padrão em PHP, e a fonte de dados em Java com os webservices, seria como separar em camadas.
Entretanto ambas as soluções não influenciam na performance, vc pode ter um bom tempo de resposta com qualquer uma das soluções, a diferença é q com webservices acho que fica melhor arquitetado, não fica uma salada, de na mesma solução ter partes em PHP e partes em Java, além de vc ter que contornar o problema de autênticação. Com webservices acho que fica mais limpo.
Na verdade não quero misturar as coisas… É questão de necessidade mesmo.
Já existe um legado em php e já está com uma parte implementada. Porém os novos requisitos vão requerer mais lógica de negócios, por isso não quero arriscar fazer essas implementações em um framework de certa forma fechado, e que não me dá a possibilidade de fazer testes debugando o código. Por isso a necessidade de manter o que já temos em php e começar a continuar o projeto em java.
O que podemos considerar como correto ou incorreto em termos de arquitetura de software?
Outra questão também que fiquei na dúvida foi é em relação na adoção de web services. Alguns dizem o carro chefe de web services seria comunicar bases de dados diferentes. Porém há tb a questão da comunicação entre sistemas de diferentes plataformas, com a mesma base de dados. No caso aqui o que quero fazer é a implementação da lógica de negócios do sistema em java e queria saber a melhor forma de comunicar esses novos requisitos com esse sistema em php. Implementar os requisitos em webservices seria uma arquitetura considerada correta?
Resposta muito difícil sem conhecer as particularidades do seu sistema e dos novos requisitos.
Acho muito nobre que você queira trocar PHP por Java. Mas por experiência própria, não vejo com bons olhos essa idéia de ter duas tecnologias completamente diferentes convivendo num mesmo sistema. Você vai acabar com uma torre de babel e ninguém vai entender o que está acontecendo. Ou você pode acabar com uma quantidade enorme de duplicação de código em duas linguagens diferentes, com todos os problemas que isso causa.
A minha primeira sugestão seria você portar seu sistema para Java, mas sei que em 99% dos casos é impossível vender isso para um cliente. Uma quantidade enorme de esforço portando um sistema, para terminar exatamente onde tinha começado, no ponto de vista dele.
A segunda sugestão é ficar no PHP mesmo. Se isso não for possível, boa sorte, mas deixo o recado: tome muito cuidado com o que está se metendo
A emenda pode ficar pior do que o soneto.