Asakusa Framework

分散処理環境用バッチアプリケーション開発フレームワーク

分散処理環境用
バッチアプリケーション
開発フレームワーク

Frameworkは、業務システムのバッチに並列分散処理の能力を活用するためのフレームワークです。大容量のデータ・複雑な処理を多数のコンピューターに分割して処理することで、従来のシステムでは難しかった処理も実現できます。
Asakusa Frameworkはオープンソース・ソフトウェアとして公開しており、どなたでもご利用いただけます。ノーチラスでは、Asakusa Frameworkをより簡単に利用できるように、さまざまな関連サービスを提供しています。

3つの特長

Asakusa Framework の3つの特長(開発容易性、ポータビリティ、低学習コスト)

コンポーネント

Askausa Frameworkは、業務バッチ処理に分散処理を活用するためのアプリケーション開発フレームワークです。分散環境向けアプリケーション開発に必要な開発環境・実行環境・運用環境を備えています。加えて、業務に必要となるバッチ実行ツール、統合テストツール、データ連携ツールもコンポーネントに包含しています。

Asakusa Framework の構成(Asakusa DSL と MapReduce/Spark/M³BP コンパイラ、バッチ実行ツール YAESS、自動テストツール、データモデル定義ツール DMDL、外部システム連携ツール)

設計、実装

設計は用意されたDSLを用いてデータフロー形式で記述します。入力データ、中間データ,出力データを記述したデータフロー設計から無理なくそのまま実装が可能です。

設計後の実装フェーズでは、演算子 (Operator DSL) から作成し、演算子を組み合わせジョブフロー (Flow DSL) にします。最後に、ジョブフローの実行順序をバッチ処理 (Batch DSL) に記述します。三層DSLによるシンプルなJavaプログラムの組合せで実装を行います。

Batch DSL / Flow DSL / Operator DSL とジョブの対応関係

テスト

OperaterDSL(演算子)でのテストでは、Javaクラスと同様にJunitでのテストが可能です。
データフロー、バッチのテストでは、分散処理や外部入出力と自動的に連携したテストが可能です。
一連の処理を自動的に行う 『 テストドライバ 』 を提供、テストデータのひな形を Excel ファイル・ JSONで定義します。

入力データ・期待データシート 比較条件シート

テストデータの構成(入力データ、期待データ、比較条件の各シート)

テストドライバの処理
1.入力データを初期化する
2.入力データを流し込む
3.対象のプログラムをテスト実行する
4.出力結果を取り込む
5.出力結果と期待データを検証する

豊富な開発支援機能

開発環境は、一括インストールツール『Jinrikisha』、Gradle向けEclipse Plugin『Shafu』を用意しています。

Jinrikisha による開発環境の一括インストール(Hadoop / Spark / Gradle / Eclipse)

開発投資保護、ポータビリティ

Asakusa Frameworkでプログラミングされたアプリケーションは、プログラムソースを一切変更することなくHadoop,Spark,M³BP どの実行基盤上でも稼働させることが可能です。システムライフサイクルの中で処理基盤に対する要件は変化しますが、Asakusa Frameworkならアプリケーション開発投資を保護しつつ、分散処理基盤それぞれの特性に応じたお客様の要件に最適な基盤選択が都度可能となります。
オンプレミスからクラウドへ、クラウドから別のクラウドへ、IaaSからPaaSへ。主要な分散環境をすべてサポートするAsakusa Frameworkのアプリケーションポータビリティがお客様のシステムにフレキシビリティを提供いたします。

入力データ量と処理時間の関係(100GB〜1PB)
技術スタック(開発フレームワーク、並列・分散処理ミドルウェア、インフラストラクチャ)

関連サイト

Asakusa Frameworkドキュメンテーション

Asakusa Frameworkのリファレンスマニュアルや入門チュートリアル等の詳細技術情報を掲載しています。

ドキュメンテーションへ

Asakusa Frameworkコミュニティサイト

Asakusa Frameworkに関連するイベント情報やメーリングリストへの案内などを掲載しています。

コミュニティサイトへ

関連サービス

Asakusa Frameworkトレーニング

Asakusa Frameworkトレーニングは、Asakusa Frameworkの教育コースです。Asakusa Frameworkを利用した業務バッチアプリケーションの開発を、ハンズオンの形式でご体験いただけます。

Asakusa Frameworkトレーニング詳細ページへ

Asakusa Frameworkサポートサービス

業務システムへ安心して分散処理を適用頂けるよう、Asakusa Frameworkのサポートサービスをご用意しております。Asakusa Frameworkのみならず、Hadoop,Sparkに関しても経験豊かなエンジニアによる適切かつ迅速なサポートをご提供いたします。

Asakusa Frameworkサポートサービス詳細ページへ