2013年3月22日金曜日

外部オブジェクトの使い方 : ストアドプロシージャ編その2


前回作成した外部オブジェクトを使ってストアドプロシージャを呼び出してみましょう。

2.外部オブジェクトの使い方

今回はWebパネルから外部オブジェクトを使ってストアドプロシージャを実行してみます。

2-1.変数の宣言

外部オブジェクトを使う場合には、変数を宣言しそのデータ型として外部オブジェクトを指定します。呼び出しに使うパラメータの変数宣言し、WebFormに配置します。


2013年3月19日火曜日

外部オブジェクトの使い方 : ストアドプロシージャ編その1

外部オブジェクトを利用する事でDBMSのストアドプロシージャを呼び出す事が可能になります。

例えば、以下のようなストアドプロシージャ(SQLServer)

CREATE PROCEDURE [sp_get_customer_id]
@p_country_id int,
@p_customer_id int OUTPUT
AS
BEGIN
SELECT @p_customer_id = max(CustomerId)+1 FROM Customer WHERE CountryId = @p_country_id;

RETURN;
END
をGeneXusアプリケーションから実行したい場合には

2013年3月17日日曜日

ビルド時に適用されるオプティマイズ(最適化)について

For eachコマンド(DBに対するクエリー)の記述に関して、ビルド時にGeneXusが分析した結果、生成するコードをオプティマイズ(最適化)するケースがあります。

For eachというとカーソルで結果セットをぐるぐるループしながら処理するイメージがあります。処理対象が数十万件を超えるとループ処理がネックになってきますが、オプティマイズ(最適化)が適用されると一回のSQLを実行するだけになり実行効率が上がるのです。

例えば、

2013年3月15日金曜日

エボリューション2 アップグレード3の新機能

GeneXus Evolution2(エボリューション2)は昨年リリースされたGeneXusの新バージョンです。目玉はスマートデバイスジェネレーターの搭載で、これによりiOS(iPhone/iPad)、Android、BlackBerryのネイティブアプリが開発可能になりました。

当ブログではまだエボリューション2の紹介をしていませんが(公開していないGeneXusの既存機能の解説記事がまだまだあるのですが、スマートデバイスジェネレーターに関しても平行して書いていきます)、既に正式リリースからアップグレードが2回行われており、この春には3回目のアップグレードがリリースされる予定です。(アップグレードとはWindowsのサービスパックと同じように主にバグフィックスが目的ですが新機能が含まれる場合があります)

GeneXusのメーカーであるArtech社のCTO がブログでアップグレード3の新機能を紹介していました。

Do The Harlem Shake & GeneXus Evolution 2 Upg 3

・サイドナビゲーション



Facebookでおなじみのナビゲーション(メニュー)がスライドして表示・非表示切り替わる機能です。設定方法は「Navigation Style」プロパティを「Side」に設定するだけだそうです。今まで横表示でのスプリットモードはメニューが常に表示されていたので、サイドナビゲーションで全画面表示が可能になるのは嬉しいです。


・UIエフェクトの強化



デモムービーでは映像一覧から映像への画面遷移がページめくりの様なエフェクトで描画されていますが、これをプログラミングではなくテーマの適用で実現できるようになっています。逆に言えば自分が開発しているモデルを一切変更せずにUIエフェクトの適用・変更ができる事になります。


・Google Analytics


アップグレード3はUI関する機能追加だけではありません。その一つがGoogle Analytics連携です。スマートデバイスアプリケーションをリリースした後で、そのアプリケーションに対してどういうアクセスがされているかを参照・分析する事が可能になります。これもプロパティにGoogle AnalyticsのIDをセットするだけで利用できるようになります。

デモムービーとしてアップされていましたDo The harlem Shakeというアプリケーションは既に Google PlayApp Store(iPhone/iPad用) に公開されています。是非インストールして体感してください。


2013年3月13日水曜日

イノベーションは情熱によって生まれる - enchantMOON見てきました

東京ビックサイトで行われたモバイルITアジアに行ってきました。

目当てはこれ


enchantMOONです。知らない方はこちら(UEIが仕掛ける「enchantMOON」の正体)を参考に。


以下、UEI 清水社長のセッションの要約です。(メモと記憶をたよりに書いてますので言い回しとか実際とは違っているかもしれませんがご容赦ください)

きっかけは(打合せの写真を見せて)打合せしている相手がノートパソコンを開いているのにノートにメモ書きをしいる。しかもパソコンは半開き(つまり使っていない)。結局、打合せが終わるまでパソコンを使わなかった。これは日常よく目にする風景。不思議→愚問なのか?


2013年3月12日火曜日

【News】株式会社ウイング - 奄美情報通信協同組合(奄美市)とシステム開発業務パートナーシップ締結

日本では老舗のGeneXus開発ベンダーである株式会社ウイングが奄美情報通信協同組合(奄美市)とシステム開発業務パートナーシップを締結されたそうです。

以下、ウイング社のプレスリリースより掲載

弊社ウイングと奄美情報通信協同組合は、3月8日奄美市役所にて、システム開発業務のパートナーシップ契約の締結を行いました。

調印式は市長立ち会いのもと、福山奄美情報通信組合理事長との間で滞りなく終了致しました。

福山様からの挨拶として、
「今までなかったチャンスを生かして奄美のIT産業の発展に尽くしたい」
「そのため継続的な仕事をウイングと一緒に進めて行きたい」
とのコメントを頂きました。

朝山市長も同様ですが、中央と仕事をすることで技術を習得し奄美の雇用を活性化したい。
そのための第一歩としてウイングとパートナーシップ契約のもと進めていくのは大変喜ばしいとのことでした。

今回の契約では、当社の保有する代表的な技術であるGeneXusの習得のため組合から2名が出向され、技術の習得後はまず組合員へ技術の伝達を行い、組合の中で技術者を育成することを目指します。また当社の受注した開発案件などについて組合へ業務委託し、組合各社で開発を行います。

GeneXusを通じて都心の開発案件が奄美市に回るようになる地方振興であり、GeneXusエンジニアを育成するという人材育成支援であり雇用促進でもあります。ウイング社の素晴らしい取り組みだと思います。

今後、ウイング社に限らず各GeneXusベンダーがこの様なパートナーシップを全国各地と結べるようになるといいですね。



ファイルオブジェクトを活用しよう

GeneXusを使っていると外部のファイルを追加するケースがあります。例えば、独自に作成したJavaScriptファイルやJQueryなどのJavaScriptライブラリ、Log4j.jarなどの各言語ごとのライブラリ、静的なHTMLファイルなどなど。

この外部で作成したファイルをどうやって管理・デプロイしていますか?恐らくファイル自体の管理(バージョン管理)はSubVersionなどのバージョン管理ツールを使っていると思いますが、GeneXusが生成・コンパイルしたファイルとのマージ・デプロイは手作業ではないでしょうか?

こんな時に便利なのがファイルオブジェクトです。ファイルオブジェクトはその名の通り、外部で作成したファイルをそのままオブジェクトとしてナレッジベースの中に格納します。