間が空いたが、ここからは、次の記事までの時間がかかる領域に入る。これまでのところで、Webアプリケーションやスマホアプリケーションなど、クライアントとサーバーに分離しつつ、全体で統合された動きを期待する場合の、UIを司るクライアントサイドでの設計内容記述を、一般的なクラス図から拡張子、バインディングやイベント監視といった特有の機能や、あるいは役割よりも手順を記述したり、UIの要素を分離するなどの詳細化をおこなうことで、1つのダイアグラムにより多くの情報を含めることを意図した記述方法を検討してきた。引き続いてこれまでに記述してきたようなダイアグラム上で、フレームワークの機能と実装すべき機能の分離を明確に記述することを目標に記述方法を検討する。ある特定の機能について、当然ながら、まずは次のような分類ができる。全機能をフレームワークに頼るBについては、当然ながら、割合や実装手段としてファンクションコールなのか、コールバックなのかなど様々なパターンが考えられる。Cについては、例えば、設定や指定されたメソッドの組み込みにより、本来の処理の流れの中には明示的に記述されない物も含めることにする。したがって、「何も書かない」わけではなく、何かを書くものの、その機能が必要とされる段階では何も記述しない、あるいはそれに等しいような機能を指すことにする。これらABCを次のような記法で記述することにする。フレームワーク機能については、ステレオタイプの<<framework>>を付与することにする。Bについては、コールバックの場合はフレームワーク機能への矢印は逆になる。Proc1になり、Cについてはfeature1とProc1での結果が同一であることが期待される。したルールのもと、フレームワークの機能を1つのモジュール的に示して、設計の上でどのようにフレームワークの機能を利用するのかを明示的に示す方針のもと、いくつかサンプルとしての設計を進めてみることにする。1.15がリリースされ、多数のドキュメントが公開されました。確定情報や、将来構想も含めてここ3、4年の動向を検討できる材料が揃ってきています。15が最新の現在において、FileMakerデータベースをそのままブラウザから利用できるWebDirectがFileMaker社一押しのWebソリューションであることは言うまでもありません。Pro/Advancedで開発したデータベースをWebでそのまま利用できます。Communityを検索すれば、何かしら解決できる状態になっています。いわゆる「Web特有の開発作業」をしなくてもWeb化できる点では非常にいいソリューションですが、一方、接続ライセンスが必要になることもあって、不特定多数を対象とするWebサイトの場合、ライセンスの範囲内に留めるための工夫が必要になります。技術的に算出は可能なものの、予測が当たるか当たらないかと言う要素は排除できず、一定の確率でアクセスできない場合が出てくることになります。自社向けの業務系システムでは問題ないものの、Webの世界は色々なサイトの利用のされ方があり、そうした要求を満たすにはWebDirectにだけ頼れないという実情があります。13より正式リリースされいくつかのバージョンを経て完成度は上がってきており、近々は細かなアップデートや「より正確な動作」を目指す段階に入っていると言えるでしょう。カスタムWeb、つまりXML共有やPHP共有を利用したWebシステム構築は、古い仕組みのままでした。Ver.5.5時代のものから本質的には変わっていません。一時期のインスタントWebはデータベースの再現性の低さもあり、プログラミング言語による開発が必要なカスタムWebと用途を分かつような感じでした。インスタントWebでできないことが多かったので、カスタムWebに頼らないといけない状況でした。FM13よりWebDirectが登場しました。カスタムWebは無くなってしまうのではないかという予測はその前後からあったものの、FM15現在、若干の機能アップをしながら本質的には同様な仕組みがずっと搭載されています。カスタムWebはライセンスに縛られないで利用できる場合が一般的なので(ボリュームライセンスは同一組織に縛られる)、不特定多数が参照するサイトにおいても、ライセンス不足で参照できないということを配慮しなくてもよく、マシンパワー的な問題を考慮するだけでWebサイトを構築できました。CloudはカスタムWebを非搭載となっています。Cloudでは、Cloudの構成についてすでに公開されており、こちらの内容を見る限りはカスタムWebはCloudには搭載されません。API」というRESTベースの機能がCloudに搭載される予定のようです。今回の最初のリリースにはこのAPIは含まれていないことから、順次あるいは次のメジャーアップデートではその方向で開発をしているということになります。興味深いのは、カスタムWebはいつまで使えるのかということです。18か19くらいまでカスタムWebが使えるというくらいになるのではないでしょうか。両方が並立する期間が数年はあると予測します。Features(使用できなくなった機能)として、ある機能がなくなる場合にはいくつかのバージョンをまたいでアナウンスをしていることがあります。カスタムWebがなくなるというアナウンスはないので、次のFM16には搭載されると予測できます。何れにしても、3年を超える範囲を考えれば、そろそろカスタムWebの終焉を視野に入れる時がとうとうやってきたのかもしれません。APIが次のターゲットではありますが、システム単位ではもっとドラスティックにFileMakerを使わないという選択肢を考えることもあり得るでしょう。DirectoryからOAuthベースへの移行を行うとしています。Serverでもその方針で進めるかどうかは微妙かと思います。これらディレクトリサービスによる認証は、WindowsやMacではOSに搭載されているから組み込まれた機能であって、Linuxでも同様な実装はできたはずです。Cloudは独自に用意したインスタンスでありそこを見直して、いっそのことWebやその他、様々な状況での運用が可能なOAuthにするということでしょう。これは、うまくすると、GOで一度認証すると、同じサーバーで運用する幾つかのデータベースへのアクセス時には、本来の意味のシングルサインオンが機能して、ユーザー名やパスワードの入力が不要になるかもしれません。Macの中で実現していたことが、GO/Windows/Mac/DirectWebとシームレスに認証結果を共有できるようになるのだとしたら、素晴らしいでしょう。したがって、OAuthをFileMaker社の各アプリケーションが背後で実装していて、ユーザーは気づかないうちにその恩恵を得ている...というシナリオが理想です。実際にどうなるのかは運用してみないとわかりません。API時代のWebアプリケーションは、OAuth対応を考える必要が出てくると思われます。最後にINTER-Mediatorです。APIへの対応は必定であることは言うまでもありません。現在はスペックも、テスト稼働もできないのでなんとも言えませんが、開発ができるようになった段階からなるべく早く開発を進める予定です。Cloud残念ながら稼働せず昨夜というか未明にインスタンスを作りました。ヘルプによると、メールがきて、そこにセットアップするためのページを表示するリンクがあるのですが、昼過ぎてもメールは来ません。やって、US/Canada以外には使わせないようにしているのか!というところです。Amazonの顧客情報のリージョンによって、メールの発行をコントロールしているのでしょう。CommunityではすでにCloudの話題が流れているので、USの利用者は使用を開始しています。Supportのリンクを紹介しておきます。セットアップの画面のヘルプを見ると、Amazonのアカウント番号、そして自分で決めるホスト名などを入力します。自分自身のインスタンスへのアクセスURLは「ホスト名」を含むURLとして決められるみたいです。Amazonのアカウントを知らせれば、背後でどのインスタンスが未セットアップなのかは分かります。Cloud」というシステムがAWS内で動いているようです。Cloud利用可能なユーザーに対して、そのユーザーのインスタンスとは別のセットアップシステムで入力すると、ターゲットとなるインスタンスに対して変更を行うような仕組みになっているのだと思われます。したがって、セットアップのURLをメールで知らせてもらわないと絶対にわからないし、知らせてもらったとしてもAmazonの顧客情報を付き合わせれば、未提供のリージョンであれば何もしないというどうさになるのかもしれません。そんなわけで、残念ながら、日本のユーザーはインスタンスのセットアップまでしかできないということになります。Cloudまだ使えずEC2にインスタンスを作ったら、メールが来て、最初のセットアップができるようにヘルプには書かれています。1時間ほど待った今、まだ来ません。いうことで、もう少し追加情報や検討ポイントを書いておきます。ちなみに、英語のサイトでは、Cloudのマニュアルページがすでに用意されていました。インスタンスを作った時に自動的に作られるセキュリティグループにファイアウォールの設定がありますが、「インバウンド」を見ればわかりますけど、ちゃんとFileMakerのデータベースのポートである5003が開いています。443はいいとして、SSHは開いていません。編集ボタンを押して、SSHを追加すれば、通常の手順でSSHに接続できます。接続方法はコンソールのインスタンスで「接続」ボタンをクリックして確認できますが、デフォルトのユーザー名は「centos」であってrootではありませんので注意しましょう。当然ながら、インスタンスを作った時にキーファイルが作られてダウンロードしていると思いますが、こちらもアクセス権をmacOSだと600にするなど、sshの作法に従って作業をします。SSHで接続してみて見ると、Apacheもnginxも上がっていません。TCPで1つもポートが開かれていない。この状態ではデータベースはもちろん、外部から接続のしようがないように思います。それにヘルプに書かれた「メール」がない状況を考えて、がっつり推測ではありますが、この状態でなんらかのアクティベーションをFileMaker側で行うのではないかと考えました。Storeでアクティベーションするのだから、なんらかのアクティベーションがあるのは確実ではないかと思った次第です。すれば、確かに日本の顧客であればアクティベーションをしないという対処も可能かもしれません。