NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 02 : 01
Quer receber novidades e e-books gratuitos?
« Capítulo anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 018 - Capítulo 02 - Introdução

Neste capítulo você aprenderá sobre os seguintes tópicos:

  • Aplicações do tipo Cliente/Servidor de duas camadas.
  • A evolução para as aplicações de três ou mais camadas.
  • Qual o papel do SQL Server 2005 no desenvolvimento de aplicações de duas ou mais camadas.
  • As novidades do SQL Server 2005.
  • As diferentes edições do SQL Server 2005.
  • Como instalar o SQL Server 2005.
  • Como fazer o Upgrade de versões anteriores do SQL Server.
  • O conceito de “instância” e como criar várias “instâncias” do SQL Server 2005, no mesmo servidor.
  • Verificar se a instalação do SQL Server 2005 foi finalizada com sucesso e quais os serviços disponíveis.

Com os conceitos apresentados neste capítulo, você terá uma noção clara sobre “o que é” e “em que situações” pode utilizar o SQL Server 2005.

Outra idéia que vamos procurar esclarecer é sobre qual é o papel de um Banco de Dados como o SQL Server 2005 nas aplicações empresariais desenvolvidas atualmente. Muitas vezes, temos a noção que o Banco de Dados simplesmente cumpre funções tais como:

  • Armazenar os dados.
  • Fornecer mecanismos para garantir a integridade dos dados.
  • Fornecer mecanismos para a recuperação dos dados através de consultas.
  • Disponibilizar mecanismos de segurança para que não sejam feitos acessos não-autorizados aos dados.
  • Fornecer mecanismos de recuperação dos dados em caso de imprevistos e problemas.

Ao finalizar este capítulo, você deverá estar com duas instâncias do SQL Server 2005 instaladas e funcionando. Nos exemplos dos demais capítulos deste livro, será utilizado um computador Pentium IV 2.8 GHz, com 1 GB de RAM e com as seguintes configurações:

  • Windows 2000 Server em português, com Service Pack 4 instalado.
  • O Windows 2000 está instalado como DC – Domain Controler de um domínio chamado groza.com.
  • O número IP utilizado é: 10.1.1.3.
  • A máscara de sub-rede é: 255.0.0.0.
  • O nome do servidor é: Servidor, com o nome completo incluindo o domínio: servidor.groza.com.

Para maiores informações sobre Controladores de Domínio – DC, configurações do TCP-IP e configuração de um servidor com o Windows 2000 Server, consulte o seguinte livro: “Manual de Estudos Para o Exame 70-217”, 752 páginas, de minha autoria, publicado pela editora Axcel Books do RJ (http://www.axcel.com.br).

Caso você esteja utilizando um computador com nome, domínio ou configurações de rede diferentes, utilize os parâmetros da sua configuração nos exercícios que forem apresentados. Por exemplo, se o nome do seu computador for “testesql”, sempre que necessário, substitua o nome “servidor” pelo nome que você está utilizando.

Em alguns exemplos, como nos exemplos de instalação e Upgrade, deste capítulo, utilizarei um segundo computador Pentium de 1 GHz, com 512 MB de RAM e com as seguintes configurações:

  • Windows Server 2003 Standard Edition, em português.
  • Instalado como DC – Domain Controler de um domínio chamado xyz.com.br
  • O número IP utilizado é: 10.1.1.5.
  • A máscara de sub-rede é: 255.0.0.0.
  • O nome do servidor é: Servidor2, com o nome completo incluindo o domínio: servidor2.xyz.com.br

Fundamentos em Modelo de Aplicações:

Para a Era do Comércio Eletrônico

Pré-Requisitos:

  • Noções básicas de Internet e do modelo relacional.

Metodologia:

  • Apresentação dos elementos que compõem as necessidades de aplicativos empresariais atuais e habilitados para a Internet.

Que estamos no meio de uma revolução que se iniciou no meio da década de 90 e não tem prazo para terminar (nem sequer sabemos aonde vai chegar), todos nós sabemos, e que esta revolução é marcada pelo Comércio Eletrônico, ou o chamado e-business, também todos nós sabemos. As revistas e publicações especializadas (e muitas que nem sequer são da área) e os meios de comunicação, apresentam matérias, diariamente, sobre o Comércio Eletrônico. As possibilidades são inúmeras, tanto para as empresas, quanto para os usuários, quanto para os profissionais envolvidos. O Comércio Eletrônico deixou de ser apenas uma previsão em livros e revistas, e passou a ser uma realidade, presente no dia-a-dia de todos nós, com crescimento sustentado de volume de vendas, ano após ano. Com isso, uma nova geração de sites está sendo criada, muito mais complexa do que as anteriores, necessitando de ferramentas de desenvolvimento e gerenciamento, cada vez mais sofisticadas.

Por outro lado, as aplicações empresariais, que dão suporte às operações diárias da empresa também estão crescendo em complexidade. Para piorar a situação, estas aplicações precisam ser desenvolvidas em um prazo cada vez menor e com maior qualidade e segurança.

Como desenvolver as aplicações internas, manter o site da empresa sempre atrativo e dar suporte às operações de Comércio Eletrônico? Este é o grande desafio das equipes de desenvolvimento, quer sejam estas internas ou terceirizadas.

Grande parte do orçamento de informática das empresas está direcionado para atividades ligadas ao Comércio Eletrônico e ao desenvolvimento dos sistemas informatizados, de uso interno da empresa. Novas tecnologias surgem todos os dias, prometendo facilitar a criação de sites para Comércio Eletrônico e outras atividades envolvidas.

Muitas empresas possuem duas faces bem distintas. Uma é a face, a imagem que é “mostrada” para o público externo, isto é, para os seus clientes. Para estes a empresa mostra uma fachada de modernidade, facilidades de atendimento e suporte, através de um site cuidadosamente projetado e implementado. Porém, para o público interno, isto é, para os funcionários, a empresa oferece sistemas obsoletos, que não atendem às necessidades reais do trabalho e não facilitam, em nada, a vida dos funcionários. O pior é que a equipe interna, utilizando sistemas obsoletos, precisa ter um desempenho compatível com as expectativas dos clientes, os quais esperam o melhor atendimento possível por parte da empresa.

De maneira alguma vou afirmar que a solução mágica que irá solucionar todos os problemas de desenvolvimento é a utilização do Microsoft SQL Server 2005. O que vou procurar mostrar é que o papel que o Banco de Dados desempenha é de fundamental importância para que tenhamos sistemas modernos e funcionais. Dentro deste contexto, acredito que o Microsoft SQL Server, devido as suas funcionalidades, é uma excelente opção, tanto para o desenvolvimento de aplicativos que darão suporte ao Comércio Eletrônico, como para o desenvolvimento dos aplicativos corporativos.

O Comércio Eletrônico pode acontecer de duas maneiras distintas:

  • B2B – Business to Business: Acontece quando são feitas transações comerciais entre duas empresas. Pode ser uma montadora de automóveis comprando peças de um fornecedor, ou uma livraria encomendando livros de uma editora. Em termos de volume financeiro, o B2B é responsável por um grande percentual do que é comercializado via Internet.
  • B2C – Business to Consumer: É um cliente como eu ou você, comprando um livro ou um CD através da Internet. É o cliente comprando através de uma loja virtual na Internet. Hoje existem sites de Comércio Eletrônico que vendem uma série de coisas: livros, revistas, cosméticos, CDs, roupas, animais de estimação, cursos de informática, cds com mensagens de auto-ajudo e até remédios e carros.

À medida que aumenta o número de sites de Comércio Eletrônico, aumenta também a concorrência. Com isso conquistar e manter clientes têm sido o grande desafio. Não basta colocar um catálogo de produtos, garantir a segurança e entregar a mercadoria no local correto e no prazo estipulado. Embora estas sejam questões fundamentais, não são mais suficientes para garantir a fidelidade do cliente, pois diferentemente do comércio tradicional, no Comércio Eletrônico, o concorrente está a apenas um clique de mouse.

Hoje, um dos grandes desafios é conhecer o Cliente, saber identificar os seus hábitos e armazenar o maior número de informações possíveis sobre os hábitos de navegação e consumo, bem como sobre as preferências do cliente, tal como o histórico de compras e pesquisas realizadas no catálogo de produtos. De posse destas informações, o site deve ser capaz de fazer ofertas personalizadas para o cliente.

Posso citar o meu caso como exemplo. Há tempos que compro livros importados no site www.amazon.com. Ao acessar o site, após me identificar, aparece um link: “Sugestões para o Júlio”. Vejam que até o link já vem personalizado, isso atrai o cliente. É como entrar no mercadinho da esquina e o seu Manoel ir dizendo: “Olá, seu Júlio, aquele queijo colonial que o Sr. gosta, chegou.”

Ao clicar no link de sugestões, recebo uma listagem de livros. O mais interessante é que na listagem, realmente, estão os livros nos quais estou interessado. Que milagre é este? Não é milagre nenhum, acontece que desde a primeira compra, o site vem armazenando informações sobre as minhas compras, bem como sobre as pesquisas que faço no catálogo de livros. Com isso, foi possível identificar minhas preferências e elaborar uma lista de sugestões personalizada, de acordo com os meus gostos e preferências. Quanto maior a quantidade de informações, mais precisa é esta lista.

Não fica difícil adivinhar quem é o responsável pelo armazenamento e recuperação deste gigantesco volume de informações, com as preferências e hábitos de compra dos clientes? Evidentemente que é um Banco de Dados.

Vejam que os sites de Comércio Eletrônico estão tentando fazer o que o seu Manoel do mercadinho da esquina faz há muitos anos. Estão tentando dar um tratamento personalizado para os seus clientes, com o objetivo de mantê-los satisfeitos. Clientes satisfeitos significam vendas e lucro para a empresa.

Conhecer as preferências do cliente é apenas um dos exemplos de aplicação a ser baseada nos de dados dos clientes, obtidos através do site. Uma vez formada uma base de dados grande e confiável, muitas aplicações podem ser construídas sobre os dados obtidos. Por isso que, a maioria dos sites, mesmo os que fornecem serviços gratuitos, exigem que você preencha um cadastro, antes de disponibilizar o acesso a serviços e informações. Com os dados obtidos através do cadastro, a empresa está tentando montar a sua base de dados sobre os seus clientes e usuários do site (nem todo usuário cadastrado torna-se um cliente).

Vamos salientar um detalhe importante sobre o parágrafo anterior. Veja que o ponto-chave é ter uma base de dados grande e, principalmente, confiável. Mais uma vez o Banco de Dados desempenha um papel central, garantindo a consistência e segurança dos dados obtidos. Você não gostaria que os dados do seu cadastro no Banco, onde você tem conta, fossem acessados por qualquer internauta, gostaria? Obviamente que não.

Vejam que os dados precisam ser obtidos e armazenados em um Banco de Dados. Depois a segurança dos dados precisa ser garantida. Já pensou se alguém consegue invadir o site de uma empresa e obter uma listagem de números de cartões de crédito? (o que já ocorreu realmente em algumas ocasiões. O efeito foi tão negativo, que as empresas que tiveram seus bancos de dados invadidos, foram todas a falência, devido a perda de credibilidade junto ao público) Seria péssimo para a imagem e para as vendas desta empresa. Além da segurança, novas aplicações estão sendo construídas para fazer uso destes dados, com o objetivo não só de melhorar as vendas, mas também de melhorar as relações com os clientes.

Não basta que a empresa seja capaz de vender, para sobreviver, ela precisa “continuar vendendo” para o cliente. Para continuar vendendo, isto é, para fidelizar o cliente, a área de atendimento ao cliente é de fundamental importância. Se você compra, por exemplo, um CD e este é entregue fora do prazo, você reclama. Se a sua reclamação não for satisfatoriamente atendida, você simplesmente deixa de comprar desta empresa e procura outra empresa. Afinal, na Internet, o concorrente está a um clique de mouse, conforme descrevemos antes.

Um dos assuntos, que mais é discutido no momento, é representado pela sigla CRM – Customer Relationship Management. Traduzindo teríamos: Gerenciamento das Relações com o Cliente. CRM representa um conjunto de soluções de hardware e software, capazes de melhorar a relação das empresas com os clientes, principalmente no atendimento a questões do cliente, quer seja suporte técnico, dúvidas sobre novos produtos, etc.

Quem já não ligou para uma Central de Atendimento, e teve que contar a mesma história uma dezena de vezes. Você liga, alguém atende. Você descreve o seu problema, a pessoa diz que não é com ela e passa para um outro setor. Um novo atendente e a mesma história; você é passado para um outro setor. Depois da décima transferência (contando que você seja uma pessoa paciente, senão na terceira você já desliga o telefone), você desliga irritado, sem ter solucionado o problema. Muito provavelmente, esta empresa acaba de perder mais um cliente.

Melhorar o atendimento ao cliente ou, de uma maneira mais genérica, a relação dos clientes com a empresa, é o objetivo das soluções de CRM. Ao ligar para uma Central de Atendimento, o cliente identifica-se através do seu Código de Cliente, o sistema de CRM busca no Banco de Dados (olha o papel central do Banco de Dados aí de novo!!!) todas as informações sobre o cliente, incluindo o histórico de compras e o histórico de reclamações, bem como as reclamações ainda não solucionadas. Ele descreve o problema, o qual é inserido no sistema. Caso o atendente não seja capaz de solucioná-lo, a chamada é transferida diretamente para a pessoa capaz de solucionar o problema. Porém toda a descrição do problema, também está acessível para a pessoa que irá atender o Cliente (os dados foram passados pelo sistema de CRM, quando da transferência do chamado). Com isso o Cliente não precisa repetir toda a história. É atendido, soluciona o seu problema e fica satisfeito. Cliente satisfeito continua comprando.

A descrição do parágrafo anterior representa uma situação ideal. É claro que os sistemas de CRM ainda não são perfeitos. Porém novas técnicas estão sendo introduzidas, com a possibilidade de atendimentos através da Internet, acessando o site da empresa. Com a melhoria dos sistemas de telecomunicações, poderemos tornar realidade um atendimento de alta qualidade e conclusividade, através da Internet. Por exemplo, o cliente está pesquisando o catálogo de produtos. Na página com os dados do produto, existe um link “Outras dúvidas”. Ao clicar neste link, o cliente entra numa seção de bate-papo com um atendente da empresa. O cliente pode colocar as suas dúvidas, as quais serão solucionadas em tempo real. Assim, a probabilidade de que o pedido seja feito, é bem maior. Além disso as dúvidas do cliente podem ser armazenadas no Banco de Dados (olha o papel importante do banco de dados novamente). Quando uma dúvida começar a aparecer com uma determinada freqüência, os dados que solucionam a dúvida podem ser disponibilizados no catálogo de soluções. Com isso, os próximos clientes que tiverem a mesma dúvida, não precisarão do auxílio de um atendente. Vejam que novamente estamos em um processo de aquisição de informações, através do próprio site, e utilização destas informações para melhorar a qualidade dos serviços e produtos oferecidos. E me permitam ser chato: onde armazenaremos estas informações? Claro, no Banco de Dados.

No B2B também existem muitas questões a serem gerenciadas. Para entendermos a complexidade destas situações imagine o seguinte exemplo, ilustrado pela Figura 2.1:

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 2.1 A complexidade das questões envolvidas no B2B.

Temos uma rede de Concessionárias que presta serviços de manutenção para uma determinada marca de automóveis. O objetivo é ter um controle automatizado de estoque de peças de reposição. Cada peça catalogada possui um nível mínimo de unidades em estoque. Quando este nível mínimo é atingido, automaticamente, o Banco de Dados deve lançar, via Internet, um pedido para este item. O funcionamento do sistema é o seguinte:

O Cliente vai na concessionária para comprar uma determinada peça. O atendente efetua a venda, e o estoque é atualizado, automaticamente, pelo sistema de vendas. Se a peça atingir o nível mínimo, previamente estabelecido, um pedido deve ser, automaticamente gerado. Este pedido contém informações sobre a concessionária, bem como sobre as peças que estão sendo encomendadas.

As informações sobre o pedido são criptografadas, para garantir a segurança, e o pedido é enviado, através da Internet, para o fornecedor da peça. Dentro de um prazo preestabelecido, a peça é entregue, evitando que esta falte no estoque.

Observe que, neste caso, existe uma troca de informações entre as Concessionárias e os Fornecedores. Para que possa haver esta troca de informações, os sistemas das duas empresas devem ser capazes de trocar dados em um formato comum. Com isso as empresas serão capazes de fazer negócios através da Internet. No Capítulo 12, falaremos um pouco sobre o XML – eXtensible Markup Language, que pode ser utilizada para a troca de informações em um formato padrão, o qual está sendo cada vez mais adotado na Internet e também nos sistemas internos das empresas.

Poderíamos introduzir mais algumas questões, que complicariam um pouco mais a infra-estrutura necessária para a realização do B2B. Por exemplo, ao invés de comprar uma determinada peça, sempre do mesmo fornecedor, pode ser que o sistema deva ser capaz de enviar o pedido para vários fornecedores, e selecionar aquele que fizer a melhor oferta, tanto em termos de preço quanto de prazo de entrega. Neste caso, a concessionária lança o pedido no seu site e aguarda as propostas dos fornecedores. Após recebidas as respostas, uma delas é selecionada. Este parece ser um sistema de leilão ao contrário, ou seja, o comprador anuncia que está precisando de um determinado produto, e os fornecedores esforçam-se para fazer a melhor oferta, dentro do prazo máximo estipulado pelo cliente. Esta forma de fazer compras é conhecida como e-procurement. Em determinados casos, a lista de propostas está disponível para todos os fornecedores, isto é, se um fornecedor “A” fez uma proposta, depois ao consultar a lista, viu que um fornecedor “B” fez uma proposta melhor do que a sua; o fornecedor “A” pode alterar a sua proposta, dentro de um período de tempo estipulado pelo comprador, no nosso caso, a concessionária.

Vejam que mesmo no sistema de B2B, a lógica tem sido revertida em favor do Cliente, isto é, os fornecedores é que disputam o cliente, através de boas ofertas, preços competitivos e prazos adequados de entrega.

Porém, a criação de sistemas deste tipo é uma tarefa complexa. A todo o momento temos acesso a informações do Bancos de Dados, questões de segurança no acesso às informações, além de uma lógica bastante complexa.

Mais uma vez reforço que o Microsoft SQL Server 2005 nos oferece uma série de recursos interessantes para a criação de aplicações de alta complexidade, como as descritas nos exemplos deste capítulo.

Vamos introduzir mais alguns detalhes no nosso exemplo. Pode ser que, além de fazer o pedido, a concessionária, uma vez aprovada a compra, deva fazer o pagamento do pedido, através de uma transação on-line. O pagamento pode ser feito, por exemplo, através de uma transferência da conta corrente da concessionária para a conta corrente do fornecedor. Neste ponto, precisamos introduzir o conceito de transação.

Uma transação, de uma maneira bastante simples, é um conjunto de operações sobre os dados, que deve acontecer com um todo, ou seja, todas as operações contidas na transação devem ser finalizadas com sucesso, ou nenhuma delas deve ser realizada. Caso uma das operações, contida na transação, falhe, as operações ainda pendentes devem ser canceladas; e as operações já realizadas devem ser revertidas. Com isso garantimos que a transação aconteça como um todo, ou que nenhuma das operações contidas na transação, seja realizada.

Para entender, na prática, o conceito de transações, vamos voltar ao exemplo anterior. Ao efetuar um pagamento, o sistema deve transferir valores da conta corrente da concessionária para a do fornecedor. Estas duas ações devem acontecer no contexto de uma transação, conforme indicado a seguir:

Início da Transação

      Ação 1: Debita o valor da conta corrente da Concessionária.
      Ação 2: Credita o valor na conta corrente do Fornecedor.

Final da Transação.

A primeira ação efetua o débito na conta corrente da Concessionária. Vamos supor que a Ação 1 ocorra com sucesso, porém na hora de fazer o crédito na conta corrente do Fornecedor, ocorra um problema, o que devemos fazer? O valor deve ser estornado para a conta da Concessionária, ou seja, a Ação 1 deve ser revertida, uma vez que nem todas as ações dentro da transação puderem ser concluídas com êxito. Vejam a importância do conceito de transação pois, neste caso, se não usássemos transação, o valor seria debitado da conta corrente da Concessionária, sem ser creditado na conta corrente do fornecedor.

Fundamentos em Arquitetura de Aplicações:

Pré-Requisitos:

  • Conhecimento da complexidade no desenvolvimento e manutenção de aplicações para a Internet.

Metodologia:

  • Apresentação dos modelos e comparação entre eles.

Embora utilizamos o exemplo de Comércio Eletrônico, CRM, e-procurement, etc., como situações onde o Banco de Dados desempenha um papel fundamental, hoje em dia, com o aumento da complexidade das redes de computadores baseadas em PCs, existe uma tendência bastante acentuada em favor do desenvolvimento de aplicações que seguem o modelo Web. São aplicações que são acessadas através de um Navegador. Neste tópico, iremos falar um pouco sobre aplicações Cliente/Servidor tradicionais e os problemas deste tipo de modelo. Falaremos sobre aplicações de duas, três ou n camadas, e as vantagens destas últimas em relação ao modelo Cliente/Servidor tradicional.

« Capítulo anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2025 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI