2026-Q3 提供開始予定 / 別プロダクト・別ライセンス

SlimeJCL — JCL → Spring Batch 変換

SlimeNENC のコンパニオン製品。COBOL バッチに必須随伴する JCL を、SlimeNENC ノウハウ最大活用で Spring Batch / Workflow へ bit-exact 移行。

COBOL を bit-exact で Java 化しても、JCL (起動・I/O・スケジュール) を顧客側に丸投げすれば 移行プロジェクトは 6 ヶ月 → 18 ヶ月 に膨張、SlimeNENC の bit-exact 主張も「JCL 側の挙動差」で台無しになります。 SlimeJCL は JCL を bit-exact で Spring Batch 化 することで、「移行プロジェクト 1 ツール完結」を実現します。

⚠ 供給制約 — SlimeNENC ユーザー限定
SlimeJCL は SlimeNENC のアクティブライセンス保有を販売条件 とする upsell 専用プロダクトです。 技術的・IP 的に SlimeNENC との連携を前提として設計されており、SlimeJCL 単体販売は行いません。 SlimeNENC 未契約の方は、まず SlimeNENC のご導入をご検討ください。

主要計測値 (Phase 4 完成時の目標)

99.95 %
JCL → Spring Batch bit-exact 目標
(SlimeNENC Subset A の 99.9995% より緩い、JCL 構文多様性のため)
4 種
対応 JCL 方言
IBM z/OS / Fujitsu FNJCL / Hitachi VOSJCL / NEC ACOS NCRP
233
既存検証 JCL files
SlimeNENC corpus 内に既に取得済 (CBSA + carddemo + Defects Suite + Portfolio + BankDemo)
9 stage
JS1-JS9 pipeline
SlimeNENC Subset A の 9 ステージ構造を JCL に流用
~30 分
新方言追加コスト
lex プレフィックス map に 1 行 + 属性語彙 5-10 個 (parser 不変)
Subset A 流用
audit chain / Mini-PSV
SlimeNENC の S2-S5/S7-S8 を JCL に再利用

SlimeNENC との関係 — 3 段ロケット

Tier製品前提
1SlimeNENC (Subset A 他言語変換)単独可、新規顧客 OK
2SlimeNENC + PSDP (Subset B 同一言語並列化)SlimeNENC ライセンス
3SlimeJCL (本プロダクト)SlimeNENC アクティブライセンス必須

land-and-expand:

[Year 1]   SlimeNENC で land — COBOL → Java 移行

[Year 1.5-2] SlimeJCL upsell — JCL → Spring Batch、COBOL+JCL ペア完結

[Year 2+]  PSDP 適用 — bit-exact 並列化で夜間バッチ短縮
            
       Cloud-native 化 (Spring Batch → AWS Step Functions / Airflow)

JCL Slot IR 設計 — SlimeNENC ノウハウ最大活用

SlimeNENC Subset A の Slot IR (Core64 + Ext32) と同じ思想で、JCL を 言語非依存中間表現 に正規化:

JCL 構文Slot ID内容
//<jobname> JOB ...JCL-JOBジョブ宣言 (CLASS, MSGCLASS, TIME, NOTIFY, COND 等)
//<step> EXEC PGM=<prog>JCL-EXEC-PGMプログラム実行ステップ
//<step> EXEC PROC=<proc>JCL-EXEC-PROCプロシージャ呼出
//<dd> DD DSN=...JCL-DD-DSNデータセット参照 (DISP/UNIT/VOL/SPACE/DCB)
//<dd> DD SYSOUT=...JCL-DD-SYSOUT出力スプール
// JCLLIB ORDER=...JCL-LIBプロシージャライブラリ参照
// SET name=valueJCL-SET-VARsymbolic parameter 設定
// IF cond THEN / ENDIFJCL-IF条件実行 (z/OS 拡張)

各 Slot は Core48 + Ext16 = 64 bit、SlimeNENC と統合可能な audit chain を提供。

9 ステージ Pipeline (JS1-JS9)

SlimeNENC Subset A の 9 ステージ構造を JCL に流用、新規実装は emitter (JS6) と方言別 Lex のみ:

JCL Lex// /* /& 区切り、token 復元
Slot IRJOB/EXEC/DD を Core48+Ext16 へ
Π_R 正規化DSN/DISP/CLASS の重複除去 + 正規順序
SOLOTstep 間 dataflow + COND ロジック抽出
Acceptor32 次元 encoder で valid JCL 判定
Spring Batch EmitterSlot IR → Spring Batch (Java)
Audit Chain変換ログ 6 行 hash chain
(SlimeNENC と統合)
Mini-PSVbigram で誤訳検出
(DD shuffle 等)
Bench233 file corpus で検証

4 大 JCL 方言 fingerprint

JCL の方言差は 行頭プレフィックス + 属性語彙 が中心 (COBOL のような parser 全体差は無し)。 新方言追加コストは lex プレフィックス map に 1 行 + 属性語彙 5-10 個 (約 30 分、parser 不変)

方言主要 marker校正状態
IBM z/OS JCL// <name> JOB ... (// + 空白)、EXEC PGM=EXEC PROC=DD DSN=DD SYSOUT=JCLLIB ORDER=&SYSUIDIEFBR14SYSIN DD *、終端 /* /&✅ 既存 233 file の大半が IBM z/OS、Phase 4-3 で bit-exact 検証予定
Fujitsu FNJCL (NetCOBOL)/JOB (1 スラッシュ、IBM の // と区別)、/EXEC PGM=/DD DSN=/PROC/AIM ... (Fujitsu トランザクション基盤)△ 公開仕様ベース、PoC で校正中
Hitachi VOSJCL\JOB (バックスラッシュ)、\EXEC PGM=\FD ファイル定義、KFSB*****-{E,I,W} MSG ID、OpenTP1 連携 \TRN ...△ 公開仕様ベース、PoC で校正中
NEC ACOS JCL (NCRP)\$JOB または ;;JOB\$EXEC PGM=\$DD / \$FDNCRP 言及△ 公開仕様ベース、PoC で校正中

: JCL の 1 行目 (JOB 文) のプレフィックスで 99% は判別可。残り 1% は属性パターン (CLASS/DISP の語彙) で確定。 SlimeNENC の dialect-detect 14 値同様、dialect-transpile coverage は IBM z/OS が主、Fujitsu/Hitachi/NEC は fingerprint 段階で実変換は PoC 校正中。

Spring Batch 変換マッピング表 (主要)

JCL 構文Spring Batch 対応
// JOB CLASS=A,MSGCLASS=X,TIME=1440@Bean public Job <name>Job() + JobParameter("class", "A") + timeout 設定
// EXEC PGM=COBOL_PGMStep + Tasklet calling CobolPgm.main() (SlimeNENC 変換済)
// EXEC PROC=MYPROCJobBuilder.flow().next(myProcSteps)
// DD DSN=PROD.FILE,DISP=SHRFlatFileItemReader + RandomAccessFile mode
// DD DSN=PROD.OUT,DISP=(NEW,CATLG,DELETE)FlatFileItemWriter + AfterJob listener
// DD SYSOUT=*Logback appender
// DD * (instream)String literal in @Bean
COND=(8,LT)JobExecutionDecider (前 step exit code 評価)
// JCLLIB ORDER=PROD.PROCS@Configuration class scan path
// SET HLQ=AWS.M2@Value("${jcl.hlq:AWS.M2}")
&SYSUIDSystem.getProperty("user.name")
IEFBR14 (NULL prog)() -> RepeatStatus.FINISHED (no-op tasklet)

既存検証コーパス (別取込不要)

SlimeJCL 検証用 JCL は 既に SlimeNENC corpus 内に 233 files 取得済 (Phase 1+2 で COBOL と一緒に clone した repos に同梱):

IBM CBSA102 file (EPL 2.0、IBM 公式銀行サンプル CICS+DB2+BMS)
AWS carddemo55 file (Apache 2.0、AWS Mainframe Modernization 公式)
Defects Suite49 file (MIT、各 .CBL に対応する JCL ペア)
Portfolio Mgmt15 file (sentientsergio、IBM z/OS 拡張)
Rocket BankDemo12 file (Rocket EULA、内部 QA のみ)
合計233 file、公開可 layer のみで 221 file

典型ユースケース

金融バッチ夜間勘定系バッチを SlimeNENC (COBOL→Java) + SlimeJCL (JCL→Spring Batch) ペアで bit-exact 移行。1 ツール完結で工数 50% 削減、監査証跡 (audit chain) 一貫保持。
クラウド移行z/OS → AWS Mainframe Modernization / IBM Cloud / Azure 移行で、JCL 部分を Spring Batch 化することで Cloud-native コンテナ実行可能に。
Cron / Workflow 移行Spring Batch から更に Apache Airflow / Argo Workflow / AWS Step Functions へ展開。SlimeJCL 出力 Spring Batch 経由で段階移行。
監査要件下のバッチ統合変換チェーン全体 (JCL→Spring Batch + COBOL→Java) が SlimeNENC audit chain に統合、監査人が事後検証可能。

提供時期 / 価格

提供開始2026-Q3 予定 (Phase 4-1〜4-5 完了後)
ライセンス形態SlimeNENC ライセンスへの アドオン年額契約 (単体販売不可)
価格目安SlimeNENC ベースライセンスフィーの 30-50% (要市場検証、確定は提供開始時)
移行 PoCSlimeNENC + SlimeJCL ペアでの PoC は別途プロフェッショナルサービス提供
事前申込SlimeNENC 既存契約者向けに 2026-Q2 から事前申込受付 (優先提供枠)

Phase 4 ロードマップ

  • Phase 4-1 (1 ヶ月)JS1 JCL Lex (IBM z/OS) 実装、233 file 全件 lex pass、Slot IR スキーマ確定
  • Phase 4-2 (2 ヶ月)JS6 Spring Batch emitter 雛形、233 file から 50 file を Spring Batch 化、javac PASS 率測定
  • Phase 4-3 (3 ヶ月)bit-exact 比較フレームワーク (元 JCL job 実行 vs Spring Batch 実行)、全 233 file で 99.95%+ 達成
  • Phase 4-4 (4-5 ヶ月)Fujitsu/Hitachi/NEC JCL 方言 lex 追加 (PoC で校正)、Audit chain 連携、Mini-PSV 適用
  • Phase 4-5 (6 ヶ月)公開ベンチマーク (CBSA + carddemo の JCL を SlimeJCL で変換 + 動作検証)、営業武器化、提供開始

関連製品

事前申込 (SlimeNENC 既存契約者向け) SlimeNENC (Subset A) を見る PSDP (Subset B) を見る 他の製品を見る