Escolar Documentos
Profissional Documentos
Cultura Documentos
Livro Delphi Web Capitulo 1 PDF
Livro Delphi Web Capitulo 1 PDF
Captulo 1
Introduo
(R)evoluo
(R)evoluo. Amigos, esta a palavra mais falada pelos desenvolvedores Delphi quando fazem o primeiro contato com a
verso 7 do produto. Uns dizem evoluo, outros revoluo. Particularmente acho que o Delphi amadureceu de uma forma
extraordinria, e que a equipe de negcios do produto conseguiu quebrar algumas barreiras importantes, como a incorporao
de um excelente gerador de relatrios, ou melhor, um poderoso conjunto de componentes conhecido por grande parte dos
desenvolvedores Delphi: Rave Report.
Como o foco principal deste livro o desenvolvimento de aplicaes e-Business, a maior novidade para os Web-Developers
o excelente pacote da empresa Atozed. J ouviram falar em IntraWeb? Agora sim temos uma ferramenta RAD de respeito para
o desenvolvimento de aplicaes Web. Veja que no quero desprezar a tecnologia existente desde a verso 3 do produto, nem a
nova tecnologia WebSnap, introduzida na verso 6. Pelo contrrio, ainda apio fortemente tais tecnologias, mas ganhamos um
forte aliado: IntraWeb. Podem ficar tranqilos, teremos um captulo inteiro sobre o nosso mais novo companheiro.
Aproveitando o embalo das apresentaes, no prximo tpico veremos todo o potencial do Delphi 7 em todas as suas
distribuies, inclusive da novssima Studio Architect.
Novidades do Delphi 7
Primeiramente, irei apresentar as mudanas na nova verso do Delphi e, em seguida, uma tabela comparativa entre as suas
distribuies.
!" Nas mensagens de compilao, poderemos obter novas informaes atravs do site da Borland, com um link direto da
mensagem.
!" Maior controle sobre os famosos warnings ou advertncias que so geradas.
!" Uma nova seo System para aplicaes CLX, com diversos controles de diretrios e arquivos. Anteriormente tais
controles estavam disponveis somente para aplicaes VCL.
!" Novas implementaes da Nevrona, com melhorias no pacote Indy Components, trazendo Indy Intercepts e Indy I/O
Handlers, facilitando ainda mais o desenvolvimento de aplicaes para Internet.
!" O poderosssimo IntraWeb, com as sees IW Standard, IW Data, IW Client Side e IW Control.
!" Para quem reclamava do QuickReport, no pode mais chorar. O Delphi 7 traz consigo o poderoso Rave Reports, com
superioridade absoluta em relao ao QR.
!" A cada nova verso, a equipe de desenvolvimento melhora o Code Insight. Agora o code completion (uns dos fortes
atrativos do Code Insight) est bem mais rpido, e com inteligncia artificial (este por minha conta). Sem sombra de
dvidas ficou bem mais esperto e rpido.
1
. NET (Interoperabilidade e
suporte a migrao)
Compilador compatvel com .NET,
abrangendo warnings e hints
Importa qualquer objeto .COM no
padro .NET
Exporta
objetos
.COM
desenvolvidos em Delphi para
aplicaes .NET
Studio
Architect
Studio
Enterprise
Studio
Professional
Personal
Edition
"
Introduo 3
#
#
#
#
#
#
#
#
Minha opinio
A plataforma .NET foi bem planejada e possui uma estrutura bem diferente do
que estamos acostumados. A velha briga entre desenvolvedores Delphi e
Visual Basic deve ser deixada de lado. Acho que todos devem amadurecer e
optar pela ferramenta mais adequada aos seus projetos. A Microsoft est
pensando desta maneira, o que muito saudvel para todos ns. Para terem
uma idia do que estou querendo dizer, a Borland sempre suportou em seus
produtos tecnologias de ponta, como Java, Object Pascal, C++ e agora .NET.
Studio
Architect
Studio
Enterprise
"
#
#
#
#
Studio
Professional
Personal
Edition
Minha opinio
Atualmente estamos vivendo uma fase bem madura de desenvolvimento de
software. Antigamente tnhamos aqueles fantasmagricos fluxogramas,
passando pela modelagem de dados, e agora, trs vivas: UML (Unified
Modeling Language, ou Linguagem de Modelagem Unificada). Ao
contrrio dos outros mtodos, a UML uma linguagem de modelagem
muito usual em empresas fabricantes de software. E o mais incrvel, foi
estendida para outros tipos de segmentos, como automveis, hardwares,
empresas de energia, enfim, uma grande variedade.
O Model Maker facilita muito o trabalho com UML, integrando totalmente
as classes e objetos do Delphi em seu editor.
Sugiro a todos que se aprofundem no estudo da UML. Alm dos fortes
benefcios, est se tornando uma grande exigncia para desenvolvedores,
analistas e coordenadores de projetos, alm, claro, dos gerentes.
Studio
Architect
Tecnologia IntraWeb
(AtoZed)
Desenvolvimento de aplicaes
WEB utilizando recursos visuais no
estilo drag-and-drop.
Adicione contedo interativo para
seus sites, de maneira rpida e
visual
Controle transparente de cookies e
sessions
Grande variedade de componentes
visuais para Web
Studio
Enterprise
Studio
Professional
#"
#"
Personal
Edition
"
Minha opinio
Quando tive meu primeiro contato com o IntraWeb pensei: essa a grande
soluo para o maior problema: prazo. Amigos, sem sombra de dvidas, o
IntraWeb otimiza diversas tarefas no desenvolvimento de aplicaes Web. At
mesmo quem no entende nada de HTML, JavaScript, desenvolve poderosas
aplicaes Web, com uma interface de primeira.
Fico feliz em ter o meu sonho realizado, de aumentar em mais de 30% a
produtividade de minhas equipes. E o melhor, no requer um grande
treinamento.
Com o captulo dedicado a esta incrvel ferramenta, tenho certeza de que
todos vocs estaro desenvolvendo aplicaes para Internet com extrema
facilidade.
Outro ponto bastante importante que a Borland fechou diversas parcerias
para o seu novo produto, sempre pensando em disponibilizar o que h de
melhor no mercado para ns desenvolvedores.
Studio
Architect
Studio
Enterprise
Studio
Professional
#
#
#"
#
#
#"
#
#
#
"
Personal
Edition
Introduo 5
Minha opinio
Amigos, algum lembra do QuickReport? Eu j esqueci, nem sei do que estamos
falando!
Brincadeiras parte, finalmente ganhamos um gerador de relatrios bastante
profissional. A nossa Me-Borland conseguiu quebrar algumas barreiras para que
esse sonho fosse realizado, e todos ns ganhamos com isso. O Rave Reports da
inovadora e genial empresa Nevrona (a mesma criadora do Indy Componentes)
muito estvel e traz diversos recursos que facilitam a vida do desenvolvedor.
Sugiro que criem coragem de aprender um novo gerador de relatrios. Digo isso
porque ao longo de minha carreira presenciei diversas pessoas e equipes que
relutaram em adotar um novo gerador de relatrios, por diversas crenas: Ser que
a empresa que produz o software vai manter a compatibilidade? Ser que a empresa
no vai quebrar? Acho muito difcil este software! Entre outras...
Studio
Architect
Studio
Enterprise
Studio
Professional
Personal
Edition
"
#
#
#
Minha opinio
Continuando com o nosso amigo UML, o conjunto de ferramentas da BoldSoft
vem para complementar o suporte do Model Maker.
Atravs de componentes, o desenvolvedor poder gerenciar de maneira bastante
profissional seus diagramas UML.
Como disse anteriormente, UML um tema muito exigido ultimamente, e
recomendo um profundo estudo sobre este maravilhoso mundo.
IDE
A IDE do Delphi 7 (figura 1.1) muito parecida com a verso anterior. Basicamente mudou o seu visual, muito semelhante ao
Windows XP. Vamos dar uma rpida olhadinha.
Introduo 7
Introduo 9
Amigos, tivemos uma breve apresentao dos novos recursos do Delphi 7 na rea de desenvolvimento para Web. A seguir
teremos uma introduo bastante importante sobre o desenvolvimento de aplicaes e-Business, bem como sobre o Mtodo
Facunte.
ERP
CRM
B2B
B2C
entre outros
MEADOS
PLATAFORMA (*)
LINGUAGENS/FERRAMENTAS
80 a 90
91 a 94
DOS, Windows
94 a 97
DOS, Windows
98 e 99
Windows, Internet
00 a 01
Windows, Linux,
Internet, Intranet,
Extranet
02 tendncias
Cross-plataform, objetos
distribudos
Como observamos na Tabela 1, o mercado evoluiu muito aps a dcada de 90, tornando confusa a deciso do desenvolvedor
na escolha da melhor tecnologia. Para ajudar os desenvolvedores da velha-guarda, bem como os da nova-gerao, foi
criado o MTODO FACUNTE (falaremos do mtodo em seguida). Bem, Mtodo parte, falaremos da forte tendncia para
esta dcada que, conforme a Tabela 1, o desenvolvimento Cross-Plataform e Objetos Distribudos. Mas o que so estas
novas tecnologias? Ser que so novas mesmo?
Vamos iniciar pela tendncia Cross-Plataform. Cross-Plataform quer dizer que a aplicao roda em duas ou mais
plataformas. Isso excelente, j que estamos num mercado bastante disputado; Windows melhorando, Linux cativando
grandes legies de adeptos, e quem sabe o Lindows1 avana no mercado. Agora vamos imaginar nossa aplicao sendo
executada em qualquer ambiente operacional. No timo? J pensou em oferecer ao seu cliente um produto Cross-Plataform?
Tenho certeza de que aumentaro muito as chances de vender o produto.
OK, e os Objetos-Distribudos? Bem, esse o ponto. Vamos imaginar o seguinte cenrio:
!" Aplicao de Controle de Estoque sendo acessada pela LOJA.
!" Faturamento acessando informaes de Vendas.
1
Lindows Sistema operacional baseado no LINUX, que traz consigo a tecnologia WINE (kernel para execuo de aplicaes baseadas em
Win32).
Sem dvida um sistema dos sonhos de qualquer empresrio e desenvolvedor. Agora imagine efetuar uma manuteno no
sistema sem interromper as atividades normais (no v pensar em atualizar o sistema as 02:00 da manh, hein?! Isso no
tudo). Vamos melhorar o nosso lado?
Com a tecnologia de Objetos-Distribudos podemos criar diversas camadas:
!" Camada de Negcios
!" Camada da Aplicao Cliente
!" Camada da Aplicao Servidor
!" Camada Aplicao Servidor-WEB
!" Camada Banco de Dados
!" entre outras
Para realizar as tarefas de manuteno no sistema, o desenvolvedor poder alterar apenas a camada que satisfaz a ocasio.
Outro fator bastante interessante que as camadas podem e devem ficar em servidores diferentes, especficos para cada
camada.
Tudo bem Facunte, mas o que a tecnologia de desenvolvimento WEB tem a ver com tudo isso? Isso mesmo: TUDO! Bem,
quando nos referimos a Cross-Plataform imaginamos que os nossos clientes pudessem executar a mesma aplicao em diversas
plataformas, certo? Ento temos aqui um caso tpico de Cross-Plataform tudo bem, no nvel de Client e no Server eu
explico:
Desenvolver uma aplicao com a tecnologia WEB utilizando o Delphi, a mesma poderia ser executada num servidor
Windows NT e qualquer equipamento (micro-computador, PALM, Celular, etc. acessaria a aplicao, mesmo que o sistema
operacional no fosse Win X. Exemplo: Linux, Mac OS, Solaris, celulares com browser baseado em JAVA (esquea WAP por
enquanto), PALM com acesso Internet, entre outros. Viram que magnfico?
Em resumo, o objetivo deste livro o desenvolvimento de uma Camada Web, uma das grandes tendncias desta dcada.
Mtodo FACUNTE
O Mtodo Facunte foi criado em 2001 inspirado nas necessidades de desenvolvedores iniciantes e dos amigos da velhaguarda que no tinham base formada sobre qual tecnologia adotar.
O mtodo consiste num treinamento completo para o desenvolvedor, abrangendo desde as tendncias do mercado, passando
por orientaes financeiras de projeto, at o desenvolvimento prtico de uma aplicao, utilizando ferramentas de alta
tecnologia e comumente aceitas como padro de mercado.
No diagrama a seguir temos a representao grfica do mtodo.
Introduo 11
Sucesso
Mtodo
Facunte
Desenvolvimento
Como e Quanto
Cobrar do Cliente
Definio do Projeto
Grids;
Barras de navegao entre registros;
Botes de funes para todos os lados;
Sobreposio excessiva de janelas.
Os referidos costumes degradam muito a performance do servidor de aplicaes e de banco de dados, alm de confundir o
usurio em alguns aspectos.
Outra coisa bastante interessante que a maioria dos desenvolvedores quer trazer para a web uma interface parecida com seu
sistema tradicional. Isso pode custar caro, pois exige um esforo grande de desenvolvimento.
Para tanto, recomendo um novo conceito de interface, que veremos ao longo do livro. Vejam que isso apenas um exemplo,
que na minha opinio deve ser seguido, mas novos conceitos devero ser criados, e at mesmo outros tipos de interfaces
existentes no mercado devem ser analisadas. Procure sempre o melhor para o usurio.
cargo
desenvolvedor jr
desenvolvedor pleno
desenvolvedor snior
Gerente de projetos
arquiteto web
consultor
desenvolvedor
tradicional
R$ 800 a R$ 1200
R$ 1000 a R$ 2000
R$ 2000 a R$ 4000
R$ 2000 a R$ 6000
R$ 20 a R$ 50/hora
desenvolvedor web
R$ 1200 a R$ 1800
R$ 1800 a R$ 3500
R$ 3000 a R$ 8000
R$ 4000 a R$ 12000
R$ 6000 a R$ 10000
R$ 40 a R$ 130/hora
Introduo 13
!" Nunca faa leilo comum o seu cliente querer reduzir o valor de sua proposta, apresentando outras de seus
concorrentes. Casos absurdos de reduo de 50, 60 e at 70% so comuns. Acredito num valor de reduo mximo de
20% e o ideal em 10%.
Tudo bem, Facunte, mas como definir os custos de um projeto? Minha sugesto a seguinte:
!" Defina seu valor hora, entre R$ 40 e R$ 60 (sessenta reais).
!" Baseado em sua experincia, calcule o tempo necessrio para desenvolver a aplicao, em nmero de horas e
multiplique por 2,5.
!" Caso haja a necessidade de outros membros no desenvolvimento do projeto, faa a adequao em nmero de horas e
acrescente 20% por membro.
!" Acrescente os impostos.
!" E finito, encaminhe a proposta ao cliente.
Veja um exemplo prtico:
Minha estimativa em horas do projeto
Tempo necessrio
Prazo estimado pelo cliente
O prazo fornecido pelo cliente forou-me a
Introduzir mais 3 membros na equipe
Valor hora
Valor total do projeto
: 500 horas
: 500 horas x 2,5 = 1.250 h
: 2 meses
: 1.250h + 60% = 2.000 h
(60% = 20% por membro)
: R$ 40,00
: 2.000 x R$ 40,00 = R$ 80.000,00
Repare, o que pesou no valor final do projeto foi o prazo estipulado pelo cliente, seno teramos um valor bem mais atraente,
em torno de R$ 45.000,00. Lembre-se de estimar as horas baseadas em sua experincia, e no faam leiles com o seu valor
hora.
Obviamente numa fbrica de software virou moda este nome so utilizados recursos mais avanados para avaliao de
valores.
Costumo dizer que, aps a modelagem de dados, desenvolver fica fcil. Digo isso porque o corao da aplicao a
modelagem. Uma boa modelagem igual a uma boa aplicao, j uma razovel modelagem igual a uma semente frutfera de
MS Project
O Microsoft Project o melhor gerenciador de projetos que conheo. Com ele podemos gerenciar diversas equipes ao
mesmo tempo, conseqentemente diversos projetos (mesmo que por equipe), definir metas e analisar grficos de desempenho
por fases, projetos e equipes. O projeto compartilhado entre os membros da equipe, facilitando assim o andamento do
mesmo, mostrando as deficincias e tambm toda a eficincia da equipe. Recomendo para todos os tamanhos de projeto, e
acredito ser indispensvel para grandes projetos.
ERWin
Quem nunca ouviu falar da fantstica ferramenta de modelagem de dados ERWin? Hoje pertence a CA (Computer Associates)
que tem investido muito para melhoria da ferramenta. O ERWin gera scripts SQL para a maioria dos bancos de dados
comerciais, como Oracle, SQL Server, Interbase, Sybase, DB2, Progress, Informix, entre outros. Para pequenos
desenvolvedores no recomendo, devido ao seu alto custo (CA, no fique brava comigo, mas a dura realidade), mas para
mdios e grandes indispensvel.
A Squadra, empresa 100% nacional, fabricante de uma tima ferramenta de modelagem de dados: Dr Case. Alm do preo
bastante atraente, a ferramenta traz consigo timos recursos para o trabalho com os principais bancos de dados (recomendo
para quem utiliza diversos tipos de banco de dados).
Existem produtos alternativos especficos para Interbase, como o fantstico IB Admin, da SQLLY (www.sqlly.com) com um
custo bastante atraente, e com diversos recursos de gerenciamento do Interbase (altamente recomendvel para quem utiliza
Interbase).
UML
Para quem quer qualidade total em seus projetos, recomendo o trabalho baseado em UML (Unified Modeling Language, ou
Linguagem de Modelagem Unificada). S para ter uma idia, alm das grandes empresas de software, esto adotando UML
indstrias automobilsticas (GM, Ford), fabricantes de hardware (Intel, EPSON, HP, Compaq), entre outras. Mas o que
UML? E quais as suas vantagens? Em resumo, UML a unificao dos mtodos Booch, OMT e OOSE, padronizando a
modelagem de sistemas de software orientados a objetos, entre outras aplicaes. Hoje em dia, a recomendao bsica para
desenvolvimento de sistemas a utilizao de todo o poder da orientao a objetos. A UML colabora muito para a organizao
e documentao de projetos orientados a objeto. Para entender melhor o UML, recomendo a leitura do livro Desenvolvendo
Aplicaes com UML da Brasport.
Mas falar de UML sem falar de sua principal ferramenta, realmente um deslize. Ao meu ver, no existe ferramenta melhor
que o Rational Rose da empresa Rational (www.rational.com.br). Todas as especificaes da UML so encontradas na
ferramenta, alm da integrao com as principais linguagens de desenvolvimento do mercado. E como agora ganhamos o
Model Maker, lets go, friends!!!
TeamSource
A Borland disponibiliza uma excelente ferramenta de controle de verses e de trabalho em equipe: a TeamSource. Com esta
ferramenta possvel gerenciar inmeras verses do projeto, alm de organizar o desenvolvimento em grupo, permitindo que
inmeros desenvolvedores participem do mesmo projeto. Maiores informaes www.borland.com.br
Introduo 15
Anotaes de Dvidas
?
Preciso Revisar
Anotaes Gerais