Escolar Documentos
Profissional Documentos
Cultura Documentos
Pesquisa personalizada
Procurar
Siga-nos os Bons!
Criando micro servios com o Spring Boot Seja o primeiro de seus amigos a curtir isso.
Posted on 29 de maio de 2015 by Ramos de Souza Janones in Java, Programao with 1 Comment
Compartilhe
Site Ramos da Informtica
Ontem s 04:45
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 1/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
atravs de uma camada de transporte comum, e nos ltimos anos o HTTP tem
se mostrado uma tima opo para isso. Mas existem outras opes como Endereo de email
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 2/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Considere, por exemplo, a funcionalidade de um site de comrcio eletrnico que 11 de julho de 2017
cliente olhando um produto, muitos micro servios podem ser envolvidos para
Resource fornece Servios de
coletar os dados usados para mostrar os detalhes de um produto em particular.
Gesto de Infraestrutura para o
Na pgina de entrada do site, por exemplo, os ttulos, figuras e preos podem Orlando City
ser mostrados para vrios produtos. A pgina pode coletar esses detalhes 10 de julho de 2017
Cada micro servio da vertical de produto planejado para ajudar a criar (ISC) divulga programao do
diferentes vises do domnio do produto, sendo cada uma escalvel e disponvel Security Congress Latin America
conforme os requisitos do sistema. Pode-se assumir, por exemplo, que os 2017
28 de junho de 2017
servios responsveis por gerar os dados de uma pgina principal do site de
comrcio eletrnico precisa atender uma quantidade maior de requisies do que Grupo New Space discute fraudes
uma pgina que mostra os detalhes de um produto individualmente. Esses micro em solues de Point of Sale (PoS)
servios tambm pode ser construdos com base em diversas decises tcnicas no (ISC) Security Congress Latin
America 2017
como estratgias de cache, que no tem aplicao vlida nos servios que 28 de junho de 2017
mostram avaliaes de produtos e avaliaes feitas pelos clientes. Permitir que
cada micro servio possa ter suas caractersticas tcnicas atendidas conforme a Rockwell Collins adota a plataforma
sua funo permite que a utilizao dos recursos sejam feitas de forma mais 3DEXPERIENCE da Dassault
Systmes
eficiente. Em uma arquitetura monoltica os servios de classificao do produto 27 de junho de 2017
e avaliao dos clientes fica preso aos requisitos de escalabilidade e
disponibilidade dos servios de detalhes do produto e precificao. Gartner indica que executivos de
dados esto em ascenso
27 de junho de 2017
A complexidade de um micro servio no reflete na quantidade de linhas da sua Verint anuncia os vencedores do
implementao. Um equvoco comum que a quantidade de cdigo de um micro Engage Americas Partner Awards
servio tambm seja micro, mas isso no faz muito sentido quando considerada 2017
26 de junho de 2017
a meta que uma arquitetura de micro servios tem como objetivo atender. A
meta enderea a decomposio de servios em um sistema distribudo e a Verint anuncia os vencedores do
complexidade da sua implementao pode ser feita com o cdigo do tamanho Engage Americas Partner Awards
que for necessrio. A nomenclatura micro expressa o padro de 2017
23 de junho de 2017
responsabilidade atravs dos diferentes subsistemas, no o cdigo fonte. Dado
que a responsabilidade de um micro servio limitado uma nica fatia vertical
Software grtis do Google permite
de um sistema, o seu cdigo frequentemente conciso, de fcil compreenso e que voc treine inteligncia arti cial
possibilita a sua instalao com pequenas publicaes. Um padro positivo dos com seu PC.
22 de junho de 2017
micro servios que eles so instalados com todos os recursos necessrios para
que sejam executados. Isso significa eles possuem todo o ambiente de execuo Dynatrace apresenta como realizar
embarcado e podem ser acessados de forma autnoma, simplificando de forma a jornada de transformao para
drstica o custo associado com a sua distribuio e instalao. Cloud e tendncias de
monitoramento no AWS Summit
Histricamente, a publicao das aplicaes Web construdas em Java um 21 de junho de 2017
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 3/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
21 de dezembro de 2015
Spring Boot
Turbinando o Delphi com
Um framework que tem evoludo consideravelmente para o desenvolvimento de
CnWizzards
micro servios Java o Spring Boot. O Spring Boot construdo em cima do 29 de fevereiro de 2012
Como framework, o Spring Boot construdo como um agregado de mdulos SEO 5 passos para aumentar o trafego de seu
conhecidos como starters. Esses starters so composies de verses site
31 de julho de 2014
interoperveis de bibliotecas que podem ser usadas para fornecer alguma
funcionalidade para a aplicao. Eles tambm formam a estrutura que permitem Blue Ocean: o que a estratgia do
ao Spring Boot fazer a configurao da aplicao seguindo o modelo de oceano azul?
conveno sobre configurao, utilizado para acomodar uma arquitetura de 19 de setembro de 2015
Alm disso tudo que o Spring Boot fornece como framework de micro servio ele
tambm fornece um ferramental para projetos baseados no Maven e no Gradle. CURSO ONLINE:
necessrio muito pouca configurao dos plugins dessas ferramentas para SPRING MVC
empacotar o projeto em um arquivo leve e executvel. O cdigo apresentado na
Listagem 1 mostra o script de montagem Gradle, que pode ser usado como um
ponto de partida para o micro servio com o Spring Boot. A verso mais verbosa Assinar Site por Email
utilizando o Maven POM pode ser escolhido no site do Spring Initializr e revela a
necessidade de informar ao plugin a localizao da classe de inicializao da Digite seu endereo de email para assinar este site e
receber noti caes de novas publicaes por email.
aplicao. Essa configurao no necessria com o Gradle, pois o plugin
descobrir a localizao dessa classe. Junte-se a 44 outros assinantes
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 4/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Maven. O cdigo fonte deve ficar no diretrio src/main/java para ser compilado
corretamente. O projeto deve fornecer um ponto de entrada da aplicao. No
projeto gerado pelo Spring Initializr h o arquivo DemoApplication.java que
funciona como esse ponto de entrada. O nome dessa classe indiferente e
chamando-a de Main suficiente. O exemplo na Listagem 2.2 mostra o mnimo
de cdigo necessrio para iniciar o desenvolvimento de um micro servio.
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 5/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 6/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Definindo a API
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 7/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
4 @Component
5 public class ProductDetailValidator implements Validator {
6 private final InventoryService inventoryService;
7 @Autowired
8 public ProductDetailValidator(InventoryService inventoryService) {
9 this.inventoryService = inventoryService;
10 }
11 @Override
12 public boolean supports(Classclazz) {
13 return ProductDetail.class.isAssignableFrom(clazz);
14 }
15 @Override
16 public void validate(Object target, Errors errors) {
17 ProductDetail detail = (ProductDetail)target;
18 if (!inventoryService.isValidInventory(detail.getInventoryId())) {
19 errors.rejectValue("inventoryId", "inventory.id.invalid", "ID de Estoque invlido"
20 }
21 }
22 }
23 </span>
O InventoryService nesse exemplo est bem superficial, mas ele pode ser visto
como um mecanismo para fazer validao de dados que flexvel e capaz de
consultar outros micro servios que possuem conhecimento a respeito de algum
subconjunto do domnio de dados.
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 8/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 9/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
47 return repository.save(detail);
48 }
49 @RequestMapping(value = "/{id}", method = RequestMethod.PUT)
50 public HttpEntity update(@PathVariable String id, HttpServletRequest request) throws
51 ProductDetail existing = find(id);
52 ProductDetail updated = objectMapper.readerForUpdating(existing).readValue(request
53 MutablePropertyValues propertyValues = new MutablePropertyValues();
54 propertyValues.add("productId", updated.getProductId());
55 propertyValues.add("productName", updated.getProductName());
56 propertyValues.add("shortDescription", updated.getShortDescription());
57 propertyValues.add("longDescription", updated.getLongDescription());
58 propertyValues.add("inventoryId", updated.getInventoryId());
59 DataBinder binder = new DataBinder(updated);
60 binder.addValidators(validator);
61 binder.bind(propertyValues);
62 binder.validate();
63 if (binder.getBindingResult().hasErrors()) {
64 return new ResponseEntity<>(binder.getBindingResult().getAllErrors(),
65 } else {
66 return new ResponseEntity<>(updated, HttpStatus.ACCEPTED);
67 }
68 }
69 @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
70 public HttpEntity delete(@PathVariable String id) {
71 ProductDetail detail = find(id);
72 repository.delete(detail);
73 return new ResponseEntity<>(HttpStatus.ACCEPTED);
74 }
75 @ResponseStatus(HttpStatus.NOT_FOUND)
76 static class ProductNotFoundException extends RuntimeException {
77 }
78 }
79 </span>
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 10/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Configurao
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 11/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Empacotamento
Uma vez que o micro servio est pronto para ser instalado, o ferramental do
Spring Boot ajuda a gerar um artefato leve e executvel. Como citado
anteriormente, o Spring Boot fornece plugins para ambos Gradle e Maven, que
permitem criar um arquivo JAR executvel para distribuio. Usando o mesmo
script de construo do Gradle mostrado nas listagens anteriores, o arquivo JAR
pode ser construdo executando o seguinte comando: gradle build. O Spring
Boot intercepta a tarefa jar e reempacota o artefato gerado como um novo
arquivo contendo todas as dependncias, chamado de gordo ou uber JAR.
Com o Maven, a meta goal ser interceptada pelo plugin do Spring Boot e
executar a mesma operao.
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 12/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
API de Gateway
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 13/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 14/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
82 // ... veja getProductDetails() ...
83 }
84 private HystrixCommand
85 <map><string, object="">> getProductReviews(String productId) {
86 // ... veja getProductDetails() ...
87 }
88 private static class AsyncResponse {
89 private final String serviceKey;
90 private final Map<string, object=""> response;
91 AsyncResponse(String serviceKey, Map<string, object=""> response) {
92 this.serviceKey = serviceKey;
93 this.response = response;
94 }
95 }
96 private static class BackendServiceCallable implements Callable {
97 private final String serviceKey;
98 private final HystrixCommand
99 <map><string, object="">> hystrixCommand;
100 public BackendServiceCallable(String serviceKey, HystrixCommand
101 <map><string, object="">> hystrixCommand) {
102 this.serviceKey = serviceKey;
103 this.hystrixCommand = hystrixCommand;
104 }
105 @Override
106 public AsyncResponse call() throws Exception {
107 return new AsyncResponse(serviceKey, hystrixCommand.execute());
108 }
109 }
110 }
111 </map>
112 <string,>
113 </map>
114 <string,>
115 </map>
116 <string,>
117 </map>
118 <string,>
119 </map>
120 <string,>
121 </map>
122 <string,>
123 </map></span>
<string,>
Concluso
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 15/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Sobre o autor
Compartilhe isso:
Curtir isso:
Carregando...
Relacionado
Previous Next
O futuro do C#: Tuplas e estruturas annimas Saia da zona de conforto antes que voc seja
chutado fora dela!
Compartilhe.
Related Posts
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 16/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
Como Manipular
Datas com PHP
Como criar arquivos PESQUISA: Torne-se
ZIP em PHP e extra- um Parceiro de nossa
los loja Virtual vendendo
para Desenvolvedores
de Software
Iniciar a discusso...
OU REGISTRE-SE NO DISQUS ?
Nome
Mais Recentes Assinar Site por Email Banco de Dados Mais Lidos
- Firebird
Novo recurso do Digite seu endereo de email para Repensando o
WhatsApp um golpe assinar este site e receber noti caes de desenvolvimento de
- MySQL
no e-mail tradicional novas publicaes por email. software
11 de julho de 2017 - Oracle 29 de fevereiro de 2012
Endereo de email
Desa os no - SQL Server Manual de nitivo para
desenvolvimento de desenvolver
APIs e IoT no mundo Assinar Startup e Sucesso aplicativos mveis de
programvel sucesso
- Marketing Digital
11 de julho de 2017 29 de setembro de 2015
- Carreira
Como avaliar (e Como comprar dlares ou fazer
auxiliar) a sua equipe - Sucesso com Software compras no Exterior: SEM pagar
com Entrega Contnua IOF + IGPM
11 de julho de 2017 - Vida & Produtividade 21 de dezembro de 2015
Orlando City
- Destaques
10 de julho de 2017 Lista com mais de 200 sites da
Deep Web para voc explorar
- Downloads
Gartner anuncia que 12 de agosto de 2015
servios mundiais de
Programao
segurana baseados
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 17/18
12/07/2017 Criando micro servios com o Spring Boot | Ramos da Informtica
em Nuvem crescero - .Net Curso grtis de Desenvolvimento
21% em 2017
Android para Iniciantes e avanado
6 de julho de 2017 - Delphi
do Google.
22 de julho de 2016
Gartner anuncia - Engenharia
Conferncia
Um guia para o Google Authorship
Segurana & Gesto - Java
28 de julho de 2014
de Riscos 2017
1 de julho de 2017 - Agile
SOA
13 de janeiro de 2016
(ISC) divulga Web
programao do
- SEO Criando micro servios com o
Security Congress
Spring Boot
Latin America 2017 - Segurana 29 de maio de 2015
28 de junho de 2017
- Linux Re exes sobre EAD Minhas
Grupo New Space
experincias como aluno e
discute fraudes em Mobile
professor
solues de Point of
22 de julho de 2014
Sale (PoS) no (ISC) - Android
Verint anuncia os
vencedores do Engage
Americas Partner
Awards 2017
26 de junho de 2017
Seja um Colaborador
Contato
Sobre ns
2013 Ramos da Informtica. Todos os direitos reservados. Por que Timon & Pumba um desenho multiplataforma? Porque tem JAVAli. ;OP
http://www.ramosdainformatica.com.br/criando-micro-servicos-com-o-spring-boot/ 18/18