Sobre o projeto

SEKIRO é uma plataforma de publicação de serviços distribuída, multilíngue e independente de topologia de rede. Desenvolvedores escrevem handlers em suas próprias linguagens de programação e publicam essas capacidades em um marketplace central de APIs; sistemas empresariais então consomem capacidades de nós remotos por meio de RPC (Remote Procedure Call). Posicionamento O projeto se descreve como um framework RPC, mas não convencional. Frameworks RPC típicos de backend (Dubbo, Spring Cloud, gRPC) decompõem módulos de negócios complexos e escalam gargalos de máquina única em clusters dentro de um data center. SEKIRO, em vez disso, foca em expor capacidades de contextos restritos, onde um provedor de serviços roda em algum lugar inconveniente para reimplantar como um serviço interno normal, mas o negócio precisa usar essa capacidade. Exemplos de cenários dados no README: - Algoritmos de criptografia rodando dentro de um programa cliente onde a engenharia reversa é incompleta; código pode ser injetado via SEKIRO e o algoritmo publicado como uma API. - Dados restritos que só podem ser usados dentro da intranet de uma organização (por exemplo, verificados por IP de origem), enquanto serviços externos ainda precisam chamá-los. - Programas de aplicativo ou terminal com capacidades voltadas ao consumidor que o negócio B-end quer reutilizar, encaminhando parâmetros ao aplicativo como um proxy (descrito como RPC crawling na indústria de crawlers). - Proteção de capacidade de serviço, onde um provedor quer que outros usem uma capacidade sem entregar código ou vazar detalhes da máquina, como endereços IP. - Ambientes de computação complexos que não podem ser facilmente implantados em serviços externos, hospedados como uma API em um ambiente disponível e exportados. Fluxo de trabalho principal 1. Um servidor central (o serviço central SEKIRO) é implantado para que consumidores e provedores possam se conectar. 2. Clientes existem em várias linguagens (Java, JavaScript, Python e outras), implementando comunicação com o servidor central e encapsulamento de API. 3. Usuários escrevem handlers em sua linguagem usando a API do cliente SEKIRO para aceitar parâmetros e encaminhar chamadas para a capacidade local real. 4. Usuários externos chamam a API do serviço central, que encaminha para o handler do cliente correspondente e retorna o resultado pelo link original. Build e execução - Instale Java e Maven. - No Linux/Mac, execute o script `build_demo_server.sh` para produzir `target/sekiro-open-demo.zip`. - Execute `bin/sekiro.sh` ou `bin/sekiro.bat`. - A documentação é servida em `http://127.0.0.1:5612/sekiro-doc` quando implantado localmente. Recursos - Documentação: http://sekiro.iinti.cn/sekiro-doc/ - Código de exemplo para várias linguagens: https://github.com/yint-tech/sekiro-samples - Download do pacote de instalação: https://oss.iinti.cn/sekiro/sekiro-open - Início rápido: https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html O README também menciona uma oferta de serviço comercial com autenticação, gerenciamento de API, clustering distribuído, balanceamento de carga e funcionalidade multilíngue.