2016年6月27日月曜日

【NEWS】日経ビジネスONLINE×ジェネクサス・ジャパン 連動企画 第2回目

「日経ビジネスONLINE&ジェネクサス・ジャパン 連動企画」第2回目の記事が公開されました。

以下、ジェネクサス・ジャパン社のプレスリリースから

■日経ビジネスONLINE&ジェネクサス・ジャパン 連動企画とは?
2016年5月より、日経BP社が運営するウェブサイト「日経ビジネスONLINE」にて弊社と日経ビジネスONLINEの連動企画が開始となりました。
この企画では、経営者や役職者の方々を対象に、GeneXusの認知度向上やITの問題をGeneXusによって解決・改善できることをご理解頂くことを目的と致しております。日経ビジネスONLINEには全5回の記事掲載の予定です。

○日経ビジネスONLINE×ジェネクサス・ジャパン
【日経ビジネスONLINE SPECIAL「Futureproofing Your Business」】
― 第2回目 ― 2016年6月
http://special.nikkeibp.co.jp/atclh/NBO/16/genexus0527/p2/




【コラム】4) ユーザービューとは? (GeneXusとDOA)

最近はあまりなくなりましたが、以前はよく「GeneXusってDOA(データ中心アプローチ)ですよね?」という質問を受けました。確かにGeneXusではデータモデルが大切で、設計・実装にあたってもそれが中心になります。(その理由は前回記事の通りです) でも、いわゆる一般的に言われるデータ中心「アプローチ」なのか? と言われると、「それはちょっと違うよ」と思っています。

そもそもDOAとは?

DOAでは、まず業務で扱うデータ全体をERモデル(Entity-Relationship model)によってモデル化し、それを正規化してRDB(リレーショナルデータベース)を設計する。
「IT用語辞典 e-wordより引用」http://e-words.jp/w/DOA.html


とあります。設計者がプロセス(処理)ではなく、データの構造に着目し設計(正規化)を行う方法なので、データ中心アプローチとなります。

一方、GeneXusではどうなるかと言いますと・・
これは2011年のGeneXus DayというイベントでGeneXus社の創業者で現会長であるGonda氏のスピーチで聞いた話です。(当時の模様はこちらをどうぞhttp://g-mind.blogspot.jp/2011/12/genexus-day-2011-winter.html)
今から遡ること30年以上も前、ソフトウェア業界だけが他の産業と違い家内制手工業がずっと続いている状況でした。(今も日本は同じ状況ですが・・) そんな中、Gonda氏は「このままではいけない。ソフトウェア開発にも産業革命が必要だ」と思い立ったのが、GeneXusを生み出すきっかけで、具体的にどうする事が(どういう方法論に基づいたツールを生み出すことが)その解決方法になるのか? と考えたところ、着目したのが絵画の世界です。

元々、絵画は芸術の世界で、描く人によってまちまちですし、それが芸術家の個性でした。ところがある時「遠近法」という技法が考え出されました。(近くにあるものを大きく描き、遠くにあるものを小さく描く) これにより、誰でも簡単に立体的な風景を描くことが可能になりました。

ソフトウェア開発にもこの様な「技法」を持ち込むことにより、誰でも簡単にソフトウェア開発ができないか? と考えて導き出されたのが「ユーザービュー(User View)」という考え方です。

「ユーザービュー」という人から見たシステムの外見(接点・インターフェイス)をそのままGeneXusに登録する事により、システムの内部(データの持ち方(DB設計)やデータに対する処理(ロジック))はGeneXusが自動的に生成する。というものです。

これにより、システム開発者は物理的な技術環境にとらわれることなく、現実の業務(彼らはリアリティ(Reality)と呼んでいる)にフォーカスしていけばよくなる。つまり、業務に精通する事がシステムを開発する上で重要な事である。という事が言えると思います。

GeneXusというと、とかくAIによる推論とかPrologとかが注目されることが多いですが、それらはあくまでもGonda氏の考える方法論を実現するための実装技術に過ぎません。

次回はGeneXusの上手な使い方についてです。



2016年6月20日月曜日

【コラム】3) GeneXusを使う意義

ちょっと大げさなタイトルです。

意義とは「その事柄にふさわしい価値」とあります。ですから「GeneXusを使うにふさわしい(使うに見合う)価値」とはなんでしょうか?

これはテーマが広いですね。例えば、プログラムコード自動生成? アジャイル開発? ナレッジベース? マルチプラットフォーム? 超高速開発ツール?

人によって享受しようとしている価値はそれぞれだと思います。ここではスコープを狭くして、前回話をしましたデータモデルとSQLという点にフォーカスします。

GeneXusではデータを抽出したい項目属性を列挙するだけで抽出対象となるテーブルの指定とか、テーブル間のJOINなどを自動的に推論しSQLを生成してくれます。

2016年6月14日火曜日

【コラム】2) GeneXusにとって正しいデータモデルとは

GeneXusでのデータモデリング(データベース設計・正規化処理)はインプット(トランザクションのストラクチャー定義)を元にGeneXusがアウトプット(正規化されたデータモデル)を推論しますが、そこは正規化論(集合理論)に則りますのでその過程(プロセス)には曖昧さもありませんし、個性もありません。つまり、インプットが正しくなければアウトプットも正しくはならないのです。

私は今まで数多くの人にGeneXus基礎教育コースの講師として接してきましたが、開発経験が豊富な人、特に熟練のDB設計者になればなるほど、自分流の設計手法がネックとなってGeneXusを使ったDB設計がうまくいかない事が見受けられました。最終的に「GeneXusって使えないね」となる人を何人も見てきました。


2016年6月9日木曜日

【コラム】1) GeneXusアナリストという資格の意味

2ヶ月近く連載してきました「GeneXusジュニアアナリスト試験模試「超解説」」如何だったでしょうか?

かなり長期にわたった連載だったので「またか?」「まだ終わらないのか?」と思われているのではないかと内心びくびくしながらアップしてましたが、ブログを読んでいるGeneXusエンジニアの方から「いつも見ています」「こういう内容を読みたかったんですよ!」という言葉をもらった時は正直ホッとしました。

さて、当ブログでは日本のGeneXusユーザー(及びGeneXusに興味を持たれた方)向けのテクニカルティップスが記事としては多いです。たまには少し趣向を変えて私が長年経験してきた中から思っている事をつらつらと書いてみようと思います。

先の原稿(超解説)を公開してから3週間、この新たな原稿を書きためてきましたが、それぞれ深く関連し合っている事柄なので、どういう順番で書くか非常に迷いましたし、内容が重複してしまっている部分もあります。その点はどうかご容赦下さい。

まずは、GeneXusの資格試験についてです。GeneXus資格試験では「アナリスト」という言葉が付いています。一般的な資格試験にはスペシャリストとかマスターとかテクニカルなタイトルが付くことが多いのですが、なぜGeneXusでは「アナリスト」というタイトルなのでしょうか?