Enterprise Core Objects
ファーストチュートリアル
ボーランド株式会社
QAグループ
井上 勉

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

ECOとは
 ECO = Enterprise Core Objects
 モデルを実行するランタイムフレームワークを提供
 モデルレベルで定義した情報を自動的に実行
 従来のアプローチのようにモデルを実装するコードを書く必要はない

 開発時のECOのサポート
 TogetherによるUMLモデリング OCL式エディタ

 実行時のECOのサポート
 データバインディング、O/Rマッピング、UIインターフェース、ステートマシン
 データの永続化

2
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 1 - Copyright (C) 2006, Borland Software Corporation1

第２回 ボーランド デベロッパー キャンプ

従来のモデル指向開発
モデリング環境

プレゼンテーション
UML モデルクラス

クラス

クラス

オブジェクトオブジェクトオブジェクトロジック

ロジック

ロジック

オブジェクト相互作用

永続データ

アーキテクトによるモデリング
インターフェース

モデルから生成追加のコーディングが必要
3
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

ECOによるデザインドリブン開発
モデリング環境モデルドリブン
ランタイムフレームワーク

プレゼンテーション

UML モデル
クラス

クラス

クラス

オブジェクトオブジェクトオブジェクト

ロジック

ロジック

ロジック

オブジェクト相互作用

永続データ

アーキテクトによるモデリング
インターフェース

モデルから生成追加のコーディングが必要
4
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 2 - Copyright (C) 2006, Borland Software Corporation2

第２回 ボーランド デベロッパー キャンプ

ECOを使うことができる開発環境
ECOの基本機能

XMLファイル DBへのへの永続化 永続化

Borland Developer Studio 2006
Architect (C# & Delphi.NET)○○○

Borland Developer Studio 2006Enterprise (C# & Delphi.NET)

○

○

○

Borland Developer Studio 2006
Professional (C# & Delphi.NET)○○

Turbo C#
Professional & Explorer○○

Turbo Delphi.NET
Professional & Explorer

○

○

複数のDB
ステートマシへの永続化 ンのサポート○○

5
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

ECOのメリット ビジネスアプリケーションの観点で
 変更に強いアプリケーションの開発
 モデルを変更すると直ちに実行可能なアプリケーションも修正される
 ひとつのモデルをリッチクライアント、Webアプリケーション、Webサービスなど、さまざまな形態に展開可能

 モデルによるアプリケーション開発の抽象化 モデルを実装するためだけのコードを一切書かなくてよいため、高い抽象度でアプリケーションを開発できる

 オブジェクト指向学習の観点で
 すぐに動くモデルを作成できるので、オブジェクト指向設計の結果をただちに確認可能
 Turbo ExplorerでもECOの基本機能を使用できます！
6Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 3 - Copyright (C) 2006, Borland Software Corporation3

チュートリアルレッスン

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

作成するクラス – 住所録のデータモデル

8
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 4 - Copyright (C) 2006, Borland Software Corporation

4第２回 ボーランド デベロッパー キャンプ

ECO - 開発の手順
 ECOアプリケーションの新規作成
 ECO WinFormsアプリケーション、ECO ASP.NET Webアプリケーション、
ECO ASP.NET Webサービスなどを選択

 ECOモデルの作成
 モデルビューツリーからパッケージを選択して、Togetherクラスダイアグラ
ムビューを表示 ユーザーインターフェースの作成
 設計時にユーザーインターフェースがECOクラスの情報を利用できるように、あらかじめ作成したモデルをコンパイルしておくこと

 データの永続化を設定
 ECO Spaceに永続化を指定
9Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

参考：ステートマシン

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 5 - Copyright (C) 2006, Borland Software Corporation

5第２回 ボーランド デベロッパー キャンプ

ステートマシンとは ?
 ステートマシン図 オブジェクトの状態（ステート）の遷移を表す図 ステートマシンを理解するためのキーワード
 イニシャルステート
 開始状態、すなわちオブジェクトの初期値

 トリガー 状態を遷移させるもの。メソッドとして定義する

 ガード
 ビジネスルール。状態遷移のルールを定義する

 エフェクト 状態遷移の結果発生すること
11Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

ステートマシン図の例
初期状態

トリガーステートガード

12
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 6 - Copyright (C) 2006, Borland Software Corporation6

第２回 ボーランド デベロッパー キャンプ

ECOステートマシン
 ECOフレームワークが実現してくれること ステートマシン図で定義した、トリガー、ガード、エフェクトを実装コードを記述することなしに実行する ステートマシン図およびオブジェクトインスペクタによる定義
 OCL式エディタによる条件（ガード）の定義

 ECOデバッガによるテスト
 コードを記述することなく、インスタンスの生成、削除などをビジュアルに実行してテスト
 ECO AutoFormにより、自動ビジュアルフォームで、ステートの遷移、オブジェクトの値変更などを行いテスト

13
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Thank you

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Page 7 - Copyright (C) 2006, Borland Software Corporation

7