Tópicos abordados nesta apresentação de 17/10/2015:
- Integração entre sistemas – uma visão geral
- Arquitetura Orientada a Serviços (SOA)
- REST
- Microservices
- Serviços na plataforma .NET (WCF, Web API)
Padrão de modelagem que facilita o entendimento do banco de dados pela simples leitura, e simplifica a geração de código autômato pela simples padronização
Esta apresentação discute e fornece informações sobre o desenho de componentes de software utilizando a UML.
É abordado o reuso de software, principais técnicas, padrões e melhores práticas para desenho de componentes de software.
Esta apresentação é recomendada para quem atua como Arquiteto de Software e demais pessoas ligadas ao processo de desenvolvimento
de software.
Minicurso apresentado na Jornada de Atualização em Computação, Elétrica e Eletrônica (JACEE) da Universidade Federal do Espírito Santo (UFES). São apresentados o mercado para Android, o histórico da plataforma, a sua arquitetura, as diferenças do processo de desenvolvimento Java e Android e os componentes básicos de aplicação. Também são descritos os passos para criação de dois aplicativos do início ao fim.
Trabalho comparativo entre os protocolos SOAP e REST.
Disciplina Programação de Sistemas Distribuídos e Concorrência (PSDC) - UNITRI - Uberlândia - MG.
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
A demanda cada vez maior por agilidade, inovação e escalabilidade das soluções digitais tem impulsionado a adoção da arquitetura baseada em microservices. Os benefícios desta abordagem são reais e significativos, mas esse estilo arquitetural traz uma série de novos desafios.
Nesta apresentação, vamos fazer um mergulho profundo a partir de exemplos detalhados sobre as vantagens e desvantagens dessa abordagem arquitetural, como por exemplo:
Explorar como realizar a decomposição funcional e como definir taxonomias e granularidades adequadas para os microservices;
Como solucionar problemas arquiteturais como Client-side service discovery e Server-side service discovery, invocação, logging e monitoramento;
Definir protocolos de comunicação (HTTP, AMQP e Websocket) de forma minimizar a latência e lidar com outros requisitos não funcionais;
Como atacar questões de replicação de dados e regras de negócio e dados;
Design Patterns para problemas arquiteturais recorrentes;
Como conduzir a operação e evolução de um sistema nesta abordagem.
Este ebook. cuja apresentação eu escrevi, traz uma coletânea de posts escritos pelo colega Cézar Taurion nos últimos três anos, que revivem os questionamentos e dúvidas sobre SOA, então uma novidade. Serve para compararmos o que então falávamos, com os dias de hoje. Muita coisa mudou, principalmente com relação à absorção dos conceitos. Portanto, estes posts nos resgatam algumas destas discussões sobre o assunto.
Padrão de modelagem que facilita o entendimento do banco de dados pela simples leitura, e simplifica a geração de código autômato pela simples padronização
Esta apresentação discute e fornece informações sobre o desenho de componentes de software utilizando a UML.
É abordado o reuso de software, principais técnicas, padrões e melhores práticas para desenho de componentes de software.
Esta apresentação é recomendada para quem atua como Arquiteto de Software e demais pessoas ligadas ao processo de desenvolvimento
de software.
Minicurso apresentado na Jornada de Atualização em Computação, Elétrica e Eletrônica (JACEE) da Universidade Federal do Espírito Santo (UFES). São apresentados o mercado para Android, o histórico da plataforma, a sua arquitetura, as diferenças do processo de desenvolvimento Java e Android e os componentes básicos de aplicação. Também são descritos os passos para criação de dois aplicativos do início ao fim.
Trabalho comparativo entre os protocolos SOAP e REST.
Disciplina Programação de Sistemas Distribuídos e Concorrência (PSDC) - UNITRI - Uberlândia - MG.
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
A demanda cada vez maior por agilidade, inovação e escalabilidade das soluções digitais tem impulsionado a adoção da arquitetura baseada em microservices. Os benefícios desta abordagem são reais e significativos, mas esse estilo arquitetural traz uma série de novos desafios.
Nesta apresentação, vamos fazer um mergulho profundo a partir de exemplos detalhados sobre as vantagens e desvantagens dessa abordagem arquitetural, como por exemplo:
Explorar como realizar a decomposição funcional e como definir taxonomias e granularidades adequadas para os microservices;
Como solucionar problemas arquiteturais como Client-side service discovery e Server-side service discovery, invocação, logging e monitoramento;
Definir protocolos de comunicação (HTTP, AMQP e Websocket) de forma minimizar a latência e lidar com outros requisitos não funcionais;
Como atacar questões de replicação de dados e regras de negócio e dados;
Design Patterns para problemas arquiteturais recorrentes;
Como conduzir a operação e evolução de um sistema nesta abordagem.
Este ebook. cuja apresentação eu escrevi, traz uma coletânea de posts escritos pelo colega Cézar Taurion nos últimos três anos, que revivem os questionamentos e dúvidas sobre SOA, então uma novidade. Serve para compararmos o que então falávamos, com os dias de hoje. Muita coisa mudou, principalmente com relação à absorção dos conceitos. Portanto, estes posts nos resgatam algumas destas discussões sobre o assunto.
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
Tópicos abordados nesta apresentação de 14/11/2015:
- Integração entre sistemas – uma visão geral
- Arquitetura Orientada a Serviços (SOA)
- REST
- Microservices
- Serviços na plataforma .NET (WCF, Web API)
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceRaphael Paiva
Apresentado no Scrum Gathering Rio 2015.
Nesta apresentação falo sobre os princípios de Continuous Delivery e como implementar um release pipeline apenas com ferramentas gratuitas e de código aberto, como Docker, Fabric e Jenkins.
Microservices Architecture (MSA) - Presentation made at The Open Group confer...Somasundram Balakrushnan
The slides from the Microservices Architecture (MSA) presentation made at The Open Group conference 2015, in San Diego, CA, USA.
The co-chairs of the MSA project, Som B and Ovace M, presented and spoke on their current work and their findings from The Open Group project.
Além de melhorar e estender o que já está sendo feito e oferecido com a automação de processos, Maurício Bitencourt palestrará sobre a importância da transformação digital para inovar no valor entregue aos clientes/beneficiários, com a utilização de técnicas e tecnologias disponíveis, potencializar o que somente as pessoas fazem muito bem.
SOA, service-oriented architectures, burst on the scene in the new millennium as the latest technology to support application growth. In concert with the Web, SOA ushered in new paradigms for structuring enterprise applications.
At the Forward Internet Group in London, we are implementing SOA in unusual ways. Rather than a few, businessrelated services being implemented per the original vision, we have developed systems made of myriads of very small, usually shortlived services.
In this workshop, we will start by exploring the evolution of SOA implementations by the speaker. In particular, lessons learned from each implementation will be discussed, and reapplication of these lessons on the next implementation. Challenges (and even failures) will be explicitly identified.
We will arrive at a model of the current systems: An environment of very small services that are loosely coupled into a complex system. We explore the demise of acceptance tests in this complex environment, and the clever replacement of business metrics in their stead.
Finally, we will conclude with the surprising programmer development process impacts of this architecture. Indeed, bedrock principles of Agile have been rendered unnecessary, something that equally surprised us. (Presented at Agile India 2013)
This slide show is from my presentation on what JSON and REST are. It aims to provide a number of talking points by comparing apples and oranges (JSON vs. XML and REST vs. web services).
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
Tópicos abordados nesta apresentação de 28/11/2015 para o grupo DotNetBaixada:
- Integração entre sistemas – uma visão geral
- Arquitetura Orientada a Serviços (SOA)
- REST
- Microservices
- Serviços na plataforma .NET (WCF, Web API)
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)Renato Groff
Tópicos abordados nesta apresentação de 26/09/2015:
- Integração entre sistemas – uma visão geral
- Arquitetura Orientada a Serviços (SOA)
- REST
- Microservices
- Serviços na plataforma .NET (WCF, Web API)
Maratona JBoss 2010:
Apresentação do JBossWS e seus recursos, no desenvolvimento e integração de aplicações instaladas no JBoss Application Server utilizando a tecnologia Web Services
Este conteúdo disponibiliza um curso para o desenvolvimento de APIs RESTful utilizando recursos avançados da especificações JAX-RS, seguindo as boas práticas de desenvolvimento de APIs REST com base nos níveis de maturidade REST descritos por Leonard Richardson.
A customização da API RESTful é realizada a partir de providers JAX-RS, implementando a autenticação com JWT (Json Web Token) e customizações de Hypermedia, tornando a API altamente customizável e adaptável para a leitura e escrita de tipos de dados de vários formatos enviados e recebidos pelo cliente da API REST.
Além do desenvolvimento da API em JAX-RS, será demonstrado exemplos de utilização da API via interfaces Resources, criado clientes proxies HTTP para consumir a API utilizando as implementações da especificação JAX-RS RestEasy.
Todo o código fonte está disponibilizado no repositório: https://bitbucket.org/luan_knebel/vendarapidarestapi/src/master
Obs: Ao baixar o PDF as imagens estarão em melhor qualidade.
Microservices - Canal .NET Dev WeekendRenato Groff
Tópicos abordados nesta apresentação realizada durante o Canal .NET Dev Weekend, evento online realizado em 05/12/2015:
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microservices
Semelhante a Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET (20)
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
Apresentação realizada em 03/10/2020 durante o Interop Day, cobrindo as Microsoft Azure role-based certifications (com dicas e orientações para todos aqueles interessados em efetuar exames de certificação). Também foi discutido o uso de tecnologias como Azure App Service, Azure Kubernetes Service, Azure Functions, Azure DevOps, dentre outros serviços que integram a nuvem Microsoft.
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
Apresentação cobrindo dicas e truques úteis no dia a dia com Kubernetes. Palestra realizada em 11/11/2020 durante o evento comemorativo de 1 ano da comunidade Azure Experts.
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
Slides de apresentação sobre como serviços do Microsoft Azure podem melhorar o desenvolvimento de Back-Ends. Palestra realizada no dia 05/12/2020 (sábado) durante o DevPira Festival 20', evento que aconteceu de forma online com transmissão via YouTube.
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
Slides de apresentação demonstrando como ir além no desenvolvimento low-code com Power Apps e Power Automate ao combinar estas tecnologias com soluções criadas com Azure Functions e Azure Logic Apps. Palestra realizada em 12/12/2020 (quinta) durante o MVPConf Latam 2020.
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
Slides de apresentação cobrindo o build e o deployment automatizado de aplicações utilizando GitHub Actions. Palestra realizada em 12/12/2020 (sábado) durante o MVPConf Latam 2020.
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
Slides de apresentação realizada em evento online promovido pela comunidade Baixada NERD no dia 14/11/2020 (sábado). A palestra abordou a evolução da plataforma .NET e de tecnologias como C#, ASP.NET e Visual Studio ao longo das últimas 2 décadas.
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Renato Groff
Slides de apresentação cobrindo a utilização da biblioteca Polly na implementação de aplicações .NET mais resilientes e contando com um melhor tratamento de falhas. Palestra realizada em 11/12/2020 (sexta) durante o MVPConf Latam 2020.
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Renato Groff
Slides de apresentação cobrindo o suporte do Microsoft Azure a Docker e Kubernetes. Palestra realizada em 10/12/2020 (quinta) durante o MVPConf Latam 2020.
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Renato Groff
Slides de apresentação com dicas e truques envolvendo a utilização de containers Docker. Palestra realizada em 10/12/2020 (quinta) durante o MVPConf Latam 2020.
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
Slides de apresentação sobre o uso de containers Docker na montagem de ambientes de Dev/Testes realizada no dia 03/12/2020 (quinta) durante o DEVDAY 2020, evento que aconteceu de forma online com transmissão via YouTube.
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...Renato Groff
Slides sobre a implementação de soluções serverless multiplataforma com Azure Functions e .NET Core. Palestra realizada durante o dia 29/10/2020 na trilha .NET do TDC Recife Online.
Aplicações Distribuídas com .NET | TDC Recife Online 2020Renato Groff
Apresentação sobre a implementação de aplicações distribuídas com .NET, incluindo o uso de RabbitMQ e Apache Kafka. Slides utilizados no dia 29/10/2020 durante o TDC Recife Online 2020.
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Renato Groff
Apresentação sobre as novas funcionalidades do .NET 5 e do ASP.NET 5. Material utilizado em palestra realizada durante o Visual Studio Summit 2020 evento online que aconteceu entre os dias 28 e 31/10/2020.
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Renato Groff
Apresentação sobre o uso de soluções serverless como Azure Functions e Logic Apps em integrações com tecnologias de bancos de dados como SQL Server/Azure SQL, Redis, MongoDB e Azure Cosmos DB. Palestra realizada durante o SQLSaturday #1016 - São Paulo, evento que aconteceu online no dia 26/09/2020 (sábado).
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
Apresentação sobre boas práticas de segurança no acesso a dados em Web Apps. Palestra realizada durante o SQLSaturday #972 - Belo Horizonte, evento que aconteceu online no dia 24/10/2020 (sábado).
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
Apresentação o passado, o presente e o futuro da plataforma .NET (incluindo tecnologias como C#, Visual Studio, Visual Studio Code, Microsoft Azure). Palestra realizada em 16/10/2020 durante a Semana da Faculdade de Computação e Informática da Universidade Mackenzie em São Paulo-SP.
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
Apresentação sobre primeiros passos no uso de containers Docker. Palestra realizada em 06/10/2020 durante a Semana Tecnológica da Fatec de Praia Grande-SP.
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Renato Groff
Slides de apresentação realizada no dia 03/09/2020 e focando na implementação e deployment de soluções escaláveis com Kubernetes, além de trazer diversas dicas, truques e exemplos práticos na orquestração de containers.
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Renato Groff
Slides de palestra detalhando diversos serviços do Microsoft Azure e sua aplicabilidade na implementação de soluções na nuvem. Apresentação realizada na Sala Microsoft em 25/08/2020, durante o TDC São Paulo Online.
2. Mais de 15 anos de experiência na área de Tecnologia
Pós-graduação em Engenharia de Software – ênfase em
SOA
MBA em Business Intelligence
Graduação em Sistemas de Informação
Técnico em Processamento de Dados
MTAC (Microsoft Technical Audience Contributor), MCP,
Microsoft Specialist, MCTS, OCA, ITIL, COBIT
3. Página no Facebook
https://www.facebook.com/RenatoGroffeSW
Perfil no Facebook
https://www.facebook.com/renatogroff
Canal .NET
https://www.facebook.com/canaldotnet
LinkedIn
http://br.linkedin.com/in/renatogroffe
4. Integração entre sistemas – uma visão geral
Arquitetura Orientada a Serviços (SOA)
REST
Microservices
Serviços na plataforma .NET
Referências
6. Uma das primeiras formas de integração
Ainda em uso atualmente, normalmente na
transferência de grandes lotes de informações
Comum em aplicações criadas para mainframe e
soluções de BI (Business Intelligence)
Texto ou outro formatos (principalmente .csv,
.xls/.xlsx)
7. Comunicação em tempo real
Transações online (e-commerce, movimentações
bancárias)
Protocolo HTTP/HTTPS
Uso do formato XML, através do procotolo SOAP
9. Abordagem também conhecida como Arquitetura Orientada a Serviços
Pessoas Processos
10. Alinhamento das estratégicas de negócio com
a TI
Uso de Web Services na integração entre
sistemas
Engloba diretrizes, padrões e boas práticas
para a implementação de serviços
11. Unidade básica para a implementação de serviços em conformidade com esta
arquitetura
Um componente de software com capacidades, as quais são implementadas
sob a forma de operações (métodos)
As capacidades podem ser vistas como funcionalidades das quais um ou
mais sistemas dependem
Notações para a representação de serviços (segundo Thomas Erl):
12. Reusabilidade
Interoperabilidade (entre diferentes plataformas)
Uma maior organização dos processos de
negócio (graças à ênfase na análise e modelagem
dos mesmos)
Reduções no tempo e custo de implementação de
novos projetos
13. Necessidade de uma equipe capacitada e familiarizada
com conceitos de SOA
Mudanças drásticas em um serviço podem produzir efeitos
colaterais em outra aplicações
Segurança na transmissão de informações
Análise criteriosa quanto à necessidade de implementação
de um serviço (potencial de reuso, questões de
infraestrutura)
14. Entity Services → utilizados em operações de CRUD (inclusão,
exclusão, alteração e / ou consulta a informações)
Utility Services → funcionalidades que não estejam diretamente
relacionadas ao negócio (log, envio de e-mail, etc.)
Task Services → automação de processos de negócio, com o
consumo de Entity e/ou Utility Services
Orchestrated Task Services → lógica de orquestração,
controlando o fluxo em composições que envolvam Entity, Utility
e Task Services
15. Contrato padronizado
◦ Serviços SOAP:
Uso de XML
Web Services Description Language (WSDL) → descrição da interface de um serviço
XML Schema Definition Language (XSD) → definições detalhando a estrutura dos objetos
manipulados por um serviço
Geração de proxies para consumir um serviço
Acoplamento
◦ Menor, graças à separação de funcionalidades em serviços
Abstração
◦ Ideia de “caixa-preta”
◦ Ocultação de detalhes técnicos (infraestrutura, banco de dados, controle de acesso, etc.)
16. Reusabilidade
◦ Pesar questões como reuso imediato ou futuro
Autonomia
◦ Independência de influências externas
◦ Tende a diminuir com a composição de serviços
Independência de Estado
◦ Serviços stateless
◦ Evitar ao máximo o armazenamento de informações em memória
17. Visibilidade
◦ Capacidade se descobrir e interpretar a estrutura exposta por um serviço
◦ Serviços SOAP empregam padrões como:
UDDI (Universal Description, Discovery and Integration)
WS-MetadataExchange → especificação para a geração de documentos XML
com a estrutura de um serviço
18. Capacidade de Composição
◦ Princípio diretamente relacionado à questão do reuso
◦ Composição primitiva
21. Modelo arquitetural proposto por Roy Fielding
em 2000, estando baseado no conceito de
recurso e no uso de requisições HTTP
Recurso → elemento (conjunto de dados) do qual
uma aplicação dependente, normalmente
representando um item de negócio
RESTful Web Services → serviços seguindo esta
arquitetura
22.
23. Uso de métodos HTTP de forma explícita
◦ POST → criação de um novo recurso
◦ GET → consulta para obtenção de um ou mais recursos
◦ PUT → alteração do conteúdo ou estado de um recurso
◦ DELETE → remoção/exclusão de um recurso
24. Exposição de recursos por meio de URIs
◦ URI → Uniform Resource Identifier
◦ URL → Uniform Resource Locator, tipo de endereço de
acesso baseado no conceito de URI
25. A representação de recursos empregando formatos
como XML e JSON → menor volume de informações
trafegadas
26. Independência de estado
◦ Performance e escalabilidade (capacidade de se adequar
a demandas crescentes) são grandes preocupações em
projetos críticos
◦ Importantíssimo que os serviços sejam “stateless”,
minimizando assim o uso de memória
29. Estruturalmente mais simples
Desenvolvimento, testes e implantação acontecem de forma mais
fácil
Uma boa abordagem para aplicações relativamente pequenas
30. Não é uma abordagem recomendável para aplicações mais
complexas
◦ A adoção de práticas de continuous deployment torna-se mais difícil
(indisponibilidade de todo o sistema durante implantações)
◦ Costuma-se ficar preso a uma tecnologia
◦ Difícil entendimento e manutenção, com o crescimento da aplicação
◦ Problemas em coordenar as ações em equipe
◦ Queda na qualidade do código com o decorrer do tempo
◦ Consumo maior de recursos (IDE, servidores de aplicação)
◦ Escalabilidade comprometida
31. Baseada em componentização, através
do uso de serviços
Serviços “pequenos”→ Princípio de
Responsabilidade, coesão
Foco em produtos, não projetos
Organização em torno de capacidades
de negócios → Cross-functional teams
Desenvolvimento e implantação de cada
serviço de forma independente
Comunicação baseada no modelo REST
(requisições HTTP + JSON)
Dados descentralizados
32. Código mais compreensível (cada serviço
corresponde a um aspecto de negócio específico)
Possibilidade de adoção de novas tecnologias, sem
que todo um sistema precise ser reescrito
Modelo mais adequado em termos de continuous
deployment
33. Uma única instância de um serviço por host
Múltiplas instâncias de um serviço por host
Uma instância de um serviço por máquina virtual
Uma instância de serviço por Container → Docker
34.
35.
36. 2 tecnologias principais atualmente:
◦ WCF (Windows Communication Foundation)
◦ ASP.NET Web API (ou simplesmente “Web API”)
◦ Estudo comparativo com referências:
http://netcoders.com.br/blog/wcf-web-api-estudo-comparativo/
37. Visão geral da Arquitetura
◦ WCF → A implementação de um serviço envolve a
especificação de um endereço, de um binding
(configurações) e de um contrato (interface descrevendo
as operações suportadas).
◦ Web API → Serviços são implementados como
Controllers, nos quais as funcionalidades disponíveis
correspondem às Actions. Importante destacar que com
o ASP.NET 5, os frameworks MVC e Web API foram
unificados em um único modelo chamado MVC 6.
38. Configuração
◦ WCF → No arquivo .config de uma aplicação ou
ainda, a partir de classes que compõem o próprio
framework WCF.
◦ Web API → Via código-fonte, através de instruções
definindo o comportamento de um serviço.
39. Protocolos suportados
◦ WCF → HTTP/HTTPS, TCP, P2P, MSMQ (Microsoft
Message Queuing), dentre outros. Uma mesma
solução WCF pode ser projetada para suportar mais
de um protocolo (HTTP/HTTPS e TCP, por exemplo).
◦ Web API → Somente HTTP/HTTPS.
41. Manipulação de dados
◦ WCF → Criação de classes convencionais (com a exposição
de propriedades públicas) ou Data Contracts (propriedades
expostas através do serviço são marcadas como Data
Members).
◦ Web API → Classes convencionais (as propriedades públicas
serão automaticamente expostas aos consumidores de um
serviço), além de tipos anônimos ou dinâmicos.
42. Padrões para troca de mensagens
◦ WCF → Request-Reply, One Way, Duplex.
◦ Web API → HTTP request/response, com
capacidades adicionais através do uso de
WebSockets ou SignalR.
43. Documentação/descrição de um serviço
◦ WCF → Serviços baseados em SOAP têm sua estrutura
detalhada automaticamente, através do uso do padrão
WSDL (Web Services Description Language).
◦ Web API → Geração automática de documentação a
partir do site da aplicação ou ainda, através de soluções
como Swagger.
44. Hospedagem
◦ WCF → Conta com classes para self-host, além da
possibilidade de hospedagem em servidores IIS.
◦ Web API → Hospedagem em servidores IIS. Há a
possibilidade ainda de self-host, através do mecanismo
conhecido como OWIN (Open Web Interface for .NET).
45. Serviços RESTful
◦ WCF → Implementados através de ajustes de
configuração, com a opção de uso de JSON e/ou
XML.
◦ Web API → Por default um serviço Web API é RESTful
(suportando tanto JSON, quanto XML).
46. Integração com JavaScript/jQuery
◦ WCF → Possível através da criação de serviços
RESTful.
◦ Web API → Suportada por default.
47. Integração com outras plataformas /
linguagens
◦ WCF → Possível através da implementação de
serviços SOAP ou RESTful.
◦ Web API → Possível, já que todo serviço Web API é
RESTful.
48. Segurança
◦ WCF → Baseada no uso de SSL, além de certificados
digitais, NTLM, Kerberos e tokens.
◦ Web API → SSL e autenticação baseada em tokens
são possibilidades.
49. Open Source
◦ Tanto WCF, como o ASP.NET Web API, são hoje
tecnologias abertas.
52. Microservice architecture - Chris Richardson
http://microservices.io/index.html
Microservices - Martin Fowler
http://martinfowler.com/articles/microservices.html
Thomas Erl – Site
http://www.thomaserl.com/