sistemas para internet e software livre

97
Sistemas para internet e software livre Conceitos Cliente-Servidor, Sistemas Distribuídos e Concorrentes Image: FreeDigitalPhotos.net

Upload: helder-lopes

Post on 09-Jun-2015

1.804 views

Category:

Education


1 download

DESCRIPTION

Esta aula tem o objetivo de apresentar os modelos de sistemas e negócios na web, dando ao aluno os conceitos, análise, custo/benéfico e impactos de software livre nas organizações, assim como realizar análise de plataformas de sistemas de licença de conteúdo.

TRANSCRIPT

Page 1: Sistemas para Internet e Software Livre

Sistemas para internet e software livreConceitos Cliente-Servidor, Sistemas Distribuídos e Concorrentes

Image: FreeDigitalPhotos.net

Page 2: Sistemas para Internet e Software Livre

Sistemas Cliente-Servidor

● Clientes ○ Qualquer computador conectado ao sistema via

rede.

● Servidores○ Computadores de grande capacidade que oferecem

recursos a seus clientes (espaço em disco, impressoras, banco de dados, acesso a outras redes...)

Visão Hardware

Page 3: Sistemas para Internet e Software Livre

Sistemas Cliente-Servidor

● Clientes ○ Aplicação de interação com usuário que necessita

de um serviço externo.

● Servidores○ Servidores são programas que respondem as

solicitações por serviços compartilhados. Ele é um processo reativo, disparado pela chegada de pedidos de seus clientes.

Visão Software

Page 4: Sistemas para Internet e Software Livre

Sistemas Cliente-Servidor

● Processos Cliente○ Manipulação de tela○ Interpretação de menus e comandos○ Entrada e validação de dados○ Processamento de ajuda○ Recuperação de erro○ Gerenciamento multimídia

Page 5: Sistemas para Internet e Software Livre

Sistemas Cliente-Servidor

● Processos Servidor○ Acessar informações○ Armazenar dados○ Organizar dados armazenados○ Atualizar dados previamente armazenados○ Gerenciamento de recursos compartilhados

Page 6: Sistemas para Internet e Software Livre

Sistemas Cliente-Servidor

● Comunicação○ Utiliza-se passagem de mensagens○ Deve seguir um protocolo específico

Cliente

Servidor

1. Requisição

2. Execução

3. Resposta

Page 7: Sistemas para Internet e Software Livre

Sistemas Concorrentes

● Explora o paralelismo● Varias aplicações executadas compartilhando a mesma

CPU● Aplicações estruturadas de forma que seus módulos

podem ser executados concorrentementes (com ou sem interação)

● Aplicações Cliente-Servidor necessitam ser concorrentes à medida que crescem a demanda dos clientes

Page 8: Sistemas para Internet e Software Livre

Sistemas Distribuídos

● Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente

Page 9: Sistemas para Internet e Software Livre

Sistemas Distribuídos

● Um Sistema Distribuído é organizado por um middleware.

Computador 1 Computador 2 Computador 3 Computador 4

Aplicação 1 Aplicação 2 Aplicação 3

SO 1 SO 2 SO 3 SO 4

Camada de Sistema Distribuído (middleware)

Page 10: Sistemas para Internet e Software Livre

Sistemas Distribuídos

● Características:○ Oferecer fácil acesso a seus recursos

○ Ocultar (na medida do possível) o fato de que os recursos são distribuídos por uma rede

○ Ser aberto

○ Ser expansível (escalabilidade)

Page 11: Sistemas para Internet e Software Livre

Sistemas Distribuídos● Transparência (Padronização):

○ Acesso: Representação de dados e acesso a recursos

○ Localização: Recursos

○ Migração: O recurso pode ser movido

○ Realocação: O recurso pode ser movido em uso

○ Replicação: O recurso pode ser replicado

○ Concorrência: O recurso pode ser compartilhado

○ Falha: Tratamento de falha e recuperação

○ Persistência: Recurso em memória ou disco

Page 12: Sistemas para Internet e Software Livre

Sistemas Distribuídos

● Escalabilidade:○ Tamanho: Facilidade em adicionar usuários e

recursos

○ Geográfica: Recursos e usuários distantes entre si

Administrativa: Facilidade de gerenciamento

Page 13: Sistemas para Internet e Software Livre

Sistemas Distribuídos

● Escalabilidade - Exemplo de limitações○ Serviço centralizados: Um único servidor para

todos os usuários

○ Dados centralizados: Um único cadastro de fornecedores

○ Algoritmos centralizados: Roteamento com base em informações completas (url)

Page 14: Sistemas para Internet e Software Livre

Sistemas Distribuídos

● Tipos de Sistemas Sistribuídos○ Computação:

■ Sistemas de computação Cluster■ Sistemas de computação Grid

○ Informação: ■ Sistemas de processamento de Transação■ Integração de Aplicações Comerciais

○ Embutidos: ■ Sistemas Domésticos (PDA, smartphone, tablet)■ Sistemas Eletrônicos para tratamento de saúde■ Sensoriamento

Page 15: Sistemas para Internet e Software Livre

Fixando conteúdo...

● Leia os dois texto a seguir e escreva suas conclusões sobre a correlação do texto e os conceitos sobre abordados nesta aula.

Page 16: Sistemas para Internet e Software Livre

Texto 1: A era pós PC - Texto de Cezar Taurion

(http://computerworld.uol.com.br/blog/tecnologia/tag/cloud-computing/)

Em agosto de 1981, ou seja, há 30 anos, a IBM anunciava o IBM PC 5150, uma máquina com 64K e um processador Intel 8088, de 8 bits, que custava por volta de 3 mil dólares. Vejam o linkhttp://oldcomputers.net/ibm5150.html. A revolução do PC começava aí.Hoje, 30 anos depois, estamos em tempos de smartphones e tablets. E debate-se: já estamos vivenciando o início da era pós-PC? Se a resposta for sim, quais suas implicações?

O termo pós-PC começou a ser badalado em uma entrevista de Steve Jobs, da Apple, quando do anúncio do iPad2. E não é uma buzzword. É real e suas consequências irão revolucionar o uso dos equipamentos pessoais.

Na verdade, o conceito “pós-PC” surgiu quando um cientista do MIT, David Clark, apresentou uma palestra chamada “The Post PC Internet”. Mais sobre David Clark emhttp://www.csail.mit.edu/user/1526. O que ele dizia é que outros objetos, além de PCs, estariam conectados à Internet. Na verdade, este é o conceito mais adequado para o termo.

Pós-PC não significa necessariamente o fim dos PCs. Eles continuarão conosco ainda por muito tempo, mas deixarão de ser o equipamento principal e serão usados ao lado de tablets e smartphones. Para muitos o tablet será o equipamento principal, embora, provavelmente, para alguns, o laptop continuará sendo essencial, pelo menos nos próximos anos. Os próprios laptops estão evoluindo na direção de serem parecidos com os tablets, como os ultraportáteis MacBook Air e Samsung Series 9. Mas, o conceito PC-centric desaparece no modelo pós-PC.

Mas o que vai mudar na maneira de usarmos a computação pessoal? Com o PC original (em forma de desktop) nós tínhamos que nos deslocar a um local para acessar o computador. Com o laptop nós começamos a nos tornar móveis, pois o PC (laptop) ia conosco. Agora com os tablets e smartphones esta mobilidade se acentua muito mais e inserimos nela a computação context-aware, na qual acelerômetros, giroscópios e geolocalizadores podem disponibilizar aplicações inovadoras. Além disso, a formalidade típica do PC: iniciar a máquina, usá-la durante algum tempo e desligá-la ao fim do trabalho deixa de existir. Os tablets e smartphones são usados a qualquer momento e de forma muito mais casual. Posso usar meu tablet enquanto espero em pé na fila de embarque para meu vôo. Já, com o laptop, não consigo fazer isso.. E o desktop fica, fixo, no escritório lá em casa!

Aqui é importante lembrar uma tecnologia que possibilita o “instant-on”, típico dos smartphones e tablets: flash memory. O PC é baseado em armazenamento de dados em seus discos rígidos e o tempo de boot é demorado. Os tablets e smartphones baseiam-se no modelo de cloud computing, armazenando seus dados em nuvens e o uso de flash memory permite que a inicialização seja instantânea.

Outra mudança é que deixamos de usar teclado e mouse e passamos a ter um contato mais direto com a máquina, através do nossos dedos manuseando fisicamente telas touch-screen. Acredito que as interações serão cada vez mais sensoriais, com uso mais intenso de reconhecimento facial, sensores de voz e mesmo sensores de movimento como os que já vemos no Kinect. Claro que para aqueles que precisam ou necessitam usar teclados já existem alternativas nos tablets: capas que embutem teclados.

Page 17: Sistemas para Internet e Software Livre

Texto 1: A era pós PC - Texto de Cezar Taurion

(http://computerworld.uol.com.br/blog/tecnologia/tag/cloud-computing/)

(continuação texto 1...)A cada dia nossa vida torna-se mais e mais informatizada. Dificilmente encontramos alguma atividade que não inclua alguma computação. E as

barreiras que separam nossa vida pessoal da profissional estão sendo derrubadas. Com um tablet ou smartphone podemos estar em contato permanente e a todo instante com nosso círculo de amizades ou profissional, seja via email ou mídias sociais. O que não era possível com os desktops e meio incômodo com os laptops.

O que podemos concluir? O fenômeno que chamamos de pós-PC é causa e também consequência das mudanças tecnológicas e sociais que estão mudando a maneira de como interagimos com os computadores. Cada vez mais a computação torna-se ubíqua e casual. Torna-se parte integrante de nossa vida social e profissional. A era pós-PC signfica, na prática, sair do contexto no qual o computador era visto como equipamento para um cenário em que computação passa a ser uma simples e corriqueira atividade social.

Além das implicações no nosso comportamento social e nas organizações, a era pós-PC também vai afetar a indústria de TI. Empresas construídas em torno de produtos terão um enorme desafio pela frente. O Windows, que reina absoluto no mundo PC, não tem papel relevante no cenário dos tablets e smartphones. O crescimento da base instalada de tablets e smartphones, não só no uso pessoal, mas também como ferramenta corporativa, canibaliza as vendas dos desktops e laptops e, com isso, diminui as vendas do Windows.

Além disso, o modelo de vendas de software para tablets e smartphones também está provocando uma mudança signficativa no modelo de distribuição e definição de preços para o software. O modelo de vendas de aplicativos criado pela Apple, o AppStore, posteriormente copiado pelo Google (Android Store) e pelos demais (a própria Microsoft vai ter que criar o seu mercado para o Windows permitiu o acesso rápido aos usuarios de tablets e smartphones a programas que são grátis ou custam, nos EUA, menos de cinco dólares. Este modelo enfraquece o modelo tradicional de vendas de software para PCs, apoiado em lojas que vendiam programas que custam 40, 50 ou mesmo 100 ou mais dólares.

Enfim, na minha opinião pessoal, já é muito tarde para ressuscitar o modelo PC-centric criado em torno do Windows, que embora ainda vivo, tende a morrer lentamente, já que o crescente uso dos tablets e smartphones para nossas atividades pessoais e profissionais é irreversível. O mercado simplesmente mudou.

Page 18: Sistemas para Internet e Software Livre

Texto 2: O novo mundo (pós) PC - Texto de Cezar Taurion (http://computerworld.uol.com.br/blog/tecnologia/tag/cloud-computing/)

Há algumas semanas escrevi um texto conjecturando sobre o mundo pós-PC. Pensando melhor, o mundo PC continua… Só que PC começa a deixar de ser Personal Computer e para passar a ser Personal Cloud. Ou seja, saimos do modelo mental MyDocuments para o MyDropBox.Na prática, estamos vendo o surgimento de novas tecnologias móveis como tablets e smartphones em um mundo cada vez mais conectado. Gradualmente o mundo centralizado no PC, que durante 30 anos foi o ponto central da computação pessoal, está migrando para a computação em nuvem, onde o PC é um dos participantes. Não desaparece, mas perde sua relevância. Assim, nossos documentos, nossas fotos, nossa vida pessoal deixa de ser armazenada em discos rígidos dentro do PC ou laptop e passa a ficar dentro das nuvens. Os aplicativos também começam a migrar do demorado e monótono processo de instalá-los dentro de cada computador para ficarem disponiveis 24 horas em alguma nuvem, localizada não sabemos onde.

Claro que as mudanças de conceitos e mindsets não são instantâneas. O próprio PC passou por momentos dificeis para sua aceitação. Uma pequena recordação histórica cabe aqui. Computadores pessoas já existiam antes do PC, como o TRS-80 da RadioShack e o Apple II. Já existia a planilha Visicalc. Mas eram vistos como brinquedos. A computação pessoal só foi considerada séria quando a IBM, então no clímax do seu poder no mundo corporativo, lançou o PC e criou toda uma indústria. Surgiram centenas de desenvolvedores de software como Lotus, Ashton-Tate, Microsoft e fabricantes de clones como Compaq e Dell.

Com os PCs, a computação mudou radicalmente. Passou de ferramenta disponivel apenas para especialistas à ferramenta para ser usada por qualquer um, em suas casas. Pequenas empresas passaram a ter condições de fazer planejamentos financeiros e administrar seus negócios com mais eficiência.

Cerca de dez anos depois do lançamento do PC a computação pessoal estava inserida no dia a dia de milhões e milhões de pessoas, transformando a vida delas de forma tão profunda quanto a provocada décadas antes pelos telefones e televisores.

Este processo não ocorreu de uma dia para o outro e no início enfrentou muitas críticas. Lembro de muitas discussões quando implementando os primeiros PCs em empresas, quando muitos dos seus gestores de TI, encastelados nos então CPDs (lembram?) os chamavam jocosamente de eletrodomésticos…O mundo que podemos chamar pós-PC ou mesmo o mundo neoPC (lembrando que PC passa a ser Personal Cloud) é um novo estilo de usarmos computadores. Deixamos de ser dependentes de um único aparelho, o onipresente Personal Computer, para ter acesso aos nossos documentos, fotos e aplicativos a partir de qualquer dispositivo, em qualquer lugar.

É uma viagem sem retorno. Os usuários estão cada vez mais acostumados com as facilidades proporcionadas pela mobilidade e as interfaces touchscreen. A próxima geração digital talvez nem saiba mais usar um mouse e muito menos conseguirá imaginar porque era necessário copiar um arquivo para um pendrive para levá-lo a outra máquina. Smartphones não usam pendrives!

Page 19: Sistemas para Internet e Software Livre

Texto 2: O novo mundo (pós) PC - Texto de Cezar Taurion (http://computerworld.uol.com.br/blog/tecnologia/tag/cloud-computing/)

(continuação texto 2...)Os computadores móveis, como tablets e smartphones, estão cada vez mais intuitivos e não demandam especialistas para instalá-los e

configurá-los. Alguém conhece no mercado um curso de Facebook ou iPhone? Os próprios usuários entram nas App Stores e escolhem, eles mesmos, os aplicativos que querem e trocam idéias e sugestões entre si por meio das mídias sociais. São independentes.

Claro que temos aí um desafio para o setor de TI do mundo corporativo. Os funcionários de uma empresa têm, pessoalmente, acesso a computadores (tablets e smartphones) e aplicativos que querem usar nas empresas e muitas vezes não podem. O CEO e o estagiário têm nas mãos o mesmo smartphone. Não há mais distinções entre quem tem tecnologia e quem não tem. Não é mais uma questão de hierarquia, mas de hábito de uso.

Este mundo do Personal Cloud provoca uma profunda mudança no que deverá ser a TI de uma empresa. Vamos debater alguns exemplos. Primeiro, as velhas ideias de processos de homologação, nos quais se selecionavam os dispositivos que a empresa iria suportar, já não estão mais adequadas à velocidade com que os aparelhos surgem no mercado. Estes processos precisam ser revistos e modernizados. Em poucos meses, o mercado de smartphones e tablets muda significativamente.

Segundo, os usuários hoje escolhem para seus smartphones e tablets os aplicativos que querem, com interfaces intuitivas. Por outro lado, nas empresas, eles têm que lidar com muitas barreiras para acessar sistemas internos e precisam de cursos de treinamento de vários dias para poder usá-los.

Talvez TI tenha que repensar sua arquitetura. Claro que continuarão existindo sistemas integrados e complexos, mas será que muitas vezes pequenos e intuitivos apps não resolveriam muitos dos problemas dos usuários?

Além disso, por que dentro da empresa o usuário só pode ter acesso a determinado sistema por um PC, se em casa ele acessa os serviços que quer a partir de qualquer dispositivo?

Talvez possamos começar a pensar não apenas em um mundo monolítico de aplicações complexas, mas em conceitos de uma App Store interna, acessível por qualquer aparelho. Uma arquitetura SOA onde as informações e os aplicativos centrais podem ser acessados por APIs vindas de dispositivos móveis, cerne deste novo modelo.

Outra mudança é o conceito de self-service. Para se usar um DropBox ou qualquer outro serviço disponível em uma nuvem, o usuário vai lá e, por conta própria, se serve. É o conceito de self-service por excelência. E ele se questiona… Por que para cada coisa que preciso da TI na minha empresa tenho que falar com alguém? Por que não posso ter autoserviço para solicitar o que preciso?

Page 20: Sistemas para Internet e Software Livre

Texto 2: O novo mundo (pós) PC - Texto de Cezar Taurion (http://computerworld.uol.com.br/blog/tecnologia/tag/cloud-computing/)

(continuação texto 2...)Na verdade estamos dando os primeiros passos em direção ao mundo do Personal Coud, onde, não mais o PC, mas a nuvem será o centro das

informações e dos serviços de computação. Saímos do mundo dos equipamentos para o mundo dos serviços. Cloud Computing é, em última instância, a TI-as-a-Service. Para a TI do mundo corporativo isto significa que cada usuário, seja ele funcionário ou cliente, vai demandar acesso aos seus sistemas de qualquer dispositivo, em qualquer lugar. E ele mesmo quer se servir destes serviços. Neste cenário, TI deverá aparecer para seus usuários como uma nuvem.O que os gestores de TI devem fazer? Bem, reconhecer que esta é uma viagem sem volta e que embora muitos de seus antecessores tenham lutado bravamente contra a entrada dos PCs e do modelo cliente-servidor nas suas empresas, eles foram vencidos.

O mundo do Personal Cloud está aí e a pressão cada vez maior causada pelo fenômeno que chamamos de consumerização de TI está forçando as paredes dos data centers. O modelo BYOD (Bring Your Own Device) e mesmo BYOC (Bring Your Own Cloud) não pode ser impedido de entrar.TI deve desenhar sua estratégia de como adotar estes conceitos, preservando os critérios de segurança e disponibilidade exigidos pela criticidade do negócio. TI deve repensar os modelos de entrega de serviços aos usuários via apps e self-service.

O usuário está cada vez mais autossuficiente e TI deve assumir papel de orientador ou facilitador, mas não de tutor. Este novo papel implica em mudanças na maneira de pensar e agir da TI. Não é fácil.

Um aspecto fundamental do modelo Personal Cloud é que a arquitetura de TI das empresas deverá ser baseada em computação em nuvem. Isto implica no uso tanto de nuvens privadas ou internas, quanto públicas. Mas cada empresa deve desenhar sua própria estratégia de “cloudficação”.Em resumo, o futuro começa agora. Portanto, devemos dar logo o primeiro passo…

Page 21: Sistemas para Internet e Software Livre

Sistemas para internet e software livreModelos de negócio na WEB

Image: FreeDigitalPhotos.net

Page 22: Sistemas para Internet e Software Livre

Modelo de negócios

● Definição clássica○ "É um método de fazer negócios por meio do qual

uma empresa se sustenta, por conseguinte, gerando receita" - Michael Rappa.

Page 23: Sistemas para Internet e Software Livre

Modelo de negócios

● Regra Econômica Natual○ Empresa produz bem ou serviço

○ Bem ou serviço é comercializado

○ Objetivo: Vendas maiores que os custos

Objetivo fim da empresa

é sempre o Lucro!

Page 24: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Quem sustenta a empresa?○ Depende do modelo de negócio:

■ Pode ser o cliente diretamente

■ Pode ser o cliente indiretamente

Page 25: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Quais vantagens em ter um negócio na Internet?

○ Integração: Sistemas ERP, Cadeia de fornecimento, troca de informação com outros sistemas...

○ Agilidade: Informação em tempo real para tomada de decisão

○ Transparência: Toda a cadeia gerenciável

Page 26: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Quais desvantagens em ter um negócio na Internet?

○ Conhecimento: Novas tecnologias e ferramentas

○ Heterogenidade: Ambientes integrados distintos

○ Negócio: Maior conhecimento de toda a cadeia do negócio

Page 27: Sistemas para Internet e Software Livre

Modelo de negócios na Internet● Tipos de negócios:

○ B2B: Transações entre empresas

○ B2C: Transações entre empresas e consumidores

○ C2C: Transações entre consumidores

○ G2C: Trasações entre governo e consumidores

○ G2B: Transações entre governo e empresas

Page 28: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Variantes de modelos de negócios:

○ Comerciante

○ Corretagem

○ Publicidade

Page 29: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Comerciantes:○ Comércio Misto: Modelo de negócio tradicional

baseado em instalações físicas e que utiliza a internet como mais um canal de comercialização

■ Livraria Saraiva■ Extra■ Jocar■ Fast Shop

Page 30: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Comerciantes:○ Comércio Virtual: Comercialização de

produtos/serviços exclusivamente via internet.

■ Submarino■ BestShop

Page 31: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Comerciantes:○ Comércio Virtual Puro: Comercialização de produtos

digitais ou serviços cuja entrega seja realizada pela própria Internet. Todo o processo do negócio é realizado on-line. Empresas que vendem software, música ou cursos on-line são exemplos.

■ Symantec■ Weblinguas■ Iped■ Decolar

Page 32: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Comerciantes:○ Mercantil: Empresas que vendem produtos ou

serviços para outras empresas utilizando-se a Internet como canal de comercialização.

■ Quick Pack■ Gimba

Page 33: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Comerciantes:○ Mercantil direto: Modelo de negócio de empresas

produtoras de mercadorias que se utilizam da internet como canal direto de venda para o consumidor final, eliminando total ou parcialmente os intermediários.

■ Brastemp■ Caloi

Page 34: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Corretagem:○ Shopping virtual: Site que reúne diversas lojas

virtuais. Receita é obtida através de uma taxa mensal mais comissão sobre as vendas realizadas ou pagamentos por anúncios.

■ ShopFácil

Page 35: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Corretagem:○ Leilões on-line: Ambiente virtual que possibilita a

oferta de mercadorias e a realização de lances até se chegar a a melhor oferta disponível. A Receita é obtida através de taxas de cadastramento + comissão no caso de empresas (B2B) ou comissão sobre venda no caso de pessoas físicas (C2C). Possui variantes como o Leilão reverso, onde os vendedores é que fazem os lances, e o menor preço ofertado leva o pedido.

■ MercadoLivre

Page 36: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Corretagem:○ Portal vertical: Possibilita a interação entre empresas do

mesmo setor de negócio e incentiva a realização de transações através de negociação direta ou leilões. Variantes: Comunidades de Negócios, onde além das transações existem um grande fluxo de informação e orientação aos membros da comunidades, como boletins, diretórios de fornecedores. classificados, ofertas de empregos, entre outros; Agregador de compras, que reúne os compradores para obter maior volume e melhor negociação nas compras.

■ Sebrae■ Peixe Urbano

Page 37: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Corretagem:○ Metamediários: Aproxima compradores e vendedores

sendo que a receita é geralmente obtida através de comissões sobre as transações realizadas através do site. É o caso dos Corretores Financeiros que facilitam a realização de investimentos por parte da pessoa física, disponibilizando acesso a um ou mais fornecedores de serviços financeiros como compra de ações, seguros, investimentos, ou os sites que dão prêmios aos consumidores para incentivar a compra em sites parceiros.

■ Dotz■ Wintrade■ InvestShop

Page 38: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Publicidade:○ Portais genéricos: Portais de conteúdo que

oferecem conteúdo gratuito ou parcialmente gratuito, além de serviços como servidores de email.

■ IG■ G1■ R7

Page 39: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Publicidade:○ Portais especializados: Portais de conteúdo focado

em determinados públicos. Possuem menor tráfego em relação aos portais genéricos, porém é mais valorizado pelos anunciantes.

Page 40: Sistemas para Internet e Software Livre

Modelo de negócios na Internet

● Publicidade:○ Gratuidade: Casos típicos de mecanismos de

buscas, que oferecem serviços gratuitos para gerarem tráfego.

■ Yahoo■ Hotmail■ Google

Page 41: Sistemas para Internet e Software Livre

Sistemas para internet e software livrePlataformas para comércio eletrônico

Image: FreeDigitalPhotos.net

Page 42: Sistemas para Internet e Software Livre

E-commerce: Por onde começar?

● Projeto de e-commerce○ Plataforma de TI

○ Treinamento de pessoal

○ Sistema e forma de pagamento

○ Logística

○ Ações de Marketing

● É o projeto que irá nortear o desenvolvimento da empresa do ambiente web.

Page 43: Sistemas para Internet e Software Livre

E-commerce: Por onde começar?

● Análise de mercado○ Verifica o modelo do projeto no mercado atual

○ Expectativa de mercado

○ Concorrência

○ Fatores sabotadores e alavancadores

Page 44: Sistemas para Internet e Software Livre

E-commerce: Por onde começar?

● Soluções em TI○ Planejamento para atender as necessidades

imediatas do projeto e permitir expansões

○ Definição da plataforma de e-commerce (open source, alugada ou exclusiva)

○ Definição de sistema de e-commerce■ Ferramentas administrativas■ Relatórios■ SEO

Page 45: Sistemas para Internet e Software Livre

E-commerce: Por onde começar?

● Capacitação de pessoal○ Sistema

○ Marketing

○ Cultural

Page 46: Sistemas para Internet e Software Livre

E-commerce: Por onde começar?

● Planejamento de marketing○ Marketing on-line

○ SEO

○ Redes Sociais

○ Marketing em outras mídias

○ Sempre monitorar o ROI

Page 47: Sistemas para Internet e Software Livre

E-commerce: Por onde começar?

● Monitoramento e ajustes○ Interpretação e análise de dados

○ Necessita de tempo

○ Uso se ferramentas específicas

Page 48: Sistemas para Internet e Software Livre

Montando um E-commerce

● Plataforma de e-commerce○ Requisitos

■ Complexidade■ Exclusividade■ Integrações■ Urgência■ Estratégia

○ Recursos■ Investimento■ Equipe de desenvolvimento■ Experiência com e-commerce

Page 49: Sistemas para Internet e Software Livre

Montando um E-commerce

● Plataforma de e-commerce - Aluguel○ Requisitos

■ Complexidade baixa■ Não se exige exclusividade■ A necessidade de integração com outras

ferramentas é baixa■ A urgência de operação é alta■ Estratégia de mercado é relativamente baixa

○ Recursos■ Baixo investimento■ Sem equipe de desemvolvimento■ Pouco ou nenhuma experiência em e-commece

Page 50: Sistemas para Internet e Software Livre

Montando um E-commerce

● Plataforma de e-commerce - Customizada / Solução própria○ Requisitos

■ Complexidade média / alta ■ Exige exclusividade para determinado nicho■ Necessita de integração com outras ferramentas de CRM /

ERP■ A urgência de operação pode aguardar o término do

desenvolvimento■ Estratégia de mercado necessidade de regras que plataformas

prontas não atendem

○ Recursos■ Médio / Alto investimento■ Necessita de equipe de desemvolvimento■ Necessita experiência em e-commece

Page 51: Sistemas para Internet e Software Livre

Montando um E-commerce

● Provedor de hospedagem○ Não se deixe levar pelas propagandas

○ A hospedagem deve ser compatível com a linguagem de programação e o banco de dados do e-commerce

○ Visite lojas virtuais hospedadas no provedor e compare o desempenho

Page 52: Sistemas para Internet e Software Livre

Montando um E-commerce

● Design ○ Vai além do projeto visual (cores e imagens)

○ Usabilidade

● Formas de pagamento ○ Definição de quais tipos de pagamentos serão aceitos

○ Verificar prazos e taxas

Page 53: Sistemas para Internet e Software Livre

Montando um E-commerce

● Estratégica de marketing ○ Link patrocinado - Temporariamente

○ SEO - Tráfego qualificado

○ e-mail marketing

○ Diferencial competitivo: capacidade de relacionamento■ Blogs■ Redes Sociais■ Maketing voltado à assitência ao consumidor■ Humano e personalizado

Page 54: Sistemas para Internet e Software Livre

Montando um E-commerce

● Logística ○ "Calcanhar de Aquiles": Pontualidade!

○ Parcerias fortes quando é necessário realizar entregas.

○ Diferencial: Logística reversa. Evitar dor de cabeça!

● Gerenciamento da empresa ○ Verifica necessidades e oportunidades.

○ Equipe engajada. Cultura do comércio eletrônico.

● Posicionamento ○ Ferramenta de geração de receitas.

○ Oportunidades de negócios.

Page 55: Sistemas para Internet e Software Livre

Um pouco de Social...

● Social Commerce

“Social Commerce é a fusão das mídias sociais com e-commerce. De forma mais completa, social commerce é uma subcategoria do comércio eletrônico que usa as mídias sociais, mídia online e que permite interações sociais e contribuições de usuários para melhorar a experiência de compra online”. Paul Marsden - Social Commerce: Monetizing Social Media

Page 56: Sistemas para Internet e Software Livre

Mapa mental: O e-commerce ideal

Page 57: Sistemas para Internet e Software Livre

Sistemas para internet e software livreMetodologia de modelagem de aplicação WEB

Image: FreeDigitalPhotos.net

Page 58: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Domínio: Elementos de aplicação WEB○ Páginas Web○ Scripts○ Formulários○ Applets e ActiveX

● Motivação○ Aplicações WEB complexas. Necessidade de gerenciamento.○ A página WEB (ASP / JSP / Servlet / CGI / ISAPI / NSAPI ou HTML) é

um componente importante da arquitetura de uma aplicação web, e precisa ser modelado como tal.

○ UML é a linguagem padrão de modelagem de sistemas de software, especialmente de sistemas orientados a objeto.

○ A maioria das tecnologias de aplicações web, não são inerentemente orientado a objeto.

Page 59: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Descrição○ Estereótipos: São utilizados para classificar novos elementos, ou

seja, estendem o vocabulário da UML permitindo a criação de novos tipos de blocos de construção, derivados dos já existentes, mas específicos ao seu problema. Normalmente são representados como uma seqüência de caracteres entre os símbolos << >>.

○ Tag: Estende as propriedades de um bloco de construção da UML, permitindo a criação de novas informações na especificação do elemento. Um valor com tag é representado em um diagrama como uma seqüência de caracteres delimitada por colchetes [].

○ Restrições: Estendem a semântica de um bloco em construção da UML, permitindo adicionar novas regras ou modificar as existentes.

Page 60: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Server Page>>

○ Tipo: Classe

○ Descrição: Uma página servidor representa uma página Web que têm scripts executados pelo servidor. Esses scripts interagem com recursos do servidor tais como: banco de dados, lógica de negócios e sistemas externos.

○ Restrições: As páginas servidor podem ter relação apenas com objetos no servidor.

○ Tag: Pode-se definir o script utilizado (JavaScript, VBScript, Perl...)

Page 61: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Client Page>>

○ Tipo: Classe

○ Descrição: Uma página cliente representa uma página web formatada em HTML com uma mistura de dados de apresentação e lógica. É montada no browser cliente e pode conter scripts que são interpretados pelo browser. As funções da página cliente mapeiam para funções em tags na página. Essas páginas podem ter associações com outras páginas cliente e páginas servidor.

○ Restrições: Nenhuma.

○ Tag:

■ TitleTag: Título da página como exibido pelo browser.

■ BaseTag: URL básica para desmarcar referências de URLs relativos.

■ BodyTag: Conjunto de atributos para a tag <<body>>, que define o segundo plano e atributos de texto padrão.

Page 62: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Form>>

○ Tipo: Classe

○ Descrição: Um formulário representa uma coleção de campos de entrada que são parte da página cliente. Um formulário não tem operações. Quaisquer operações que interajam com o formulário, serão propriedades da página cliente que o contêm.

○ Restrições: Nenhuma.

○ Tag: Get ou Post: Usados para submeter dados para ação na URL.

Page 63: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Frame Set>>

○ Tipo: Classe

○ Descrição: Abstrai uma página HTML que contém um elemento do conjunto de quadros. Essa página divide a interface com o usuário em quadros ou regiões retangulares, onde cada quadro é representado como uma página cliente separada.

○ Restrições: Deve conter pelo menos uma classe <<client page>> ou <<target>>.

○ Tag:

■ Linhas: Número de linhas de quadros.

■ Colunas: Número de colunas de quadros.

Page 64: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Target>>

○ Tipo: Classe

○ Descrição: Um quadro nomeado específico em um conjunto de quadros. É o alvo de hyperlinks, uma classe de link de destino.

○ Restrições: O nome do alvo deve ser único em cada cliente do sistema.

○ Tag:

■ Linhas: Número da linhas do quadros do alvo.

■ Colunas: Número da colunas do quadros alvo.

Page 65: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<JavaScript>>

○ Tipo: Classe

○ Descrição: No browser é possível simular objetos definidos pelo usuário com funções JavaScript. Instâncias de objetos Java script existem somente no contexto de páginas cliente.

○ Restrições: Nenhuma.

○ Tag: Nehuma.

Page 66: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<ClientScript>>

○ Tipo: Classe

○ Descrição: Objeto Java Script que possui um protótipo definido e normalmente define diversas variáveis membros e funções.

○ Restrições: Nenhuma.

○ Tag: Nenhuma.

Page 67: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Static Page>>

○ Tipo: Componente

○ Descrição: A página estática não executa nada que o lado do servidor execute e é produzida diretamente do sistema de arquivos para o cliente.

○ Restrições: Não pode executar componentes lógicos que são executados no servidor (página servidor). Só podem implementar páginas cliente.

○ Tag: Localização no servidor.

Page 68: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Link>>

○ Tipo: Associação

○ Descrição: Um link é um ponteiro da página cliente para uma outra página Web. No diagrama de classes, um link é uma associação entre uma página cliente e outra página cliente ou uma página servidor.

○ Restrições: Nenhuma.

○ Tag: Contém parâmetros passados juntamente com a solicitação http. É formatado como uma sequência de caracteres podendo conter codificações de implementações específicas.

Page 69: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Target Link>>

○ Tipo: Associação

○ Descrição: Similar à associação link, um targeted link é um link cuja página associada é montada em um outro target.

○ Restrições: Nenhuma.

○ Tag:

■ Parâmetros: Lista de nomes de parâmetros que são passados junto com a requisição para a página linkada.

■ Nome do Target: o nome do target que o link desta página aponta para ser montada nela.

Page 70: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Frame Content>>

○ Tipo: Associação

○ Descrição: Agregação que expressa uma contenção do frame de outra página ou target. Pode apontar para outro frameset, indicando frames aninhados.

○ Restrições: Nenhuma.

○ Tag:

■ Row e Col: um inteiro indicando a linha ou coluna específica do frame no frameset que a página associada ou target pertencem.

Page 71: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Submit>>

○ Tipo: Associação

○ Descrição: Associação situada entre um formulário e uma página servidor. Os formulários submetem os valores de seus campos para o processamento no servidor, através de páginas servidor.

○ Restrições: Nenhuma.

○ Tag: Nenhuma.

Page 72: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Build>>

○ Tipo: Associação

○ Descrição: Relação que liga páginas cliente e páginas servidor. Identifica qual página servidor é responsável pela criação da página cliente.

○ Restrições: Nenhuma.

○ Tag: Nenhuma.

Page 73: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Redirect>>

○ Tipo: Associação

○ Descrição: Relacionamento direcional entre uma página do cliente ou servidor e outra página. Indica um comando ao cliente para solicitar outro recurso.

○ Restrições: Nenhuma.

○ Tag: Nenhuma.

Page 74: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Object>>

○ Tipo: Associação

○ Descrição: Relacionamento de confinamento entre uma página do cliente e outra classe lógica (applet, controle ActiveX).

○ Restrições: Nenhuma.

○ Tag: Nenhuma.

Page 75: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Estereótipos○ Nome: <<Include>>

○ Tipo: Associação

○ Descrição: Associação direcional de uma página cliente para outra página servidor ou uma página cliente. Durante a montagem da página (em tempo de execução) essa associação indica que a página incluída é processada (dinâmica) e que seus conteúdos ou subprodutos são usados pela página pai.

○ Restrições: Nenhuma.

○ Tag: Nenhuma.

Page 76: Sistemas para Internet e Software Livre

WAE - Web Application Extension

● Principais combinações de estereótiposDE

PARAPágina Cliente Servidor de

Páginas

Conjunto de Quadros

(Frameset)Alvo (Target) Formulário

Página Cliente <<link>><<redirect>>

<<link>><<redirect>>

<<link>><<redirect>> Dependência Agregação

Servidor de Páginas

<<redirect>><<build>> <<redirect>> <<redirect>>

<<build>> Não tem Não tem

Conjunto de Quadros

(Frameset)<<frame content>> Não tem <<frame content>> <<frame content>> Não tem

Alvo (Target) Não tem Não tem Não tem Não tem Não tem

Formulário Agregação <<submit>> Não tem Não tem Não tem

Page 77: Sistemas para Internet e Software Livre

WAE - Web Application Extension● Exemplo de estereótipos

Imagem: jim conallen

Imagem: jim conallen

Page 78: Sistemas para Internet e Software Livre

WAE - Web Application Extension● Exemplo de Frames

Imagem: jim conallen

Imagem: Arilo Claudio dias Neto

Page 79: Sistemas para Internet e Software Livre

WAE - Web Application Extension● Exemplo de Forms e Submits

Imagem: jim conallen

Page 80: Sistemas para Internet e Software Livre

Sistemas para internet e software livreSoftware Livre

Image: FreeDigitalPhotos.net

Page 81: Sistemas para Internet e Software Livre

Software Livre

● Definições ○ Programa de computador○ O código-fonte deve ser aberto

■ Uso■ Cópia■ Estudo■ Redistribuição

○ Software livre é antagonico ao software proprietário.○ Software proprietário é diferente de software comercial.○ Ao distribuir um software livre, é necessário definir uma licença de

software livre (contrato).

Page 82: Sistemas para Internet e Software Livre

Software Livre

● Definições ○ Como saber se um software é um software livre?

○ De acordo com a Free Software Foundation:■ Liberdade 0 - Liberdade de executar o programa, para qualquer

propósito;■ Liberdade 1 - Liberdade de estudar como o programa funciona e

adaptá-lo para as suas necessidades;■ Liberdade 2 - Liberdade de redistribuir cópias do programa de

modo que você possa ajudar o próximo;■ Liberdade 3 - Liberdade de modificar o programa e distribuir

estas modificações, de modo que toda a comunidade de beneficie;

Page 83: Sistemas para Internet e Software Livre

Software LivreComo saber se um software é um código aberto?

○ De acordo com a Open Source Initiative:1 - Livre redistribuição: Sua licença não pode restringir ninguém, proibindo que se venda ou doe o software a terceiros;2 - Código-fonte: O programa precisa obrigatoriamente incluir código-fonte e permitir a distribuição tanto do código-fonte quanto do programa já compilado;3 - Obras derivadas: A licença deve permitir modificações e obras derivadas que possam ser redistribuídas dentro dos mesmos termos da licença original;4 - Integridade do código do autor: A licença pode proibir que se distribua o código-fonte original modificado desde que a licença permita a distribuição de patch files com a finalidade de modificar o programa em tempo de construção;5 - Não discriminação contra pessoas ou grupos: A licença não pode discriminar contra pessoas ou grupos;6 - Não discriminação contra áreas de utilização: A licença não pode restringir os usuários de fazer uso do programa em uma área específica;7 - Distribuição da licença: Os direitos associados ao programa através da licença são automaticamente repassados a todas as pessoas às quais o programa é redistribuído sem a necessidade de definição ou aceitação de uma nova licença;8 - Licença não pode ser específica a um produto: Os direitos associados a um programa não dependem de qual distribuição em particular aquele programa está inserido. Se o programa é retirado de uma distribuição, os direitos garantidos por sua licença continuam valendo;9 - Licenças não podem restringir outro software: A licença não pode colocar restrições em relação a outros programas que sejam distribuídos junto com o software em questão; 10 - Licenças devem ser neutras em relação as tecnologias: Nenhuma exigência da licença pode ser específica a uma determinada tecnologia ou estilo de interface.

Page 84: Sistemas para Internet e Software Livre

Software Livre

● Definições ○ Software livre, código aberto? Qual a diferença?

○ Ideologia:■ Free Software Foundation: Concentra-se na

liberdade do usuário; Ética e Moral;■ Open Source Initiative: Foca em questões

corporativas e comerciais; Técnica;

○ De modo geral, não existem disputas. Existem complementos.

Page 85: Sistemas para Internet e Software Livre

Software Livre

● Modelos de negócios ○ Dois objetivos devem ser contemplados:

■ Financiar o desenvolvimento do software;■ Estimular a adoção do software. Consultoria e

treinamento;

○ Modelos mais comuns● Redistribuição (CDs e DVDs com software livre)● Extensões não-livres● Produtos e serviços privilegiados● Licença com prazo de validade● Integração com produtos de hardware● Serviços baseados em software livre● Serviços diretos e padronizados● Publicidade

Page 86: Sistemas para Internet e Software Livre

Software Livre

● Licenças

○ Existem três tipos de licenças:■ Recíprocas totais■ Recíprocas parciais■ Permissivas

Page 87: Sistemas para Internet e Software Livre

Software Livre

● Licenças - Recíprocas totais

○ Tipo de licenças GPL e AGPL.○ O software é livre, deve permanecer livre e

os trabalhos derivados devem ser livre também.

○ Exigem que os trabalhos relacionados ao trabalho original, de alguma maneira, sejam licenciados sob a a mesma licença do software original.

Page 88: Sistemas para Internet e Software Livre

Software Livre

● Licenças - Recíprocas parciais

○ Tipo de licenças LGPL.○ O software é livre e deve permanecer livre,

mas os trabalhos derivados não precisam ser livres.

○ Exigem que o código licenciado em si, modificações e melhorias diretamente relacionadas a ele sejam sempre disponíveis sob a mesma licença. Projetos que usam esse código podem ser licenciados de forma independente.

Page 89: Sistemas para Internet e Software Livre

Software Livre

● Licenças - Permissivas

○ Tipo de licenças Apache, MITX, BSD.○ O software é livre, mas pode ser

relicenciado sem permissão adicional do autor.

○ Permitem o relicencimaneto sem permissão adicional do autor com mínimas restrições. Interessante quando o objetivo é disseminar o software e a tecnologia correspondente, independente da licença final.

Page 90: Sistemas para Internet e Software Livre

Sistemas para internet e software livreCreative Common

Image: FreeDigitalPhotos.net

Page 91: Sistemas para Internet e Software Livre

Creative Commons

● Para que serve?

○ Facilitar a colaboração.○ Aumentar o seu alcance e reputação.○ Acelerar a criação de recursos educativos.○ Melhorar a qualidade de materiais.○ Reduzir o custo de desenvolvimento.○ Fazer a melhor utilização dos recursos dos

financiamento público.○ Dar um novo valor ao material antigo.○ Fornecer clareza jurídica.

Page 92: Sistemas para Internet e Software Livre

Creative Commons

● As Licenças

○ Atribuição (by)○ Esta licença permite que outros distribuam,

remixem, adaptem ou criem obras derivadas, mesmo que para uso com fins comerciais, contanto que seja dado crédito pela criação original. Esta é a licença menos restritiva de todas as oferecidas, em termos de quais usos outras pessoas podem fazer de sua obra.

Page 93: Sistemas para Internet e Software Livre

Creative Commons● As Licenças

○ Atribuição – Compartilhamento pela mesma Licença (by-sa)

○ Esta licença permite que outros remixem, adaptem, e criem obras derivadas ainda que para fins comerciais, contanto que o crédito seja atribuído ao autor e que essas obras sejam licenciadas sob os mesmos termos. Esta licença é geralmente comparada a licenças de software livre. Todas as obras derivadas devem ser licenciadas sob os mesmos termos desta. Dessa forma, as obras derivadas também poderão ser usadas para fins comerciais.

Page 94: Sistemas para Internet e Software Livre

Creative Commons● As Licenças

○ Atribuição – Não a Obras Derivadas (by-nd)○ Esta licença permite a redistribuição e o uso para

fins comerciais e não comerciais, contanto que a obra seja redistribuída sem modificações e completa, e que os créditos sejam atribuídos ao autor.

Page 95: Sistemas para Internet e Software Livre

Creative Commons● As Licenças

○ Atribuição – Uso Não Comercial (by-nc)○ Esta licença permite que outros remixem, adaptem,

e criem obras derivadas sobre a obra licenciada, sendo vedado o uso com fins comerciais. As novas obras devem conter menção ao autor nos créditos e também não podem ser usadas com fins comerciais, porém as obras derivadas não precisam ser licenciadas sob os mesmos termos desta licença.

Page 96: Sistemas para Internet e Software Livre

Creative Commons● As Licenças

○ Atribuição – Uso Não Comercial – Compartilhamento pela mesma Licença (by-nc-sa)

○ Esta licença permite que outros remixem, adaptem e criem obras derivadas sobre a obra original, desde que com fins não comerciais e contanto que atribuam crédito ao autor e licenciem as novas criações sob os mesmos parâmetros. Toda nova obra feita a partir desta deverá ser licenciada com a mesma licença, de modo que qualquer obra derivada, por natureza, não poderá ser usada para fins comerciais.

Page 97: Sistemas para Internet e Software Livre

Creative Commons● As Licenças

○ Atribuição – Uso Não Comercial – Não a Obras Derivadas (by-nc-nd)

○ Esta licença é a mais restritiva dentre as nossas seis licenças principais, permitindo redistribuição. Ela é comumente chamada “propaganda grátis” pois permite que outros façam download das obras licenciadas e as compartilhem, contanto que mencionem o autor, mas sem poder modificar a obra de nenhuma forma, nem utilizá-la para fins comerciais.