quinta-feira, 10 de dezembro de 2015

Vídeos de Cases Interessantes de WSO2

Melhor que nós mesmos falarmos de nossa tecnologias, é muito interessante quando nossos clientes vão em nossas conferências compartilhar suas experiências e grandes resultados com a plataforma WSO2, neste post você verá alguns deles compartilhando suas experiências e insights.

Segue agora alguns vídeos que eu acredito que se você está em dúvida em analisar ou mesmo utilizar WSO2 em seus projetos e organização, com certeza você poderá tirar grandes lições e ver resultados reais por gente como você:

Gestão de Identidade

Veja o que temos feito em termos de Gestão de Identidade


Caso de Sucesso de Implementação de 4 Milhões de Identidades em Dubai


A Gestão de Identidade da Próxima Década


Autenticação Multi-factor (Biometric Template)


Implementing SSO Across our Science-as-­a-­Service Web and API Stack at TACC

Analytics e Big Data



Detecção de Fraudes com WSO2 CEP


Caso de Sucesso com Big Data e Analytics da Experian na Europa


Introdução ao WSO2 Data Analytics Server

API Manager / Microservices



Introdução ao WSO2 Microservices Server


Gerenciando e Monetizando APIs com WSO2 API Manager


End-to-end Microservice Architecture with WSO2 IS and WSO2 APIM

Casos de Indústria: Saúde



Connect to Health Data According to International Health Standards


Casos de Indústria : Governo




Implementing National Interoperability Platform


Casos de Indústria: Telecom



WSO2Con USA 2015 : Building a Cloud-Based App Platform With WSO2 - Cliente WEST


GSMA OneAPI and Connect: Operator Interoperability

Casos de Indústria : Retail (e-comerce e varejo)



Decide and Do By Knowing With WSO2 CEP


Estes são alguns vídeos que eu assisto no trânsito, ou quando o tempo me permite, e eu compartilho algumas informações que podem ser bem interessantes para todos, espero que gostem.



terça-feira, 3 de novembro de 2015

O que é mais importante? Um Roadmap ou a Visão

Este mês eu comemorei meu primeiro ano na WSO2, confesso que o trabalho é tanto e tão intenso, mas ao mesmo tempo tão compensador (sim, é uma startup e gosto disso :) ) que realmente parece que foi ontem.

Neste ano, além de alguns projetos interessantes que fechamos, sempre com a Ajuda de Deus, tentamos levar aos nossos clientes um pouco de uma lição importante que eu aprendi neste ano: Na minha ótica a "Visão de Futuro é muito mais importante que o Roamap", antes de achar que eu estou sendo redundante, por favor continue a leitura, e você entenderá o que eu quero dizer.

Um dos, se não o maior diferencial da WSO2 é trabalhar orientada sempre em impulsionar a inovação de nossos clientes, e como pensar pequeno e grande dá o mesmo trabalho, a gente sempre faz nosso melhor para estudar e amadurecer idéias e insights para gerar diferencias e inovação para estes clientes.

Visão de Futuro

Não importa em qual área, é muito importante para empresas líderes, continuarem a criar tendências, e obviamente para os desafiantes poderem quebrar o "status-quo" é mais importante ainda caminhar em buscar de inovação e de mudanças. Nem tudo acaba em Pizza para Domino's que superou seus concorrentes, numa mudança de comportamento nos últimos 3 anos, exatamente buscando por inovação. Sem falar das emblemáticas mudanças de mercado aplicados por Netflix sobre Blockbuster, e falando de Brasil : HotelUrbano sobre Decolar.com.

Nem todas as inovações estão em tecnologia, mas claro, uma mudança de posicionamento de mercado, ou uma campanha publicitária, deve ser amparada por uma estratégia tecnológica, para que milhões não vão para o ralo, ou ainda pior: Para a concorrência.

A missão de se reinventar a cada dia deve ser o pavimento que liga a estrada para a visão de futuro, talvez, sua empresa não tenha a capacidade de tornar o plano final de sua estratégia por uma limitação  tecnológica, social ou etc; mas é importante você manter sua visão.



E quando falamos de futuro, é impossível não pensar no presente, e atualmente um dos assuntos mais populares  é a regulamentação do Uber no Brasil, eu faço questão e perguntar para taxistas, profissionais ligados a indústria e motoristas do Uber as opiniões deles. Em São Paulo, parece estar mais resolvido, mas é um assunto polêmico, e já vi várias conversas de taxistas dizendo que "O Uber está tirando o ganha pão deles", ao mesmo tempo já vi motoristas de Uber super felizes com o conceito, e honestamente ganhando seu dinheiro; e já vi um taxista em Belo Horizonte, me dizer que tem um Taxi e um Uber (Uma Alta Disponibilidade Social [ outro post ] ).

Pois bem amigos, uma assunto interessante que poucos motoristas do Uber não sabem, principalmente no Brasil, é que a relação de amor com o Uber terá uma data para acabar! Calma, isto não será agora, entretanto quanto o Uber tiver 100% de segurança na tecnologia dos carros autônomos (sem motoristas), para que ter 20-30% da corrida, se eles podem ter 100%? E gerar um crescimento exponencial a ponto de remodelar a estrutura de transporte em todo o mundo?



Usei o Uber, para falar o quanto é importante ter a Visão para onde se quer chegar, independente do que você tenha que executar enquanto você ainda não chegou onde quer. Por mais que esta realidade, seja daqui a 10-20 anos, é importante você imaginar o "que você quer ser quando crescer!".

Visão de Futuro vs Roadmap

Eu já trabalhei em algumas outras fabricantes de Software, e em muitos casos já vi inúmeras vezes Roadmaps falharem, até aí é normal, é mais ou menos como falhar uma entrega de release de um software, mas já vi muitas empresas falharem em sua visão, e isso, eu acredito que as próximas gerações de CIOs ou C-Levels em geral, não deverão perdoar. Se distancias da sua visão do futuro, é mais ou menos como mudar sua identidade.

Quando eu vi a WSO2 pela primeira vez, eu a vi como meu concorrente, e depois vi como meu empregador, e desde o primeiro instante me intrigou a visão de futuro desta empresa, e o quanto a orientação a manter sua visão mais importante que um roadmap escrito a "sangue", traz benefícios sem tamanho para seus clientes.

Quando alguém me pergunta a definição da WSO2 em 170 caracteres eu respondo: "É a companhia que torna as pessoas, empresas e seus negócios conectados". Para isto, cerca de 20 produtos fazem parte da plataforma construída sobre o mesmo codebase (Carbon), que é parte da visão de possuir uma plataforma resiliente de componentes que a medida que mudamos a combinação destas peças, nós alcançamos novos produtos e novos componentes.

O fato de mantermos nossa plataforma 100% opensource, permite que tenhamos um grande número de feedbacks, e que clientes possam ter a prova que algo pode funcionar de forma simples, ou se tiverem que falhar, que isto também seja rápido, e para aqueles que não podem perder tempo nem dinheiro possam ter nosso suporte e garantia que as coisas continuem da melhor forma possível.

Sendo assim, eu consigo perceber que a visão da empresa é ter sempre um Core de Tecnologias que possam atender as demandas reais de clientes, focando no que faz diferença no dia-a-dia, mantendo a consistência e coexistência do que temos e investimos com o que o mercado está fazendo e buscando. Não temos tempo, para ter por exemplo 3-4 produto internos concorrendo entre si, pelo contrário, temos 3-4 produtos, que de acordo com as combinações, podem gerar: 8, 10..12 novos produtos.

Por este motivo, nós estamos readaptando alguns componentes de nossa plataforma (produtos), e preparando novos para continuar nossa Visão de Futuro que é "Conectar" não importa o que e como, mas estaremos nesse papel de ponte (middleware), ligando mundos, tecnologias e pessoas.



Entre estas adaptações, estarei falando em breve em alguns novos posts, sobre tudo que estamos  "aprontando" em casa, mas por hora, vale falar um pouco sobre nossa nova plataforma de Cloud, que é baseada no Google K8S (Kubernetes), mas claro, adicionando nossos "suplementos(whey protein, bacias etc :) ) ",  que em resumo, é a um gerenciador de containers (Docker). Qual a notoriedade do Docker há 4 anos atrás, comparado ao OpenStack? Qual a será o papel dos hypervisors e o líder de mercado neste segmento, já que os containers inevitávelmente tomarão conta dos datacenters de alguma maneira? Longe de mim, dizer que alguma empresa irá morrer, mas se algumas delas não se reinventarem, além de não droparem a onda, podem sim ser consumida por empresas menores, e que tem uma grande chance de inovar, por terem e estarem sob estruturas resilientes.

O que restou para algumas empresas de Virtualização (ótimas, boas ou péssimas), é tentar recuperar o tempo perdido, e não perder sua participação de Market share, para novas empresas que chegam forte, ou mesmo, abandonar seus roadmaps originais para remodelarem sua visão com base na demanda de mercado.

Conclusão

Temos lições importantes aprendidas com o mercado em geral, e as histórias de sucesso e fracasso, se repetem mais frequente que finais de pares românticos de novelas brasileiras, se você tem um desafio pela frente, busque a visão do que ou quem você quer ser, e procure empresas que possam estar alinhadas também com este objetivo.

Neste post eu tentei cobrir a questão de visão e roadmap, e compartilhar a minha percepção aprendida neste primeiro ano de WSO2. O mercado está mudando numa velocidade tremenda, há sempre uma forma de recomeçar uma história ou projeto, e se você está nesse momento, pense grande, determine sua visão de futuro: Quem você será quando crescer? Tenha certeza que você terá novos clientes, aqueles que você não tem hoje, e se você recomeçar sua estratégia, que seja antes do fim, e lembre-se: "Tudo tem começo e o meio, e o fim só existe para quem não percebe o recomeço", reinvente-se!


PS - Uso Uber e o 99Taxis, sendo este último para mim a melhor app no segmento, e ainda com uma grande atenção aos feedbacks de seus usuários!


quarta-feira, 13 de maio de 2015

Configurando o WSO2 DSS para Acessar o Excel

Uma das tarefas mais interessantes que existe no WSO2 DataServices Server é a capacidade de interagir com arquivos do Excel como se fossem fontes de dados. Neste post, eu recomendo uma boa prática para criar serviços desta natureza.

Criando o DataSource para o Arquivo Excel


Dos testes que eu fiz, eu percebi que é muito mais fácil criar um DataSource no Carbon Server do que ficar configurando o conexão diretamente no Serviço de Dados. As configurações que você deve atentar são as seguintes da figura1:


Figura 1- Configuração do DataSource Excel

Em resumo, as seguintes propriedades terão os valores:
  • Driver: org.wso2.carbon.dataservices.sql.driver.TDriver
  • URL: jdbc:wso2:excel:filePath=///Users/edgar/WSO2-Local/dev/<SUA PLANILHA>.xls
É interessante você clicar no botão "Test Connection" antes de você salvar, apenas para ver se tudo está ok.

Leitura do Arquivo Excel

Da maneira que estamos configurando o Datasource, vamos então considerar que a Planilha é o Banco de Dados, e as "Sheets" são as tabelas, e obviamente o titulo das colunas, serão os campos da tabela.

Pronto! Todas as operações que você faz com uma tabela em SQL, você também irá poder realizar com sua planilha, usando apenas instruções SQL.

Bons Serviços :)

terça-feira, 10 de março de 2015

WSO2 ESB - Tutoriais de 3 Minutos - Proxy Services Lendo Arquivos de Pastas

O WSO2 ESB é uma implementação suportada e com algumas extensões do leve e performático ESB da Apache: Synapse.

Ele possui um framework extenso e completo para resolver qualquer cenário de Integração, além de reutilização, governança de serviços, QoS, SLA etc.

No WSO2 ESB existem os ProxyServices , uma forma que eu encontrei de "me ensinar" o WSO2 ESB foi criar a analogia que estes caras são  "Plugs" das Integrações que queremos fazer, entenda que de acordo com o Plug você pode ter um comportamento diferente.


Quando você entender os ProxyServices, vai que o resto é também bem fácil, por exemplo, um ProxyService possui suas configurações de protocolo de Transporte, que podem ser:

  • HTTP
  • HTTPs
  • VFS - Arquivos, Pastas e FTP
  • JMS
  • E-MAIL 
  • etc
Os transportes definem como é a comunicação com o mundo externo, pode ser um ou mais transportes configurados para o ProxyService.

Um ProxyService sempre é um WebService? A resposta é absolutamente NÃO. No exemplo que vamos mostrar, este por sua vez é apenas um "Ouvinte" de um Arquivo numa pasta, ou seja, um cenário bem comum de integração.  Veja a janela de configuração Inicial:

Figura 1 - Configurações do Proxy Service de escuta de Arquivos

Nas configurações da Figura 1, você vê as opções de configuração de um Proxy Service recém criado, para criar os Proxies isto pode ser feito diretamente no Browser através do WSO2 ESB Admin Console. Ou ainda, é possível usar o WSO2 Developer Studio, como na figura abaixo:

Figura 2 - Mesmo Código do Proxy de Leitura de Arquivos, mas no Eclipse (WSO2 Dev Studio)

Porém, eu vou preferir explicar o ProxyService usando o código XML, pois eu achei mais didático que explicar ponto a ponto as duas interfaces:

a) Declaração 

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="CurrencyExchangeVFS"
       transports="vfs"
       statistics="disable"
       trace="disable"
       startOnLoad="true">

b) Todo o Proxy tem um Target, com a InSequence (Sequencia de Entrada) e a OutSequence(em caso de volta do processamento) 

c) As Sequences possuem seus Mediators, que são as ações, ou as caixinhas do fluxo visual de integração, neste caso vamos ter dois: 

<target>
      <inSequence>
         <log level="full"/>
         <property xmlns:p="http://ws.apache.org/commons/ns/payload"
                   name="pair"
                   expression="//p:text"
                   scope="default"
                   type="STRING"/>

Acima nós temos declarado: 

1- Mediator LOG 
2- Mediator Propriedade de nome pair que pega o XPath do conteúdo p:text do Payload, já que nosso exemplo é uma linha CSV (mensagem)

d) Agora temos um Mediator de Script para brincar com o Payload:

 <script language="js">
            print(" Conteudo :  " + mc.getProperty("pair") + " recebido ");
       </script>
</inSequence>

e) Esta tag acima pega via JavaScript o conteúdo da propriedade pair via a variável de contexto mc. 

Funcionamento

Quando executo , posso ver a seguinte janela de console.

Console Output - Esse é o resultado

Faça aqui o download deste Proxy de exemplo, clique aqui.

Conclusão

Em breve, outros posts breves como estes, lembrando que tudo que mostrei via XML, pode ser feito vias as opções de configurações.

terça-feira, 24 de fevereiro de 2015

WSO2 realizará 3 Workshops Gratuitos no Brasil no Q1 de 2015



Demonstrando o comprometimento com o mercado Brasileiro, a WSO2 Brasil estará promovendo 3 Workshops no primeiro trimestre de 2015: 

Em todas as cidades, o seguinte workshop será realizado: 

API, Integration, and SOA Convergence


Começam as 9:00 da manhã e vai até as 13:30 - Em todas as cidades

Público Alvo


·  Desenvolvedores de Integração
·  Arquitetos e Gerentes de TI

Conteúdo


Architecture best practice sessions will explain:
·  Why mobile, Cloud services, and Big Data insight are transforming integration practices
·  What patterns and best practices increase adoption, speed delivery, and create maintainable solutions
·  How to realize Reference Architecture for API, Integration, and SOA
Product demonstration sessions will include:
·  Build RESTful APIs with WSO2 App Server and WSO2 ESB
·  Share master data with WSO2 Data Services Server
·  Mediate, transform, and route messages with WSO2 ESB
·  Encourage mobile interactions with WSO2 API Manager

·  Monitor RESTful API and service usage and adoption WSO2 API Manager, ESB toolkits, and WSO2 Business Activity Monitor


domingo, 22 de fevereiro de 2015

Criando WebServices Proxies com WSO2 ESB

Existem vários vídeos sobre tecnologias WSO2, entretanto a grande maioria em inglês, portanto, resolvi criar alguns screencasts para motivar algumas pessoas a darem seus primeiros passos com algumas de nossas tecnologias. Como nosso carro chefe, ainda é o WSO2 ESB, resolvi mostrar um pouco dele.

Em duas partes, mostro como criar um WebService Proxy, não só criá-lo, que é uma atividade que você realiza em menos de 1 minuto, mas também algumas funcionalidades importantes para um barramento corporativo de serviços. Espero que gostem:

Parte 1: Criando Web Services Proxies no WSO2 ESB - Parte de 1 de 2

 

Parte 2: Criando Web Services Proxies no WSO2 ESB - Parte 2

 

sexta-feira, 20 de fevereiro de 2015

Criando uma Task Cron/Timer no WSO2 ESB

Criar uma Task que pode ser executada de tempos em tempos(CRON), ou um determinado número de vezes, é algo extremamente simples no WSO2 ESB, neste post veremos como isto é possível.

Para começar, no WSO2 Admin Console, vá até a opção Scheduled Tasks como está sendo mostrado na figura 1.


Figura 1 - Admin Console do WSO2 ESB


Na janela seguinte você verá a lista de Tarefas que você já tenha criado, ou pode criar uma nova clicando no botão Add Task (veja figura 2) :

Figura 2 - Interface do Gerenciamento de Tarefas

Ao clicar em Editar ou Add Task você verá a interface de gerenciamento de tarefas, em nosso exemplo, nós estamos executando um WebService via um WebService Proxy do WSO2 ESB de tempos em tempos.  Veja figura 3:

Figura 3 - Edição da Propriedades de Tarefas do WSO2 ESB

Veja alguns detalhes da Figura 3 - Edit Task : 

Properties
  • Soap Action - Um valor Literal, que é o método do WebService que preciso executar na Task.
  • Message : Um XML que contém meu Envelope SOAP, podemos usar variáveis $[var] para tornar esses envelopes mais dinâmicos, estas variáveis vem do contexto de execução do barramento. 
  • ProxyName: Qual é  ProxyName que tenho que executar quando o evento temporizador(timer) for executado.


Trigger Information of the Task
  • Trigger Type: Simple ou CRON : No caso acima, definimos que será um agendamento simples, onde teremos 5 Execuções a cada 20 segundos (Simple), porém, poderíamos definir uma String CRON, uma vez que essa implementação utiliza o popular projeto Quartz. 



Conclusão

Neste simples post, vimos como pode ser criado uma tarefa agendada/cron no WSO2 ESB, um detalhe importante, é que toda a construção foi realizada dentro do próprio Admin Console, sem necessidade de ferramenta de desenvolvimento ou mesmo processos de deployment.