SSemWorks 소개
SSemWorks
완전 독립 분산 워크플로우 플랫폼
SSemWorks 는 Java(OSGi/Karaf) 기반의 자체 워크플로우 실행 엔진과 자체 웹 에디터(Studio)로 구성된 워크플로우 자동화 플랫폼입니다. 노드 실행은 Kafka 메시지 버스로 분산 처리되고, 분산 트랜잭션은 Saga 보상 패턴으로 일관성을 보장합니다. n8n 워크플로우 JSON 을 그대로 가져와(import) 실행할 수 있는 호환 계층을 제공합니다.
무엇을 할 수 있나
- 시각적 워크플로우 저작 — 웹 에디터(Studio)에서 트리거와 노드를 드래그로 연결해 자동화 흐름을 만듭니다.
- 78종 노드 — 데이터 변환, 흐름 제어, 파일 처리, HTTP/이메일/텔레그램 등 통신, AI(Agent·LLM 체인) 노드를 제공합니다. → 노드 레퍼런스
- 다양한 트리거 — 수동 실행, 스케줄(cron/interval), 웹훅, 폼, 텔레그램, 에러 트리거. → 트리거와 웹훅
- AI 에이전트 — 언어 모델·메모리·도구(계산기, HTTP, MCP, 다른 워크플로우)를 점선으로 연결하는 AI Agent. → AI 기능
- 운영 기능 — 실행 이력·평점·태그, 부분 실행, 오류 처리(재시도·에러 포트·에러 워크플로우), Insights 통계. → 실행과 운영
- 관리 기능 — 자격증명(암호화 저장), 사용자/역할/2FA, 프로젝트/폴더, Variables, Data tables. → 관리
- 공개 API — API 키 기반의 REST API 로 워크플로우/실행을 외부에서 제어. → 공개 API
아키텍처 한눈에 보기
다이어그램 설명
- 왼쪽 → 오른쪽으로 "유입 → 게이트웨이 → 엔진 → 데이터" 순서로 흐릅니다. 외부 트리거 호출은 반드시 트리거 게이트웨이(works-open) 한 계층을 거쳐 엔진에 도달합니다(허용 경로 외 차단).
- 실행 엔진(파란 박스)에서 coordinator 가 실행을 시작/완료 처리하고, microrunner 가 노드 순서를 계획해 Kafka 로 실행 요청을 발행하며, microworker 가 실제 노드를 실행합니다.
- Kafka 가 노드 실행의 비동기 버스입니다 — 노드 하나가 끝날 때마다 결과가 DB 에 저장되고 다음 노드가 발행됩니다. 병렬 분기는 동시에 실행됩니다.
- saga 는 성공한 스텝을 기록하다가 노드 실패 시 역순 보상 트랜잭션을 발행해 분산 데이터 일관성을 지킵니다.
- 파일은 점선(claim-check) — 파일 바이트는 전용 저장소에 두고 노드 사이에는 UUID 참조만 전달해 대용량 파일도 안전하게 처리합니다.
- MCP 게이트웨이는 AI Agent 의 도구 호출 관문입니다. 여러 MCP 서버·REST API 를 도구로 통합합니다.
플랫폼 구성
| 주소 | 역할 |
|---|---|
works-studio.ssemworks.io | Studio — 워크플로우 에디터 + 홈(관리 화면) |
works-open.ssemworks.io | 트리거 게이트웨이 — 웹훅/폼/텔레그램 외부 유입 (Production URL) |
works-files.ssemworks.io | 파일 저장소 관리 웹 |
works-mcp.ssemworks.io | MCP 게이트웨이 관리 스튜디오 |
ssemworks.io | 제품 홈페이지 |
n8n 호환에 대하여
SSemWorks 는 n8n 코드를 포함하지 않는 독립 구현이지만, 워크플로우 JSON 포맷 임포트 호환을 기능으로 제공합니다.
- n8n 에서 내보낸 워크플로우 JSON 을 가져오면 노드 타입 네임스페이스(
n8n-nodes-base.*등)가 SSemWorks 네임스페이스(ssemworks-microservice-base.*등)로 자동 변환됩니다. - 엔진이 실제 실행을 지원하는 노드는 노드 레퍼런스의 78종입니다. 목록에 없는 노드 타입은 실행되지 않습니다.