Framework.  É uma técnica da Orientação a Objetos, voltada para a reutilização que se beneficia de três características das linguagens de programação.

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial I 1.  BRMS (Business Rule Management System) ◦ Requisitos ◦ Regras ◦ SOA  Implentação de um Rules Engine  Implementado com.
Advertisements

FERRAMENTA WEB PARA AUTOMAÇÃO DA ALOCAÇÃO DE RECURSOS EM UMA FÁBRICA DE SOFTWARE UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO Camila.
EA976 – Engenharia de Software AULA 9 De Módulos a Objetos.
ALOCAÇÃO DE RECURSOS HUMANOS APLICADA A SOLICITAÇÕES DE MUDANÇA DE SOFTWARE RICARDO VOIGT Orientador: Everaldo Artur Grahl.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
Análise Desenvolvimento/Testes Entrega Suporte. Nome da atividade Análise de Negócio Fase Análise Finalidade Esta atividade tem por finalidade analisar.
LINGUAGEM DE PROGRAMAÇÃO. Breve histórico Ada Lovelace Luigi Menabrea Charles Babbage TradutorMemóriasMáquina analítica.
Ferramenta de apoio aos testes baseados em requisitos Acadêmico: Leandro da Cunha Orientador: Everaldo Artur Grahl.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
MÓDULOS DE REGISTRO DE ABASTECIMENTO DE VEÍCULOS INTEGRADOS PARA ÓRGÃOS PÚBLICOS Gabriel Vieira Orientador: Prof. Jacques Robert Heckmann.
Acessos e Privilégios. Privilégios  O gerenciamento de usuários e seus respectivos privilégios aos objetos do banco de dados, dependendo do número de.
Diagrama de Use Cases. Objetivo  O Diagrama de Use Cases tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.
Arquitetura de Sistemas de Software. Introdução as tecnologias Web Services: SOAP, WSDL, UDDI  No ano de 2000, a W3C (World Wide Web Consortium) aceitou.
FERRAMENTA PARA GERENCIAMENTO DE ARTEFATOS EM PROJETO DE MELHORIA NO PROCESSO DE TESTES. UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO.

“Modelo de Camadas OSI e TCP/IP ” Nataniel Vieira
Introdução e Conceitos.
AKKA.
Diagrama de Sequencia Prof. Thales Castro.
TUTORIAL FRAMEWORK SPRING.
Educação Profissional Técnica de Nível Médio em Informática
UML – Diagramas de componentes
especificação de requisitos do software
Diagrama de Use Cases.
Fábrica de Software.
Portais Linx Microvix Conceitos.
Sistema Automatizado de Hospedagem de Sites
O que é um banco de dados? Antes precisamos entender o que são dados.
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Programação Gráfica em Java Animação
Ambiente para desenvolvimento de sistemas baseado no conceito MBUIDE
Tecnologias de Informação e Comunicação
UML – Diagramas de Componentes e Modelação da Arquitectura Física
Workshop Agile tdd - Test Driven development
Mestrado em Engenharia de Computação área de concentração Geomática
Arquitetura de Computadores
Programação para Internet Rica- CCT0081
Engenharia de Software II
Endereçamento IP.
Programação Orientada a Objetos
Diógenes Pereira Jr. Igor Thiago Marques Mendonça
Modelos de Banco de Dados
Apresentação Conceitual
Programação Orientada a Objetos
Prof: Márcio Soussa Centro Universitário Jorge Amado
Tema do Seminário: Frameworks para desenvolvimento Web Linguagem e Técnicas de Programação II – LTP2 Professor: Uedson Reis.
Engenharia de Software Analise de Riscos
Programação.
Investimento com retorno Tecnologia com simplicidade
Gestão da Logística de Distribuição
14/08/2012 Professor Leomir J. Borba- –
Remote Method Invocation
Profa. Maria Augusta Constante Puget
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
Rosemary Silveira Filgueiras Melo
15/09/2008.
Laboratório I Mateus Raeder.
Manuais Administrativos
guia chamados webservice PARA SOLICITANTES
Arquitetura e padrões de software
Estágio supervisionado na CECAE
Rafael Duarte Alexandre Mota [rmd,
Paradigma de Orientação a Objetos
SISTEMAS DISTRIBUIDOS
Modelagem de Sistemas
Programação Orientada a Objetos
ERP - Enterprise Resource Planning
SISTEMAS DISTRIBUIDOS
Arquitetura e padrões de software
Sistemas de Informação
Transcrição da apresentação:

Framework

 É uma técnica da Orientação a Objetos, voltada para a reutilização que se beneficia de três características das linguagens de programação orientadas a objetos: abstração, polimorfismo e herança.

Framework  Abstração: É utilizada para a definição de entidades do mundo real. Sendo onde são criadas as classes. Essas entidades são consideradas tudo que é real, tendo como consideração as suas características e ações.

Framework  Abstração: Uma classe é reconhecida quando tem a palavra reservada “class”. Na Listagem 1 é mostrada a classe “Conta” com seus atributos (características) e métodos (ações).

Framework  Encapsulamento: É a técnica utilizada para esconder uma ideia, ou seja, não expôr detalhes internos para o usuário, tornando partes do sistema mais independentes possível.

Framework  Encapsulamento: Como um exemplo mais técnico podemos descrever o que acontece em um sistema de vendas, aonde temos cadastros de funcionários, usuários, gerentes, clientes, produtos entre outros. Se por acaso acontecer um problema na parte do usuário é somente nesse setor que será realizada a manutenção não afetando os demais.

Framework  Herança: Na Programação Orientada a Objetos o significado de herança tem o mesmo significado para o mundo real. Assim como um filho pode herdar alguma característica do pai, na Orientação a Objetos é permitido que uma classe herde atributos e métodos da outra, tendo apenas uma restrição para a herança.

Framework  Um framework descreve a arquitetura de um sistema orientado a objetos, os tipos de objetos e as interações entre os mesmos.  Ele pode ser vislumbrado como o esqueleto – template – de uma aplicação que pode ser customizado pelo programador e aplicado a um conjunto de aplicações de um mesmo domínio.

Framework  Com frameworks não se busca apenas reutilizar simples componentes de software, mas subsistemas, aumentando assim o grau de reutilização e contribuindo para uma melhor qualidade do produto – software.

Framework  Para (Johnson, 1997), a visão original de reutilização de software estava baseada em componentes.  Os frameworks possuem interfaces mais complexas, mas são de mais fácil customização de que os componentes.  O autor percebe frameworks e componentes como técnicas diferentes, mas que cooperam entre si, pois um framework pode facilitar a construção de novos componentes e fornecer uma interface padrão para os mesmos trocarem dados, manipularem erros e chamarem operações.

Framework  No ambiente da programação orientada a objetos, os frameworks são compostos por interfaces e classes abstratas e a sua instanciação, uso, ocorre através da especialização ou composição dos seus serviços.

Framework  Pode-se afirmar que os frameworks são compostos por pontos fixos – frozen spots - ou também conhecidos como hook points, que são serviços já implementados pelo framework que normalmente realizam chamadas indiretas aos pontos host spots, que são funcionalidades, serviços, e que devem ser implementados, através da característica da realização – herança – pelos desenvolvedores que irão inserir os seus códigos inerentes ao domínio da aplicação.  Ou seja, os frameworks são formados de pontos fixos e de pontos extensíveis, ou pontos que necessitam de complementação.

Framework  Os primeiros frameworks disponibilizados foram: Smalltalk Model-View- Controller (MVC) e MacApp, Object Liking and Embedding – OLE, Microsoft Distributed Common Object Model – DCOM.

Framework  Benefícios Melhora a modularização – encapsulamento dos detalhes voláteis de implementação através de interfaces estáveis.

Framework  Benefícios Aumenta a reutilização – definição de componentes genéricos que podem ser replicados para criar novos sistemas.

Framework  Benefícios Extensibilidade – favorecida pelo uso de métodos hooks que permitem que as aplicações estendam interfaces estáveis.

Framework  Benefícios Inversão de controle – IoC – o código do desenvolvedor é chamado pelo código do framework. Dessa forma, o framework controla a estrutura e o fluxo de execução dos programas.

Framework  Para obter os benefícios prometido pelo framework é fundamental investir na qualidade do projeto do framework.  O processo de construção de um framework é muito mais complexo do que de uma aplicação tradicional, devido à flexibilidade inerente e a capacidade de variação de um framework.

Framework  Construir um framework, não é uma tarefa fácil.  O caminho até a reutilização prometida é árduo, mas os benefícios justificam os desafios.

Frameworks Java Hibernate  Hibernate é um Framewok para realizar o mapeamento Objeto/Relacional escrito na linguagem Java.  Mapeamento Objeto/Relacional é uma técnica de desenvolvimento utilizada para reduzir a redundância da programação orientada aos objetos utilizando bancos de dados relacionais.

Frameworks Java  O objetivo do Hibernate é reduzir em cerca de 95% do tempo de desenvolvimento de tarefas relacionadas à persistência, ou seja, diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de dados do modelo relacional.  Em especial, no desenvolvimento de consultas e atualizações dos dados.

Frameworks Java  Sua principal característica é a transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os de SQL).  O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa portável para quaisquer bancos de dados SQL.

Frameworks Java  Quais os motivos de utilizar o Hibernate ao invés de instruções SQL diretamente no banco de dados? Possibilidade de migrar para a maioria dos SGBDs disponíveis no mercado modificando apenas o arquivo de configuração do framework, sem necessidade de alterar uma linha de código da aplicação;

Frameworks Java Detecta automaticamente qualquer alteração ou inclusão das classes mapeadas e executa as alterações devidas no banco de dados; E realiza cache das operações, com isso aumenta a performance da aplicação.

Frameworks Java Hibernate é um software livre de código aberto. O Hibernate é um dos frameworks de mapeamento objeto/relacional mais utilizados atualmente.

Frameworks Java Struts  O Struts é um framework, baseado em open-source pelo projeto Jakarta, auxiliando a criação de aplicações para a Web.  O Struts foi criado em Java, e seu núcleo é formado por uma camada flexível, proveniente das tecnologias Java Servlets, JavaBeans e XML.

Frameworks Java  O Struts possui um componente denominado Controller que se integra a tecnologias que fornecem suporte aos componentes Model (como JDBC e EJB’s), e View (como JSP e XSLT).

Frameworks Java  Esse nome, Struts, é proveniente ao papel desempenhado nas aplicações web, que é o de fornecimento de toda a estrutura primária inicial, implementando o controlador para a aplicação, sendo responsável pela parte de comunicação e pela integração entre as camadas de visualização.

Frameworks Java Spring  Spring é um framework de código aberto (open source) e foi criado com o intuito simplificar a programação em Java, possibilitando construir aplicações.

Frameworks Java  Para obter um entendimento completo sobre as características do Spring, faz-se necessário compreender, inicialmente, o padrão Inversion of Control (Inversão de Controle), e sua variação denominada Dependency Injection (Injeção de Dependência).

Frameworks Java  A injeção de dependência é o que torna uma simples biblioteca de classes diferente de um framework.  Uma biblioteca consiste em um conjunto de classes que um usuário instancia e utiliza seus métodos.  Após a chamada ao método, o controle do fluxo da aplicação retorna para o usuário.

Frameworks Java  Entretanto, em um framework este fluxo é diferente.  Para utilizar um framework, código próprio da aplicação deve ser criado e mantido acessível ao framework, podendo ser através de classes que estendem classes do próprio framework.  O framework, então, realiza a chamada deste código da aplicação. Após a utilização do código da aplicação, o fluxo retorna para ele.

Frameworks Java  O Spring atualmente possui diversos módulos como Spring Data (trata da persistência), Spring Security (trata da segurança da aplicação) entre outros módulos.  Mas o principal (core) pode ser utilizado em qualquer aplicação Java, as principais funcionalidades são a injeção de dependência (CDI) e a programação orientada a aspectos (AOP), cabe ao desenvolvedor dizer ao Spring o que quer usar.

Frameworks Java

 O módulo Spring Core representa as principais funcionalidades do Spring, no qual o principal elemento é o BeanFactory.  Trata-se de uma implementação do padrão Factory, responsável em remover a programação de Singletons e permitindo o baixo acoplamento entre a configuração e a especificação de dependências, de sua lógica de programação.

Frameworks Java  O módulo Spring DAO provê uma camada de abstração para JDBC, eliminando grande parte da codificação necessária para interagir com um banco de dados.  O módulo ORM, entretanto, provê integração do Spring com outros frameworks para persistência de objetos, como Hibernate e iBatis.  Para prover uma implementação de Orientação a Aspectos que permite a definição de pointcuts e methods interceptors, existe o módulo Spring AOP.

Frameworks Java  Para prover funcionalidades específicas para projetos Web, tem-se o módulo Spring Web.  São funcionalidades como componentes para upload de arquivos e suporte para utilização de Inversão de Controle neste tipo de aplicação.  O módulo Spring MVC, entretanto, fornece uma implementação de framework Web, similar ao Struts.

Framework  parte-1-zachman/ parte-1-zachman/  