Escolar Documentos
Profissional Documentos
Cultura Documentos
por exemplo) fica disponvel para ser adquirido. 3.3 PROGRAMAO PARA WEB
II Frameworks, sejam elas escritas em PHP ou em qualquer outra linguagem,
oferecem ao programador um conjunto de cdigos prontos que permitem realizar
as tarefas mais bsicas no desenvolvimento de um aplicativo. Por oferecer essa
estrutura bsica, os frameworks tornam o desenvolvimento mais rpido e reduzem
o volume de cdigo repetitivo escrito pelo programador. Os frameworks tambm
ajudam aos programadores iniciantes a criar aplicativos mais estveis, mesmo que
eles ainda no dominem completamente a linguagem de programao e todas as
outras tecnologias necessrias para fazer o aplicativo funcionar. 16
18. 18. 3.3.1 Comparao de frameworks para desenvolvimento web (Java). Apache
Axis2 um framework open-source utilizado no desenvolvimento de Web services
para as linguagens Java e C. Na sua verso para Java, Axis2 suporta o
desenvolvimento de Web services baseados em XML e baseados em REST. 20. O
Apache Axis2 foi lanado em 2006 sendo considerado a terceira gerao de
frameworks para desenvolvimento de Web services da Apache. Seus antecessores
so Apache SOAP e Apache Axis 1.0. O Axis2 foi criado para atender os novos
padres de Web services, pois no era vivel alterar a arquitetura do Axis 1.0
(JAYASINGHE; AZEEZ, 2011. p. 19). Axis2 implementa vrios padres de Web
services. Essas implementaes podem ser nativas, como o padro WSAddressing ou implementadas a partir de mdulos. Os mdulos so plug-ins que
podem ser estendidos pelo Axis2 e que implementam padres de Web service, tais
como: Apache Sandecha2 que implementa o padro WS-ReliableMessaging,
Apache Kandula2 que implementa os padres WS-Coordination e WSAtomicTransaction e Apache Rampart que implementa o padro WS-Securit.
APACHE CXF Apache CXF um framework open-source para a linguagem Java
amplamente utilizado pelo mercado que prov suporte na criao e consumo de
Web services utilizando as especificaes JAX-WS e JAX-RS. Ainda oferece
suporte a vrios protocolos de mensagem e transporte. Balani e Hathi (2009, p. 20
Traduo nossa) afirmam que o CXF desenvolvido com a misso de prover
uma infraestrutura robusta para o desenvolvimento de Web services e facilitar o
processo de desenvolvimento. Apache CXF surgiu a partir de dois projetos: Celtix
e XFire e, por isso, o nome CXF. Celtix um projeto open-source ESB25 baseado
na linguagem Java desenvolvido pela ObjectWeb, uma empresa que desenvolve
solues open-source de middleware. J o XFire um framework open-source
baseado em Java para desenvolvimento de Web services baseados no protocolo
SOAP desenvolvido pela Codehaus. Durante as verses iniciais de ambos os
projetos, foi constatado que havia muitas caractersticas em comum entre eles e
que era possvel transform-los em um nico projeto. A partir dessa constatao,
foi desenvolvido com a ajuda da Apache Software Foundation, o Apache CXF 2.0
Outra caracterstica importante do CXF a sua integrao com o Spring 17
19. 19. framework. Essa integrao permite utilizar arquivos de configurao do Spring
framework para que a publicao de endpoints seja feita de forma mais simples.
Apache CXF conta ainda com vrias ferramentas de apoio para o desenvolvimento
de servios e/ou consumidores. Segundo Apache CXF (2013), existem ferramentas
para gerao de cdigo, gerao de documentos WSDL, adio de endpoints,
gerao de arquivos de suporte e validao de arquivos. Abaixo seguem alguns
dos principais frameworks Java: Struts (J2EE) - um dos frameworks mais usados
em ambientes corporativos para construo de aplicaes web. Usa o modelo
MVC e caracterizado por uma camada de controle com uso de J2EE e XML.
JavaServer Faces (J2EE) - baseado em tecnologia de servlets e JSP, pode ser
usado como uma opo ao Struts. Spring (POA) - framework baseado em
orientao a aspectos. Possibilidade de uso em conjuntos com outros frameworks
MVC, como o Struts e JSF. Hibernate (Persistncia de Dados) - conhecido
framework de persistncia de dados, que usa conceitos de banco de dados, alm
do mapeamento objeto-relacional (classes Java para tabelas de databases). JDO
(Persistncia de Dados) - interface que prov uma camada de abstrao aplicao
- armazenamento de dados. Prevayler (Persistncia de Dados) - outro famoso
framework que prega uma JVM invuneravel logicamente com uso de uma camada
de prevalncia de objetos. JUnit (testes) - talvez o mais usado framework Java,
includo em IDEs free ou comerciais. Para testes unitrios em geral. Cactus
(testes) - framework especfico para testes unitrios de aplicaes J2EE. Jbanana
(J2EE) - framework brasileiro e open-source para desenvolvimento web. Log4J
(log) - amplamente usado e tli para gerao de logs. 18
20. 20. Jakarta commons-log (log) - semelhante ao Log4J, sob o selo da Jakarta.
Ant (build e deploy) - framework tambm amplamente divulgado da Jakarta para
automatizao de processos de construo, alm de testes e distribuio. Jasper
Report / iReport (geradores de relatrio) - framework para gerao de modo
dinmico de relatrios. Compatvel com formatos xml, pdf e html. 3.3.2 Custo
Benefcio de frameworks no desenvolvimento Web Melhora a modularizao
encapsulamento dos detalhes volteis de implementao atravs de interfaces
estveis. Aumenta a reutilizao definio de componentes genricos que
podem ser replicados para criar novos sistemas. Extensibilidade favorecida pelo
uso de mtodos hooks que permitem que as aplicaes estendam interfaces
estveis. Inverso de controle IoC o cdigo do desenvolvedor chamado pelo
cdigo do framework. Dessa forma, o framework controla a estrutura e o fluxo de
execuo dos programas. Existem inmeros benefcios alcanados ao utilizar
frameworks, como o ganho de produtividade, a reduo da possibilidade de erros
(produtividade, de novo), maior nvel de abstrao (produtividade?),
compatibilidade e integrao entre aplicaes (produtividade!),desenvolvimento de
forma mais segura e prazerosa Alm destes benefcios, h a vantagem de contar
com o apoio da comunidade, j que os frameworks so usados em larga escala e
geralmente so comunitrios. Contra estes benefcios, existem poucas
desvantagens e muitos mitos. Em grande parte das discusses que envolvem o
uso de frameworks, percebe-se no time do contra muito preconceito, argumentos
recheados de mitos e, por vezes, confuses e concluses baseadas em
frustraes passadas. 19
21. 21. Frameworks web so utilizados em larga escala. No moda, uma
necessidade comprovada pela comunidade e pelo meio corporativo, e alguns mitos
tm que ser derrubados. 3.3.3 Programao Java Web (plataforma de
desenvolvimento). A plataforma Java constituda de um grande nmero de
tecnologias, cada uma prov uma poro distinta de todo o ambiente de
desenvolvimento e execuo de software. Os usurios finais, tipicamente,
criado na dcada de 70, e aps esses anos de sua criao ainda um pattern
aplicvel nas mais variadas aplicaes, principalmente em aplicaes web. 21
23. 23. Quando um software comea a ficar grande e complexo, muitos dados so
apresentados para os usurios, sentimos a necessidade de aplicar uma arquitetura
que facilite nosso trabalho, desde a organizao do projeto, as divises das
responsabilidades at as possveis modificaes que podero ser efetuadas ao
longo do desenvolvimento do software para isso precisaram dividir o projeto em
trs objetos para aplicar o MVC. O MVC tem como principal objetivo: separar dados
ou lgicos de negcios (Model) da interface do usurio (View) e o fluxo da
aplicao (Controller), a idia permitir que uma mensagem da lgica de negcios
possa ser acessada e visualizada atravs de vrias interfaces. Na arquitetura MVC,
lgica de negcios, ou seja, nosso Model no sabe quantas nem quais as
interfaces com o usurio esta exibindo seu estado, a view no se importa de onde
esta recebendo os dados, mas ela tem que garantir que sua aparncia reflita o
estado do modelo, ou seja, sempre que os estados do modelo mudam, o modelo
notifica as view para que as mesmas atualizem-se. MVC um conceito
(paradigma) de desenvolvimento e design que tenta separar uma aplicao em trs
partes distintas. Uma parte, a Model, esta relacionada ao trabalho atual que a
aplicao administra outra parte a View esta relacionada a exibir os dados ou
informaes dessa uma aplicao e a terceira parte, Controller, em coordenar os
dois anteriores exibindo a interface correta ou executando algum trabalho que a
aplicao precisa completar. (GONALVES, 2007, p. 141). Embora o MVC s
contenha trs camadas h outra camada fundamental para o bom andamento da
arquitetura, esta um mecanismo de eventos necessrio a comunicao entre
outros trs elementos, este elemento permite uma comunicao assncrona que
invocada quando algum evento interessante acontece, esta quarta camada contm
os beans de entidade onde se localizam os mtodos get e set das classes Design
Patterns aplicados na arquitetura MVC A arquitetura MVC utiliza padres de
projetos em suas camadas analisamos a arquitetura agora com os patterns. O
MVC usa outros padres de projeto, tais como Factory Method, para especificar
por falta (by default) a classe controladora para uma vista e Decarator, para
acrescentar capacidade de rolagem (scrolling) a uma vista. Mais os principais 22
24. 24. relacionamentos do MVC so fornecidos pelos padres Observer, Composite,
Strategy. (GAMMA et al. , 2000, p. 22). Os designs patterns nos ajuda explicar a
arquitetura MVC, e com eles podemos perceber que por traz do MVC pode conter
um conjunto de padres trabalhando juntos em uma mesma estrutura. Abordamos
agora os patterns Observer e Strategy que so padres comportamentais e o
Composite padro estrutural, o objetivo de abordar os patterns para facilitar a
compreenso de como a arquitetura MVC trabalha, sabendo que um padro de
arquitetural que confundem projetistas e desenvolvedores. Utilizando essa
arquitetura, o tempo de desenvolvimento do software diminuir sem perde a
qualidade e sem aumento de custos. Framework Uma das melhores opes seria o
Hibernate como framework de persistncia de dados. O Hibernate um framework
para mapeamento objeto/relacional em Java, que abstrai o cdigo SQL da
aplicao, permitindo, entre outra coisas, modificar a base de dados para outro
SGBD (Sistema Gerenciador de Banco de Dados) sem modificar uma linha de
cdigo. O Visual Studio muito bruto e bom de trabalhar. A IDE que se aproxima
mais o Netbeans e o framework que possui mais caractersticas semelhantes ao
Asp.NET o JSF onde se possui elementos na tela que "vinculam" com elementos
no cdigo daquela tela. Por esta razo este foi o framework escolhido. 23
25. 25. 4 CONCLUSO Este trabalho foi proveitoso no sentido de conhecer mais as
ferramentas para desenvolvimento de software, projetos e arquiteturas, bem como
o uso de frameworks, e persistncia de dados. Enfim, foi um apanhado de como
criterioso e analtico a confeco de um bom software onde entendi que um bom
software tem que ser bem planejado e estruturado para se tornar eficaz. 24
26. 26. REFERNCIAS LAHR Thiago Canozzo. Segurana em Aplicaes Web. Sep 3
2009. Dissertao (Analista de Segurana da Informao) - PUC-Campinas, 2002.
Disponvel em: <
https://www.ibm.com/developerworks/community/blogs/tlcbr/entry/seguranca_em_a
pl icacoes_web?lang=en>. Acesso em: 25 out. 2014. Wikipdia. Diagrama de
atividade. Wikipdia, a enciclopdia livre. Disponvel em: <
http://pt.wikipedia.org/wiki/Diagrama_de_atividade>. Acesso em: 25 out. 2014.
prof. OLIVEIRA Lucelia. Diagrama de atividade. Disponvel em: <
http://sistemas.riopomba.ifsudestemg.edu.br/dcc/materiais/2121423876_Diagrama
D eAtividades.pdf >. Acesso em: 23 out. 2014. prof. SOUSA Artur, LOUREIRO
Jorge. Modelo relacional Normalizao Diagramas E-R e Tabelas Originadas.
Dissertao (Departamento de informtica) Escola Superior de tecnologia de
viseu. Disponvel em: <
http://www.estgv.ipv.pt/paginaspessoais/steven/Disciplinas/II2/Bibliografia/Sebenta/
s eb_cap5_1.pdf>. Acesso em: 23 out. 2014. Wikipdia. Modelo entidade
relacionamento. Wikipdia, a enciclopdia livre. Disponvel em: <
http://pt.wikipedia.org/wiki/Modelo_entidade_relacionamento>. Acesso em: 24 out.
2014. PESSOA Mrcio. Segurana em PHP. Dissertao (Desenvolva programas
PHP com alto nvel de segurana e aprenda como manter os servidores web livres
de ameaas) - Novatec. Disponvel em: <
http://www.martinsfontespaulista.com.br/anexos/produtos/capitulos/254879.pdf>.
Acesso em: 25 out. 2014. SOMMERVILE, Ian. ENGENHARIA DE SOFTWARE. 8
Edio. So Paulo: Pearson Addison Wesley, 2007. 25