Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b
Atividade Aberta 06 – Aluno Stanley Araújo – L9...
Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b
Atividade Aberta 06 – Aluno Stanley Araújo – L9...
Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b
Atividade Aberta 06 – Aluno Stanley Araújo – L9...
Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b
Atividade Aberta 06 – Aluno Stanley Araújo – L9...
Próximos SlideShares
Carregando em…5
×

Linguagens DInâmicas vsAtividade aberta

268 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
268
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Linguagens DInâmicas vsAtividade aberta

  1. 1. Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b Atividade Aberta 06 – Aluno Stanley Araújo – L918271 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. 2. Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b Atividade Aberta 06 – Aluno Stanley Araújo – L918271 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. 3. Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b Atividade Aberta 06 – Aluno Stanley Araújo – L918271 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. 4. Fundamentos de Arquitetura de Software II - Módulo 3 - (2014/2) – e1l1114b Atividade Aberta 06 – Aluno Stanley Araújo – L918271 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/24 152 [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.

×