Natália Oliveira Posted July 11, 2013 at 05:50 PM Report #518388 Posted July 11, 2013 at 05:50 PM Boa tarde pessoal, Tenho uma dúvida em um planejamento de um sistema.. A ideia é que este sistema seja utilizado dentro de um determinado determinado estabelecimento atravez da rede a partir de tablets, porém o sistema será atualizado nesses tablets a partir de um sistema desktop, que nao será o cliente e sem o gerenciador.. A duvida é a seguinte, se o sistema que atuara nesses tablets sera em android, em qual linguagem este desktop deve ser desenvolvido? Há algum requisito que deve ser levado em conta? como deve ser feito para que o sistema desktop gerencie o app? Obg
KTachyon Posted July 11, 2013 at 06:31 PM Report #518399 Posted July 11, 2013 at 06:31 PM A forma de comunicação que usas entre o desktop e os tablets é agnóstico, pelo que podes utilizar a linguagem que preferires. Qual a melhor já pode depender dos requisitos, mas tendo em conta que vais trabalhar em Java para Android e te sentires mais à vontade a trabalhar na mesma linguagem nos dois sistemas, Java deverá ser uma linguagem perfeitamente adequada para o que pretendes fazer do lado do desktop. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
Natália Oliveira Posted July 11, 2013 at 06:54 PM Author Report #518402 Posted July 11, 2013 at 06:54 PM A forma de comunicação que usas entre o desktop e os tablets é agnóstico, pelo que podes utilizar a linguagem que preferires. Qual a melhor já pode depender dos requisitos, mas tendo em conta que vais trabalhar em Java para Android e te sentires mais à vontade a trabalhar na mesma linguagem nos dois sistemas, Java deverá ser uma linguagem perfeitamente adequada para o que pretendes fazer do lado do desktop. há muito pouca informação referente a agnóstico onde procurei.. saberia me ensinar algo?
Ernest Posted July 11, 2013 at 10:11 PM Report #518438 Posted July 11, 2013 at 10:11 PM (edited) Bom dia, ...em qual linguagem este desktop deve ser desenvolvido? Resposta : Para reutilizar as competências eu diria em Java, já que a aplicação Android também é desenvolvida em Java. Em vez do servidor Desktop podia também utilizar uma plataforma Cloud Computing. Mas o problema é que não é proprietário e não pode fazer todo o que quer. Com a sua própria maquina em vez de Cloud tudo esta sobre seu controlo. Há algum requisito que deve ser levado em conta? Resposta : Para ligar Android com um desktop eu diria que talvez existe um FireWall no desktop entre os dois. O HTTP é muito utilizado e de maneira geral os FireWalls deixam passar o HTTP no porto 80. Eu utilizaria para fazer comunicar os dois dispositivos certamente REST com dados ao formato JSON passados sobre HTTP. como deve ser feito para que o sistema desktop gerencie o app? Do lado do desktop utilizaria certamente um servidor de aplicações Java EE exemplo Jetty, Tomcat, GlassFish ou JBoss (depende da carga do dispositivo, possibilidades de escalabilidade, clustering, load balancing, transactions, segurança, etc ...). Ou se não utilizaria uma solução Cloud como por exemplo GAE( Google AppEngine) depende do preço e do controlo sobre os dados. De qualquer forma uma Servlet recepciona as demandas REST e trata os dados ao formato JSON com uma API por exemplo o famoso : http://wiki.fasterxml.com/JacksonHome Ou também poderia utilizar Apache CXF : http://cxf.apache.org/ Arquitectura do sistema : App Android <----HTTP/ REST/JSON-----> App Desktop, Java EE 7 Outro aspecto importante : certamente que a App Android tem de receber PUSH Notifications do servidor por isso necessita passar por GCM (Google Cloud Messaging) que é gratuito por enquanto. Google Cloud Messaging e bidirecional o que permite fazer : App Android <----GCM-----> App Desktop, Java EE 7 No canal GCM pode passar os dados ao formato JSON. Mas o problema é de depender muito da empresa Google. Por isso o GCM utilizo só para fazer o PUSH Notifications (comunicações do servidor Desktop para o Android). Cordialmente Ernest Duarte Edited July 11, 2013 at 10:17 PM by Ernest Duarte 1 Report
KTachyon Posted July 11, 2013 at 10:50 PM Report #518443 Posted July 11, 2013 at 10:50 PM Se é a primeira vez que vais trabalhar com uma framework web de Java, sugiro que vás para a Play Framework. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
Ernest Posted July 12, 2013 at 12:42 AM Report #518451 Posted July 12, 2013 at 12:42 AM (edited) Bom dia, Efetivamente Play! Framework é uma boa opção por que é relativamente simples a utilizar. Play! Framework é inspirado nos Frameworks de tipo Rails ou Django, com o objetivo de fornecer uma ferramenta simples e produtiva em Java. Tem peculiaridade de não ser baseado no motor Java Servlet. Ouve uma certa época muitos projetos nasceram com vontade de simplificar "J2EE" , Java EE e os terríveis EJB 2 um dos remédios foi SPRING com a sua DI ou IoC de Martin Fowler... Play2 pode usar o Scala (linguagem criada no EPFL.ch ) ou Java para desenvolver aplicações web. Play! Framework foi criado em 2007 por Guillaume Bort co-fundador e CTO da consultoria Zenexity, é um amigo francês, e esteve comigo no DEVOXX France organizado por Paris JUG. Começou mesmo pequenino o projeto com só um desenvolvedor e agora é uma verdadeira success story. Este é um projeto que eu vi crescer e é verdade que é impressionante o sucesso que ele teve nos USA. Uma verdadeira história de sucesso, este projeto ! Site do Antonio Gonçalves, Paris Java User Group : http://parisjug.org/xwiki/bin/view/Speaker/BortGuillaume Tem aqui neste site web do Paris JUG muitos documentos sobre Play! Framework e também se ver algumas fotos vai encontrar um chapéu de palha fabricado no Luso. http://parisjug.org/ Cordialmente Ernest Duarte Edited July 12, 2013 at 12:52 AM by Ernest Duarte
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now