Tu primer Orchestration con REST en JD Edwards
Cómo crear un Orchestration Studio workflow que expone datos de JDE vía REST API, paso a paso con ejemplo real.
¿Qué es Orchestrator?
JD Edwards Orchestrator es la herramienta nativa para crear integraciones y automatizaciones sin código (o con poco código). Te permite:
- Exponer datos de JDE como REST APIs
- Conectar JDE con sistemas externos
- Automatizar procesos multi-paso
- Ejecutar lógica condicional y transformaciones
Desde Tools Release 9.2.5+, Orchestrator viene integrado y es la forma recomendada por Oracle para integraciones.
Lo que vamos a construir
Un endpoint REST que recibe un Address Number y devuelve los datos del Address Book (nombre, dirección, teléfono). Algo así:
GET /jderest/orchestrator/v2/ORCH_GetAddressBook?addressNumber=1001
Response:
{
"addressNumber": 1001,
"alphaName": "Acme Corporation",
"addressLine1": "123 Main Street",
"city": "Denver",
"state": "CO",
"phone": "303-555-0100"
}
Paso 1: Crear el Service Request
Antes de la orchestration, necesitas un Form Service Request que lea los datos:
- Abre la aplicación P01012 (Address Book)
- Busca un registro existente
- En el menú: Form → Service Request
- Dale un nombre:
SR_GetAddressBook_W01012B - Mapea los campos que quieres exponer
Paso 2: Crear la Orchestration
Abre Orchestrator Studio desde Server Manager:
- New Orchestration → nombre:
ORCH_GetAddressBook - Añade un Input:
addressNumber(tipo: number)
- Arrastra un nodo de Service Request:
- Selecciona
SR_GetAddressBook_W01012B - Mapea
addressNumberal campo AN8 del form
- Selecciona
- Añade un Output con los campos de respuesta
Paso 3: Transformación de datos
Entre el Service Request y el Output, puedes añadir un Groovy Script para transformar datos:
// Limpiar espacios en blanco que JDE añade
def cleanName = orchestrationInputs.alphaName?.trim()
def cleanAddress = orchestrationInputs.addressLine1?.trim()
return [
"alphaName": cleanName,
"addressLine1": cleanAddress,
"city": orchestrationInputs.city?.trim(),
"state": orchestrationInputs.state?.trim()
]
Paso 4: Testear
Dentro de Orchestrator Studio hay un botón de Test:
- Introduce un Address Number válido
- Click en Run
- Revisa el JSON de respuesta
- Si hay errores, revisa el log detallado en el panel inferior
Paso 5: Consumir desde un sistema externo
Una vez publicada, la orchestration queda disponible en:
https://tu-servidor:puerto/jderest/orchestrator/v2/ORCH_GetAddressBook
Para llamarla desde cualquier cliente HTTP:
curl -X GET \
"https://jde-server:8443/jderest/orchestrator/v2/ORCH_GetAddressBook?addressNumber=1001" \
-H "Authorization: Bearer tu-token" \
-H "Content-Type: application/json"
Seguridad
- Las orchestrations respetan la seguridad de JDE (roles y row security)
- Usa OAuth 2.0 o Basic Auth según tu configuración
- Limita el acceso por IP en el firewall si es una API interna
- Nunca expongas orchestrations directamente a internet — usa un API Gateway
Siguiente paso
En el próximo artículo veremos cómo crear orchestrations con escritura (POST) para insertar registros en JDE desde sistemas externos.