sexta-feira, 16 de maio de 2014

SaaS - Software como um Serviço


Como começou?

Pode ser que você já tenha visto a sigla SaaS, mas não tenha tido a menor idéia do que isto significa. A sigla vem do inglês Software as a Service (SaaS), que no Brasil ganhou a tradução literal de Software como Serviço.


software como serviço é um programa que somente é utilizado através da internet, ou seja, você não precisa ter ele instalado em seu computador para usá-lo.
Hoje em dia, muitas empresas de TI desenvolvem aplicativos e oferecem seus serviços através da internet. O famoso site Paypal é um software como serviço, pois você não precisa ter um programa em seu computador para operar suas compras, você pode fazer as transações pelo site e pagar pequenas taxas por isso.

Como surgiu o Software como serviço?

Antes dos anos 90 e da popularização da internet, toda empresa que precisava de um software especifico para uma determinada função, seja controle de estoque, pagamento, emissão de nota fiscal, entre outros, ela precisava comprar um software para ser instalado em seus computadores. A empresa precisava também obter a licença para usar as funcionalidades deste software e devia criar servidores próprios para interligar os computadores que iriam usá-lo.

As empresas estavam ficando insatisfeitas com os altos custos para manter um software, que consistia em:
  • Comprar o software;
  • Pagar altas taxas de licenciamento para acessar recursos e funcionalidades do software;
  • Dispor de hardware necessário para suportar o software;
  • Montar um servidor próprio para interligar os computadores que fossem utilizar o software;
  • Pagar taxas de manutenção e atualizações.
As empresas começaram a exigir das empresas de TI um modelo mais viável para a compra e utilização dos programas.

Chega a internet

Com a popularização da internet no inicio da década de 90, as empresas de TI inventaram um meio de hospedar o software na rede para oferecer os serviços do aplicativo de forma online. Com isso, o cliente não precisaria mais gastar com hardware e nem com licenças, somente iria pagar para utilizar os serviços prestados pelo software.

O alicerce do SaaS

software como serviço não poderia existir se não fosse pela Cloud Computing (Computação em nuvem), uma tecnologia que oferece espaço para armazenagem de dados na rede virtual da internet. Daí o significado do nome, uma vez que o espaço de armazenagem não é físico, e sim, um espaço que fica online.
Todo software como serviço precisa de um conjunto de servidores compartilhados para oferecer ao cliente um armazém de dados que ele possa acessar de qualquer computador, bastando apenas estar conectado à internet.

Desafios do SaaS

O SaaS foi divisor de águas no mundo dos negócios, algumas empresas logo abraçaram a idéia, enquanto outras se mantiveram com o pé atrás. Afinal, que segurança a internet pode oferecer para dados sigilosos de uma empresa?
Mesmo sendo um modelo viável em termos de soluções de TI, o SaaS ainda enfrenta muitos desafios no que toca a questão de confiabilidade e segurança.
Muitas empresas não gostam da idéia de compartilhar dados secretos através da internet, pois acham que não há segurança alguma na rede virtual. Aqui está o maior desafio do modelo SaaS, demonstrar ao cliente que os mecanismos de hospedagem do aplicativo oferecem toda a segurança na proteção de seus dados.
Talvez este seja o maior objetivo de um fornecedor de SaaS: ganhar confiabilidade junto aos clientes.

REFERENCIA:
Software como um Serviço: Como tudo começou. Disponível em: <https://www.asaas.com/blog/software-como-servico-como-tudo-comecou/> Acessado em 16 de maio de 2014.  

domingo, 11 de maio de 2014

Noções Básicas de Sistemas Operacionais

O que é Sistemas Operacionais?
Segundo Paulo José (2002), SO é um tipo especial de software (os programas) que gerencia informações para que a máquina se comporte de uma determinada maneira. Pode se dizer que SO é o chefe dos softwares, pois seu objetivo é controlar a máquina para que os outros programas rodem.

Objetivo dos SO:
Reduzir a complexidade de uma tarefa, melhor dizendo, esconder a complexidade de uma tarefa para os programadores comuns. Ele fornece um conjunto de comandos, conhecido como: system calls, que são usados pelos programadores para se comunicar com os recursos de hardware (NETO; COELHO).

São responsáveis pelos:
Os sistemas operacionais são responsáveis pelo gerenciamento de memória, do processador, de arquivos, de proteção e de dispositivos (para saber mais leia  arquivo de Romildo Martins Bezerra, link disponível abaixo).

Tipos de SO:
Eles podem ser divididos de acordo com a interação dos seus usuários com os programas, número de programas que estão sendo executados simultaneamente, e o tempo de resposta que é exigido, afirma Maria Aparecida e José Carlos (2006). São eles: Sistemas Operacional Batch, Sistemas Operacional monousuário-monotarefa, Sistemas Operacional monousuário-multitarefa, Sistemas Operacional multiusuário-multitarefa, Sistemas Operacional de rede e Sistemas Operacional de tempo real.

Referências:
http://www.metropoledigital.ufrn.br/aulas/disciplinas/sist_operacional/aula_03.html
http://www.inf.puc-rio.br/~inf1503/material/01_Ap_Nocoes.pdf
http://www.inf.ufrgs.br/~alvares/INF01040/ApostilaConceitosBasicos.pdf
http://www.ifba.edu.br/professores/romildo/downloads/ifba/introducao-processos-memoria.pdf

O Plágio

O que é o plágio?
Referencia ao manga Naruto, onde
quem possui esse olho pode copiar os
movimentos de seus inimigos. Fonte
De acordo com o Wikipédia, site que serviu de fonte para nosso ctrl-c/ctrl-v em nossa fase inicial de estudo ( até hoje para alguns): "O plágio é o ato de assinar ou apresentar uma obra intelectual de qualquer natureza (texto, música, obra pictórica, fotografia, obra audiovisual, etc) contendo partes de uma obra que pertença a outra pessoa sem colocar os créditos para o autor original. No acto de plágio, o plagiador apropria-se indevidamente da obra intelectual de outra pessoa, assumindo a autoria da mesma.".

Em parte dos países do globo terrestre, o plágio é considerado antiético, na outra parte, além de ser considerado antiético é considerado crime, no caso do brasil através da lei 9610 do código penal brasileiro.

Crescemos plagiadores?
Imagem utilizada em um blog contendo
diversos trabalhos escolares prontos.  fonte
Para entregar aquele trabalho escolar que a professora do fundamental pediu muitas vezes recorríamos ao famoso "copiar e colar" do conteúdo da internet e entregávamos aos professores, que, por muitas vezes, não analisavam profundamente nossos trabalhos ou não davam as orientações certas sobre como fazer uma pesquisa. Apesar desse ato ser famosos naquele aluno que tinha preguiça e simplesmente copiava o conteúdo que encontrava, essa atitude de plágio também ocorriam naqueles alunos que entenderam o assunto da pesquisa mas, devido ao bom conteúdo que encontraram, não encontravam palavras melhores para o assunto encontrado.
Com a grande acessibilidade a conteúdos bem escritos e elaborados surge uma certa dificuldade de escrever sobre esse mesmo assunto sem a semelhança ou referencia com outros textos.

As citações e criações de referencias bibliográficas servem para ajudar você a criar um conteúdo com base em outro já existente, mas não pense que copiar todo um conteúdo e colocar a referencia não é plágio. As referencias e citações servem para você demostrar o ponto de vista de outro autor e depois colocar o seu ponto de vista, assim você mostra as diferenças ou semelhanças de opiniões entre você e o autor citado.

Com a acessibilidade da internet e um acervo de informações que cresce a cada dia, como criar um conteúdo que não se assemelhe a nenhum outro já disponível a mesma? Esse grande numero de informações já disponíveis acabam passando uma falsa sensação, para aqueles novatos em desenvolver trabalhos acadêmicos, de poderem copiar grande parte de um conteúdo já existente, afinal "se já existem vários conteúdos semelhantes na rede, um a mais não vai fazer diferença.".

Abaixo coloquei um video bem curto falando sobre o plágio.



Escreva nos comentários suas experiencias a respeito de plágio no seu inicio de estudo. como ele era tratado?


referencias:
Plágio, Wikipédia, http://pt.wikipedia.org/wiki/Pl%C3%A1gio
Plágio na internet: o que fazer?, por Luiz Castro Junior
Significado de plágio. http://www.significados.com.br/plagio/



domingo, 4 de maio de 2014

Sistema Operacional Móvel


O que é um Sistema Operacional?
Sistema Operacional é um programa ou um conjunto de programas cuja a função é servir de interface para entre um computador (ou dispositivo) e um usuário. Comumente chamada pela sigla SO em português ou OS (Operating System) em inglês é o responsável por controlar os recursos e gerenciar quando e quais aplicações devem ser executadas, e quais recursos físicos as mesmas podem utilizar.


Porque de um SO móvel?
Com a evolução tecnológica mundial e o desenvolvimento de tecnologias mais potentes e menores, surgiu a necessidade de criar (ou aperfeiçoar) sistemas que se adeque melhor a essa tecnologia.


Nesse tópico vamos fazer uma breve introdução dos principais sistemas disponíveis atualmente, e de acordo com o tempo vamos nos aprofundando em cada uma dela, mostrando como funciona, vantagens e desvantagens, etc.


iOS

Antes chamada de iPhone OS, o iOS é o SO Móvel da Apple e foi desenvolvido originalmente para o iPhone, mas também é utilizado para iPod e iPad.
O SO foi lançado e apresentado no ano de 2007 e originalmente não era permitido aplicativos de desenvolvedores terceiros no SO, mas no final deste mesmo ano foi anunciado o SDK do sistema para os desenvolvedores.
Em março de 2008, foi lançado o primeiro beta do SO e com o grande numero de vendas do iphone, cresceu o interesse dos desenvolvedores pelo SDK.


Android

Baseada em linux e desenvolvida originalmente para celulares, o android foi desenvolvido pela Android inc. e tinha por objetivo ser uma plataforma aberta, flexível e de fácil migração para os desenvolvedores.
Comprada pela Google em 2005 seus co-fundadores foram trabalhar para a google para desenvolver o sistema móvel.
Em 2008 o android se tornou Open-source (código livre), isso implicava em uma liberdade para desenvolvedores criarem suas aplicações para esse sistema. Nessa mesma data foi lançado e comercializado o primeiro aparelho com android, o Motorola Milestone.




Windows Phone 

Sucessor do Windows Mobile, o Windows Phone foi desenvolvido pela Microsoft e lançada entre 2010 e 2011.
Originalmente programada para ser lançada em 2009, mas diversos atrasos fizeram com que a microsoft lança-se um sistema intermediário, o Windows Phone 6.5. Só apos um ano foi lançada a versão desejada, o Windows Phone 7.
Tem como principais representantes os aparelhos da linha Lumia, da Nokia e Omnia, da Sansung.




Firefox OS
Lançado em 2013, o sistema operacional móvel desenvolvido pela Mozilla foi baseada no seu própio navegador, o Firefox.
Criado especialmente para dispositivos móveis mais modestos o Firefox OS prioriza o baixo consumo de recursos do aparelho.
A plataforma possui código aberto e tem como diferencial rodar aplicativos criados em HTML 5


Ubuntu Touch
Ainda em desenvolvimento pela Canonical e apresentada no inicio de 2013 o Ubuntu Touch foi baseado no android e no linux e pode vir a funcionar em qualquer dispositivo android.

sábado, 3 de maio de 2014

Compiladores versus Interpretadores


Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível para um código que o computador (a máquina) interprete. Este tradutor tem a função de traduzir uma linguagem abstrata para uma linguagem binária. Abaixo segue separadamente algumas das funções de ambos. 

  • O Compilador:
O Compilador é um programa ou um grupo de programas que escrito por uma linguagem (esta sendo necessária de compilação para sua execução) ao ser compilado gera outro código que é interpretado pelo computador. Este código compilado é chamado de código objeto, podendo ser um arquivo executável que é reproduzido em um sistema operacional, por exemplo. 

Os compiladores analisam o código em três partes, de forma sintática ou hierárquica, análise léxica ou linear e análise semântica.

Alguns compiladores contam com um pré-processamento. Este pré-processamento é responsável por modificar o código-fonte conforme necessidades que o compilador identifique que sejam necessárias, por exemplo, otimização de código.

O Compilador uni todo o programa em um arquivo EXE em formato binário, que em seguida será executado pelo computador. O processo de compilação é feito uma única vez, o que torna o processo de leitura do programa, muito rápido. Linguagens compiladas geralmente são usadas em jogos, robótica, automação industrial, pois são áreas em que a velocidade de execução do programa precisa ser rápida. 

  • O Interpretador:
O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.

O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar.

O interpretador nada mais é que um intermediário entre, o código-fonte a ser executado, e o computador, ou seja, o interpretador “entrega” o código-fonte ao computador em uma linguagem de baixo nível sempre que o programa é executado. 

Vantagens e desvantagens


Vantagens do Compilador:
  • O código compilado é mais rápido de ser acessado;
  • Dificulta ser quebrado e visualizado o código-fonte original;
  • Permite otimização do código por parte do compilador;
  • Compila o código somente se estiver sem algum erro.
Desvantagens do Compilador:
  • Para ser utilizado o código precisa passar por muitos níveis de compilação.
  • Processo de correção ou alteração do código requer que ele seja novamente recompilado.

Vantagens do Interpretador:
  • Correções e alterações são mais rápidas de serem realizadas;
  • Código não precisa ser compilado para ser executado;
  • Consomem menos memória.
Desvantagens do Interpretador:
  • Execução é mais lenta do programa;
  • Necessita sempre ser lido o código original para ser executado.

REFERENCIAS:

Fábio Almeida, O que são interpretadores e compiladores? Qual a diferença?. Dispnível em: < http://www.criarprogramas.com/2011/03/o-que-sao-interpretadores-e-compiladores-qual-a-diferenca> Acessado em 3 de maio de 2014.

Nícolas Muller, Diferenças entre compiladores e interpretadores. Disponível em: < http://www.oficinadanet.com.br/artigo/1527/diferencas_entre_compiladores_e_interpretadores> Acessado em 03 de maio de 2014.




quinta-feira, 1 de maio de 2014

Noções Básicas de Sistemas Operacionais

LINUX VS WINDOWS
  1.   O que é Linux ?


R = É um sistema operacional, assim como o Windows da Microsoft e o Mac OS da Apple. Ele foi criado em 1991 pelo finlandês Linus Torvalds, e o nome é a mistura do nome do criador com Unix, um antigo sistema operacional da empresa de mesmo nome.


            2.   O que é Windows ?


R = Windows é um Sistema Operacional Multitarefa que só começa a ser tecnicamente considerado como um SO a partir da versão Windows NT, lançada em Julho de 1993 pela Microsoft. Diferente das suas versões anteriores, não depende do MS-DOS, pois é ele mesmo quem se auto-gerencia.

Sua principal característica é a forma como se apresenta. É fácil aprendê-lo porque sua interface gráfica é uniforme em todos os aplicativos.

CARACTERÍSTICAS DO LINUX VS WINDOWS

Ø  DISTRIBUIÇÕES
Linux
A maioria das variantes do Linux estão disponíveis gratuitamente.
Windows
Entre R$ 300,00 e R$ 700,00, de acordo com a versão desejada.
Ø  FACILIDADE DE USO
Linux
A maioria das distribuições Linux vêm melhorando bastante nesse quesito.
Windows
A Microsoft fez vários avanços e mudanças que o tornaram um sistema muito mais fácil de usar do que o Linux.

Ø  CONFIABILIDADE
Linux
A maioria das distribuições Linux são notoriamente confiáveis e muitas vezes pode funcionar por meses e anos sem precisar ser sequer reiniciado.

Windows
Embora o Microsoft Windows tenha feito grandes melhorias na confiabilidade ao longo dos últimos anos e versões do Windows, ele ainda não pode coincidir com a confiabilidade do Linux.

Ø  SOFTWARE
Linux

O Linux tem uma grande variedade de programas disponíveis, utilitários e jogos. No entanto, o Windows tem uma seleção muito maior de software disponível.

Windows
Por causa da grande quantidade de usuários do Microsoft Windows, há uma seleção muito maior de softwares disponíveis, utilitários e jogos para Windows.

Ø  CUSTO POR SOFTWARE
Linux

Muitos dos softwares, utilitários e jogos disponíveis no Linux são freeware e/ou código-fonte aberto. Mesmo programas complexos como o Gimp, OpenOffice, StarOffice, e o Wine estão disponíveis gratuitamente ou a baixo custo.
Windows
Embora o Windows tenha softwares, utilitários e jogos de graça, a maioria dos programas custam entre US$ 20,00 e US$ 200,00+ por cópia.

Ø  HARDWARE
Linux

O Linux e as empresas fabricantes de hardware têm feito grandes avanços no suporte de hardware para Linux e, hoje, o Linux suporta a maioria dos dispositivos de hardware. No entanto, muitas empresas ainda não oferecem drivers ou suporte para seu hardware no Linux.
Windows
Devido à quantidade de usuários do Microsoft Windows e com o apoio mais amplo de drivers, o Windows tem um suporte muito maior para os dispositivos de hardware e uma boa maioria dos fabricantes de hardware apoiam os seus produtos no Microsoft Windows.

Ø  SEGURANÇA
Linux

Linux é e sempre foi um sistema operacional muito seguro. Embora ele ainda possa ser atacado, quando comparado ao Windows é muito mais seguro.
Windows
Embora a Microsoft tenha feito grandes melhorias ao longo dos anos com a segurança em seu sistema operacional, o Windows continua a ser mais vulnerável a vírus e outros ataques.

Ø  CÓDIGO-FONTE
Linux

Muitos programas e as distribuições do Linux estão abertas e permitem aos utilizadores personalizar ou modificar o código como eles desejam.

Windows
O Microsoft Windows não é open source e a maioria dos programas Windows não são open source. Ou seja, são softwares proprietários onde todos que usam não podem modificar o código para deixá-lo como deseja.

Ø  SUPORTE
Linux

Embora possa ser mais difícil encontrar usuários familiarizados com todas as distribuições do Linux, há uma vasta quantidade de documentação disponível online, livros e fóruns na web.
Windows
Microsoft Windows inclui a sua própria seção de ajuda, tem grande quantidade de documentação disponível online, bem como livros de cada uma das versões do Windows.

CURIOSIDADES DO LINUX

1)      Qual a ligação do LINUX com um pinguim?
Quando da criação da logotipo para o Linux, muitos apareceram com versões satíricas dos concorrentes. Outros resolveram utilizar animais selvagens e agressivos, como águias e tubarões. Torvalds acabou entrando no meio da discussão, pois não queria uma imagem agressiva. Então, lembrando de quando seu amigo Andrew Tridgell o levou a um zoológico em Canberra, onde foi bicado por um pinguim, Torvalds sugeriu a simples imagem deste animal gordinho e com expressão de satisfeito. Foi então que surgiu o Tux, mistura do nome Torvalds com Unix.

2)      Por que o LINUX tem tantos nomes?
O Linux não é totalmente um sistema operacional. Ele é o que se chama de kernel (o núcleo do sistema operacional). O núcleo do sistema é o responsável pela integração dos dispositivos de hardware do computador com os programas (softwares). Como o Linux está disponível de graça e com código-fonte aberto, qualquer pessoa ou organização pode juntá-lo a um conjunto de softwares para criar um sistema operacional customizado. Cada uma destas customizações é chamada de distribuição ou distros.

1)  Por que o Linux é mais seguro do que Windows?


As senhas no Linux

As senhas de usuário do Linux ficam armazenadas em arquivos de configuração, mas calma, ainda há de nascer um mortal capaz de decifrá-las. As senhas são guardadas criptrografadas nos arquivos de configuração.
As senhas criptografadas se encontram no arquivo /etc/shadow, a seguir um exemplo do que este arquivo armazena:

root:x:14287:0:99999:7:::
nicholas:$1$UAASD/Io$XasdaspxQ.VTGd/ASDYA59xL.:14287:0:99999:7:::
daemon:x:14287:0:99999:7:::
bin:x:14287:0:99999:7:::
sys:x:14287:0:99999:7:::

Isso é só uma parte do arquivo, nele veremos todos os grupos que existem dentre outras informações, mas o que realmente importa para o nosso artigo é a linha que contém o usuárionicholas, nesta linha você pode observar um emaranhado de caracteres depois dos “:” (destacado em vermelho) essa é a senha criptografada. Se você pensou em digitar isso no campo de senha, vai dar errado, pois ao digitar a senha ela será criptografada novamente e comparada com essa. Logicamente, a comparação vai dar errado.

Uma coisa interessante é que somente o usuário root tem o poder para visualizar o conteúdo deste arquivo, eliminando assim qualquer possibilidade de um roubo desde arquivo de senha utilizando um usuário comum.

Firewal Iptables

O Iptables é o firewal que vem junto com o kernel do Linux, ele é um dos, se não o mais poderoso firewal para linux, nele você pode criar desde regras simples, a regras complexas para definir o que entra e sai do seu computador.

Linux tem vírus?

De maneira resumida não existem vírus para o Linux, existem alguns vírus “testes de conceitos” que foram criados para tentar burlar alguma proteção do Linux, alguns conseguem, mas em casos bem específicos. E quando conseguem o campo de ataque do vírus se restringem, na maioria dos casos, a própria pasta do usuário. Nenhum vírus ainda (do meu conhecimento) conseguiu o feito de se espalhar remotamente.
Todos esses “testes de conceitos” foram criados sem o objetivo maior de atacar outros computadores, e sim  por questões de experiência. Uma outra coisa interessante é que quando é descoberto uma vulnerabilidade ela é rapidamente corrigida pela equipe de desenvolvimento do kernel Linux.

REFERENCIAS:

Claudia Sardinha, O que é Linux?.  Disponível em: <http://www.techtudo.com.br/artigos/noticia/2011/12/o-que-e-linux.html> Acessado em 2 de maio de 2014.

Linux vs Windows: saiba suas diferenças. Disponível em: < http://meupinguim.com/linux-vs-windows-suas-diferencas> Acessado em 2 de maio de 2014.

Microsoft Windows. Disponível em: < http://pt.wikipedia.org/wiki/Microsoft_Windows> Acessado em 2 de maio de 2014.


 O que é Windows?.  Disponível em: < http://www.fundacaobradesco.org.br/vv-apostilas/win_p1.htm/> Acessado em 2 de maio de 2014.