2012-03-01 18 views
5

私たちは同じクラス/エンティティの3つまたは4つの異なる表現で終わる私たちの店で繰り返し問題があります。モデル駆動型アーキテクチャに価値があり、ツールの最新技術は何ですか?

javaバージョン、xmlバージョン、hibernateバージョン、jsonバージョン...あなたはポイントを得る。

これは明らかにメンテナンスの問題を引き起こします。

モデル駆動型アーキテクチャーはおそらくこれ以上ですが、私が本当に好きなのは、クラスまたはエンティティを一方向に一度定義し、さまざまな表現を生成できるシステムです。 (おそらく、私はこれについて正しい用語を使用していません)

実際にはそれほど単純ではありません。私たちはJSONを使ってワイヤを送信するためのJavaオブジェクトを持っているとしましょう。 JSONのフィールドに対するjavaオブジェクトのメンバー間の正確な1-1の対応ではないかもしれません - いくつかの最適化などがあるかもしれません。

私は過去にAndroMDAやEMFのようなものを見てきましたが、それらが不足しているか不器用であることがわかりました。私は彼らが最近どのように積み上げているのか、それとも他のシステムがあるのか​​分かりません。

MDAおよびメタデータ駆動型プログラミングに関するSOの意見は何ですか?道具が真剣に検討されるほど成熟していますか?

ありがとうございました。

+1

もhttp://stackoverflow.com/questions/4479883/mda-model-driven-architectureとhttp://stackoverflow.com/questions/696021/are-you-doing-mda-を参照してください。モデルドリブンアーキテクチャー - 今の場合はそうだと思うのですが、ツール・ドゥ・ヨとhttp://stackoverflow.com/questions/21091/do-you-use-mda-mdd-mdsd-any-kind-モデル駆動型のアプローチを採用しています。そして、http://stackoverflow.com/questions/70781/what-do-you-think-of-model-driven-software-development – DNA

答えて

1

チェックアウト裸のオブジェクト

http://nakedobjects.codeplex.com/

、それは

http://isis.apache.org/index.html

これらのフレームワークの両方があなたの質問の私見に答える必要がありますほとんど存在しませんという事実同等のApacheの。私は、同じオブジェクトの一貫性のない表現で終わると、あなたのプロセスの欠陥を示していると思います。これは、フレームワークで試して解決しなければならないものではありません。

+3

この回答サポートされていない議論のヒンジ。 –

2

あなたの中心的な問題に対処するために、ドメインオブジェクト用のJavaクラスを定義できます。次に、クラスをJAXBアノテーションとHibernateアノテーションで注釈を付けることができます。このようにして、様々な表現で出力できるエンティティ(Javaクラス)、JSONとXMLのためのJAXB、永続性のためのHibernateの単一の定義ができます。

6

Naked ObjectsApache Isisの両方の寄稿者として、これらの両方が同じことを複数表現しているという問題に取り組んでいれば、@ dnellis74からの他の回答を確認できます。これらのフレームワークでは、ドメインオブジェクトを一度作成した後、自動的に永続化レイヤーとしてユーザーに反映されます。

私は@ dnellis74には、これらのフレームワークがほとんど知られていないということは、彼らが手放さなければならないということを意味しないと私は同意しません。自分で決めなければならない。

その他の興味深い点が1つあります。これらの両方のフレームワークでは、Restful Objects specを実装しています。これは、RESTful APIを使用してドメインオブジェクトを自動的に公開し、適切にスキンしたり統合したりすることを目的としています。 .NETインプリメントはかなり完成していますが、Javaインプリメンテーションは少し遅れていますが、デモンストレーションでもcheck outが可能です。

MDAに関しては、最初にOMGによって突き止められたとき、私はTheServerSideでarticleと書いていたほど懐疑的でした。私はそれを正しかったと思う。

ダン

関連する問題