<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/papers_ng/media/xsl/en/activity_view.xsl" type="text/xsl"?>
<response base="http://verdi.softwarelivre.org/papers_ng" path="/papers_ng/activity/view" query="activity_id=434" lang="en">
  <activity id="434" frozen="True" main="491">
    <title>Locaweb + Spree: transformando c&#243;digo aberto em um projeto comercial</title>
    <abstract>Os desafios, benef&#237;cios, dificuldades e li&#231;&#245;es aprendidas que a equipe de desenvolvimento de SaaS da Locaweb teve na utiliza&#231;&#227;o do Spree, uma plataforma de com&#233;rcio eletr&#244;nico de c&#243;digo aberto, como base de seu novo sistema de loja virtual multi-usu&#225;rio, desenvolvido em Ruby on Rails. O poder e o dinamismo do Ruby tiveram destaque, com grande utiliza&#231;&#227;o de metaprogramacao nas extens&#245;es do Spree. </abstract>
    <descr>A necessidade do departamento de SaaS da Locaweb era substituir um sistema legado de loja virtual por um novo sistema mais confi&#225;vel, extens&#237;vel, escal&#225;vel, f&#225;cil de dar manuten&#231;&#227;o e com menos custo.&#13;
&#13;
A primeira alternativa era construir uma nova ferramenta a partir do zero, tirando proveito do conhecimento e experi&#234;ncia que a equipe de desenvolvimento de Com&#233;rcio Eletr&#244;nico tem sobre o modelo de neg&#243;cio. Em contrapartida, havia um grande desejo de se entregar o projeto em um tempo curto, com uma vers&#227;o inicial simplificada e, a partir do "feedback" dos usu&#225;rios, evoluir as funcionalidades da ferramenta com ela j&#225; em produ&#231;&#227;o.&#13;
&#13;
A equipe de SaaS tomou a decis&#227;o de criar sua nova plataforma de loja virtual multi-usu&#225;rio utilizando como base um sistema com&#233;rcio eletr&#244;nico de c&#243;digo aberto chamado Spree.&#13;
&#13;
O Spree &#233; uma plataforma completa de com&#233;rcio eletr&#244;nico, desenvolvida em Ruby on Rails, cujo projeto &#233; um dos mais "forkados" no Github. Esse sistema tem uma caracter&#237;stica de extensibilidade que facilita qualquer tipo de customiza&#231;&#227;o necess&#225;ria.&#13;
&#13;
Iremos mostrar como foi o processo de cria&#231;&#227;o desse novo sistema da Locaweb:&#13;
- Utiliza&#231;&#227;o de metodologias &#225;geis e programa&#231;&#227;o extrema (XP)&#13;
- Aplica&#231;&#227;o de TDD e BDD com RSpec e Cucumber&#13;
- Adapta&#231;&#227;o da equipe para programar em um nova linguagem (Ruby)&#13;
- Como trabalhar com extens&#245;es do Spree&#13;
- Uso massivo de metaprograma&#231;&#227;o em Ruby necess&#225;rio para customizar o Spree&#13;
- Uma maneira de utilizar metaprograma&#231;&#227;o nas extens&#245;es do Spree, diferente do que a comunidade costuma fazer&#13;
- A necessidade de utilizar v&#225;rias gems necess&#225;rias para o Spree, como state machine e active merchant&#13;
- Constru&#231;&#227;o de um ambiente de integra&#231;&#227;o cont&#237;nua (CI)&#13;
- Integra&#231;&#227;o com outros sistemas internos e externos&#13;
- Adapta&#231;&#227;o para os meios de pagamentos nacionais&#13;
- A introdu&#231;&#227;o da equipe ao "mundo do software livre"&#13;
- Os desafios de conhecer e customizar um sistema existente&#13;
- Os pr&#243;s e contras de se utilizar um sistema de c&#243;digo aberto&#13;
- As contribui&#231;&#245;es que iremos fazer ao Spree&#13;
- O que vem pela frente&#13;
</descr>
    <size>1</size>
    <auth_video>False</auth_video>
    <language value="pt">portugu&#234;s</language>
    <authors>
      <person id="491">
        <name>Fernando Hamasaki de Amorim</name>
        <organization>Locaweb</organization>
        <curriculum>Trabalho desde 2000 com Desenvolvimento Web, onde comecei com HTML, JavaScritpt, juntamente com transmiss&#245;es ao vivo e sobre demanda na Internet.&#13;
&#13;
Fiz bastante coisas legais com ASP e em paralelo desenvolvi em PHP, Action Script e Java. A partir de 2004 me especializei em .NET e ASP.NET. &#13;
&#13;
Atualmente atuo como desenvolvedor s&#234;nior na equipe de SaaS da Locaweb, utilizando Ruby e Ruby on Rails para criar sistemas de com&#233;rcio eletr&#244;nico.&#13;
&#13;
Tamb&#233;m sou p&#243;s-graduado em Tecnologias Web pela FIAP.&#13;
</curriculum>
        <photo></photo>
        <city id="4826" with-state="SAO PAULO - SP">
          <state>SP</state>
          <name>SAO PAULO</name>
          <latitude>-23.5483</latitude>
          <longitude>-46.6358</longitude>
        </city>
        <cpf>16423279802</cpf>
        <passport></passport>
        <country id="30">
          <name>Brasil</name>
          <cctld>BR</cctld>
          <iso>76</iso>
        </country>
        <admin>False</admin>
        <tags/>
        <authorship id="484">
          <involvement value="developer">desenvolvedor</involvement>
          <confirmed>True</confirmed>
          <main>True</main>
        </authorship>
      </person>
    </authors>
    <tags/>
    <resources/>
    <main id="491">
      <name>Fernando Hamasaki de Amorim</name>
    </main>
  </activity>
</response>
