quarta-feira, 23 de julho de 2014

Dissertação - Resumo

Durante a execução dos projetos de software, muitos dados precisam ser coletados, armazenados e analisados para apoiar decisões tanto no contexto dos projetos quanto da organização. A medição de software é prática fundamental para o gerenciamento de projetos e para a melhoria de processos e está presente nos principais modelos e padrões de melhoria de processos de software, como a ISO/IEC 12207 (ISO/IEC, 2008), o CMMI (Capability Maturity Model Integration) (SEI, 2010) e o MR MPS.BR (Modelo de Referência para Melhoria do Processo de Software) (SOFTEX, 2012). Em modelos que tratam a melhoria de processos em níveis, tais como o CMMI e o MR MPS.BR, a medição é introduzida nos níveis iniciais (nível 2 do CMMI e nível F do MR MPS.BR) e evolui à medida que a maturidade dos processos aumenta. Na alta maturidade, caracterizada nos níveis 4 e 5 do CMMI e B e A do MR MPS.BR, a medição evolui, sendo necessário realizar o controle estatístico dos processos (CEP). Para realizar a medição de software de forma efetiva, é necessária uma infraestrutura computacional para apoiar a coleta, o armazenamento e a análise de medidas. Nesse sentido, este trabalho propõe uma arquitetura de referência para medição de software, que considera tanto a medição tradicional quanto em alta maturidade. A arquitetura proposta é independente de plataforma e foi definida com base na Ontologia de Referência para Medição de Software (BARCELLOS, 2009). Ela pode ser utilizada como base para a definição de arquiteturas específicas para soluções computacionais que apoiem o processo de medição de software.

Palavras-chave: Medição de Software, Controle Estatístico de Processos, Arquitetura de Referência, Alta Maturidade.

sexta-feira, 18 de julho de 2014

Descomplicando o VoIP #03 (cenário base)

Vamos aprender a montar uma solução  VoIP completa! Uma visão geral dos elementos dessa solução podem ser vistas na figura abaixo:

 
Uma leitura da figura de cima pra baixo da esquerda pra direita: a operadora de telefonia vai fornecer 1 tronco digital E1 e duas linhas analógicas, repare que dois fios vão para o modem E1 da operadora e 4 fios (duas linhas analógicas) vão direto para o gateway FXO. Dependendo do modem que a operadora colocar, pode ser necessário o uso do Balun (converte a saída do modem para o padrão de cabo de rede), e do balun se conecta na posta E1 do redfone (gateway E1). O gateway E1 está conectado diretamente com o servidor (Elastix), de uma interface ethernet do gateway a uma interface de rede dedicada no servidor. O servidor tem duas placas de rede, uma para se comunicar com o gateway E1 e outra para a rede local. O redfone utiliza o padrão TDMoE, o que dificulta a virtualização. O mais recomendado é usar um gateway SIP. Para virtualizar com o redfone seria recomendado o uso do software VGate +- R$ 600,00 e funciona com o VMWare. O gateway FXO disponibiliza na rede o acesso as linhas analógicas. O servidor se comunica via tronco SIP com o gateway FXO e tronco DAHDI com o gateway E1. Os telefones (GXP-1200), ATAs (HT 502) e softphones (PC e smartphone) se comunicam pela rede local com o servidor.

Próximo post, configuração do servidor Elastix.

quinta-feira, 17 de julho de 2014

Off Topic: Consulta de preço de carro

Recomendo esse site para verificar quanto está valendo o carro de acordo com a tabela fipe: autofipe.com.
O legal é que ele apresenta de forma gráfica todo o histórico de preços em gráfico.

Tabela Fipe - preço de carro novo, usado e seminovo


Montando um webhosting na tela preta

Fiz um post mostrando como montar um servidor webhosting com o ZPanel. Mas usar o apache,  php, mysql puramente também pode atender muito bem vários casos. 

O servidor web agora vai ser feito em cima de um Ubuntu 14.04 e vamos fazer configurações para virtual host, urls amigáveis e segurança.

Vamos aos comandos:

Atualiza o apt-get
# apt-get update

Instala o básico (apache, php e mysql)
# sudo apt-get install apache2 php5 php5-mysql mysql-client mysql-server

Eu gosto de usar o vim (editor de texto) , então instalei
# apt-get install vim  

Crie o arquivo de configuração com base no default
# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/seusite.conf

 Edite o arquivo
# vim /etc/apache2/sites-available/seusite.conf   

O arquivo ficou assim (sem os comentários):

<VirtualHost *:80>
    ServerName seusite.com
    ServerAlias www.seusite.com

    ServerAdmin contato@seusite.com
    DocumentRoot /var/www/seusite

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

O arquivo foi configurado para usar virtual host.

É criado um link para na pasta de sites habilitados para tornar o site disponível no apache
# ln -s /etc/apache2/sites-available/seusite.conf /etc/apache2/sites-enabled/seusite.conf

Para aplicar as novas configurações o serviço pode ser reiniciado ou apenas dar um reload (no lugar do restart)
# service apache2 restart

Por escolha minha gosto de instalar o phpMyAdmin também
# apt-get install phpmyadmin 

Por segurança recomendo mudar o endereço padrão (o Alias no inicio do arquivo)
# vim /etc/phpmyadmin/apache.conf 

É comum atualmente utilizar urls amigáveis, isso é facilmente resolvido habilitando o modulo de reescrita de url
# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Depois basta habilitar no seu virtualhost
# vim /etc/apache2/sites-available/seusite.conf

Colocar em baixo do DocumentRoot

  <Directory "/var/www/seusite">
        AllowOverride All
  </Directory>

Depois crie um arquivo .htaccess na pasta do seusite com suas regra. Abaixo coloquei um arquivo simples de exemplo com duas regras:

RewriteEngine On

#remove o index.html
RewriteRule ^index\.html$ / [R=301,L]

#altera seusite.com/sobre.html para seusite.com/sobre
RewriteRule ^sobre$ /var/www/seusite/sobre.html

Para aumentar a segurança no server, recomendo adicionar ao arquivo /etc/apache2/apache2.conf
as duas linhas abaixo para não exibir as informações do server:
ServerSignature Off
ServerTokens Prod

Até a próxima..

Montando um webhosting com ZPanel

Esse "tutorial" é destinado a quem queira montar o próprio servidor Web linux, mas não pretende ficar mexendo muito no terminal. O ZPanel é uma excelente escolha pra quem pretende montar um serviço de webhosting. Também fiz um post onde mostro a montagem de um servidor web sem usar o zpanel, no puro terminal, caso prefira, de um conferida.

Então vamos...

Minha base é um um Ubuntu Server 12.04 zerado (ainda não está homologado para versões mais LTS mais recentes). A partir daí, o primeiro passo é instalar o ZPanel. Instruções do link http://www.zpanelcp.com/download/. Basicamente executar o comando:

bash <(curl -Ss https://raw.github.com/zpanel/installers/master/install/Ubuntu-12_04/10_1_1.sh)

Lembrando que é preciso dar permissão no script (chmod +x <arquivo>).

Concluída a instalação. Acesse via browser o endereço IP da máquina ou simplesmente localhost.

Para saber a senha padrão para acesso, veja o arquivo /root/passwords.txt. Nesse arquivo tem todas as senhas necessárias (zpanel, mysql, etc)

Logue na interface web e vamos as configurações:

Recomendo que defina primeiramente os pacotes, que seriam os planos de hospedagem. Por exemplo um plano com tráfego ilimitado e outro com tráfego limitado a 20Gb.


No meu cenário criei apenas um com limite de 1Gb de disco.


No meu caso eu preciso criar vários clientes com o mesmo domínio. Nos clientes só vai mudar o subdomínio. Para que essa configuração seja válida pro ZPanel é precisa fazer um ajuste nas configurações do Apache.


Como podem ver tem muita configuração que pode ser feita, mas para esse tutorial vou me limitar a apenas essa.


Agora posso criar meus clientes:


Observe abaixo que o  cliente tem um pacote atrelado.


Esse login (username) e senha vai ser usado para logar no ZPanel (não é o usuário FTP)



Na parte do cliente ele pode definir o domínio(s).





Sempre que criado o domínio é necessário criar os registros de DNS para que ele fique funcional.







O cliente também pode criar contas FTP para acesso ao server e bancos de dados.



Criando um banco de dados:




Criando um usuário para o banco:



Para testar, basta usar um putty ou WinSCP:




Outros pontos:

Pra quem é o admin, é importante saber onde fica os arquivos dos clients, olha aqui:



No menu Admin tem uma funcionalidade interessante para administrar também, é a shadow:



O espaço em disco apresentado representa tanto os arquivos em disco quanto o banco de dados.

Ok. O básico é esse. Espero que tenha ajudado.. Até quem sabe uma próxima de ZPanel.

quinta-feira, 6 de fevereiro de 2014

Descomplicando o VoIP #01 (Conceitos)

A telefonia:

Entre 1850 e 1876 foi dado início ao advento do telefone. Os criadores, Antonio Meucci ou Alexander Graham Bell (existe uma polêmica sobre qual o inventor), foram capazes de transpor a voz em eletricidade e vice versa. Pois é, ligar pra alguém é mais velho que sua vó!!

 Figura ilustrativa de centrais telefônicas na época de 1890.

Porém essa tecnologia só veio a se popularizar com o tempo. Com a implementação da discagem automática e DTMF, as centrais manuais deixaram de ser necessárias e o uso do telefone ganhou dimensões maiores. Na década de 90 veio a popularização das redes de computadores e internet, não demorou para unir as duas a informática a telefonia e surgir o VoIP.

E o VoIP?
O VoIP (Voz sobre IP) é a utilização do protocolo IP para transporte da voz em comunicações com áudio. Programas como MSN, Skype, logo começaram a fazer parte do dia a dia. O skype é um bom exemplo de aplicação VoIP, ele permite comunicação puramente IP entre computadores e outros dispositivos, como também acessar aparelhos ligados a telefonia tradicional, como telefones fixos e celulares.

Porque usar VoIP?
De fato a principal vantagem na utilização de telefonia VoIP é a possibilidade de redução de custos. As chamadas de longa distâncias (DDD e DDI) são comumente muito caras quando feitas pelas operadoras de telefonia convencionais. Usando o VoIP, a chamada pode ter a sua tarifa equivalente a local, ou até mesmo chegar a sair de "graça". O VoIP pode aproveitar a infraestrutura de internet da organização para realizar as ligações. Outra grande vantagem é possibilidade de usar sistemas de gerenciamento muito mais robustos e flexíveis.

Qual a tendência?
Existe uma forte convergência para a utilização dessa solução em larga escala, claro que muita coisa esbarra nos interesses econômicos de grandes empresas, mas este, é um caminho sem volta! A solução IP permite a economia flexibilidade de uso também quantos aos dispositivos. Não é necessário que a organização compre diversos telefones VoIP para implantar a solução. Os telefones podem ser usados nos computadores ou até mesmo no smartphones pessoal dos funcionários.


Elementos de soluções VoIP e conceitos:

1) Entenda o FXS e FXO:
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica.
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica.
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica.
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica.
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf
FXS e FXO são as portas usadas por linhas de telefonia analógica
(também conhecidas por POTS – Sistema de Telefonia Tradicional ).
FXS – Foreign eXchange Subscriber. É a interface que fornece a linha
analógica ao assinante. Em outras palavras, é o “plug na parede” que
fornece o tom de marcação (discagem), corrente de energia e som.
FXO – Foreign eXchange Office. É a interface que recebe a linha
analógica. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no
seu sistema de telefonia analógica. Indica se o telefone está no
gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a
um dispositivo, tal como fax ou telefone, esse dispositivo é
normalmente chamado de ‘dispositivo FXO’.
FXO e FXS estão sempre em pares, de modo semelhante a um plug macho / fêmea. Sem um PBX, um telefone fica conectado directamente à porta FXS fornecida por uma companhia telefónica
- See more at: http://www.asteriskdocs.com.br/blog/105/#sthash.vjrhNU63.dpuf

FXS (Foreign eXchange Subscriber): é a interface que vem da empresa de telefonia para os clientes. É o que vem do poste fornecendo energia e tom de discagem.

FXO (Foreign eXchange Office): é a interface que se conecta ao FXS, ou seja, o conector do telefone. Um telefone analógico então é um dispositivo FXO.

2) Gateways:

Quando se usa um PABX, ele faz tanto o papel de FXO quanto FXS. Sua interface FXO recebe a linha analógica da operadora e distribui novas interfaces FXS para os telefones locais.

Quando a solução VoIP vai usar algum linha analógica será necessário usar gateways FXO e FXS dependendo da necessidade.

Gateways FXO: permite usar uma linha analógica em um sistema VoIP. Ou seja, posso usar meu ramal VoIP num computador e usar a linha telefônica tradicional.

Exemplos de Gateway: GrandStream GXW4104 - 4 Port FXO, Linksys SPA 3000 FXS FXO.

Essa parte de conceitos continua...