メインコンテンツまでスキップ

開発手法の特徴と活用方法

ここでは、intra-martの開発手法の特徴と適用が想定されるケースについて確認し、各開発手法を組み合わせることで、開発効率・保守性・拡張性のバランスをより高めるための方法について説明します。

開発手法の種類と特徴

intra-martにおける主な開発手法は3種類に分けられ、それぞれ異なる特徴を持っています。

開発手法強み向いている領域
ノーコード開発誰でも使用可能で、高速な開発が可能   定型画面、簡易ワークフロー、マスタ管理など
ローコード開発柔軟性と拡張性の両立が可能   中程度のロジックを持つ業務アプリケーションなど
プロコード開発(スクラッチ開発)  高度な処理や高い自由度を実現    システム連携、大規模処理、高度な要件など

開発に適した手法を選択するために、それぞれの手法について使用するツールや適用領域などの詳細を確認します。

ノーコード開発

プログラミングを必要とせず、画面上の操作だけで業務アプリケーションを構築できる開発手法です。

主な利用シーン

ノーコード開発は、主に業務部門による内製化や、迅速な業務改善を目的とした場合に適しています。

  • シンプルな申請・承認フローの作成
  • 定型的なフォーム画面の作成
  • 業務部門が主体となる軽易な業務改善
主なアプリケーション

ノーコード開発において、よく利用されるintra-martのアプリケーションは以下のとおりです。

  • IM-Workflow:申請・承認のフロー(プロセス)や案件の状態管理、履歴、承認ルートの制御を行います。
  • IM-FormaDesigner:Webブラウザ上でドラッグ&ドロップにより、申請・参照・一覧などのフォーム画面を作成できます。
  • IM-BIS:IM-WorkflowやIM-FormaDesignerを拡張し、業務プロセス設計・画面作成・外部連携・運用管理を一体で支援します。
  • IM-PDFDesigner:帳票レイアウトを作成し、PDF帳票として出力できるデザインツールです。単票形式や連票形式の帳票を作成できます。
  • IM-Spreadsheet:Webブラウザ上でスプレッドシートの作成や編集ができる開発部品です。

これらのアプリケーションは、それぞれの特性を活かして使い分けることで、用途に応じた業務アプリケーションを効率的に開発できます。

主な用途具体例アプリケーション
ワークフロー作成  経費精算、稟議、押印フロー    IM-Workflow   
フォーム作成   申請フォーム、アンケート、チェックリスト  IM-FormaDesigner   
帳票作成   PDF帳票デザイン   IM-FormaDesigner、IM-BIS、IM-PDFDesigner、IM-Spreadsheetなど   
軽微なデータ管理    マスタ・コード管理   IM-FormaDesigner、IM-BIS   
コラム

IM-BISやIM-FormaDesignerを利用することで、画面やフローの定義、申請・承認のシーケンスなど、基本的な業務ワークフローはコーディング不要で構築できます。一方で、要件によってはカスタム実装(プロコード開発)が必要になる場合があります。

たとえば、以下のようなケースです。

  • 外部システム連携や特殊なバリデーション、独自ロジックをサーバ側で実装する必要がある場合:プラグインやJavaクラスなどによる拡張が必要
  • UI上で提供されていない細かな動作制御やカスタムコンポーネントが必要な場合:JavaScript/JSSPやVueなどによるカスタム実装が必要
  • 標準機能でカバーされない権限制御や組織検索などの特殊要件がある場合

このような場合、ノーコード開発をベースとしながら、必要に応じてプロコード開発(スクラッチ開発)による拡張を組み合わせることで、より柔軟な要件にも対応できます。下記「プロコード開発(スクラッチ開発)」をあわせて参照してください。

ローコード開発

GUIベースの設計に加え、一部のロジックをコードで補完して開発する手法です。ノーコード開発では対応が難しい処理にも対応しつつ、効率的にアプリケーションを構築できます。

主な利用シーン

ローコード開発は、ノーコード開発では対応が難しい要件に対応しつつ、開発効率を維持したい場合に適しています。

  • 一部ロジックの実装が必要な業務
  • 外部システムとの連携が必要な場合
  • ノーコード開発では対応できない中規模の機能
  • ノーコード開発では表現しきれないUIデザイン
主なアプリケーション

ローコード開発において、よく利用されるintra-martのアプリケーションは以下のとおりです。

  • Accel Studio:intra-mart Accel Platform上で動作する業務アプリケーションを統合的に開発・管理できます。
  • IM-LogicDesigner:GUI操作でビジネスロジックを作成でき、REST APIとして公開することで外部からの呼び出しにも対応できます。
  • IM-BloomMaker:Web画面をエレメント(部品)ベースで作成でき、UIの自由度やテンプレート管理による再利用性に優れています。
  • IM-Repository:メタデータ(辞書・列挙・エンティティ)を一元管理し、複数アプリケーション間でデータ定義の共通化を実現できます。
  • IM-BIS:統合ワークフローツールの機能を、Accel Studioなどのローコードツールでも活用してワークフローを実現できます。
  • IM-BPM:各種ローコードツールと連携して、業務プロセスの可視化や自動化を実現できます。

これらのアプリケーションは、それぞれの特性を活かして使い分けることで、用途に応じた業務アプリケーションを効率的に開発できます。

主な用途具体例アプリケーション
アプリケーションの管理リソース管理、ログ確認、認可設定などAccel Studio
承認ルールの制御組織階層や金額条件による承認制御IM-LogicDesigner
画面カスタマイズ標準画面の部分的な拡張IM-BloomMaker
データ定義の管理項目定義やコード体系の共通化IM-Repository
BPM(プロセス統合) 複数のシステムにまたがる業務プロセスの管理・最適化  IM-BPM
データ処理自動更新処理やデータ整形ジョブスケジューラ、IM-LogicDesigner、IM-BIS(BISフロー)など
コラム

ローコード開発とノーコード開発で利用するツールは、用途が似ているものがあります。以下のポイントをもとに適切なツールを選択してください。

  • 非開発者がフォームを作成する場合:IM-FormaDesignerを使用
  • UIの自由度を高めたい場合、またはテンプレートとして再利用する場合:IM-BloomMakerとIM-LogicDesignerを組み合わせて使用
  • 承認フローやガバナンス、外部システム連携を重視する場合:IM-BISを使用(IM-FormaDesignerやIM-Spreadsheetと併用)
  • 明細管理やExcelのような操作を行う場合:IM-Spreadsheetを使用
  • 帳票出力を主目的とする場合:IM-PDFDesignerまたはIM-X Serverを使用

ローコード開発とノーコード開発の違いについては、下記のページもあわせて参照してください。

プロコード開発(スクラッチ開発)

複雑な業務ロジックや外部システム構成の細かな制御にも対応できる、自由度の高い開発手法です。大規模なシステム構築や、高度で複雑な業務要件にも対応できます。プロコード開発(スクラッチ開発)は、サーバ側の実装に加え、フロントエンドやAPI連携、データベース設計、運用・テストなど、幅広い領域にわたります。プロコード開発(スクラッチ開発)を選択する場合は、運用開始後に対象のプラットフォームをアップデートしても、影響を受けにくい実装方法を考慮することが重要です。

主な利用シーン

プロコード開発(スクラッチ開発)は、ノーコード/ローコード開発では対応が難しい高度・複雑な要件を実現する場合に適しています。

  • 高度な業務ロジックの実装
  • 大規模画面や複雑なUI制御
  • 高いパフォーマンスが要求される処理
コラム

プロコード開発(スクラッチ開発)は自由度が高い反面、設計・実装・運用までの責任範囲が広くなるため、十分な設計検討と運用設計が必要となります。プロコード開発(スクラッチ開発)のメリットとデメリットを確認し、要件に応じた最適な開発手法を選択することが大切です。詳細は「IM-Press - スクラッチ開発とは ~メリットとデメリットを簡単解説~」を参照してください。

主な実装領域

intra-martにおけるプロコード開発(スクラッチ開発)は、主に以下のような実装領域に分類されます。

サーバサイドJava開発(J2EE)

サービス、コントローラ、プラグイン、バッチなどをJava(.javaJAR.class)で実装します。製品の拡張や高度な処理、外部ライブラリの利用、型安全な実装が必要な場合に適しています。

スクリプト開発(SSJS/スクリプト開発モデル)

JavaScript Server Pages(JSSP)、IM-LogicDesignerのスクリプト、IM-FormaDesignerのイベントスクリプトなどで実装します。素早い画面や業務ロジックの実装に適していますが、静的解析やビルドの仕組みは限定的です。intra-martのローコード領域における「スクリプト開発モデル」に該当します。

API/インテグレーション(REST/SOAPなど)

REST APIの設計・実装・公開や、外部APIとの連携、認証・セキュリティ対応、モックや契約(OpenAPI)の定義などを行います。サービス間の連携やフロントエンドとの接続点として、重要な役割を担います。なお、RESTは、特定の開発手法というより、システム間をつなぐインタフェースの開発領域に位置付けられます。

フロントエンド(クライアント)開発

HTML、CSS、JavaScriptを用いた画面開発や、SPA(React、Vueなど)の実装を行います。また、静的資産(.csjs.cshtmlなど)の作成・調整やブラウザ互換対応も行います。これにより、画面のリッチ化やUXの向上、クライアント側でのバリデーションや非同期処理を実現します。

モジュール構成/パッケージング

e Builderでは、モジュール構成の定義やユーザモジュールのimmファイルとしてのエクスポートを行います。IM-Jugglingでは、immファイルを追加し、ユーザモジュールとして管理・配布を行い、WARファイルの生成・配置を行います。これらは、開発したコードを適切に配置し、正しい順序で読み込ませるための重要な工程です。

データベース開発

スキーマ設計、SQL定義、マイグレーション、パフォーマンスチューニングなどを行います。アプリケーションの核となるデータ構造の設計や大量データ処理は、アプリケーションとは別の領域で管理します。

インフラ/運用自動化

CI/CD(JenkinsやGitHub Actionsなど)によるビルドやデプロイの自動化、imm/WARファイルの自動生成、テスト自動化、ログ監視などを行います。安定した運用とリリース効率の向上を実現します。なお、スクリプト開発はビルド工程の概念が比較的弱いものの、E2E/APIテストなどはCIプロセスに組み込むことが可能です。

テスト/品質管理

ユニットテスト(JUnit)、サーバサイド単体テスト(intra-martのAPI経由)、結合・E2Eテスト(SeleniumやAPIテスト)、品質管理(静的解析ツール)により品質を確保します。なお、スクリプト開発は動的言語であるため、静的解析が制約される点に注意が必要です。

参考

e Builderは、intra-mart Accel Platform上で動作するアプリケーションを効率的に開発するための統合開発支援ツールです。Eclipseをベースにしたプラグイン群により、業務テンプレートや雛形、デバッグ支援など、開発を支援する各種機能を提供します。

業務テンプレートや専用プラグインを活用することで、画面・ワークフロー・テーブル定義などを短時間で作成できるほか、開発用デバッグサーバにより単体開発や動作確認も容易に実施できます。また、Java(TERASOLUNAなど)を前提としたカスタマイズ環境が提供されており、独自ロジックの実装や機能拡張にも対応可能です。特に、Javaによるカスタマイズ開発、テンプレートを利用した効率的な開発、デバッグサーバを用いた単体テストなどにおいて高い効果を発揮します。詳細は、「intra-mart e Builder for Accel Platform アプリケーション開発ガイド」を参照してください。

実装時の基本ルール

実装時の基本ルールとして、標準機能への影響を抑えつつ、保守性や拡張性を確保するための実装方法を定めています。これらのルールは、主にカスタマイズを実装する際の基本的な考え方を示したものです。

  • 標準コード・配布物を直接改変しない:アップデート時の上書きによるカスタマイズの消失や競合を防ぐため
  • 拡張点・公開APIで実装する:内部実装への依存を避け、将来の変更による影響を受けにくくするため
  • モジュール化して依存関係を明示する:展開順や互換性を制御できるようにするため

これらのルールに基づき、カスタマイズはベースモジュールを直接変更せず、ユーザモジュールとして分離し、公開APIや拡張点を利用して実装します。また、固定値や設定情報はプロパティファイルやデータベースなど外部に配置し、WARファイル内に含めないようにします。

さらに、アップデートは必ずテスト環境で検証し、バージョン管理を適切に行うとともに、デプロイ・バックアップ・リカバリに関する手順書を整備します。これにより、ベースモジュールのアップデート時にも、ユーザモジュールによるカスタマイズを維持したまま、安全に再デプロイを実施できます。

プロコード開発(スクラッチ開発)は自由度が高い分、カスタマイズが必要となる場面も多く発生します。「開発のカスタマイズ方針」では、intra-martにおけるカスタマイズ時の基本方針や実装方法について詳しく説明します。

開発手法の組み合わせ

intra-martの強みは、ノーコード開発・ローコード開発・プロコード開発(スクラッチ開発)を、状況に応じて組み合わせて利用できる点にあります。開発手法の適用範囲を知り、組み合わせによるメリットを理解することで、intra-martの機能を最大限に活用できるようになります。

開発手法の適用範囲を理解する

開発手法の組み合わせは、「どの範囲までノーコードやローコードで対応できるか」「どのタイミングでプロコード(スクラッチ)が必要になるか」という適用範囲の観点を基準に判断します。あわせて、実現したい機能要件に加え、納期・コスト・保守性などの制約も考慮し、最適な開発手法を選択します。

ここでは、それぞれの開発手法について、具体的な適用範囲の一例を示します。

ノーコード開発の適用範囲:
  • 標準的なワークフローや申請業務の構築(IM-Workflow、IM-BIS)
  • 定型的な入力・承認・通知処理(IM-FormaDesigner)
  • プログラム実装を必要としない画面や業務フローの構築(IM-FormaDesigner、IM-Workflow)
ローコード開発の適用範囲:
  • 画面の詳細な制御や複雑なビジネスロジックの実装(IM-BloomMaker、IM-LogicDesigner)
  • intra-mart内のデータ・機能と連携した業務処理の構築(Accel Studio、IM-Repository)
  • 条件分岐やデータ加工など、一定のビジネスロジックを伴う処理(IM-LogicDesigner)
プロコード開発(スクラッチ開発)の適用範囲:
  • 高い自由度が求められる画面設計や独自UIの実装
  • サーバサイドでの複雑なビジネスロジックや詳細なトランザクション制御
  • 大量データ処理や高負荷処理など、性能・スケーラビリティ要件への対応
  • 外部システムとの複雑な連携や非同期処理(データ変換・制御を含む高度な連携)

開発手法の組み合わせを検討する

各開発手法の適用範囲を踏まえ、「どの工程でどの開発手法で実現するか」という実装分担の観点と、「何を優先するか(開発スピード・コスト・柔軟性・保守性など)」という意思決定の観点から、開発手法の組み合わせを検討します。

ここでは、組み合わせによるメリットについて一例を示します。

メリット開発手法の組み合わせ説明
開発スピードと柔軟性の両立     ノーコード/ローコード中心
+プロコード(スクラッチ)拡張
ノーコード/ローコードで開発を高速化しつつ、必要に応じてプロコード(スクラッチ)で柔軟に拡張します。
保守性向上ノーコード/ローコード中心
+プロコード(スクラッチ)最小化
定型処理はノーコード/ローコードで設定ベースに管理し、カスタム部分はプロコード(スクラッチ)で局所化することで保守性を高めます。
コスト最適化ノーコード/ローコード中心
+プロコード(スクラッチ)最小化
ノーコード/ローコードを活用して開発コストを抑えつつ、必要な部分のみプロコード(スクラッチ)で対応します。
業務部門の自走力向上ノーコード+ローコード業務部門がノーコード/ローコードで直接更新できる領域が広がり、IT部門の負荷を軽減します。
システム連携の柔軟性ローコード+プロコード(スクラッチ)      ローコードツールのIM-BPMとプロコード(スクラッチ)を組み合わせることで、システム間連携や全体最適化されたプロセスを構築できます。