2019年12月5日木曜日

【NEWS】ジェネクサス・ジャパン主催「GeneXusソリューションセミナー 大阪」が開催されます。


ジェネクサス・ジャパン株式会社主催「GeneXusソリューションセミナー 大阪」が2020年1月30日(木) に阪急グランドビルにて開催されます。


以下、ジェネクサス・ジャパンからの告知です。

◆GeneXus ソリューションセミナー 大阪
デジタルトランスフォーメーションやシステムの内製化 について、どのように取り組めばよいかお困りではないでしょうか?
東京にて大盛況でしたソリューションセミナーを、今度は大阪にて開催いたします。本セミナーでは、業務効率化・アプリケーション開発等について経験豊富なパートナー各社より各種事例や取り組みについてご講演いただきます。
高速開発ツールを使用して実際どのように開発が行われたのか、またその際の創意工夫等のリアルな情報をお持ち帰りいただきます。詳細なプログラムは下記URLにございます。
ぜひともご来場をお待ちしております。

◆開催概要
「GeneXusソリューションセミナー 大阪」
日時: 2020 年 1 月 30 日(木)14:15~17:50
場所: 阪急グランドビル 26階 (〒530-0017 大阪市北区角田町8番47号)
定員: 60名
主催: ジェネクサス・ジャパン株式会社
・入場無料

◆ご講演予定パートナー企業(五十音順)
・アイテック阪急阪神株式会社
・株式会社ウイング
・エヌ・エム・ティフロンティア株式会社
・サントクコンピュータサービス株式会社

詳細およびお申し込みは下記URLよりお願いいたします。
https://www.genexus.com/ja-JP/japan/gx-solution-seminar-osaka-2020

申込みはこちらから。




2019年12月2日月曜日

Javaデプロイメント - パスワードチェンジャーの仕様変更

※バージョン表記に間違いがありました。正しくはGeneXus16U5からとなります。

Java用デプロイメントツールの一つ、パスワードチェンジャーに仕様変更がありました。
主に実行時に指定する参照に必要なライブラリの変更です。
対象はGeneXus1516U5以上となります。


書式は以下の通りです。(1行で入力します)

>java -cp gxclassR.jar;"log4j-api-2.11.2.jar";"log4j-core-2.11.2.jar";"gxcommon.jar" com.genexus.PasswordChanger -user:<usr> -password:<pws> -namespace:<javapackagename>

このツールはGUIはなくパラメータにDB接続のユーザー、パスワードを指定すると直接client.cfgを書き換えます。
※コマンドプロンプトにてターゲット環境ディレクトリで実行して下さい
※<javapackagename>はGeneratorプロパティのjava package nameプロパティの設定値です
※各クラス名の大文字小文字に注意して下さい


出典
SAC#43289




2019年11月21日木曜日

GeneXus Day 2019が開催されました

去る、10月29日秋葉原コンベンションホールにてジェネクサス・ジャパン(株)主催 GeneXus Day 2019が開催されました。



今年から会場を秋葉原コンベンションホールに移しての開催となりましたが、定員450名の会場がほぼ満員の大盛況ぶりでした。

2019年8月26日月曜日

AWS東京リージョンで大規模障害が発生

先週の金曜日午後、AWS東京リージョンで大規模な障害が発生しました。復旧までにほぼ半日かかったようです。私個人で利用していたEC2は特に問題はなかったのでAZ(アベイラビリティゾーン)が違っていたようです。

日経xTechでは障害により影響があったサービスの例が掲載されていました。

AWS大障害、ユニクロ・楽天・PayPayなど30社以上に影響

障害発生時、Twitterではゲーム系のサービスがダウンしているのは見かけていましたが、こちらの一覧を見るとゲームだけではなくECやネットサービス系の大手も影響があったようです。

AWSから障害に関する公式発表が出ています。

東京リージョン (AP-NORTHEAST-1) で発生した Amazon EC2 と Amazon EBS の事象概要

これによると
今回の事象はデータセンターで使用されるいくつかの冷却システムの制御と最適化に使用されるデータセンター制御システムの障害によって引き起こされました。制御システムは、高可用性を実現するために複数のホストで実行されます。
<中略>
サードパーティ製の制御システムにおけるロジックのバグにより、この情報交換が制御システムとデータセンターのデバイス間で過度に発生し、最終的には制御システムが応答しなくなりました。AWS のデータセンターは、データセンターの制御システムに障害が発生した場合、制御システムの機能が回復するまで冷却システムが最大冷却モードになるよう設計されています。これはデータセンターのほとんどで正常に機能していましたが、データセンターのごく一部で冷却システムがこの安全な冷却構成に正しく移行できず停止しました。
<中略>
運用チームは、影響のあるデータセンターのエリアで冷却システムを「パージ」モードにしようとしましたが、これも失敗しました。この時点で、データセンターの影響を受けるエリアの温度が上昇し始め、サーバーの温度が許容限度を超え、サーバーの電源が停止し始めました。

根本的には制御システムの不具合のようですが、サーバーが停止したのは温度上昇という物理的なものだったとはちょっと以外でした。

今回の障害は東京リージョンにある4つのAZのうちの1つで発生したという事ですが、 AWSの報告の最後にはこう記してあります。
この度の事象発生時、異なるアベイラビリティゾーンの EC2 インスタンスや EBS ボリュームへの影響はございませんでした。複数のアベイラビリティゾーンでアプリケーションを稼働させていたお客様は、事象発生中も可用性を確保できている状況でした。アプリケーションで最大の可用性を必要とされるお客様には、この複数アベイラビリティゾーンのアーキテクチャに則ってアプリケーションを稼働させることを引き続き推奨します
もともとAWSは稼働率を上げるためにはAZを跨いだ冗長構成にする事を推奨していました。お手軽に使えるクラウドサービスですが、物理的にはデータセンターであることには変わりありません。障害は発生する前提でその対応策としてのシステム構成を設計する事がインテグレーターとしては求められます。








2019年8月22日木曜日

2019年8月19日月曜日

CIツールとの連携③ - MSBuildによるチーム開発その1

さて、次はいよいよチーム開発機能をMSBuildで利用します。

チーム開発機能とはGeneXus Serverとの連携を意味し、GeneXus IDE上では「Serverからナレッジベースを作成」「ナレッジベースをServerへ送信」「アップデート」「コミット」等の操作になります。

まずはプロジェクトファイルです。




チーム開発機能を使用するためにはtargetsファイル(GeneXus.Server.Tasks.targets)のインポートを追加します。

今回は「Serverからナレッジベースを作成」を試してみます。PropertyGroupで必要な操作に必要なプロパティを定義しています。


2019年8月14日水曜日

CIツールとの連携② - MSBuildによるビルドその4

前回の続きで新規に作成したナレッジベースに他のナレッジベース(xpz)をインポートしてビルドしてみます。



ImprtタスクもGeneXus IDEでのオプション指定と同様にパラメータ指定が可能です。こちらも動的に変更できるようにプロパティとして定義しています。


2019年8月8日木曜日

CIツールとの連携② - MSBuildによるビルドその3

続いてはMSBuildにて新規にナレッジベースを作成します。

プロジェクトファイルは以下になります。




CreateKnowledgeBaseタスクに必要なパラメータはGeneXus IDE上で指定するものとほぼ同じです。実行時にパラメータとして指定可能なようにプロパティとして定義しておきます。


2019年8月5日月曜日

7payが9月末でサービス廃止を決定

既にニュースとして流れていますので、ITに関わる人であればご存じだとは思いますが、セブン&アイ系決済サービスの7payが7月にサービスをスタートさせたばかりですが、セキュリティの問題で9月末でサービスを廃止する事を決定しました。



何が問題だったのか? というのはあちらこちらで論じられていますが、伝聞になるので当事者からのプレスリリース資料を確認すると経緯は以下の様になります。


2019年8月1日木曜日

CIツールとの連携② - MSBuildによるビルドその2

GeneXusビルドの応用編です。

先のプロジェクトファイルではナレッジベースの指定は固定でしたが、MSBuildのPropertyを使って汎用的なプロジェクトファイルを定義します。


GX_PROGRAM_DIRは環境変数です。
参照の変数と同じ方法で環境変数値も参照出来ます。
例 : $(GX_PROGRAM_DIR)

PropertyとしてKBNameとKBDirを定義し、パラメータとしてKBNameを指定する事で、1つのプロジェクトファイルで複数のナレッジベースをビルドする事が出来ます。


2019年7月29日月曜日

CIツールとの連携② - MSBuildによるビルドその1

さて、それではMSBuildを使ってGeneXusのビルドを行ってみましょう。

今回使用するサンプル用プロジェクトファイルは以下になります。


プロジェクトファイルとしてはGeneXus用のタスクが定義されたtargetファイルをインポートする必要があります。

2019年7月25日木曜日

CIツールとの連携① - MSBuildその2

続いて応用編です。

ビルドプロジェクトを本格的に使おうとすると、一般的なプログラミングと同様に変数を使って値を複数箇所で参照させたり、パラメータとして実行時に渡したい事が考えられます。

MSBuildではPropartyと呼んでいますが、いわゆる変数が使用できます。

以下、先の記事で使いましたサンプルの改修版です。


2019年7月22日月曜日

CIツールとの連携① - MSBuildその1

DevOpsという開発と運用を一体となって改善するための活動を支えるポイントの1つとしてビルドとデプロイの自動化があります。

実はGeneXusではバージョンXの頃からバッチでビルドするための仕組みが提供されていました。

GeneXusでビルドしている時にWindowsのタスクマネージャーを起動してプロセスの様子を見るとGeneXus.exe以外にMSBuild.exeが動作している事が確認できます。



実はGeneXus自体がビルドを行っているのでは無く、ビルドのプロセスはMSBuildが担っていてGeneXusはそれを呼び出しているだけなのです。

この仕組みにより、MSBuildの呼び出しをGeneXusからではなく、バッチファイル等から行う事でIDEがない状態、つまりバッチ処理としてビルドを行う事も可能になっているのです。


それではMSBuildとは何ものでしょうか?


2019年7月18日木曜日

【再掲】【NEWS】ジェネクサス・ジャパン主催 GeneXusソリューション・セミナーが開催されます

【再掲】7月25日にジェネクサス・ジャパン主催のGeneXusソリューション・セミナーが開催されます。


以下、ジェネクサス・ジャパンからの告知です。

7月25日にジェネクサス・ジャパン主催の「GeneXusソリューションセミナー」を開催いたします。

経験豊富なパートナー各社による事例や取り組みについての講演を多数ご用意いたしております。
ぜひともご来場をお待ちしております。

◆開催概要
GeneXus ソリューションセミナー
日時: 2019年7月25日(木) 14 : 30~17 : 00
場所: 五反田 アリアル会議室 ANNEX (JR・都営浅草線 五反田駅より徒歩 1 分)
対象: 高速開発をご検討中のお客様
主催: ジェネクサス・ジャパン株式会社
定員: 60 名
・ 入場無料

◆お申し込み
お申込みは、下記のお申込みフォームよりお願い致します。
GeneXusソリューションセミナー お申し込みフォーム

2019年7月11日木曜日

デプロイ⑤ - デプロイメントユニット補足

デプロイメントユニットの説明が少し判りづらかったので補足です。

デプロイメント ユニット オブジェクトは
・メインオブジェクトを設定する「Definition」画面
・追加でオブジェクトやファイルオブジェクトを設定するデプロイ画面
の2面があります。

そしてデプロイ用アーカイブファイルに含まれるファイルが決まるのは以下の流れになります。
①デプロイメントオブジェクトのDefinitionにてメインオブジェクトを追加
②GeneXusは指定されたメインオブジェクトからコールツリーに従ってオブジェクトを抽出
③デプロイ時の追加ボタンにより指定されたコールツリーに含まれないオブジェクトやファイルオブジェクト

一度デプロイを行うと追加したオブジェクト等の情報は保持されていますので、次回以降はそのままデプロイをする事が可能です。





2019年7月8日月曜日

デプロイ④ - DB再編成プログラム

DB再編成プログラムに関してはデプロイメントユニットは使用しません。「ビルド」メニュー→「再編成をエクスポート」を選択します。




2019年7月3日水曜日

デプロイ③ - Javaアプリケーション

Java環境でのデプロイメントユニットです。

基本的な操作は.NETと変わりません。オプション設定がJava環境特有になります。




2019年6月26日水曜日

デプロイ② - .NETアプリケーション

デプロイメント ユニット オブジェクトは複数作成する事が出来ますので、デプロイする単位ごとに作成しておきます。

まずは.NET環境です。

ここでは、Webアプリケーションとバッチアプリケーションの2つを例としてデプロイ方法を掲載します。

1.Webアプリケーション


 作成したWebアプリケーション用デプロイメントユニットを設定のツリービュー上で右クリックすると「ビルド」「リビルド」「アプリケーションをデプロイ」というメニューが表示されます。

ここでは「アプリケーションをデプロイ」を選択します。

2019年6月24日月曜日

デプロイ① - デプロイメントユニット

デプロイについては大きな変更がありました。

今まではJavaは標準でデプロイメントウィザードがあり、.NETでは標準でデプロイ機能は無く、手動でコピーかMarketplaceで公開されているCSharp Xcopy Deploymentエクステンションを使用するしかなく、環境ごとに方法が違う不便な状態でした。

GeneXus15 Upgrade10からデプロイメント ユニット オブジェクトが追加され、これによりGeneXusが対応している環境であれば共通的な操作でデプロイを行う事が可能になりました。

デプロイメント ユニット オブジェクトは通常のGeneXusオブジェクトとは若干扱いが違い、作成してもKB Explorerのツリービューには表示されません。




設定ウインドウの中の環境(Environment)の下にジェネレーターやデータストアと共に「デプロイメントユニット」というノードがあり、ここに作成したオブジェクトが表示されます。




2019年6月20日木曜日

ビルド④ - DB再編成に関するオプション

 4.DB再編成に関するオプション


通常、GeneXus開発者はDB再編成処理を意識的に実行する必要はありません。GeneXusは前回ビルドの状態を記憶しているので、次のビルドタイミングでデータモデルに変更がある時だけDB再編成レポートを表示し開発者にDB再編成処理を実行するか否かを判断させます。

しかし、状況によっては開発者が意図的にDB再編成処理を実行する/実行しない/実行させない事を選択したい場合があります。そういったケースでのオプションを紹介します。


2019年6月18日火曜日

(株)イノベーティブ・ソリューションズは5周年を迎えました

6月13日で株式会社イノベーティブ・ソリューションズは5周年を迎えました。

最初は3名で立ち上げたこの会社も社員16名の所帯になりました。

意外と長かったこの5年、もう少しビジネススピードを上げて行かないと・・と反省の想いです。

とはいえ、昨年度は社員数が倍に増えるなど加速度はついてきています。営業面だけではなく、組織のマネジメント等社内の整備も加速をつけて新年度を進めていきたいと思っています。

写真は先日行った6月に入社した社員の歓迎会です。社員、パートナーさん、インターン含めて24名でのパーティーでした。






2019年6月17日月曜日

ビルド③ - ビルドイベント

3.ビルドイベント


ビルドイベント(※1)はGeneXus15 Upgrade12から新たに追加された機能です。

機能としてはビルド処理の前後で任意の処理(OSコマンドや外部プログラム)を実行できるものです。
タイミングとしては
・ビルド前イベント
・ビルド後イベント
の2つがあり、それぞれ独自の前処理・後処理を追加する事ができます。


例えば、ビルド前イベントではターゲット環境のクリーンアップを実行し、ビルド後イベントでは生成されたDB再編成スクリプトファイルをgitリポジトリにPushする。など、今まで「あったらいいな」と思っていた機能です。


※1.日本語版GeneXusでは「イベントをビルド」と表記されていますが、機能を考えると英語表記の「Build Events」をそのままカタカナにした「ビルドイベント」でいいと思います。
Build Events - see at the GeneXus community wiki.




2019年6月14日金曜日

Call for Speakers GX29

今年は9月23日から25日で開催されるGeneXusインターナショナルミーティングですが、Call for Speakers : イベントでプレゼンをする人の募集が始まりました。

私が初めてウルグアイでプレゼンをしたのは2011年です。当時は日本人のプレゼンは珍しかったのですが、最近は毎年2〜3人の日本人がプレゼンをしています。

今年イベントに参加する人は是非検討してみて下さい。

もろちん私も申し込みます。ここ2年サボってしまったので自分を追い込むためにもここで宣言します。(笑)







2019年6月12日水曜日

ビルド② - 開発者メニューと開始オブジェクト

2.開発者メニューと開始オブジェクト


前の記事で開発者メニューに登録されるオブジェクトの条件を書きました。

開発者メニューとはその名の通り開発者用のメニューなので実運用でのメニューではありません。しかし、開発時にも実行時のメニューやトップページを基点としてビルド/実行したい場合があります。

こういった時には開始オブジェクトを設定します。

当該オブジェクトを右クリック→「開始オブジェクトとして設定」を指定する

又は


2019年6月10日月曜日

ビルド① - ビルドの種類

1.ビルドの種類


GeneXusでのビルドはメニューを表示するとわかりますが、いくつものビルドメニューがあり、初めて使う人はその使い分けが判りづらいです。



ビルドの種類として大きく分けて以下になります。


2019年6月5日水曜日

環境(Environment)④ - 環境ごとにビルドする理由

4.環境ごとにビルドする理由


プロパティ設定以外にもデプロイ対象ごとに環境を分けたほうが良い理由があります。

DB再編成処理は前回DB再編成後の状態(データモデル)から今回のDB再編成時の状態を比較し、差分をDB変更スクリプト(DDL)として生成します。

実行環境が違うという事はビルドするタイミングも違う為、一つの環境(Environment)では変更差分を抽出できなくなってしまいます。


2019年6月3日月曜日

環境(Environment)③ - 環境の切り替え

3.環境の切り替え


ナレッジベースに複数の環境を定義した場合、ビルドごとに対象となる環境を指定する必要があります。方法は設定のツリービュー内でアクティブにしたい環境を右クリック→「ターゲット環境として設定」を選択します。



2019年5月29日水曜日

環境(Environment)② - 複数環境の設定

2.複数環境の設定

ナレッジベース・バージョン・環境の関係は前回の記事で理解頂けたと思います。

GeneXusではマルチプラットフォーム対応というのが一つの大きな売りになっていますが、これは以下の様に開発対象となるGeneXusオブジェクトとジェネレートする環境が完全に分かれているため実現可能になっています。


2019年5月27日月曜日

環境(Environment)① - ナレッジベース/バージョン/環境プロパティ

1.ナレッジベース/バージョン/環境プロパティ

GeneXus IDEには「設定」タブがあり、ツリービューから様々なプロパティの設定が可能ですが、皆さんは把握されていますか?

「ジェネレーターやデータソースはよく設定するけれど、それ以外はちょっと・・」という人もいるのではないでしょうか?

ツリービューの上位から
・ナレッジベース
・バージョン
・環境(Environment)
となっています。


2019年5月23日木曜日

バージョン管理③ - バージョンの種類

3.バージョンの種類


バージョン管理機能で扱うバージョンの種類とその目的は以下の様になります。

バージョン名
変更
可否
目的
トランク
バージョン
変更可
メインとなるバージョン(トランク:Trunk=)
最新の開発バージョン
フリーズ
バージョン
変更不可
開発途中でフリーズ(固めた)バージョン
その時の状態を保持しておきたい時に使用する
開発のマイルストーンやリリース時など
ブランチ
バージョン
変更可
フリーズしたバージョンから枝分かれ(ブランチ)されたバージョン
フリーズしたバージョンをビルドする時、運用時に不具合が発見された場合の修正用バージョン



2019年5月21日火曜日

ウルグアイ産牛肉の輸入が解禁になりました

このブログを読んで頂いている方にはお馴染みですが、ウルグアイと言えば切っても切れないのが牛肉です。

5月20日付けのニュースで待ちに待っていた(笑) 情報が発表されました。

株式会社ブロンコビリー(本社:愛知県名古屋市 代表取締役社長:竹市 克弘)は、5月27日(月)より、全136店舗でウルグアイ産『炭焼き 超厚切り 熟成サーロインステーキ』の提供を開始いたします。

今回の新メニューでは、今年輸入解禁となった南米・ウルグアイ産の牧草牛ステーキをご用意いたしました。ウルグアイは一人当たりの牛肉消費量が世界最高水準の国で、壮大な牧草地を有しており、牧草のみを食べて育った牛は「牧草牛」と称されます。赤身の美味しさを存分に堪能できるヘルシーな牛肉として注目を集めています。
このウルグアイ産『炭焼き 超厚切り 熟成サーロインステーキ』は、赤身肉をやわらかく美味しくするために約60日間じっくりと熟成させ、さらに美味しくお召し上がりいただける「超厚切り」でご用意いたします。また、ブロンコビリーのこだわりである「炭焼き」により、超厚切り肉を外はカリッと、中には肉汁をたっぷりと閉じ込めジューシーに仕上げます。

2019年5月20日月曜日

バージョン管理② - バージョン

2.バージョン

続いてバージョン機能です。

「表示」メニュー→「バージョン」でバージョン管理ツールを表示できます。

リビジョュン管理やバージョン管理機能はEvolusion1から追加されている機能ですが、皆さんは活用されていますでしょか?

ツールのUI自体は非常にシンプルなものですが、開発ライフサイクルのおける構成管理機能としては非常に重要なものです。





2019年5月14日火曜日

バージョン管理① - リビジョン(履歴)

1.リビジョン(履歴)

バージョン管理の最初はリビジョン(履歴)管理機能です。GeneXusでは全てのオブジェクトの変更内容を履歴として保持・管理しています。

各オブジェクトのタブ部分で右クリックして表示されるメニューの「履歴(H)」を選択すると、当該オブジェクトの履歴一覧が表示されます。











2019年5月13日月曜日

GeneXusでDevOps

久しぶりに技術的な記事を連載したいと思います。テーマは「GeneXusでDevOps」。DevOps自体の説明は省略しますが、もともとGeneXusはアジャイルの思想を強く意識しており、世の中がアジャイル開発→継続的インテグレーション(CI)・継続的デリバリ(CD)→DevOpsと方法論やツールが広がる中、GeneXus自体も機能の追加が行われてきました。





当ブログでも今までビルドやデプロイに関する記事は書いてきましたが、GeneXus16が正式リリースされましたので、最新情報を元に再度構成し直してお送りしたいと思います。

1.バージョン管理
2.ビルド
3.デプロイ
4.CIツールとの連携
5.テスト


乞うご期待下さい。



2019年5月10日金曜日

GeneXusインターナショナルミーティング GX29 が開催されます


今年もGeneXusインターナショナルミーティング GX29 が開催されます。今年は例年より少し早く9月23日〜25日の3日間です。
既に参加受付が始まっています。 是非ご参加下さい。




2019年5月7日火曜日

GeneXus16日本版がリリースされました

ご無沙汰してます。横井です。
すっかりブログの更新が滞っていました。令和になって始めての投稿です。

先日、GeneXusパートナーミーティングに出席したのですが、会う人会う人「新しいブログ記事はまだ?」と催促されてしまいましたので、ぼちぼち更新していきます。

さて、4月1日にGeneXus16 U2日本語版がジェネクサス・ジャパン社より正式リリースされました。


本国から遅れる事6ヶ月でのリリースですが、アップグレードとしてはU2、英語版は4月12日にU3がリリースされましたので、アップグレードレベルではわずか1バージョンの差という非常にスムーズなリリースとなりました。