SlideShare una empresa de Scribd logo
1 de 4
Fund. de Arquitetura de Software
Stanley Araújo
1) Realize uma análise de vantagens e desvantagens das linguagens dinâmicas PHP, Python e
Ruby (LAMP) sobre as linguagens tradicionais Java e C# (plataformas Java EE e .NET)
As principais vantagens das linguagens dinâmicas em relação às linguagens tradicionais são a
clareza na sintaxe da linguagem, ou seja, recursos disponíveis que reduzem a quantidade de
código e simplificam a sintaxe (p.e. tipagem dinâmica, mapeamento de função através de closures,
métodos helpers); facilidade em trabalhar com coleções através de sintaxe nativa para array e
map e uso de métodos helpers (p.e. each, find, join), que facilitam operações sobre coleções;
flexibilidade em executar expressões em tempo de execução de forma que não seja preciso
compilar sempre o código e este pode estar em bancos de dados, planilhas, etc; sobrecarga de
operador, onde é possível modificar o comportamento de um operador padrão da linguagem [1] e
outras vantagens, como o crescente uso em plataformas LAMP, que auxiliam o aumento de
produtividade através de técnicas como Scaffoding.
As desvantagens das linguagens dinâmicas em relação às linguagens tradicionais são: maior custo
de processamento para tratar a execução dos recursos da linguagem (p.e. tipagem dinâmica,
closure, parse em tempo de execução); mudança de sintaxe e de paradigma em relação às
linguagens tradicionais: novos aspectos da sintaxe e paradigmas de programação devem ser
absorvidos e isso pode dificultar a aceitação das linguagens dinâmicas por programadores
acostumados com linguagens tradicionais como Java e C#; ausência de recursos mais avançados
necessários em ambientes de empresas de grande porte: as plataformas LAMP que utilizam
linguagens dinâmicas geralmente não possuem alguns recursos avançados disponíveis em
plataformas como Java EE e .NET (p.e. filas de mensagens, integração com tecnologias de
autenticação LDAP, Kerberus).
2. Realize uma análise de potencialidades e riscos das plataformas EAI/ESB, SOA e BPMS no
contexto do desenvolvimento de aplicações corporativas complexas.
As plataformas EAI/ESB proveem a diminuição de acoplamento em relação à integração ponto-a-
ponto comumente usada no início das integrações entre aplicações. Na integração ponto-a-ponto
cada aplicação deve implementar uma interface para outras aplicações interconectadas como
ilustrado na figura 1.
Figura 1: Integração ponto-
a-ponto.
Fund. de Arquitetura de Software
Stanley Araújo
Com o uso da plataforma EAI introduziu-se o conceito de hub para centralizar as interfaces das
aplicações interconectadas de forma que, ao se trocar uma aplicação por outra, somente é necessário
modificar o hub, diminuindo-se o custo das modificações em cada aplicação, porém a
complexidade mantém-se devido a diversidade das conexões ponto-a-ponto ainda existentes no hub
conforme ilustrado na figura 2. Um risco a plataforma é dependência do hub, o que pode trazer
problemas de escalabilidade e integridade na entrega das mensagens.
Com o uso da plataforma ESB o hub transformou-se em um barramento que redireciona as
mensagens e cada aplicação conectada possui um mecanismo de integração compatível com
protocolo usado no barramento. Um risco nesta plataforma é a dependência do fornecedor do
barramento e a necessidade de conhecimento especializado. A vantagem desta plataforma é a
alta padronização do ambiente.
SOA tem como potencialidades a alta padronização e o baixo acoplamento através da integração
de aplicações através de web services que implementam padrões abertos e alta disponibilidade
através de computação distribuída em rede de computadores que se comunicam com o uso de
padrões abertos. SOA coloca a prestação de serviço como eixo de todo o negócio, dando destaque
à gestão de serviços e ao cliente [4] e isso pode ser um risco caso a adequação de sistemas legados
seja complexa, pois SOA demanda que suas definições ( p.e. serviços, orquestração, descoberta,
Figura 2: Plataforma EAI.
Figura 3: Plataforma ESB.
Fund. de Arquitetura de Software
Stanley Araújo
etc ) e fundamentos sejam seguidos ( p.e. projeto de serviços com baixo acoplamento, autonomia,
uso de plataforma de tecnologia de serviço web).
A potencialidade do BPM é tratar o alinhamento dos processos de negócio de acordo com as
necessidades dos clientes e parceiros e isso vai além das questões tecnológias de como integrar
aplicações. Sistemas BPM transcendem considerações tecnologicas e podem até utilizar plataformas
como SOA para resolver os problemas de integração entre sistemas, assim como metodologias
conceituadas como Six Sigma para otimizar processos de negócios. Um dos principais riscos da
adoção do BPM são a aceitação dos usuários, pois a maneira de trabalhar pode mudar com a
inclusão de novas ferramentas e processos; e a falta de melhoria no processo da organização, ou
seja, tarefas já existente levarem mais tempo para serem executadas devido as novas formas de
trabalhar ou uso de novas ferramentas [6].
3. Discuta os impactos do Nexus das Forças/Open Platform no contexto prático de sistemas
médicos e da melhoria da saúde de seres humanos. Certifique-se de abordar, em sua resposta,
redes sociais, Internet das Coisas, plataformas móveis e computação nas nuvens.
A Open Platform já beneficia a vida das pessoas através do monitoramento remoto de sinais vitais e
segurança de pacientes. No estudo de caso [7] mostra-se o aspectos da Open Platform que
trouxeram melhoria da qualidade de vida e redução de custos em prevenção e em tratamentos de
saúde através do uso de sensores portáveis, integração de baixo custo com dispositivos comerciais
(p.e. sistemas móveis android, iPhone), acesso web à sistemas de monitoramento, eventos e alertas
de emergência, chamada automática para sistemas de emergencia, polícia, etc.
No estudo nota-se o uso de tecnologias IoT, plataformas móveis e computação na nuvem para
permitir que pacientes sejam monitorados e seu comportamento gerenciado por um corpo de
médicos através dos dados coletados (p.e. deslocamento, padrões de sono, função corporal, etc) . Os
dados são analisados para determinar comportamentos repetitivos e anomalos que podem indicar
auto-mutilação ou outras condições do paciente. O uso de computação na nuvem e redes social é
interessante neste contexto para armazenagem e distribuição de informação em diferentes
localidades onde residam pacientes e médicos. O acesso à informação é facilitada através da
integração com dispositivos móveis e a computação nas nuvens fornece a elasticidade e a
disponibilidade em regiões diferentes.
A Open Platform também beneficia a prevensão e tratamento de desastres. Em outro estudo [8]
trata-se o uso de informação de redes sociais e mobilidade para enfrentar incidentes (p.e. ataques
terroristas, disastres naturais, evacuação) e fornecer resposta para serviços de emergência através de
monitoramento de redes sociais e crowd sourcing1
.
No estudo citado [8] nota-se necessária a coleta, armazenagem e análise de dados dos incidentes,
assim como a comunicação às partes ou serviços relevantes como serviços de proteção, saúde, e
organizações de voluntários. Para prover este cenário é necessário uma arquitetura que suporte
plataformas móveis, IoT, computação em núvem e big data para coleta (p.e. através de sensores,
aplicações móveis ou web) e processamento dos dados, assim como meios para disponibilização da
informação através de mensagens em redes sociais, ligações telefônicas, SMS, alarmes sonoros,
1 Crowd-sourcing: processo de obtenção de serviços, idéias ou conteúdo necessários a partir de contribuições de
grupos variados de pessoas e, especialmente, comunidades on-line. [9]
Fund. de Arquitetura de Software
Stanley Araújo
etc.
Referências:
[1] Botelho, Raimundo. Uma visão Geral sobre Linguagens de Programação Dinâmicas (LPD).
Acessada em 01/12/14. Disponível em http://www.devmedia.com.br/uma-visao-geral-sobre-
linguagens-de-programacao-dinamicas-lpd/24152
[2] To ESB or not to ESB.Acessado em 05/12/14. Disponível em http://blogs.mulesoft.org/to-esb-
or-not-to-esb/.
[3] Business Process Management Suite. Acessado em 06/12/14. Disponível em
http://pt.wikipedia.org/wiki/Business_Process_Management_Suite.
[4] Service-oriented architecture. Acessado em 07/12/2014. Disponível em
http://pt.wikipedia.org/wiki/Service-oriented_architecture.
[5] What are the Differences Between BPM and SOA?. Acessado em 08/12/2014. Disponível em
http://portal.integrella.com/differences-between-bpm-and-soa/
[6] BPM Projects – Top 5 Problems & Risks. Acessado em 08/12/14. Disponível em
https://adamdeane.wordpress.com/2010/03/15/bpm-projects-top-problems-risks/.
[7] The Nexus of Forces in Action–Use-Case 9: Augmented Patient Care Sensor Feedback.
Acessado em 08/12/14. Disponível em http://www.opengroup.org/openplatform3.0/docs/Use-
Cases/uc9.htm.
[8] The Nexus of Forces in Action–Use-Case 11: Incident Management. Acessado em 08/12/14.
Disponível em http://www.opengroup.org/openplatform3.0/docs/Use-Cases/uc11.htm.
[9] Crowd Sourcing. Acessado em 08/12/14. Disponível em
http://pt.wikipedia.org/wiki/Crowdsourcing.

Más contenido relacionado

Similar a Linguagens Dinamicas vs Tradicionais / Potencialidades e riscos de EAI/ESB, SOA e BPMS

Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011
Steve Rogers
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
veruzkavaz
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
veruzkavaz
 
Tecnologia da informacao
Tecnologia da informacaoTecnologia da informacao
Tecnologia da informacao
Luiz
 

Similar a Linguagens Dinamicas vs Tradicionais / Potencialidades e riscos de EAI/ESB, SOA e BPMS (20)

Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Android
AndroidAndroid
Android
 
Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011
 
Armazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em NuvemArmazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em Nuvem
 
Android
AndroidAndroid
Android
 
DISCIPLINA REDES 1 TRABALHO A1
 DISCIPLINA REDES 1 TRABALHO A1 DISCIPLINA REDES 1 TRABALHO A1
DISCIPLINA REDES 1 TRABALHO A1
 
Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas Baseadas no ...
Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas Baseadas no ...Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas Baseadas no ...
Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas Baseadas no ...
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
 
Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...
Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...
Aplicabilidade do sistema de informação no desenvolvimento de sistemas embarc...
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Trabalho do Semestre da Faculdade
Trabalho do Semestre da FaculdadeTrabalho do Semestre da Faculdade
Trabalho do Semestre da Faculdade
 
historia-eai.doc
historia-eai.dochistoria-eai.doc
historia-eai.doc
 
Wperformance 2015 (2)
Wperformance   2015 (2)Wperformance   2015 (2)
Wperformance 2015 (2)
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
 
Tecnologia da informacao
Tecnologia da informacaoTecnologia da informacao
Tecnologia da informacao
 
Web services
Web  servicesWeb  services
Web services
 
Gt4, slide
Gt4, slideGt4, slide
Gt4, slide
 
PHP nas Nuvens
PHP nas NuvensPHP nas Nuvens
PHP nas Nuvens
 

Linguagens Dinamicas vs Tradicionais / Potencialidades e riscos de EAI/ESB, SOA e BPMS

  • 1. Fund. de Arquitetura de Software Stanley Araújo 1) Realize uma análise de vantagens e desvantagens das linguagens dinâmicas PHP, Python e Ruby (LAMP) sobre as linguagens tradicionais Java e C# (plataformas Java EE e .NET) As principais vantagens das linguagens dinâmicas em relação às linguagens tradicionais são a clareza na sintaxe da linguagem, ou seja, recursos disponíveis que reduzem a quantidade de código e simplificam a sintaxe (p.e. tipagem dinâmica, mapeamento de função através de closures, métodos helpers); facilidade em trabalhar com coleções através de sintaxe nativa para array e map e uso de métodos helpers (p.e. each, find, join), que facilitam operações sobre coleções; flexibilidade em executar expressões em tempo de execução de forma que não seja preciso compilar sempre o código e este pode estar em bancos de dados, planilhas, etc; sobrecarga de operador, onde é possível modificar o comportamento de um operador padrão da linguagem [1] e outras vantagens, como o crescente uso em plataformas LAMP, que auxiliam o aumento de produtividade através de técnicas como Scaffoding. As desvantagens das linguagens dinâmicas em relação às linguagens tradicionais são: maior custo de processamento para tratar a execução dos recursos da linguagem (p.e. tipagem dinâmica, closure, parse em tempo de execução); mudança de sintaxe e de paradigma em relação às linguagens tradicionais: novos aspectos da sintaxe e paradigmas de programação devem ser absorvidos e isso pode dificultar a aceitação das linguagens dinâmicas por programadores acostumados com linguagens tradicionais como Java e C#; ausência de recursos mais avançados necessários em ambientes de empresas de grande porte: as plataformas LAMP que utilizam linguagens dinâmicas geralmente não possuem alguns recursos avançados disponíveis em plataformas como Java EE e .NET (p.e. filas de mensagens, integração com tecnologias de autenticação LDAP, Kerberus). 2. Realize uma análise de potencialidades e riscos das plataformas EAI/ESB, SOA e BPMS no contexto do desenvolvimento de aplicações corporativas complexas. As plataformas EAI/ESB proveem a diminuição de acoplamento em relação à integração ponto-a- ponto comumente usada no início das integrações entre aplicações. Na integração ponto-a-ponto cada aplicação deve implementar uma interface para outras aplicações interconectadas como ilustrado na figura 1. Figura 1: Integração ponto- a-ponto.
  • 2. Fund. de Arquitetura de Software Stanley Araújo Com o uso da plataforma EAI introduziu-se o conceito de hub para centralizar as interfaces das aplicações interconectadas de forma que, ao se trocar uma aplicação por outra, somente é necessário modificar o hub, diminuindo-se o custo das modificações em cada aplicação, porém a complexidade mantém-se devido a diversidade das conexões ponto-a-ponto ainda existentes no hub conforme ilustrado na figura 2. Um risco a plataforma é dependência do hub, o que pode trazer problemas de escalabilidade e integridade na entrega das mensagens. Com o uso da plataforma ESB o hub transformou-se em um barramento que redireciona as mensagens e cada aplicação conectada possui um mecanismo de integração compatível com protocolo usado no barramento. Um risco nesta plataforma é a dependência do fornecedor do barramento e a necessidade de conhecimento especializado. A vantagem desta plataforma é a alta padronização do ambiente. SOA tem como potencialidades a alta padronização e o baixo acoplamento através da integração de aplicações através de web services que implementam padrões abertos e alta disponibilidade através de computação distribuída em rede de computadores que se comunicam com o uso de padrões abertos. SOA coloca a prestação de serviço como eixo de todo o negócio, dando destaque à gestão de serviços e ao cliente [4] e isso pode ser um risco caso a adequação de sistemas legados seja complexa, pois SOA demanda que suas definições ( p.e. serviços, orquestração, descoberta, Figura 2: Plataforma EAI. Figura 3: Plataforma ESB.
  • 3. Fund. de Arquitetura de Software Stanley Araújo etc ) e fundamentos sejam seguidos ( p.e. projeto de serviços com baixo acoplamento, autonomia, uso de plataforma de tecnologia de serviço web). A potencialidade do BPM é tratar o alinhamento dos processos de negócio de acordo com as necessidades dos clientes e parceiros e isso vai além das questões tecnológias de como integrar aplicações. Sistemas BPM transcendem considerações tecnologicas e podem até utilizar plataformas como SOA para resolver os problemas de integração entre sistemas, assim como metodologias conceituadas como Six Sigma para otimizar processos de negócios. Um dos principais riscos da adoção do BPM são a aceitação dos usuários, pois a maneira de trabalhar pode mudar com a inclusão de novas ferramentas e processos; e a falta de melhoria no processo da organização, ou seja, tarefas já existente levarem mais tempo para serem executadas devido as novas formas de trabalhar ou uso de novas ferramentas [6]. 3. Discuta os impactos do Nexus das Forças/Open Platform no contexto prático de sistemas médicos e da melhoria da saúde de seres humanos. Certifique-se de abordar, em sua resposta, redes sociais, Internet das Coisas, plataformas móveis e computação nas nuvens. A Open Platform já beneficia a vida das pessoas através do monitoramento remoto de sinais vitais e segurança de pacientes. No estudo de caso [7] mostra-se o aspectos da Open Platform que trouxeram melhoria da qualidade de vida e redução de custos em prevenção e em tratamentos de saúde através do uso de sensores portáveis, integração de baixo custo com dispositivos comerciais (p.e. sistemas móveis android, iPhone), acesso web à sistemas de monitoramento, eventos e alertas de emergência, chamada automática para sistemas de emergencia, polícia, etc. No estudo nota-se o uso de tecnologias IoT, plataformas móveis e computação na nuvem para permitir que pacientes sejam monitorados e seu comportamento gerenciado por um corpo de médicos através dos dados coletados (p.e. deslocamento, padrões de sono, função corporal, etc) . Os dados são analisados para determinar comportamentos repetitivos e anomalos que podem indicar auto-mutilação ou outras condições do paciente. O uso de computação na nuvem e redes social é interessante neste contexto para armazenagem e distribuição de informação em diferentes localidades onde residam pacientes e médicos. O acesso à informação é facilitada através da integração com dispositivos móveis e a computação nas nuvens fornece a elasticidade e a disponibilidade em regiões diferentes. A Open Platform também beneficia a prevensão e tratamento de desastres. Em outro estudo [8] trata-se o uso de informação de redes sociais e mobilidade para enfrentar incidentes (p.e. ataques terroristas, disastres naturais, evacuação) e fornecer resposta para serviços de emergência através de monitoramento de redes sociais e crowd sourcing1 . No estudo citado [8] nota-se necessária a coleta, armazenagem e análise de dados dos incidentes, assim como a comunicação às partes ou serviços relevantes como serviços de proteção, saúde, e organizações de voluntários. Para prover este cenário é necessário uma arquitetura que suporte plataformas móveis, IoT, computação em núvem e big data para coleta (p.e. através de sensores, aplicações móveis ou web) e processamento dos dados, assim como meios para disponibilização da informação através de mensagens em redes sociais, ligações telefônicas, SMS, alarmes sonoros, 1 Crowd-sourcing: processo de obtenção de serviços, idéias ou conteúdo necessários a partir de contribuições de grupos variados de pessoas e, especialmente, comunidades on-line. [9]
  • 4. Fund. de Arquitetura de Software Stanley Araújo etc. Referências: [1] Botelho, Raimundo. Uma visão Geral sobre Linguagens de Programação Dinâmicas (LPD). Acessada em 01/12/14. Disponível em http://www.devmedia.com.br/uma-visao-geral-sobre- linguagens-de-programacao-dinamicas-lpd/24152 [2] To ESB or not to ESB.Acessado em 05/12/14. Disponível em http://blogs.mulesoft.org/to-esb- or-not-to-esb/. [3] Business Process Management Suite. Acessado em 06/12/14. Disponível em http://pt.wikipedia.org/wiki/Business_Process_Management_Suite. [4] Service-oriented architecture. Acessado em 07/12/2014. Disponível em http://pt.wikipedia.org/wiki/Service-oriented_architecture. [5] What are the Differences Between BPM and SOA?. Acessado em 08/12/2014. Disponível em http://portal.integrella.com/differences-between-bpm-and-soa/ [6] BPM Projects – Top 5 Problems & Risks. Acessado em 08/12/14. Disponível em https://adamdeane.wordpress.com/2010/03/15/bpm-projects-top-problems-risks/. [7] The Nexus of Forces in Action–Use-Case 9: Augmented Patient Care Sensor Feedback. Acessado em 08/12/14. Disponível em http://www.opengroup.org/openplatform3.0/docs/Use- Cases/uc9.htm. [8] The Nexus of Forces in Action–Use-Case 11: Incident Management. Acessado em 08/12/14. Disponível em http://www.opengroup.org/openplatform3.0/docs/Use-Cases/uc11.htm. [9] Crowd Sourcing. Acessado em 08/12/14. Disponível em http://pt.wikipedia.org/wiki/Crowdsourcing.