Apresentação utilizada no InfoTech2012.
Apresenta um pouco sobre a evolução a persistencia de dados, bancos de dados relacionais e NoSQL, apresentando um pouco os melhores cenários para se utilizar cada um dos modelos e como mesclá-los para tirar o melhor proveito dos recursos.
Nos últimos 30 anos tem-se vivido a hegemonia dos bancos de dados relacionais, a grande bala de prata da TI. No entanto, em 2009 surgiu o movimento noSQL que além de trazer novas opções de ferramentas e modelos de dados, criou uma nova escola de pensamento. Esta nova escola tem exercido forte influência nos tradicionais bancos de dados relacionais, emergindo uma nova classe de ferramentas, chamada NewSQL.
Esta palestra irá apresentar as diferenças e similaridades entre SQL, NoSQL e NewSQL.
Apresentação utilizada no InfoTech2012.
Apresenta um pouco sobre a evolução a persistencia de dados, bancos de dados relacionais e NoSQL, apresentando um pouco os melhores cenários para se utilizar cada um dos modelos e como mesclá-los para tirar o melhor proveito dos recursos.
Nos últimos 30 anos tem-se vivido a hegemonia dos bancos de dados relacionais, a grande bala de prata da TI. No entanto, em 2009 surgiu o movimento noSQL que além de trazer novas opções de ferramentas e modelos de dados, criou uma nova escola de pensamento. Esta nova escola tem exercido forte influência nos tradicionais bancos de dados relacionais, emergindo uma nova classe de ferramentas, chamada NewSQL.
Esta palestra irá apresentar as diferenças e similaridades entre SQL, NoSQL e NewSQL.
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...Amazon Web Services
The world is producing an ever increasing volume, velocity, and variety of big data. Consumers and businesses are demanding up-to-the-second (or even millisecond) analytics on their fast-moving data, in addition to classic batch processing. AWS delivers many technologies for solving big data problems. But what services should you use, why, when, and how? In this session, we simplify big data processing as a data bus comprising various stages: ingest, store, process, and visualize. Next, we discuss how to choose the right technology in each stage based on criteria such as data structure, query latency, cost, request rate, item size, data volume, durability, and so on. Finally, we provide reference architecture, design patterns, and best practices for assembling these technologies to solve your big data problems at the right cost.
Automated Testing for Embedded Software in C or C++Lars Thorup
When software developers write automated tests for their software, the quality increases, the design improves and the project becomes more manageable. The development also becomes more fun!
In this presentation you will learn how to write automated tests for embedded software. You will see a live demonstration of writing an automated test for a feedback control algorithm in C. I will also talk about the benefits of writing tests and why it can actually improve your design and save you time.
When having a large set of automated tests it becomes valuable to run all tests automatically every time the code is changed. I will touch upon what is the best continuous integration setup for embedded software projects.
Sample code can be downloaded from http://www.zealake.com/public/embedded-autotest.zip
TDD is the elengant way of designing software. People scares from it so much, because software design is hard and it requires discipline. In this talk, I tried to describe what TDD is from software design perspective.
A arquitetura de micro-serviços é fundamentada na explosão de uma aplicação grande e monolítica em um conjunto de APIs e componentes muito pequenos, com baixíssima capacidade funcional, visando independência e autonomia dessas pequenas partes.
Nessa palestra vamos explorar alguns casos de uso desse estilo arquitetural, as motivações para a utilização da arquitetura de micro-serviços, comparando-a com as abordagens tradicionais de SOA e arquiteturas monolíticas. Veremos também quais os benefícios e desafios na composição das equipes de projetos, na comunicação entre os serviços e no gerenciamento dos dados.
Apresentação realizada em 2014 no QCon Rio.
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...Amazon Web Services
The world is producing an ever increasing volume, velocity, and variety of big data. Consumers and businesses are demanding up-to-the-second (or even millisecond) analytics on their fast-moving data, in addition to classic batch processing. AWS delivers many technologies for solving big data problems. But what services should you use, why, when, and how? In this session, we simplify big data processing as a data bus comprising various stages: ingest, store, process, and visualize. Next, we discuss how to choose the right technology in each stage based on criteria such as data structure, query latency, cost, request rate, item size, data volume, durability, and so on. Finally, we provide reference architecture, design patterns, and best practices for assembling these technologies to solve your big data problems at the right cost.
Automated Testing for Embedded Software in C or C++Lars Thorup
When software developers write automated tests for their software, the quality increases, the design improves and the project becomes more manageable. The development also becomes more fun!
In this presentation you will learn how to write automated tests for embedded software. You will see a live demonstration of writing an automated test for a feedback control algorithm in C. I will also talk about the benefits of writing tests and why it can actually improve your design and save you time.
When having a large set of automated tests it becomes valuable to run all tests automatically every time the code is changed. I will touch upon what is the best continuous integration setup for embedded software projects.
Sample code can be downloaded from http://www.zealake.com/public/embedded-autotest.zip
TDD is the elengant way of designing software. People scares from it so much, because software design is hard and it requires discipline. In this talk, I tried to describe what TDD is from software design perspective.
A arquitetura de micro-serviços é fundamentada na explosão de uma aplicação grande e monolítica em um conjunto de APIs e componentes muito pequenos, com baixíssima capacidade funcional, visando independência e autonomia dessas pequenas partes.
Nessa palestra vamos explorar alguns casos de uso desse estilo arquitetural, as motivações para a utilização da arquitetura de micro-serviços, comparando-a com as abordagens tradicionais de SOA e arquiteturas monolíticas. Veremos também quais os benefícios e desafios na composição das equipes de projetos, na comunicação entre os serviços e no gerenciamento dos dados.
Apresentação realizada em 2014 no QCon Rio.
Atualmente, o Serviço Web é a solução mais utilizada para integração entre sistemas, pois apresenta vantagens como independência de plataforma, baixo acoplamento e interoperabilidade entre aplicações. Além disso, é uma tecnologia barata, pois se baseia em padrões abertos da Internet. Com base nisto este trabalho apresenta a estrutura básica, tecnologias e a forma de funcionamento de um Serviço Web. Também são apresentadas características positivas e negativas desta tecnologia.
Trabalho de conclusão de curso apresentado ao IGTI-BH, o objetivo é explorar conceitos e técnicas relacionadas ao uso de SOA que irão permitir um aumento de escalabilidade na aplicação.
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Soa e web services
1. M-II
José Francisco Salm Junior
Diretor de Engenharia de Sistemas
Instituto Stela
Arquitetura SOA: Uso eficienteArquitetura SOA: Uso eficiente
de Web Services, WSDL ede Web Services, WSDL e
UDDIUDDI
2. 2 M-II
Instituto StelaInstituto Stela
Missão do Instituto StelaMissão do Instituto Stela
Conjugar a pesquisa científica com a inovaçãoConjugar a pesquisa científica com a inovação
tecnológica na geração de conhecimento que vise otecnológica na geração de conhecimento que vise o
desenvolvimento das organizações e da sociedadedesenvolvimento das organizações e da sociedade
Visão do Instituto StelaVisão do Instituto Stela
Ser referência internacional em inovação científica eSer referência internacional em inovação científica e
tecnológica, elo entre academia e mercado, promotortecnológica, elo entre academia e mercado, promotor
dede spin-offsspin-offs empresariais e gerador de soluções deempresariais e gerador de soluções de
impacto sócio-econômicoimpacto sócio-econômico
3. 3 M-II
AgendaAgenda
• Sociedade Orientada a Serviços
• Conceitos em Service-Oriented
Architecture (SOA)
• Aspectos relevantes em Web Services e
SOA
4. 4 M-II
Imagine se tivéssemos que
fazer tudo sozinhos, sem puder
contar com serviços de
terceiros.
Sociedade Orientada a Serviços
5. 5 M-II
Transformação do Artesão emTransformação do Artesão em
Provedor de ServiçosProvedor de Serviços
• Muito do que nossa sociedade é hoje provem da:
– Especialização
– Padronização
– Escalabilidade
• Nossa sociedade é quase que exclusamente orientada a
serviços
– Transporte
– Telecomunicação
– Planos de Saúde
– Bibliotecas Virtuais / Busca especializada
6. 6 M-II
O que é SOAO que é SOA
SOA é uma arquitetura de software que
está baseada nos elementos de repositório
de serviços, BUS de serviços e aplicação
frontend.
7. 7 M-II
PrincipaisPrincipais
elementos SOAelementos SOA
SOASOA
Serviços
(Web Services)
Serviços
(Web Services)
Repositório de
Serviços)
Repositório de
Serviços)
ImplementaçãoImplementação
Regras de
Serviços / SLA-WS
Regras de
Serviços / SLA-WS
Lógica na InstituiçãoLógica na Instituição
DadosDados
Aplicação Frontend Bus de Serviços
Interface
8. 8 M-II
Conectividade possibilita oConectividade possibilita o
processamento global da informaçãoprocessamento global da informação
Informação
Processos
Local
1980 1990 2000 2010
Web
XML
WS
WAN
Web
LAN
LANInternet
Global
SOA
9. 9 M-II
O que sãoO que são Web ServicesWeb Services
• Serviços Web são aplicações de
negócio modulares
• Nele é exposta a lógica de negócio em
forma serviços sobre a Internet através de
interfaces programáveis
• Utiliza de protocolos de Internet com o
propósito de fornecer meios para buscar,
assinar e acessar esses serviços
10. 10 M-II
Modelo básico operacional dosModelo básico operacional dos
Web ServicesWeb Services
• Serviços Web podem ser conceituados em um
modelo simples operacional que tem um pouco
em comum com o modelo padrão de
comunicação
• As operações são concebidas em 3 distintas
regras e relacionamentos que definem os
usuários e fornecedores dos serviços:
– Service provider
– Service broker
– Service requestor
11. 11 M-II
Modelo básico operacionalModelo básico operacional
– Service provider: Desenvolvedor e publicador dos serviços (interage
com o service broker);
– Service broker: Responsável por registrar e descobrir os serviços na
Web. Ele lista os vários tipos de serviços, descrições e locais do
serviços que auxiliam o solicitante dos serviços (service requestor) a
encontrar e acessar os serviços requiridos;
– Service requestor: Usuário dos serviços. Ele localiza o serviço usando
o service broker, invoca o serviço requerido e executa ele do service
provider
Developing Java Web Services. Nagappan, et al (2004)
12. 12 M-II
Árvore de PadrõesÁrvore de Padrões
Representação
de IA
Linguagens
de
Semântica
Linguagens
de Gestão
de Conteúdo
Linguagem
de Processos
Linguagens
de
Modelagem
de Software
Adaptado de: IBM
13. 13 M-II
Arquitetura em camadas (WS)Arquitetura em camadas (WS)
Interface de Serviços com o usuário
Diálogo com o usuário (Troca de Mensagem)
Diretório de Serviços
Coordenação dos Serviços
XML Schema +WSDL + SOAP
WSDL + SOAP
Broker (UDDI + WSDL)
Broker (UDDI + WSDL)
14. 14 M-II
Entidade de Informação em SOAEntidade de Informação em SOA
• “No coração de um Web services está um
problema complexo: com uma aplicação
distribuída trata a necessidade de
compartilhamento de dados”
– Identificação e equivalência
– Autenticação
– Autorização e privacidade
– mediação
– sincronização
fonte: The Dataweb: An Introduction to XDI, Drummond Reed et al.
15. 15 M-II
Entidades de informação em SOAEntidades de informação em SOA
• Diferentes dimensões estão presentes
quanto a gerencia da informação
agregada em uma SOA
Entidades
de
Informação
Entidades
de
Informação
Identidade
Conteúdo
Estado
Localização
Replicação
Privacidade
Específico
to SOA
16. 16 M-II
Padrões Web vs. PadrõesPadrões Web vs. Padrões
DatawebDataweb
URIs XRIs
HTML XML/XDI
HTTP
XDI/HTTP
XDI/SOAP
100% endereçamento
de recurso
Representação comum
e formato de link’s
Protocolo de intercâmbio
Web Dataweb
fonte: Drummond Reed
17. 17 M-II
Padrões Web vs. Padrões DatawebPadrões Web vs. Padrões Dataweb
HTML
Website
A
HTML
HTML HTML
HTML HTML
HTML HTML
HTML HTML
Website
B
XDI Link
contracts
XML/
XDI
Dataweb site
A
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
Dataweb site
B
fonte: Drummond Reed
20. 20 M-II
Especificando ContratosEspecificando Contratos
• Dois tipos diferentes de contratos:
– Contrato de Utilização: contrato entre a
interface do objeto e seus clientes;
– Contrato de Realização: contrato entre a
especificação do WS e sua implementação
21. 21 M-II
Contrato deContrato de UtilizaçãoUtilização
• Define o relacionamento entre a interface do
objeto WS e o cliente (usuário), e é especificado
em forma de uma interface.
– Operações: uma lista de operações que a interface
dispoem, incluindo suas assinaturas e definições;
– Modelo de Informação: a definição abstrata de uma
informação ou estado existente entre o cliente e o
objeto que dá suporte a interface.
22. 22 M-II
Contrato deContrato de UtilizaçãoUtilização
Especificação
do WS
Cliente
Interface
utilização
Pré-Condições : é uma afirmação que o componente
assume ser verdade antes que uma operação seja
invocada.
Pós-Condição :é uma afirmação do componente garante
imediatamente após a operação ser invocada. É um
predicado sobre os parâmetros de entrada e de saída,
bem como para o estado do componente logo após a
operação ser invocada
23. 23 M-II
Onda SOA – ou esperar pelaOnda SOA – ou esperar pela
tsunamitsunami
Especificação
de Núcleo
Especificação
Avançada
Especificação
Semântica
SOAP, WSDLUDDI, BPEL
WS-Security etc.
OWL
e outros
?
Adaptado de: IBM