Aplicações corporativas e
Arquiteturas multicamadas
Prof. Dr. Everton Cavalcante
http://www.dimap.ufrn.br/~everton/
DIM054...
O que é uma
aplicação corporativa?
DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
Aula 02 - Aplicações corporativas...
3
Uma aplicação corporativa é uma aplicação voltada
para uma corporação, empresa, negócio
Aplicação corporativa
DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
Aula 02 - Aplicações corporativas e arquitetur...
Aplicação corporativa
DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
Aula 02 - Aplicações corporativas e arquitetur...
Objetivos
– Introduzir o conceito de aplicação corporativa e as
principais características desse tipo de aplicação
– Apres...
Conteúdo
– Aplicações corporativas
• Conceituação
• Características
• Desafios
– Arquiteturas multicamadas
• Evolução dos ...
Características de aplicações corporativas
– Possuem missão crítica em organizações
– Projetadas para terem maior longevid...
Características de aplicações corporativas
São orientadas a negócio (business-oriented)
– Satisfazem requisitos específico...
Características de uma aplicação corporativa
DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
Aula 02 - Aplicações co...
Desafios no
desenvolvimento
de aplicações
corporativas
11
Desafios no desenvolvimento de
aplicações corporativas
DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
Aula 02 - Apl...
1. Security takes center stage
2. Citizen development will explode
3. Responsive/Adaptive design disappears
4. Demand for ...
Arquiteturas multicamadas
Evolução dos sistemas corporativos
– Mudanças na maneira de projetar e implantar
aplicações corp...
Arquiteturas multicamadas
Arquitetura
– Representação abstrata da
estrutura e comportamento
de um sistema
– Considera requ...
DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
Aula 02 - Aplicações corporativas e arquiteturas multicamadas 16
Arq...
Arquiteturas multicamadas
Padrão arquitetural em camadas
– Organização da arquitetura da aplicação em
diferentes camadas (...
Arquiteturas multicamadas
Benefícios
– Redução de acoplamento e dependências, aumentando
o potencial de reuso
– Separação ...
Arquiteturas multicamadas
Evolução da arquitetura de aplicações corporativas
DIM0547 – Desenvolvimento de Sistemas Web II ...
Single-tier Two-tier Three-tier N-tier
Arquiteturas multicamadas
Evolução da arquitetura de aplicações corporativas
DIM054...
Arquiteturas multicamadas
Evolução da arquitetura de aplicações corporativas
DIM0547 – Desenvolvimento de Sistemas Web II ...
Arquiteturas multicamadas
Evolução da arquitetura de aplicações corporativas
DIM0547 – Desenvolvimento de Sistemas Web II ...
Arquiteturas multicamadas
Evolução da arquitetura de aplicações corporativas
DIM0547 – Desenvolvimento de Sistemas Web II ...
Arquiteturas multicamadas
É praticamente consenso na comunidade que
as aplicações corporativas atuais devam ser
desenvolvi...
Em resumo...
… vimos as principais características de
aplicações corporativas
… vimos que requisitos devem ser levados em
...
Cenas dos próximos capítulos...
… veremos o padrão
Model–View–Control
(MVC) no contexto do
desenvolvimento de
aplicações c...
Aplicações corporativas e
Arquiteturas multicamadas
Prof. Dr. Everton Cavalcante
http://www.dimap.ufrn.br/~everton/
DIM054...
Próximos SlideShares
Carregando em…5
×

Aplicações corporativas e arquiteturas multicamadas

27 visualizações

Publicada em

Aula sobre aplicações corporativas e arquiteturas multicamadas
DIM0547 - Desenvolvimento de Sistemas Web 2016.2 (UFRN, Natal, Brasil)

Publicada em: Educação
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
27
No SlideShare
0
A partir de incorporações
0
Número de incorporações
0
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aplicações corporativas e arquiteturas multicamadas

  1. 1. Aplicações corporativas e Arquiteturas multicamadas Prof. Dr. Everton Cavalcante http://www.dimap.ufrn.br/~everton/ DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
  2. 2. O que é uma aplicação corporativa? DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas Ponto de contato 2
  3. 3. 3 Uma aplicação corporativa é uma aplicação voltada para uma corporação, empresa, negócio
  4. 4. Aplicação corporativa DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas Aplicações corporativas: Conceituação 4 An enterprise application is the phrase used to describe applications (or software) that a business would use to assist the organization in solving enterprise problems. When the word “enterprise” is combined with “application”, it usually refers to a software platform that is too large and too complex for individual or small business use Enterprise application Algumas definições http://www.webopedia.com/TERM/E/enterprise_application.html
  5. 5. Aplicação corporativa DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas Aplicações corporativas: Conceituação 5 Enterprise software, also known as enterprise application software (EAS) is computer software used to satisfy the needs of an organization rather than individual users […] Enterprise level software aims to improve the enterprise’s productivity and efficiency by providing business logic support functionality Enterprise software Algumas definições https://en.wikipedia.org/wiki/Enterprise_software
  6. 6. Objetivos – Introduzir o conceito de aplicação corporativa e as principais características desse tipo de aplicação – Apresentar como aplicações corporativas podem ser desenvolvidas em múltiplas camadas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas Objetivos 6
  7. 7. Conteúdo – Aplicações corporativas • Conceituação • Características • Desafios – Arquiteturas multicamadas • Evolução dos sistemas corporativos • Padrão arquitetural em camadas • Múltiplas camadas de software DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 7 Conteúdo
  8. 8. Características de aplicações corporativas – Possuem missão crítica em organizações – Projetadas para terem maior longevidade (long-living systems) • Concepção e implementação visando o menor custo de manutenção possível – São integradas e/ou comunicam-se com diversos outros sistemas, incluindo sistemas legados – Geralmente possuem elevada complexidade técnica e processual DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 8 Aplicações corporativas: Características
  9. 9. Características de aplicações corporativas São orientadas a negócio (business-oriented) – Satisfazem requisitos específicos da organização – Envolvem regras, políticas e entidades da organização – São implantadas de maneira responsiva às necessidades da organização DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 9 Aplicações corporativas: Características
  10. 10. Características de uma aplicação corporativa DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas Aplicações corporativas: Características 10 Requisitos não-funcionais importantes a serem considerados no desenvolvimento de aplicações corporativas: – Robustez – Confiabilidade – Desempenho – Escalabilidade – Usabilidade – Segurança
  11. 11. Desafios no desenvolvimento de aplicações corporativas 11
  12. 12. Desafios no desenvolvimento de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas Aplicações corporativas: Desafios 12 – Organizações crescem e seus sistemas precisam crescer junto • Aplicações corporativas necessitam ser inerentemente escaláveis e flexíveis – Restrições físicas muitas vezes demandam distribuição de hardware e espaço de trabalho – Necessidade e dificuldade de integração com sistemas já existentes (legados)
  13. 13. 1. Security takes center stage 2. Citizen development will explode 3. Responsive/Adaptive design disappears 4. Demand for enterprise apps increases hybrid app adoption 5. Front-end technologies deliver more powerful web applications http://www.mrc-productivity.com/blog/2016/01/5-big-enterprise-application- development-trends-of-2016/ Aula 02 - Aplicações corporativas e arquiteturas multicamadas 13
  14. 14. Arquiteturas multicamadas Evolução dos sistemas corporativos – Mudanças na maneira de projetar e implantar aplicações corporativas • Consolidação da Internet a partir dos anos 2000 → uso da Web como plataforma de implantação – Transição da arquitetura cliente–servidor tradicional para arquitetura em múltiplas camadas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 14 Arquiteturas multicamadas: Conceituação
  15. 15. Arquiteturas multicamadas Arquitetura – Representação abstrata da estrutura e comportamento de um sistema – Considera requisitos funcionais e não-funcionais – Deve ser flexível para permitir evoluções DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 15 Arquiteturas multicamadas: Conceituação
  16. 16. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 16 Arquiteturas multicamadas Uma arquitetura inadequada e mal projetada é um dos principais fatores para falha e insucesso em projetos de TI
  17. 17. Arquiteturas multicamadas Padrão arquitetural em camadas – Organização da arquitetura da aplicação em diferentes camadas (layers ou tiers) – Cada camada é responsável por um conjunto de funcionalidades bem definidas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 17 Arquiteturas multicamadas: Conceituação Camada superior utiliza funcionalidades de camada inferior Camada inferior fornece funcionalidades a camada superior
  18. 18. Arquiteturas multicamadas Benefícios – Redução de acoplamento e dependências, aumentando o potencial de reuso – Separação de interesses (separation of concerns) – Decomposição e encapsulamento da complexidade – Facilidade de substituição por nova implementação – Possibilidade de distribuição, promovendo ganhos em termos de desempenho – Facilidade no desenvolvimento em equipes DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 18 Arquiteturas multicamadas: Benefícios
  19. 19. Arquiteturas multicamadas Evolução da arquitetura de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 19 Arquiteturas multicamadas: Evolução Single-tier Two-tier Three-tier N-tier
  20. 20. Single-tier Two-tier Three-tier N-tier Arquiteturas multicamadas Evolução da arquitetura de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 20 Arquiteturas multicamadas: Evolução • Arquiteturas monolíticas baseadas em mainframes • Toda a aplicação centralizada em uma mesma máquina client (dumb terminal) mainframe
  21. 21. Arquiteturas multicamadas Evolução da arquitetura de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 21 Arquiteturas multicamadas: Evolução Single-tier Two-tier Three-tier N-tier Modelo cliente–servidor • Servidor responsável pela lógica de negócio e acesso a dados • Clientes (thick clients) com acesso à interface de usuário e validação de dados Problemas de escalabilidade e manutenibilidade thick client server
  22. 22. Arquiteturas multicamadas Evolução da arquitetura de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 22 Arquiteturas multicamadas: Evolução Single-tier Two-tier Three-tier N-tier • Interface Web do lado do cliente (navegador) • Servidor de aplicações responsável por implementação da apresentação, logica de negócio e acesso a dados • Servidor de banco de dados thin client application server database server
  23. 23. Arquiteturas multicamadas Evolução da arquitetura de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 23 Arquiteturas multicamadas: Evolução Single-tier Two-tier Three-tier N-tier • Interface Web do lado do cliente (navegador) • Servidor Web responsável pela lógica de apresentação • Servidor de aplicações responsável pela lógica de negócio e acesso a dados • Servidor de banco de dados thin client application server database server Web server
  24. 24. Arquiteturas multicamadas É praticamente consenso na comunidade que as aplicações corporativas atuais devam ser desenvolvidas com base em arquiteturas multicamadas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 24 Arquiteturas multicamadas
  25. 25. Em resumo... … vimos as principais características de aplicações corporativas … vimos que requisitos devem ser levados em consideração no desenvolvimento das mesmas … vimos os principais desafios ao desenvolvimento de aplicações corporativas … vimos os benefícios de se fazer uso de múltiplas camadas no desenvolvimento de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 25 Resumo
  26. 26. Cenas dos próximos capítulos... … veremos o padrão Model–View–Control (MVC) no contexto do desenvolvimento de aplicações corporativas multicamadas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 02 - Aplicações corporativas e arquiteturas multicamadas 26 Resumo
  27. 27. Aplicações corporativas e Arquiteturas multicamadas Prof. Dr. Everton Cavalcante http://www.dimap.ufrn.br/~everton/ DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2

×