Marketing de conteúdo e web semântica

Socializar. Compartilhar. Conversar. Interagir. Neste mundo cada vez mais conectado, o marketing conjuga estes verbos constantemente para criar uma relação de confiança e valor entre instituições e pessoas, disponibilizando conteúdo adequado e relevante a cada contexto imaginado.

Este conteúdo se apresenta na forma de recursos cada vez mais variados, em distintos formatos, e em diferentes contextos disponibilizados na web. Marketing de conteúdo busca flexibilidade para adicionar novos recursos, para mapear ligações e mudanças entre os recursos, para refletir os diferentes contextos do negócio, para garantir integração entre canais, para deixar os recursos com dados inteligentes – smart data, e para entender e medir o engajamento do cliente.

Web semântica, ou web de dados, promove a interoperabilidade semântica entre estes recursos com uma linguagem e regras gramaticais bem definidas, processável e compreensível tanto por humanos, como por agentes de software.

Um conteúdo relevante presente nos recursos, como textos sobre produto ou serviços, vídeo, imagens, infográficos, e-books, avaliações de clientes, informação técnica, entre outros, precisa, então, disponibilizar uma estrutura semântica para ser automaticamente localizado, reutilizável e adaptado aos diversos canais como redes sociais e e-mail marketing.

Inicialmente, três grandes passos podem ser adotados. O primeiro passo é a construção da taxonomia envolvida ao contexto no qual os recursos estão inseridos e, assim, compartilhar vocabulário expresso nos diversos canais. Ferramentas como Google Keyword Planner, Squirrly e Keywordtool.io podem auxiliar nesta construção.

Já o significado aparece em metadados ou em anotações semânticas. Os metadados devem ser inseridos nos próprios recursos que descrevem ou serem armazenados em repositórios, na forma de anotações. Anotação semântica identifica, formalmente, conceitos e relações entre conceitos presentes nos recursos Web. Por exemplo, em páginas HTML (Hyper Text Markup Language) é possível inserir metadados através de marcações não visíveis na exibição da página pelo navegador. Os padrões associados são RDFa (Resource Description Framework in atributes), microdata, JSON-LD (JavaScript Object Notation para Linked Data) e OWL (Web Ontology Language). Já para armazenamento, surge como exemplo o banco de dados virtuoso e a linguagem para consulta SPARQL.

Anotador e consumidores da anotação devem compartilhar o mesmo significado e interpretação. Para ist, deve ser providenciada a referência a um ou mais vocabulários controlados – acordos sobre os dados transportados para organizar os conceitos e promover o desenvolvimento de ferramentas que os representam.

O segundo passo é anotar semanticamente os recursos com vocabulários controlados.

O site Linked Open Vocabularies – LOV apresenta 563 vocabulários separados por categorias como biologia, pessoas e multimedia, e interações entre eles. Alguns vocabulários em destaque são Dcterms (DCMI Metadata Terms), Dce (Dublin Core Metadata element set), Foaf (Friend of a Friend), Skos (Simple Knowledge Organization System) e o Geo (WGS84 Geo Positioning). Google e Yahoo criaram o Schema.org, atualmente adotado por muitas empresas, entre elas, Microsoft, Pinterest, Yandex.

Motores de busca, ao utilizarem estes metadados proporcionam consultas mais precisas, envolvendo não somente palavras-chave (taxonomia), mas propriedades (metadados), como autor, formato, datas diversas e outros, e o propósito como o contexto no qual o recurso se insere, sua qualidade, suas condições de uso, suas estratégias de preservação, e assim por diante.

O grande exemplo é o Google, onde os dados estruturados são conhecidos como rich snippets e rich cards – associados ao vocabulário controlado schema.org. Mais de 200 fatores são considerados nas suas buscas visualizados em rich results – dados presentes nos rich cards – e knowledge graph cards – dados agregados de uma variedade de informações relevantes e confiáveis sobre entidades como pessoas, locais e organizações.

O terceiro passo é construir uma rede de dados com a ligação entre os diferentes recursos internos e externos de tal forma a enriquecer o conteúdo do recurso disponibilizado. Linked Data é o conjunto de boas práticas para publicar e conectar conjuntos de dados estruturados na Web. Seus princípios básicos são usar URIs como nomes para recursos; usar HTTP URIs de forma que as pessoas possam procurar por estes nomes; quando alguém procurar por uma URI, fornecer informações úteis, usando os padrões (RDF*, SPARQL); e incluir links para outras URIs para que as pessoas possam descobrir mais coisas sobre o conteúdo.

Entre as ações de marketing digital associadas ao marketing de conteúdo, destaca-se o SEO (Search Engine Optimization) para promover os recursos existentes no site perante os motores de busca, e o Digital Data Management para publicar, acompanhar e monitorar analiticamente os dados presentes nos recursos.

O resultado destes passos são páginas interpretadas automaticamente pelos agentes ou serviços web semânticos, principalmente, para criar uma experiência relevante para o usuário, para realizar uma comunicação com os assistentes pessoais ou com os motores de busca de tal forma que eles possam recomendar seu conteúdo em suas pesquisas. Enfim, para conjugar os verbos do mundo digital.

Por Regina Cantele para o iMasters

Analista de Desenvolvimento C# – Clear Sale – Barra Funda – SP

Superior completo em cursos relacionados a Tecnologia da Informação.
Desejável Pós Graduação.

Realizar análise e desenvolvimento de sistemas em .Net/C#. Atuar com o levantamento de novas funcionalidades e melhoria das funcionalidades para aplicações existentes.
Necessário vivência na função.
Necessário conhecimento em Asp.Net, C#, MVC, HTML5, Jquery, SQL (Preferencialmente MS SQL).
Desejável conhecimento em WebServices, SOA, XML, Json, WebAPI.

Salário entre R$5.000 a R$7.000 + benefícios (Assistência Médica, Assistência Odontológica, Vale Transporte, Vale Refeição, Auxílio Creche e PLR).

Horário: Segunda à Sexta-feira das 9:00 às 18:00.

Local: Barra Funda – SP (Próximo ao metro)

Acesse o link e cadastre-se https://goo.gl/UwJn3S

Comparativo CLT x PJ

Hoje em dia no mercado de TI (nem só TI, mas TI principalmente), existem várias maneiras de contratação, das quais as mais utilizadas são:

* CLT: Registrado com carteira de trabalho assinada, férias, etc
* PJ: Pessoa Jurídica, na qual o profissional tem que abrir uma empresa e vira um prestador de serviço.

Existem variações da CLT, como a tal de CLT Flex, na qual o funcionário é registrado por um valor menor e recebe o resto legalmente “por fora”. Outra variação é o registro CLT por um valor baixo e recebimento de participação nos lucros na empresa bimestralmente. No meu ponto de vista, estas variações são piadas de mal gosto e nem comento aqui, mas infelizmente essas são as saídas de muitos profissionais que estão ingressando no mercado de trabalho e tem que se “submeter” a tal modalidade.

Em síntese, um profissional registrado como CLT tem todos os direitos previstos na legislação brasileira, tais como: 13, férias, FGTS, etc. Porém ele paga uma alta carga tributária e o valor líquido que ele recebe é menor que o valor bruto, ou seja, o valor registrado em carteira. Um profissional registrado por 4500 reais, recebe aproximadamente 3600 ao final do mês, um desconto de quase mil reais!
Um profissional que presta serviço através de sua empresa (PJ), tem por características pagar menos impostos e ter menos benefícios, portanto, o valor líquido que ele pega em mãos, é muito maior, além disso, as empresas que contratam um profissional PJ, tem um custo muito menos para manter o “funcionário”, portanto, podem pagar mais pelo seu trabalho.

Colocando isso em números para podermos comparar as duas modalidades de contratação, vamos a um exemplo abaixo:

Profissional CLT registrado por 4500 reais.

Profissional PJ com o valor hora de 50 reais calculando um mês de 168 horas. (50 * 168 = 8400) – Este valor hora é de um programador Java Sênior, mas podem haver variações.

Para calcularmos o real salário do funcionário CLT, não basta somente verificar o valor que ele recebe líquido, temos que colocar todos os benefícios na equação, alguns exemplos são:

3600 – Valor líquido ao fim do mês
400 – INSS (este valor retorna algum dia na aposentadoria)
300 – 13 (valor do 13 dividido por 12)
300 – 14 (algumas empresas tem 14/Participação nos lucros, é a mesma conta que para o 13)
1000 – Plano de saúde executivo familiar (profissional + esposa + filhos – eu cotei o melhor plano da Amil)
250 – Ticket refeição
250 – Vale transporte

Os benefícios variam de empresa para empresa, então esta conta é bem pessoal, citado acima alguns exemplos comuns, baseado nestes exemplos, podemos dizer que o salario do profissional CLT é então:

3600 + 2500 = 6100

Agora, calculando o valor do profissional PJ, temos 50 * 168 = 8400.

Os valores do CLT e do PJ podem variar com adição de horas extras, mas NUNCA se deve levar em consideração este fator, visto que é algo que pode não existir.

Em cima do valor de 8400, o profissional PJ vai pagar aproximadamente 15% de impostos/escritório/etc, é um valor alto, mas a média é entre 10 a 15% mesmo, para fazermos estas contas, sempre devemos chutar alto.

Descontados os 15%, o PJ tem ao final do mês 7140 reais na mão. Agora veja que o PJ não tem NENHUM dos benefícios do CLT, então este valor dos benefícios deve ser descontado do PJ:
7140 – 2500(benefícios do CLT) = 4640

Agora destes 4640, desconta-se o salário líquido do CLT (3600), que vai dar uma diferença de 1040.

Concluindo:

Existem ‘N’ fatores que podem entrar nesta equação, o CLT pode ter mais ou menos benefícios, o PJ pode ter algum benefício também, porém em geral, O CLT tem que considerar que tem férias, licenças (maternidade, doença, seguro desemprego, etc)FGTS, etc.. enquanto o PJ não tem NADA disso, se ele quiser o benefício, vai ter que pagar de seu próprio bolso.

Outro fator que muitas pessoas consideram é a estabilidade do CLT. Para uma empresa mandar um profissional PJ “embora”, é muito mais prático e não tem custo algum, no máximo tem um contrato assinado que normalmente dá até este direito para a empresa, ai o PJ vai embora sem receber nada! Para mandar um CLT para a rua, é caro! Uma empresa sempre vai preferir mandar o PJ para a rua! Eu não levaria em consideração este fator na área de TI se você for um bom profissional (bom CV, falar inglês, etc), pois o mercado é aquecido e não faltam vagas.

O PJ normalmente não tem plano de carreira, o CLT costuma ter. Algumas empresas também pagam cursos para os profissionais CLT, e isso tem seu valor e tem que entrar na conta.

Por outro lado, o PJ pode trabalhar muito, fazer horas extras irreais, e recebera por isso, um CLT, esta limitado legalmente em seu numero de horas (40 horas mês).

Para abrir uma empresa para prestar serviço como PJ, você vai ter um custo, e para fechar a empresa vai ter um custo maior ainda, o CLT não tem custo algum (só o da foto 3×4 :-)).

Se um PJ falta do trabalho, o problema é dele, até com atestado médico, e não vai receber por isso, então ele não pode nem pensar em ficar doente! Se o CLT falta, com atestado, ele recebe normalmente, se fica doente, tem amparo legal!

Legalmente, uma empresa (PJ) deve gastar o lucro da empresa com A empresa, o que a maioria das pessoas faz é simplesmente pegar esse dinheiro e torrar com gastos pessoais, casas, carros, etc. Se a empresa cai em um pente fino da Receita Federal, irá pagar uma multa sobre tudo que não for comprovado como gasto da empresa PJ, ou seja, sobre TODA sua retirada! Tenho amigos que cairam nessa e demoraram mais que 5 anos para se “levantar” financeiramente.

Agora, se perguntarem qual minha preferencia, eu digo categoricamente: CLT.

O valor PJ tem que ser muito alto para justificar uma migração para o mesmo. Tem que dar dinheiro para pagar todos os benefícios do CLT e sobrar. As vezes as pessoas só olham o valor direto que o PJ rende e não olham os outros valores que o CLT propicia e caem em ilusões!

Ao analisar uma proposta, coloque TODOS os fatores na ponta do lápis e não tome uma decisão precipitada.

Texto do Juliano Marcos Martins para o site APInfo

Entendendo o modelo Multi-tenancy para clientes

No futuro, O modelo SaaS vai requerer tecnologias e arquiteturas especificamente desenhadas para operar em nuvem. Entretanto, essas novas arquiteturas e tecnologias vão aparecer a longo prazo, com modelos intermediários e transitórios surgindo no curto e médio prazo, fazendo a ponte entre os modelos computacionais existentes hoje e os futuros modelos em nuvem.

Atualmente, a maioria dos softwares existentes foi desenhada para operar nos data centers das empresas, sujeitos a contratos específicos de licença de uso. As próprias plataformas de aplicação como Java e .Net foram desenhadas para operarem no modelo on-premise.

Em um modelo SaaS em nuvem, as aplicações podem ser oferecidas como serviços a muitas organizações. Para os provedores desses serviços, é imprescindível que os recursos computacionais a serem oferecidos sejam o mais amplamente compartilhados.

Para os usuários, é fundamental que uma falha de um software na operação para um outro usuário não o afete. Além disso, cada usuário gostaria de adaptar, na medida do possível, a aplicação às suas características específicas.

Porém as arquiteturas de software atuais não atendem a esse novo cenário. É necessário um novo modelo arquitetônico de software, chamado de multitenancy ou multi-inquilino.

A proposta do modelo SaaS é ter uma aplicação atendendo aos múltiplos clientes, chamados de tenants ou inquilinos. Inquilinos não são usuários individuais, mas empresas clientes do software.

Uma arquitetura multi-inquilinos (em alguns casos, a literatura fala em multi-arrendatário, mas eu prefiro usar o termo multi-inquilino) é uma arquitetura essencial para um ambiente em nuvem, pois permite que múltiplos inquilinos (empresas/clientes) compartilhem os mesmos recursos físicos como um aplicativo ERP, mas permaneçam logicamente isolados.

Os modelos multi-inquilino são:

01 – Inquilino isolado: Neste modelo, cada inquilino tem seu próprio stack de tecnologia, não havendo compartilhamento de recursos. Na prática, embora o usuário sinta a experiência de multi-inquilino, pois a aplicação é oferecida a múltiplos clientes a partir do mesmo data center, este modelo não é multi-inquilino. É similar ao modelo tradicional de hosting (hospedagem), no qual cada usuário tem seu próprio conjunto de recursos computacionais e sua própria instância da aplicação. Para a uma oferta SaaS, este modelo carece de agilidade e de elasticidade, porque adicionar um novo inquilino requer o provisionamento de sua própria instância de hardware e de software. Também não permite economia de escala. Os provedores que comercializam softwares no modelo tradicional podem oferecer esta opção, sem alterar sua aplicação. Embora não seja verdadeiramente Computação em Nuvem, é um passo nessa direção, oferecendo como atrativo a facilidade de uma rápida oferta para SaaS.

02 – Multi-inquilino via hardware compartilhado (virtualização): Neste modelo, cada inquilino tem seu próprio stack de tecnologia, mas o hardware é alocado dinamicamente a partir de um pool de recursos, via mecanismos de virtualização. Bastante similar ao modelo anterior, mas permitindo elasticidade na camada do hardware. Elasticidade é fundamental ao modelo de Computação em Nuvem, que demanda mecanismos de alocação e liberação de recursos de forma dinâmica. Este modelo permite uma entrada rápida na Computação em Nuvem, principalmente por provedores de aplicações e de infraestrutura, porque não demanda redesenho da aplicação. Entretanto, apresenta limitações, pois a unidade de alocação e liberação de recursos é a maquina virtual onde aplicação vai operar.

03 – Multi-inquilino via container: Neste modelo, vários inquilinos são executados na mesma instância de um container de aplicação (um servidor de aplicações), mas cada inquilino está associado a uma instância separada do software de banco de dados. O ambiente de execução é compartilhado entre vários inquilinos, mas a plataforma de dados é a mesma. A premissa do modelo é que o isolamento do banco de dados garante integridade dos dados dos inquilinos, ao mesmo tempo em que o container de execução, por ser compartilhado, oferece as vantagens de elasticidade e de customização. Para garantir o isolamento dos inquilinos dentro de uma única instância do container ou servidor de aplicações, este deve ser desenhado com funcionalidade para gerenciar a alocação de recursos aos seus inquilinos.

04 – Multi-inquilino via todo o stack de software compartilhado: É uma evolução do modelo anterior, agora com todo o stack de software sendo compartilhado. Neste modelo, além do container da aplicação, também uma única instância do banco de dados é compartilhada por todos os inquilinos.

O modelo (02), multi-inquilino por compartilhamento de hardware, permite uma transição para SaaS com baixo custo e baixo impacto. A razão é simples: preservam os modelos de programação e tecnologia já conhecidos.

Os modelos (03) e (04) implementam um nível bem mais avançado de SaaS e provavelmente serão os modelos dominantes no longo prazo. Mas, atualmente, é implementado apenas por empresas de software que não possuem legado para sustentar e, portanto, podem romper com os modelos tradicionais, como por exemplo, a Salesforce.

Como são nativos ao modelo em nuvem, oferecem níveis elevados de flexibilidade e de elasticidade, mas ao custo de disrupção nos modelos atuais de programação.

Nos próximos anos, veremos um intenso debate sobre os prós e contras dos vários modelos de multi-inquilinos, mas no longo prazo os modelos (03) e (04) vão prevalecer.

Empresas de software que precisam suportar sua imensa base de clientes com sistemas legados estão optando por uma evolução gradual, adotando inicialmente o modelo (02), mas incentivando uma evolução posterior para os modelos (03) e (04), à medida que o mercado e as tecnologias disponíveis forem amadurecendo o suficiente para suportarem clientes corporativos de grande porte.

Texto de Cezar Taurion para o iMasters

Definição de Full-Stack Developer

Full stack web developer é um perfil de desenvolvedor que consegue trabalhar não somente com programação, pois compreende de forma razoável uma porção de outras tecnologias envolvidas em um sistema: banco de dados, infra-estrutura, sistema operacional, servidor web, CSS/HTML (conforme ilustração do @bvafaretto).

Estes profissionais conseguem solucionar uma grande gama de problemas deste “stack” todo e, quando precisam de ajuda, precisam de pouca instrução de um profissional especialista na referida tecnologia para conseguirem prosseguir. O conjunto todo é chamado de “stack”, pois se trata de uma “pilha” de tecnologias (pense nas tecnologias do servidor embaixo, e as do cliente em cima). Então “full-stack” é aquele desenvolvedor que lida com todas as camadas da pilha, e não só com uma parte delas.

Full Stack Web Developer

Ao contrário do que é pensado, não é preciso ser uma desenvolvedor experiente para considerar-se “full stack”. Isto pode ocorrer perfeitamente nos primeiros anos do profissional, basta o mesmo ter contato com estas diferentes tecnologias, o que normalmente ocorre em empresas menores (onde nem sempre há um profissional disponível para cada tecnologia) ou empresas que estimulam este tipo de situação (arrisco dizer que seja a maioria das que trabalham com alguma metodologia ágil).