{"id":3951,"date":"2016-11-06T21:36:44","date_gmt":"2016-11-06T21:36:44","guid":{"rendered":"http:\/\/www.teo.com.br\/?p=3951"},"modified":"2016-11-06T21:36:44","modified_gmt":"2016-11-06T21:36:44","slug":"arquitetura-generica-de-e-commerce-ou-paginas-web","status":"publish","type":"post","link":"https:\/\/teo.com.br\/noticias\/2016\/11\/06\/arquitetura-generica-de-e-commerce-ou-paginas-web\/","title":{"rendered":"Arquitetura gen\u00e9rica de E-commerce  ou p\u00e1ginas Web"},"content":{"rendered":"<p>A forma de representar uma arquitetura de um e-commerce ou p\u00e1ginas Web, de forma gen\u00e9rica, \u00e9 entre 3 camadas. Esta caracter\u00edstica de distribui\u00e7\u00e3o qualifica-se como: Camada 1 &#8211; Apresenta\u00e7\u00e3o; Camada 2 &#8211; Regras de Neg\u00f3cio e Camada 3 &#8211; Camada de Dados. Para o usu\u00e1rio final que est\u00e1 no Browser s\u00e3o ocultas todas as camadas, exceto a primeira.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3952\" src=\"http:\/\/www.teo.com.br\/wp-content\/uploads\/2016\/11\/1-1.jpg\" alt=\"1\" width=\"584\" height=\"417\" \/><\/p>\n<p>Modelagem de Dados<\/p>\n<p>As ferramentas de desenvolvimento de um website ou e-commerce distinguem-se em 7<br \/>\ncategorias :<br \/>\n1) <strong>Modelagem UML<\/strong><br \/>\nA modelagem Unified Modeling Language \u00e9 uma nota\u00e7\u00e3o de diagramas que documenta e<br \/>\nespecifica os modelos de software orientados a objetos. Seguindo do UML, a mesma comp\u00f5e<br \/>\ndiversos aspectos e formas de visualizar um sistema. Dentre as formas, destacamos as mais<br \/>\ncomuns como:<\/p>\n<p>(a) Diagrama de Casos de Uso &#8211; mostra a intera\u00e7\u00e3o dos usu\u00e1rios entre as<br \/>\nfuncionalidades do sistema.<br \/>\n(b) Diagrama de Classes &#8211; mostra a intera\u00e7\u00e3o e o relacionamento entre as classes do sistema.<br \/>\n(c) Diagrama de Sequ\u00eancia &#8211; mostra as trocas de mensagens entre os m\u00e9todos do sistema.<br \/>\n(d) Diagrama de Estado &#8211; mostra o ciclo de vida de um objeto no sistema, focando quando<br \/>\no mesmo \u00e9 iniciado e terminado, e as intera\u00e7\u00f5es que mudam seu estado atual.<\/p>\n<p>&nbsp;<\/p>\n<p>2) <strong>Modelagem de Dados<\/strong><\/p>\n<p>A modelagem de Dados projeta o Banco de Dados, no qual, atrav\u00e9s das ferramentas<br \/>\ncitadas abaixo, \u00e9 gerado o c\u00f3digo SQL (Structured Query Language) que \u00e9 instalado na<br \/>\nferramenta SGBD. O Banco de Dados \u00e9 projetado, valendo se dos conceitos de E-R (Entidade<br \/>\ne Relacionamento) ou Diagrama de Classes no padr\u00e3o da UML, as principais caracter\u00edsticas das<br \/>\nentidades s\u00e3o: nome, atributo e tipo de dado e relacionamento entre outras entidades.<\/p>\n<p>As principais ferramentas s\u00e3o:<br \/>\nMySQL Work Bench <a href=\"http:\/\/dev.mysql.com\/downloads\/tools\/workbench\/\">http:\/\/dev.mysql.com\/downloads\/tools\/workbench\/<\/a><br \/>\nDBDesigner 4 <a href=\"http:\/\/www.fabforce.net\/dbdesigner4\/\">http:\/\/www.fabforce.net\/dbdesigner4\/<\/a><br \/>\nErwin <a href=\"http:\/\/erwin.com\/worldwide\/portuguese-brazil\">http:\/\/erwin.com\/worldwide\/portuguese-brazil<\/a><br \/>\nOpen ModelSphere <a href=\"http:\/\/modelsphere.org\/\">http:\/\/modelsphere.org\/<\/a><\/p>\n<p>Tabela \u2013 Sistemas de Modelagem de dados dispon\u00edveis para download<\/p>\n<p>a) <strong>Sistema de Gerenciamento de Banco de Dados (SGBD)<\/strong><br \/>\nA ferramenta SGBD \u00e9 o software que prov\u00ea o servi\u00e7o e o gerenciamento de Banco de Dados<br \/>\ndo sistema.<\/p>\n<p>As principais ferramentas s\u00e3o:<br \/>\nMySQL <a href=\"http:\/\/dev.mysql.com\/downloads\/\">http:\/\/dev.mysql.com\/downloads\/<\/a><br \/>\nPostGreeSQL <a href=\"http:\/\/www.postgresql.org\/download\/\">http:\/\/www.postgresql.org\/download\/<\/a><br \/>\nApache Derby <a href=\"http:\/\/db.apache.org\/derby\/derby_downloads.html\">http:\/\/db.apache.org\/derby\/derby_downloads.html<\/a><\/p>\n<p>Tabela \u2013 SGBD\u00b4S dispon\u00edveis para download<\/p>\n<p>3)<strong> Ambiente Integrado de Desenvolvimento ou IDE<\/strong><\/p>\n<p>O IDE (Integrated Development Environment) \u00e9 um software que facilita a programa\u00e7\u00e3o<br \/>\npropriamente dita, intimamente ligada \u00e0 linguagem de programa\u00e7\u00e3o, pois cada linguagem<br \/>\nde programa\u00e7\u00e3o, geralmente, tem seu IDE. Em certos casos n\u00e3o possui. Existem linguagens<br \/>\nde programa\u00e7\u00e3o que permitem escrever no Bloco de Notas e utilizar outros programas como<br \/>\nCompiladores ou Interpretadores para gerar o programa.<br \/>\nAs principais ferramentas s\u00e3o:<br \/>\nEclipse <a href=\"http:\/\/www.eclipse.org\/downloads\/\">http:\/\/www.eclipse.org\/downloads\/<\/a><br \/>\nNetbeans <a href=\"https:\/\/netbeans.org\/\">https:\/\/netbeans.org\/<\/a><br \/>\nVisual Studio <a href=\"http:\/\/www.microsoft.com\/visualstudio\/pt-br\/download\">http:\/\/www.microsoft.com\/visualstudio\/pt-br\/download<\/a><br \/>\nSharpDevelop <a href=\"http:\/\/www.icsharpcode.net\/opensource\/sd\/\">http:\/\/www.icsharpcode.net\/opensource\/sd\/<\/a><br \/>\nTabela \u2013 IDE\u00b4s dispon\u00edveis para download<\/p>\n<p>(a) <strong>Linguagem de marca\u00e7\u00e3o<\/strong>: antes de iniciar alguma linguagem de programa\u00e7\u00e3o para<br \/>\na Web, \u00e9 primordial iniciarmos o HTML (HyperText Markup Language), ou Linguagem de<br \/>\nMarca\u00e7\u00e3o de Hipertexto, que \u00e9 composto pelos s\u00edmbolos &lt; e &gt;, que s\u00e3o chamados de tags.<br \/>\nEssa linguagem de marca\u00e7\u00e3o de conte\u00fado\u00a0\u00e9 um conjunto de c\u00f3digos por meio do qual<br \/>\no Navegador ou Browser (exemplo: Google\u00a0Chrome) tem o primeiro contato com o<br \/>\nwebsite; geralmente \u00e9 por onde se inicia o\u00a0conte\u00fado e a forma de expor esse conte\u00fado.<br \/>\nNo exemplo ao lado, \u00e9 mostrado o texto\u00a0\u201cOl\u00e1 Mundo\u201d no Browser.<\/p>\n<p>(b) <strong>Linguagens de Programa\u00e7\u00e3o Web:<\/strong> linguagens de programa\u00e7\u00e3o s\u00e3o instru\u00e7\u00f5es<br \/>\ngravadas no computador que executa estas instru\u00e7\u00f5es, transformando estas instru\u00e7\u00f5es em<br \/>\ntarefas computacionais. Existe uma infinidade de linguagens de progra-ma\u00e7\u00e3o, mas, para a<br \/>\nWeb, temos algumas. A escolha das linguagens de programa\u00e7\u00e3o n\u00e3o influencia o e-commerce,<br \/>\npois, para o cliente ou usu\u00e1rio que ir\u00e1 navegar no sistema Web, \u00e9 totalmente impercept\u00edvel a<br \/>\nprograma\u00e7\u00e3o do website.<br \/>\nAo utilizar uma linguagem de programa\u00e7\u00e3o, o desenvolvedor abre o leque, literalmente, do<br \/>\nsoftware, transformando um Website apenas de conte\u00fado est\u00e1tico \u00e0 um Website interativo<br \/>\ncom um simples formul\u00e1rio ou um grande sistema com diversos relat\u00f3rios, consultas,<br \/>\ncadastros, mensagens etc.<br \/>\nCostumeiramente, para Internet, o que define a escolha da linguagem s\u00e3o dois aspectos: (1) o<br \/>\ndom\u00ednio do web developer e (2) o servidor possuir o Servidor de Aplica\u00e7\u00e3o (ou middleware)<br \/>\ncorrespondente \u00e0 linguagem de programa\u00e7\u00e3o escolhida.<br \/>\nAcima vimos um exemplo de comandos em HTML que se inicia com a frase \u201cOl\u00e1 Mundo\u201d.<br \/>\nTamb\u00e9m seguem exemplos de como ficaria essa mesma frase em algumas outras linguagens.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3953\" src=\"http:\/\/www.teo.com.br\/wp-content\/uploads\/2016\/11\/1-2.jpg\" alt=\"1\" width=\"473\" height=\"468\" \/><\/p>\n<p>Algumas Linguagens de programa\u00e7\u00e3o Web s\u00e3o:<br \/>\n1. PHP (Hypertext Preprocessor)<br \/>\n2. JSP (JavaServer Pages)<br \/>\n3. C Sharp ou C #<br \/>\n4. ASP (Active Server Pages)<br \/>\n5. Python<br \/>\n6. Pear<\/p>\n<p>&nbsp;<\/p>\n<p>4) Web Server ou HTTP Server<br \/>\nS\u00e3o softwares da categoria middleware que recebem uma requisi\u00e7\u00e3o HTTP request<br \/>\ndiretamente do Browser ou do Navegador, e que distribuem o que \u00e9 solicitado por HTTP<br \/>\nresponse. Geralmente esse software j\u00e1 vem instalado em Sistemas Operacionais Servidores,<br \/>\ncomo Linux, Unix, Novell e Microsoft Windows Server.<\/p>\n<p>5) <strong>Frameworks<\/strong><br \/>\nS\u00e3o cole\u00e7\u00f5es de c\u00f3digos-fonte,bibliotecas de funcionalidades abstratas ou aplica\u00e7\u00f5es que<br \/>\nfacilitam o servi\u00e7o do programador em rela\u00e7\u00e3o \u00e0 produ\u00e7\u00e3o de c\u00f3digos.<br \/>\nHibernate <a href=\"http:\/\/www.hibernate.org\/downloads\">http:\/\/www.hibernate.org\/downloads<\/a><br \/>\nStruts <a href=\"http:\/\/struts.apache.org\/download.cgi\">http:\/\/struts.apache.org\/download.cgi<\/a><br \/>\nSpring Source <a href=\"http:\/\/www.springsource.org\/spring-framework\">http:\/\/www.springsource.org\/spring-framework<\/a><br \/>\nCodeIgniter <a href=\"http:\/\/ellislab.com\/codeigniter\/user-guide\/installation\/downloads.html\">http:\/\/ellislab.com\/codeigniter\/user-guide\/installation\/downloads.html<\/a><br \/>\nTabela \u2013 Frameworks dispon\u00edveis para download<\/p>\n<p>6) <strong>Middleware<\/strong><br \/>\nDe forma geral, s\u00e3o softwares que est\u00e3o entre as camadas de Rede e de Aplica\u00e7\u00e3o ou entre<br \/>\no Sistema Operacional e outros programas. Na Unidade anterior, vimos que o Certificado de<br \/>\nAutentica\u00e7\u00e3o faz com que as conex\u00f5es sejam criptografadas em um e-commerce. Esse \u00e9 um<br \/>\nexemplo de Middleware<\/p>\n<p>Seu uso vai muito al\u00e9m do que participar de um servidor. Com o Middleware, pode-se<br \/>\nter v\u00e1rios sistemas em diferentes servidores e ter relacionamento entre eles. Atrav\u00e9s de API\u00b4s<br \/>\n(Interface de Programa\u00e7\u00e3o de Aplicativos), v\u00e1rios programas podem utiliz\u00e1-lo. Serve tamb\u00e9m<br \/>\npara tarefas como computa\u00e7\u00e3o distribu\u00edda, persist\u00eancia, autoriza\u00e7\u00f5es, identifica\u00e7\u00f5es, controle de<br \/>\ndiret\u00f3rios, certificados digitais entre outros.<br \/>\nUma das aplica\u00e7\u00f5es encontradas no Microsoft Windows, quando falamos de Middleware, \u00e9<br \/>\no ODBC (Open Database Connectivity). Esse driver (na figura abaixo) faz a comunica\u00e7\u00e3o entre<br \/>\nalguns Bancos de Dados e softwares. Nesse driver \u00e9 direcionado o caminho do Banco de Dados<br \/>\ne o software se comunica com ele. Observe, na aba \u201cDrivers\u201d da figura abaixo, alguns Bancos<br \/>\nde Dados pr\u00e9-configurados. Caso haja necessidade de um Banco de Dados que n\u00e3o esteja<br \/>\ndispon\u00edvel nesse local, pode ser instalada uma esp\u00e9cie de \u201catualiza\u00e7\u00e3o\u201d para a comunica\u00e7\u00e3o.<\/p>\n<p>Destaco os Middlewares abaixo:<br \/>\nJDBC <a href=\"http:\/\/www.oracle.com\/technetwork\/database\/enterprise-edition\/jdbc-\">http:\/\/www.oracle.com\/technetwork\/database\/enterprise-edition\/jdbc-<\/a><br \/>\n112010-090769.html<br \/>\nCorba <a href=\"http:\/\/www.omg.org\/technology\/corba\/corbadownloads.htm\">http:\/\/www.omg.org\/technology\/corba\/corbadownloads.htm<\/a><br \/>\nJBoss ESB <a href=\"http:\/\/www.jboss.org\/projects\">http:\/\/www.jboss.org\/projects<\/a><br \/>\nGinga <a href=\"http:\/\/www.ginga.org.br\/\">http:\/\/www.ginga.org.br\/<\/a><br \/>\nTabela \u2013 Middlewares dispon\u00edveis para download<\/p>\n<p>a) <strong>Servidor de Aplica\u00e7\u00e3o<\/strong><br \/>\nUm exemplo de funcionalidade seria receber o endere\u00e7o de uma p\u00e1gina do usu\u00e1rio e envi\u00e1-<br \/>\nlo \u00e0 p\u00e1gina que foi solicitada. Por\u00e9m a forma como se d\u00e1 essa execu\u00e7\u00e3o \u00e9 mais complexa, pois<br \/>\nesse mesmo servidor de aplica\u00e7\u00e3o \u00e9 respons\u00e1vel pela execu\u00e7\u00e3o dos c\u00f3digos das Linguagens de<br \/>\nPrograma\u00e7\u00e3o contidas nas p\u00e1ginas solicitadas, em outras palavras \u00e9 esta aplica\u00e7\u00e3o que \u201croda\u201d<br \/>\na linguagem de programa\u00e7\u00e3o. Nesse aspecto, aumentam muito as possibilidades de recursos do<br \/>\nsistema, o Servidor de Aplica\u00e7\u00e3o permite tamb\u00e9m o envio e recebimento de e-mails, transa\u00e7\u00f5es\u00a0comerciais e acesso ao Banco de Dados online.<\/p>\n<p>Alguns servidores de Aplica\u00e7\u00e3o:<br \/>\nGlassFish <a href=\"https:\/\/glassfish.java.net\/\">https:\/\/glassfish.java.net\/<\/a><br \/>\nTomCat <a href=\"http:\/\/tomcat.apache.org\/\">http:\/\/tomcat.apache.org\/<\/a><br \/>\nIIS <a href=\"http:\/\/www.iis.net\/\">http:\/\/www.iis.net\/<\/a><br \/>\nJBoss <a href=\"http:\/\/www.jboss.org\/overview\/\">http:\/\/www.jboss.org\/overview\/<\/a><br \/>\nTabela \u2013 Servidores de Aplica\u00e7\u00f5es dispon\u00edveis para download<\/p>\n<p>7) <strong>Plataformas<\/strong><br \/>\nS\u00e3o programas de c\u00f3digo-fonte de e-commerce que s\u00e3o disponibilizados pelas empresas<br \/>\nou desenvolvidos de forma particular. Temos plataformas caracterizadas por 4 categorias de<br \/>\ndesenvolvimento e distribui\u00e7\u00e3o:<br \/>\n(1) gratuitamente, pela Internet, atrav\u00e9s da licen\u00e7a Open Source (C\u00f3digo aberto);<br \/>\n(2) loca\u00e7\u00e3o, que o Administrador usa conforme contrato mensal ou gratuito;<br \/>\n(3) desenvolvimento pr\u00f3prio, em que a empresa opta por desenvolver um e-commerce<br \/>\nparticular e fechado que atenda a suas necessidades;<br \/>\n(4) de forma agregada, ou seja, um e-commerce \u201cfilho\u201d \u00e9 agregado a um e-commerce<br \/>\nmaior \u201cpai\u201d, em que se distribuem alguns dos produtos do \u201cpai\u201d para o \u201cfilho\u201d, tendo ambos<br \/>\no mesmo suporte, por\u00e9m layout e nome de site diferentes.<br \/>\nAbaixo apresentamos alguns e-commerces gen\u00e9ricos, que podem ser baixados e alterados<br \/>\npara uso.<br \/>\nOscommerce<a href=\"http:\/\/www.oscommerce.com\/\"> http:\/\/www.oscommerce.com\/<\/a><br \/>\nPrestashop <a href=\"http:\/\/www.prestashop.com\/pt\/baixar\">http:\/\/www.prestashop.com\/pt\/baixar<\/a><br \/>\nMagento <a href=\"http:\/\/www.magentocommerce.com\/pt_BR\">http:\/\/www.magentocommerce.com\/pt_BR<\/a><br \/>\nAlgozone <a href=\"http:\/\/www.algozone.com\/free-oscommerce-downloads.php\">http:\/\/www.algozone.com\/free-oscommerce-downloads.php<\/a><br \/>\nTemplatemonster <a href=\"http:\/\/www.templatemonster.com\/\">http:\/\/www.templatemonster.com\/<\/a><br \/>\nTabela \u2013 Plataformas dispon\u00edveis para download<\/p>\n<p>&nbsp;<\/p>\n<p>Ferramentas para Desenvolvimento na Web e Servidores:<br \/>\n<a href=\"http:\/\/www.dsc.ufcg.edu.br\/~garcia\/cursos\/ecomm\/apresentacoes\/arquitetura-ecommerce.ppt\">www.dsc.ufcg.edu.br\/~garcia\/cursos\/ecomm\/apresentacoes\/arquitetura-ecommerce.ppt<\/a><br \/>\nSaiba mais sobre Middleware:<br \/>\n<a href=\"http:\/\/www.dimap.ufrn.br\/~flavia.delicato\/Middleware_aula1.pdf\">http:\/\/www.dimap.ufrn.br\/~flavia.delicato\/Middleware_aula1.pdf<\/a><br \/>\nDesenvolvimento na Web com Softwares Livre:<br \/>\n<a href=\"http:\/\/www.slideshare.net\/givanaldo\/desenvolvimento-web-com-software-livre\">http:\/\/www.slideshare.net\/givanaldo\/desenvolvimento-web-com-software-livre<\/a><br \/>\nLinguagens de Programa\u00e7\u00e3o: PHP<br \/>\n<a href=\"http:\/\/php.net\/manual\/pt_BR\/index.php\">http:\/\/php.net\/manual\/pt_BR\/index.php<\/a><br \/>\nLinguagens de Programa\u00e7\u00e3o: JSP (Muito BOM)<br \/>\n<a href=\"http:\/\/www.devmedia.com.br\/introducao-ao-java-server-pages-jsp\/25602\">http:\/\/www.devmedia.com.br\/introducao-ao-java-server-pages-jsp\/25602<\/a><br \/>\nExemplos de c\u00f3digo em C# e Asp.NET<br \/>\n<a href=\"http:\/\/www.w3schools.com\/aspnet\/webpages_examples.asp\">http:\/\/www.w3schools.com\/aspnet\/webpages_examples.asp<\/a><br \/>\nUML<br \/>\n<a href=\"http:\/\/docs.kde.org\/stable\/pt_BR\/kdesdk\/umbrello\/uml-elements.html#use-case-diagram\">http:\/\/docs.kde.org\/stable\/pt_BR\/kdesdk\/umbrello\/uml-elements.html#use-case-diagram<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A forma de representar uma arquitetura de um e-commerce ou p\u00e1ginas Web, de forma gen\u00e9rica, \u00e9 entre 3 camadas. Esta caracter\u00edstica de distribui\u00e7\u00e3o qualifica-se como: Camada 1 &#8211; Apresenta\u00e7\u00e3o; Camada&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[14,11,113,179,180,114],"class_list":["post-3951","post","type-post","status-publish","format-standard","hentry","category-adwords","tag-e-commerce","tag-magento","tag-mysql","tag-php","tag-prestashop","tag-sgbd"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/posts\/3951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/comments?post=3951"}],"version-history":[{"count":0,"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/posts\/3951\/revisions"}],"wp:attachment":[{"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/media?parent=3951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/categories?post=3951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teo.com.br\/noticias\/wp-json\/wp\/v2\/tags?post=3951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}