0

Java で作成された独自の BPM (ビジネス プロセス管理) システム用のグラフィカル プロセス モデラーを構築する必要があるプロジェクトに取り組んでいます。ソフトウェアは BPEL、BPMN、XPDL などの国際標準に準拠していないため、独自仕様であることに言及しています。

私の意図したアプローチは、ビジネス アナリストがビジネス プロセスをグラフィカルにモデル化し、プロセス モデルを Web アプリケーションに展開する Bonita Studio と同様に、Eclipse GMF を使用してスタンドアロンの RCP アプリケーションを作成することです。

このアプリケーションには、非常に初歩的な内部ウィザードのようなプロセス モデラーがあります。しかし、このモデラーには、カスタムの明確に定義された XML 形式でモデルをインポートおよびエクスポートする機能があります。これも独自仕様であり、国際標準はありません。

私が必要としているのは、開発中の Eclipse gmf rcp アプリケーションで作成されたグラフィカル モデルを、このカスタム XML 形式に永続化することです。このようにして、Web アプリケーションでインポート機能を呼び出すだけで、プロセスがデプロイされます。また、逆のこともできる必要があります。この XML 形式のカスタム プロセスを Eclipse RCP で開き、グラフィカルな方法で表示します。

だから、私が必要なのは:

グラフィカル ダイアグラムをカスタム XML 形式で保存し、この形式でカスタム XML ファイルを開いてグラフィカル ダイアグラムとして表示する必要があります。

助けてくれてありがとう!

4

2 に答える 2

1

GMF は EMF モデルを使用してダイアグラムを保存しています。EMF モデルは既に XML にマッピングできるため、ほとんどの場合、モデルをカスタム XML 形式にマッピングしたり、その逆を行ったりするには、XSL スタイルシート変換で十分です。

于 2011-06-30T19:34:26.823 に答える
0

ダニエル、図を XML として、またはその逆にエクスポートするには、この要件がありました。私が行った手順を以下に示します。

GUI から XML : - 以下のコードでモデル ファイルを使用して、ルート要素を Java オブジェクトとして返します。

注: - GMF エディターがモデル用とダイアグラム用の 2 つのファイルを生成すると仮定すると、以下のコードへの入力としてモデル ファイルを選択する必要があります。

    File model_file = new File(Path_to_your_model_file);
    ResourceSet rs = new ResourceSetImpl();
    URI fileUri = URI.createFileURI(model_file.getAbsolutePath());
    Resource res = rs.getResource(fileUri, true);
    Model model = res.getContents().get(0);

上記の行の Model は、ecore モデルのルート オブジェクトを表しています。ルートオブジェクトを取得したので、それを使用してすべての値、参照などを取得できます

これらを使用して、Java コードを手動で記述して XML ファイルを作成できます。

XML から GUI へ: - これも非常に簡単です。

以下のコードを使用して、モデルのルート要素の新しいオブジェクトを作成します。

ModelImpl model = (ModelImpl)ModelFactoryImpl.eINSTANCE.createModel(); // Replace Model with your model element name

まず、JAVA を使用して XML ファイルを解析し、すべての値を段階的に読み取り、属性を段階的にモデル オブジェクトに割り当てる必要があります (例: model.setName(doc.getDocumentElement().getAttribute("name")))。 ;およびChildObjImpl childObject = (ChildObj)ModelFactoryImpl.eINSTANCE.createChildObj(); )

コードでサポートされているさまざまな必須オブジェクトをすべて作成し、それらを親オブジェクトに追加できます (例: model.getChildObject().add(childObject)); )

XML からのすべての情報をこれらのオブジェクトに追加し終わったら、ルート モデル オブジェクトを使用して、以下に示すようにモデル ファイルを作成できます。

    ResourceSet resourceSet = new ResourceSetImpl();
    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi",new XMIResourceFactoryImpl());
    Resource resource = resourceSet.createResource(URI.createFileURI(path_where_u_want_to_save_the_model_with_filename));
    resource.getContents().add(dd);
    resource.save(null);

上記のコードはモデルを正常に生成します。そのファイルを右クリックして、ダイアグラム ファイルを生成できます。

これを行うためのより良い方法があるかどうかはわかりませんが、これはうまくいきました。試してみて、さらにサポートが必要な場合はお知らせください。

于 2013-01-19T13:36:58.050 に答える