Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consumer module translated for PTBR #87

Merged
merged 18 commits into from
May 14, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 174 additions & 0 deletions config.toml
Original file line number Diff line number Diff line change
@@ -322,10 +322,19 @@ params = ["categories", "tags"]
contentDir = "content/zh"
languageName = "中文"
weight = 2
[languages.ptbr]
contentDir = "content/pt-br"
languageName = "Português do Brasil"
weight = 3


### LANGUAGE-SPECIFIC MENUS ###






# Chinese menus

[[languages.zh.menu.docs]]
@@ -486,3 +495,168 @@ params = ["categories", "tags"]
identifier = "github"
post = "external"
url = "https://github.com/networknt/light-4j"


# Brazilian portuguese menus

[[languages.ptbr.menu.docs]]
name = "Light"
weight = 1
identifier = "about"
url = "/ptbr/about/"

[[languages.ptbr.menu.docs]]
name = "Documentação"
weight = 5
identifier = "getting-started"
url = "/ptbr/getting-started/"


# Core languages.ptbr.menus

[[languages.ptbr.menu.docs]]
name = "Arquitetura"
weight = 10
identifier = "architecture"
post = "expanded"
url = "/ptbr/architecture/"

[[languages.ptbr.menu.docs]]
name = "Design"
weight = 15
identifier = "design"
post = "expanded"
url = "/ptbr/design/"

[[languages.ptbr.menu.docs]]
name = "Referências"
weight = 20
identifier = "concern"
url = "/ptbr/concern/"

[[languages.ptbr.menu.docs]]
name = "Estilo"
weight = 25
identifier = "style"
url = "/ptbr/style/"

[[languages.ptbr.menu.docs]]
name = "Serviço"
weight = 30
identifier = "service"
url = "/ptbr/service/"

[[languages.ptbr.menu.docs]]
name = "Ferramentas"
weight = 35
post = "expanded"
identifier = "tool"
url = "/ptbr/tool/"

[[languages.ptbr.menu.docs]]
name = "Biblioteca"
weight = 36
post = "expanded"
identifier = "library"
url = "/ptbr/library/"

[[languages.ptbr.menu.docs]]
name = "Consumidor"
weight = 38
identifier = "consumer"
url = "/ptbr/consumer/"

[[languages.ptbr.menu.docs]]
name = "Desenvolvimento"
weight = 39
identifier = "development"
url = "/ptbr/development/"

[[languages.ptbr.menu.docs]]
name = "Implantação"
weight = 40
identifier = "deployment"
url = "/ptbr/deployment/"


# LOW LEVEL ITEMS

[[languages.ptbr.menu.docs]]
name = "Exemplo"
weight = 40
identifier = "example"
url = "/ptbr/example/"

[[languages.ptbr.menu.docs]]
name = "Tutorial"
weight = 45
identifier = "tutorial"
url = "/ptbr/tutorial/"

[[languages.ptbr.menu.docs]]
name = "Benchmark"
weight = 50
identifier = "benchmark"
url = "/ptbr/benchmark/"

[[languages.ptbr.menu.docs]]
name = "Solução de problemas"
weight = 60
identifier = "troubleshooting"
url = "/ptbr/troubleshooting/"

[[languages.ptbr.menu.docs]]
name = "F.A.Q."
weight = 70
identifier = "faq"
url = "/ptbr/faq/"

[[languages.ptbr.menu.docs]]
name = "Milestone"
weight = 90
identifier = "milestone"
url = "/ptbr/milestone/"

[[languages.ptbr.menu.docs]]
name = "Contribua"
weight = 100
post = "break"
identifier = "contribute"
url = "/ptbr/contribute/"

[[languages.ptbr.menu.global]]
name = "Novidades"
weight = 1
identifier = "news"
url = "/ptbr/news/"

[[languages.ptbr.menu.global]]
name = "Documentação"
weight = 5
identifier = "docs"
url = "/ptbr/documentation/"


# Anything with a weight > 100 gets an external icon
[[languages.ptbr.menu.global]]
name = "Comunidade"
weight = 150
icon = true
identifier = "community"
post = "external"
url = "https://discourse.gohugo.io/"

[[languages.ptbr.menu.global]]
name = "Reddit"
weight = 160
icon = true
identifier = "reddit"
post = "external"
url = "https://www.reddit.com/r/lightapi/"

[[languages.ptbr.menu.global]]
name = "GitHub"
weight = 200
identifier = "github"
post = "external"
url = "https://github.com/networknt/light-4j"
1 change: 0 additions & 1 deletion content/en/tutorial/portal/local-router/_index.md
Original file line number Diff line number Diff line change
@@ -23,4 +23,3 @@ This tutorial helps users to learn how to set up production like environment loc
* [Deploy View](/tutorial/portal/local-router/deploy-view/)
* [Build Portal](/tutorial/bot/light-portal-local/)
* [Start Portal](/tutorial/portal/local-router/start-portal/)

62 changes: 62 additions & 0 deletions content/pt-br/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: "A High Throughput, Low Latency and Small Memory Footprint API Platform"
date: 2017-03-02T12:00:00-05:00
features:
- heading: Blistering Speed and Small Memory Footprint
image_path: /images/icon-fast.svg
tagline: Save 10x to 100x on production provision costs
copy: You need hundreds of instances of Spring Boot with Tomcat embedded to match one instance of light-4j in "Hello World" for the same throughput and latency.

- heading: Embedded Gateway to Address all Cross-cutting Concerns
image_path: /images/icon-content-management.svg
tagline: Maximize developers productivity by focusing on business logic only
copy: Plugin architecture that allows middleware handlers to be injected into the request/response chain to handler security, metrics, audit etc.

- heading: Design and Test Driven Development
image_path: /images/icon-shortcodes.svg
tagline: OpenAPI specification, Unit, Integration, End-to-End and Client Tests
copy: Generate code from specification and encourage unit tests, integration tests, end-to-end test as well as client tests to ensure quality and interoperability.

- heading: Built-in DevOps Tool Chain for CI/CD
image_path: /images/icon-built-in-templates.svg
tagline: Light-bot pipeline, Ansible playbook, Docker and Kubernetes
copy: The entire tool chain (pipeline) and infrastructure (logging, metrics, messaging, security etc.) are integrated together for microservices and services are dockerized and orchestrated by Kubernetes.

- heading: Multi-Style Support for Different Products
image_path: /images/icon-multilingual2.svg
tagline: Both synchronous request/response and asynchronous event driven frameworks
copy: Support Restful(light-rest-4j), Graphql(light-graphql-4j), Hybrid(light-hybrid-4j) and Eventuate Consistency(light-eventuate-4j). Also Saga(light-saga-4j) for transaction orchestration between services.

- heading: OAuth2, Portal and Services to Form an Ecosystem
image_path: /images/icon-custom-outputs.svg
tagline: Provide a platform for on-premise solutions as well as hosted solutions
copy: light-oauth2 for security and light-portal is for service runtime monitoring and management and API marketplace. Kafka for messaging, ELK for logging, InfluxDB and Grafana for metrics and ArangoDB for DB.
sections:
- heading: "Cross-Cutting Concerns"
cta: Check out light-4j middleware handlers.
link: /concern/
color_classes: bg-primary-color-light black
image: /images/home-page-templating-example.png
copy: "Light-4j and related frameworks provide dozens of middleware handlers that can be injected into the request/response chain to give your service an embedded gateway."
- heading: "Interaction Styles"
cta: Use the right framework for the right product.
link: /architecture/category/
color_classes: bg-primary-color-light black
image: /images/home-page-templating-example.png
copy: "Restful for public API, Graphql for mobile and Sing Page Application, Hybrid for serverless and take advantage of both Monolithic and Microservices architecture. Eventuate for event driven."
- heading: "Infrastructure Services"
cta: OAuth2, Portal and other infrastructure services.
link: /service/
color_classes: bg-primary-color-light black
image: /images/home-page-templating-example.png
copy: "OAuth2 provider is responsible for centralize policy management and services are responsible for policy enforcement. Portal is API management and marketplace. Others are third party services."
- heading: "Tool Chains"
cta: Tool chain for code generation, devops and CI/CD.
link: /tool/
color_classes: bg-primary-color-light black
image: /images/home-page-templating-example.png
copy: "Light-codegen is used for scaffolding project from OpenAPI spec, GraphQL IDL or Hybrid Schema. Light-bot Pipeline for building, packaging, releasing and dockerizing. Kubernetes is for service orchestration."

---

Light means light-weight, lighting fast and shed light on how to program with modern Java SE.
71 changes: 71 additions & 0 deletions content/pt-br/consumer/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: "Consumidor de serviço"
date: 2019-04-27T13:37:28-03:00
description: ""
categories: []
keywords: []
menu:
docs:
parent: "consumer"
weight: 1
weight: 1
aliases: []
toc: false
draft: true
---

Maioria dessas seções neste site são como construir, implantar e gerenciar serviços.
Esta seção discutirá arquitetura de microserviços e melhores práticas da perspectiva do consumidor.

Ao contrário de monolitos web services JavaEE com somente um cliente e um servidor, há muitos microserviços
envolvidos em uma requisição externa e é muito importante a latência geral na eficiência na comunicação cliente e servidor.

A definição de cliente vs servidor ou consumidor vs provedor é ofuscada como um serviço que pode ser o servidor para um outro serviço
e ao mesmo tempo isto pode ser um cliente para outro serviço.

O menu abaixo contém arquitetura, design e melhores práticas:

- [Módulo cliente](/ptbr/consumer/client-module/)
* [Arquivos jar](/ptbr/consumer/jar-files/)
* [Conexão TLS](/ptbr/consumer/tls-connection/)
* [HTTP 2.0](/ptbr/consumer/http2/)
* [Segurança](/architecture/security/)
+ [Token de entidade](/ptbr/consumer/subject-token/)
+ [Token de acesso](/ptbr/consumer/access-token/)
+ [Tipo de concessão personalizado](/ptbr/consumer/customized-grant/)
+ [Obter token no Startup](/ptbr/consumer/token-startup/)
+ [Token de longa duração](/ptbr/consumer/long-lived-token/)
+ [Distribuição de chave](/architecture/key-distribution/)
+ [Criptografia secreta](/ptbr/consumer/secret-encryption/)
+ [SPA Stateful](/ptbr/consumer/spa-session-jwt/)
+ [SPA Stateless](/ptbr/consumer/spa-cookie-jwt/)
+ [SPA prevenção de CSRF](/ptbr/consumer/spa-csrf/)
+ [SPA prevença de XSS](/ptbr/consumer/spa-xss/)
+ [SPA BFF](/ptbr/consumer/spa-bff/)
* [Rastreabilidade](/ptbr/consumer/traceability/)
+ [Id da Rastreabilidade](/ptbr/consumer/traceability-id/)
+ [Id de correlação](/ptbr/consumer/correlation-id/)
* [Circuit Breaker](/ptbr/consumer/circuit-breaker/)
* [CompletableFuture](/ptbr/consumer/completable-future/)
- [light-consumer-4j](/ptbr/consumer/light-consumer-4j/)
- [Service Discovery](/ptbr/consumer/service-discovery/)
* [Registry](/ptbr/consumer/registry/)
+ [Standalone](/ptbr/consumer/standalone-registry/)
+ [Docker](/ptbr/consumer/docker-registry/)
+ [Kubernetes](/ptbr/consumer/kubernetes-registry/)
* [Discovery](/ptbr/consumer/discovery/)
+ [Consul](/ptbr/consumer/consul-discovery/)
+ [Zookeeper](/ptbr/consumer/zookeeper-discovery/)
* [SPA e móvel](/ptbr/consumer/spa-mobile/)
- [Load Balance](/ptbr/consumer/load-balance/)
* [Round Robin](/ptbr/consumer/round-robin/)
* [Local First](/ptbr/consumer/local-first/)
* [Consistent Hash](/ptbr/consumer/consistent-hash/)
- [Light Router](/ptbr/consumer/light-router/)
* [Casos de uso](/ptbr/consumer/router-use-case/)
* [Localização e propriedade](/service/router/location-ownership/)
- [Single Page Application](/ptbr/consumer/spa/)
* [React](/ptbr/consumer/react/)
* [React-schema-form](/ptbr/consumer/react-schema-form/)
* [Vue](/ptbr/consumer/vue/)
* [Angular](/ptbr/consumer/angular/)
26 changes: 26 additions & 0 deletions content/pt-br/consumer/access-token.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "Access Token"
date: 2018-03-01T21:37:48-05:00
description: ""
categories: []
keywords: []
weight: 60
aliases: []
toc: false
draft: false
---

Access token é utilizado para invocação de serviço a serviço ou aplicação standalone que invoca um serviço.
Geralmente, este token é recebido de um provedor OAuth2 2.0 através do fluxo de permissionamento de
credenciais do cliente.
O token não tem qualquer informação sobre o usuário mas somente tem client_id para indicar quem é a
aplicação que invocou.

Access token é muito importante para escopos de serviço que invoca como [Token de entidade][],
na cadeia de invocação não terá escopos para todos os serviços.

Se access token é somente o token disponível, isso é passado em Authorization header caso contrário,
isso é passado em um X-Scope-Token na requisição.


[Token de entidade]: /ptbr/consumer/subject-token/
17 changes: 17 additions & 0 deletions content/pt-br/consumer/angular.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "Angular"
date: 2018-12-24T18:27:22-05:00
description: ""
categories: []
keywords: []
slug: ""
aliases: []
toc: false
draft: false
---

Junto com React, Angular é outro framework javascript para consturir single page applications, há mutios usuários que tem construído angular SPA e acessa serviços/APIs construído no topo da plataforma light. Quando há múltiplos serviços no backend e esses serviços são implantados na nuvem,
light-router será utilizado como um único ponto de acesso para o SPA. O light-router é também responsável por servir ao SPA para eliminar dependência de C.O.R.S. middleware handler na instância light-router para ganhar melhor performance.

o seguinte é a lista de projetos open source que utilizam Angular como UI.

Loading