eSeGeCe — Componentes de Comunicación Empresarial para Delphi y .NET
DESTACADO · sgcREST

APIs REST desde un contrato OpenAPI, nativas en Delphi

Tres componentes cubren dos tareas. TsgcHTTPRESTServer es un servidor REST con CORS, endpoints opcionales /metrics y /health, y resolución de peticiones multi-tenant integrada. TsgcWSAPIServer_OpenAPI carga un contrato OpenAPI 3.x con LoadFromFile y despacha, valida y autentica cada petición contra él. TsgcOpenAPI_Client es la clase base tras los clientes tipados para cualquier API descrita con OpenAPI. De forma independiente, incluye el runtime sgcWebSockets Core.

  • 3 clases de componentes
  • REST Server · OpenAPI Server · OpenAPI Client
  • CORS, /metrics, /health, multi-tenencia
  • Delphi 7 a 13 · C++ Builder

Dos Componentes en la Paleta, una Clase Base de Cliente

sgcREST es un paquete independiente. Incluye el runtime sgcWebSockets Core sobre el que está construido, y cada licencia se entrega con el código fuente completo, así que puedes recorrer el despacho REST y la validación OpenAPI en tu propio depurador.

2 Componentes en la paleta TsgcHTTPRESTServer en la página SGC REST, TsgcWSAPIServer_OpenAPI en la página SGC OpenAPI.
3 Clases de componentes en total Servidor REST, servidor OpenAPI y la clase base del cliente OpenAPI.
2 Endpoints integrados /metrics y /health, opcionales y servidos tras la Authentication que el servidor ya exija.
1 Instalador independiente El runtime sgcWebSockets Core y la capa HTTP/TLS se incluyen dentro del paquete.
100% Código fuente incluido Cada licencia incluye el código fuente completo de los tres componentes y del runtime incluido.
sgcREST

Componentes de servidor REST y servidor/cliente OpenAPI para Delphi y C++ Builder. Un paquete independiente con el runtime sgcWebSockets Core incluido, código fuente completo y despliegue libre de royalties.

Publica una API, o Consume una

Las tres clases se dividen claramente según su dirección. El servidor REST y el servidor OpenAPI publican endpoints a los que llegan quienes te llaman. La clase base del cliente OpenAPI es la que usan los SDK generados para llamar a los endpoints de otros.

REST Server

CORS, Métricas, Salud y Tenencia, Integrados

TsgcHTTPRESTServer extiende el servidor HTTP de sgcWebSockets con la fontanería habitual que necesita una API REST: CORSOptions para peticiones de origen cruzado, endpoints opcionales /metrics y /health a través de ServerStats, y resolución de peticiones multi-tenant a través de Tenancy, por host, ruta, cabecera o claim JWT. Tenant expone el valor resuelto a tus propios manejadores de petición.

Ver el servidor REST →
OpenAPI Server

Carga un Contrato, Despacha y Valida Cada Petición

TsgcWSAPIServer_OpenAPI lee un documento OpenAPI 3.x con LoadFromFile o LoadFromString y lo convierte en un despachador en vivo: cada petición entrante se compara con el contrato y se enruta a tu manejador OnRequest por id de operación. OnValidationError, OnAuthenticate, OnValidateAPIKey, OnValidateBasic y OnValidateBearer cubren los esquemas de seguridad que declara la especificación, y OnBeforeRequest/OnAfterRequest enmarcan la llamada.

Ver el servidor OpenAPI →
OpenAPI Client

Una Clase Base tras Cada SDK Generado

TsgcOpenAPI_Client es el cliente de runtime genérico para cualquier API descrita con OpenAPI: Authentication cubre autenticación Basic, token Bearer, OAuth2 genérico y JWT, y HTTP_REQUEST y HTTP_REQUEST_Async ejecutan la llamada. Apunta SetBaseURL a un contrato que hayas cargado o generado tú mismo y ya está listo para llamar.

Descubre lo que puede hacer →
Vía de escape

Cada Callback que Necesita la Especificación

OnException captura los errores del manejador antes de que lleguen al cable, y todos los eventos de validación y autenticación reciben el TsgcOpenAPIServerContext ya analizado, con PathParams, QueryParams y RespondJSON, así que nada sobre por qué se aceptó o rechazó una llamada queda oculto.

La superficie de validación →
Multiplataforma

Cinco Plataformas, un Runtime

El servidor REST y el servidor OpenAPI son descendientes de TsgcHTTPServer, y el cliente OpenAPI funciona sobre la misma pila HTTPS que el resto del runtime Core. Desde Delphi 7 hasta RAD Studio 13 y en C++ Builder.

La matriz de características →

Páginas de referencia de cada componente:

Publica un Endpoint, o Publica un Contrato

El servidor REST te entrega la petición directamente. El servidor OpenAPI te entrega una operación validada y ya emparejada. Ambos compilan igual en Delphi 7 a 13 y en C++ Builder.

uses
  sgcHTTP_REST_Server, sgcHTTP_REST_Server_Stats;
var
  RESTServer: TsgcHTTPRESTServer;
  Stats: TsgcHTTPServerStats;
begin
  // Servidor REST: CORS, health/metrics y tenencia en un componente
  RESTServer := TsgcHTTPRESTServer.Create(nil);
  Stats := TsgcHTTPServerStats.Create(nil);
  Stats.Endpoints.Health.Enabled := True;

  RESTServer.Port := 8080;
  RESTServer.CORSOptions.Enabled := True;
  RESTServer.CORSOptions.AllowOrigins := 'https://app.example.com';
  RESTServer.ServerStats := Stats;
  RESTServer.OnCommandGet := RESTServerCommandGet;
  RESTServer.Active := True;
end;

procedure TForm1.RESTServerCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentText := '{"status":"ok"}';
end;
uses
  sgcWebSocket_Server_API_OpenAPI, sgcHTTP_Server;
var
  OpenAPIServer: TsgcWSAPIServer_OpenAPI;
begin
  // Servidor OpenAPI: carga el contrato, despacha por id de operación
  OpenAPIServer := TsgcWSAPIServer_OpenAPI.Create(nil);
  OpenAPIServer.Server := sgcHTTPServer1;
  OpenAPIServer.LoadFromFile('petstore.yaml');
  OpenAPIServer.OnRequest := OpenAPIServerRequest;

  sgcHTTPServer1.Port := 8080;
  sgcHTTPServer1.Active := True;
end;

procedure TForm1.OpenAPIServerRequest(Sender: TObject;
  const aOperationId: string; const aContext: TsgcOpenAPIServerContext;
  var Handled: Boolean);
begin
  if aOperationId = 'getPetById' then
  begin
    aContext.RespondJSON(200,
      '{"id":"' + aContext.PathParamAsString('petId') + '","name":"Rex"}');
    Handled := True;
  end;
end;

La misma forma en Object Pascal y en C++ Builder. La matriz de características completa →

Dos Cosas que Conviene Saber Primero

Qué necesita sgcREST de tu parte, y qué no necesita. Las dos respuestas son cortas, y las dos están en esta página en lugar de en la letra pequeña.

Tres componentes, dos tareas
componente                          función
TsgcHTTPRESTServer                  publica una API REST: CORS,
                                       /metrics, /health, tenencia
TsgcWSAPIServer_OpenAPI             publica una API REST desde
                                       un contrato OpenAPI 3.x
TsgcOpenAPI_Client                  consume cualquier API descrita con OpenAPI

Ambos componentes servidor son descendientes
  de TsgcHTTPServer, así que se conectan al mismo
  Port, TLSOptions y Authentication que ya usan
  tus otros servidores sgcWebSockets.

sgcREST es independiente

De forma independiente, incluye el runtime sgcWebSockets Core: la pila de servidor HTTP/TLS sobre la que se ejecutan tanto el servidor REST como el servidor OpenAPI, y la capa JSON con la que el cliente OpenAPI decodifica las respuestas. Un solo instalador, código fuente completo en la caja.

El servidor REST y el servidor OpenAPI comparten una base

TsgcHTTPRESTServer y el servidor HTTP al que se conecta un servidor OpenAPI son ambos descendientes de TsgcHTTPServer, así que CORS, TLS, Authentication y el pipeline de peticiones se comportan igual sea cual sea el que publique tu API.

El cliente OpenAPI solo necesita el contrato

TsgcOpenAPI_Client resuelve rutas, cabeceras y autenticación directamente desde el documento OpenAPI, sobre la pila HTTPS pura del runtime Core.

Delphi y C++ Builder

sgcREST apunta a Delphi 7 hasta RAD Studio 13 y a C++ Builder. El servidor REST también viene dentro de sgcWebSockets Professional y superiores, y el servidor y el cliente OpenAPI también se entregan con el pack sgcOpenAPI existente, así que una licencia que ya tengas puede cubrirte. El instalador de la prueba gratuita es la prueba de sgcWebSockets All-Access, así que las tres clases pueden evaluarse hoy mismo.

OpenAPI 3.x CORS Multi-tenencia /metrics & /health Código fuente completo

Cada componente y propiedad →

sgcREST implementa las superficies REST y OpenAPI que describe tu contrato en lugar de envolver un generador de código que no controlas, así que las peticiones, la validación y el despacho son todos métodos y eventos de primera clase, y el código fuente completo significa que nada de por medio es una caja negra.

Trece Librerías, una Caja de Herramientas

sgcREST es una de las trece librerías de componentes de eSeGeCe para Delphi, C++ Builder y .NET. Comparten convenciones, se entregan con código fuente completo y se despliegan libres de royalties.

sgcREST

Servidor REST, servidor OpenAPI y componentes de cliente OpenAPI para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcHTTP

Cliente HTTP/2, cliente gRPC y clientes de Google Cloud Pub/Sub, Calendar y FCM para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcAuth

Cliente OAuth2, cliente JWT y soporte de WebAuthn para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA y más de 30 integraciones de APIs para Delphi, C++ Builder, Lazarus y .NET. Su edición Enterprise también incluye gRPC.

Más información →

sgcMQ

Componentes cliente de MQTT, AMQP 0.9.1 y 1.0, Apache Kafka y STOMP para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcSocial

Componentes cliente de Telegram y WhatsApp Business para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcHTML

Componentes HTML y de UI en servidor sobre Bootstrap 5 y htmx para Delphi, C++ Builder y .NET.

Más información →

sgcQUIC

Transporte QUIC puro y un cliente y servidor HTTP/3, con WebTransport. Un complemento de sgcWebSockets Enterprise.

Más información →

sgcAI

Componentes de IA, LLM y MCP para Delphi y C++ Builder. Siete proveedores de LLM tras un único componente, más MCP, embeddings y voz. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcOpenAPI

Parser de OpenAPI 3.x, generador nativo de SDK Pascal, componente servidor OpenAPI y más de 1.195 SDK de nube preconstruidos.

Más información →

sgcSign

XAdES, PAdES, CAdES y ASiC para documentos, Authenticode, ClickOnce, NuGet y VSIX para código.

Más información →

sgcBiometrics

Windows Hello, sensores de huella dactilar y el Windows Biometric Framework para Delphi y C++ Builder.

Más información →

sgcIndy

Componentes Indy TCP/IP actualizados con TLS moderno, IPv6 y HTTP/2 para Delphi 7 a 13.

Más información →

Ver precios y licencias Descargar la prueba gratuita

Qué Dicen los Desarrolladores

La confianza de desarrolladores de Delphi, C++ Builder, Lazarus y .NET en todo el mundo.

Vuestra librería sgcWebSockets es muy útil y fácil de configurar. ¡Seguid así!

Simone Moretti Desarrollador Delphi

sgcWebSockets es increíble y vuestro soporte es el mejor.

Christian Meyer Fundador y CTO

Muchas gracias por vuestra ayuda y soporte, me encantan vuestros componentes.

Mark Steinfeld CTO

Estás viendo la vista de REST y OpenAPI de eSeGeCe.

Muéstrame otro enfoque →

APIs REST, Contratos OpenAPI, Código Nativo

Un servidor REST, un servidor OpenAPI y un cliente OpenAPI, con el runtime sgcWebSockets Core incluido y el código fuente completo en la caja.