次期ソフト開発をクライアント実行版にするか、WindowsRIAにするか検討中です。
-
> 今では楽観的ロックは当たり前になっていますが。
誤解を招くといけませんので、補足です。
RIAでは遅延トランザクション(楽観的ロック)は必須です。
-
> RIAでは遅延トランザクション(楽観的ロック)は必須です。
当然ながら、WebClientでも遅延トランザクション(楽観的ロック)は必須です。
つまり、普通、Webアプリでは10万人とか100万人とかのユーザ数を想定しているんですよね。Webアプリはこうあるべきという発想のもと、Magicの技術も進化しているのだと思います。
-
ちなみに、WebClientの遅延トランザクションですが、クラサバの入れ子構造の遅延トランザクション(ネスト遅延)まで正常に動作しますので、これは驚愕を超えて、神の手のテクノロジーですね。これを確認したときは、感動で顎が外れるかと思いました(笑
-
Magic xpa WebClient Server は5ユーザー版、10ユーザー版・・・と同時使用数ライセンス数なのでしょうね。
例えば大学の生徒に履修を申請させるシステムとなると、500ユーザー版といった数が必要になり
定価で税別720万円もかかり、現実的には選択肢から外れてしまうのかなと思います。
もちろんWebClientが積極的に選ばれるシーンも今後多数出てくるでしょうね。
-
小規模システムばかりやってきたので、悲観的ロックの使用で済んでいたのでしょうけど、今後は遅延トランザクションも検討していきたいと思います。
今でも実は更新と印刷プレビューを同タスクで実行している処理などで、レコードロック解除待ちが生じてしまう作りになっている残念な処理を作ってしまった事もあります。
遅延トランザクションを取り入れるにしても、例えば売上伝票入力で、入力済みの伝票を変更したい場合、いったん照会状態で開かせて、変更する!の指示をしてもらった後に、Lock()するなどの作りを取り入れた方がいいのかなと思っています。
以前他社で拝見したCOBOLのWebのシステムがそんな感じで、既存データの変更の際は、照会させて、俺が編集する!の指示をして、編集に入らせていました。 -
私じゃないですけど、入力時ロックのシステムで、マスタメンテか何かでロックかけたまま放置して、夜間のバッチ処理がレコードロック解除待ちで先に進んでいなかったというのを他の人であったようです。
私も入力時ロックを多用しているので、他人事ではありません。
-
> これを確認したときは、感動で顎が外れるかと思いました(笑
なぜなら、シングルページアプリケーションなのにネストの遅延トランザクション情報までがサーバに伝わっているからです。
-
> 例えば大学の生徒に履修を申請させるシステムとなると、500ユーザー版といった数が必要になり
その場合、同じレコードを操作するシーンって、例えばどんな時が考えられますか?そのようなケースで、Magicを使う必要性がありますか?
-
くどく繰り返すようで申し訳ないのですが、SQLでは差分更新と項目レベルの排他が可能となっていますから、Pervasiveの頃のように頻繁にレコードレベルのロックを掛ける必要がないのです。
RIAのトレーニングを受講されるとよく理解できますよ。RIAトレーニングの教材は完成度が高いと思います。
-
タンダさんありがとうございます。同時更新を行い誤って中学校6年生といった矛盾データを作らぬよう気をつければいいのでしょうね。
-
アメリカは、小学校9年生とかもありますから、面白いですね。
-
> RIAのトレーニングを受講されるとよく理解できますよ。
このトレーニングは、RIAの解説だけでなく、排他とは何かという普遍のテーマにもいどんでいますので、遅延トランザクションと項目レベルのロックがよく理解できないという人にはお勧めです。マジック社主催のセミナーです。
-
こんにちはPuです
以前私も気になっていてVPS for WindowsServer等の低価格VPSにRDS SALを購入して2user以上接続可能か
尋ねた事がありましたが。最初大丈夫ですと言う回答があり。 本当に可能なんですか、間違ってら責任取って下さいよ
ときつく質問したら、別の回答者がRDS SALを購入しても同時2セッションまでそか接続できません
と回答を頂き。 結局VPS のインスタンスサービスを購入し自前でWindowsServerを入れRDSで運用しています。
TSMagicならVPS for WindowsServer等のサービスで可能になるんではと期待しております。
でわ~でわ~
-
> 結局VPS のインスタンスサービスを購入し自前でWindowsServerを入れRDSで運用しています。
えっ、そんなサービスがあったんですね!知りませんでした。情報をありがとうございますm(_ _)m
-
こんにちはPuです
遅延トランですが、凄い機能です。
未だにWebはフロントはブートストラップかJSで作成し
サーバーサイドはMagicのバッチで作成しておりますので、楽観的ロックは自前でロジック組んでいます。
RIAの遅延トランが出てきたときはビックリしました。
最近ではサーバーサイドもpython等で記述しているので
楽観的ロックのロジックを記述しなくても良いMagicって凄すぎます。
でわ~でわ~
-
そういえばさくらVPS Windowsのadministratorのパスワードを忘れてしまったので初期化からやり直しです。
さくらVPS Windowsは、SALを追加しても同時2セッションまでなのはPuさんの情報が正解という事で情報ありがとうございました。
さくらVPS WindowsはRIAでは実験しました。
Puさんは、さくらVPSのWindwosではない分に、自分でWindows Serverを入れて、ドメインにして、RDS入れて、リモートAPPサーバーにしているという事なのでしょうね。
-
こんにちはPuです
インスタンス(cpuとmemoryとdiskサイズ)だけの昔からある一番ノーマルなサービスです
OSはtemplateから選択してcentやubuntsやWindowsServerなどをinstallする昔ながらのサービスです。
その割には月額利用料が高いんですが。
でわ~でわ~
-
> 遅延トランですが、凄い機能です。
はい、すごいと思います。トランザクションもロックも自動でやってくれますので、工数大幅削減ですね!
-
> その割には月額利用料が高いんですが。
ぶっ!ここでこけてしまいました(笑
-
こんにちはPuです
ハードを買わないで借りてる感じですね。
ですのでinstallも全て自分でしました。グローバルip与えられてるだけだからセキュリティーがずぼずぼなので
port閉じて、tcpレベルではんくipレベルで特定のipからしか接続できないようにしてます。
本当はtcpレベルでのファイアーウォール設定が望ましいですが。〇国のアタッカーは技術レベルが高いので
今のところ(web clientに期待しつつ)
10user未満はVPS Windows + TSMagic
30user未満はVPS Windows + TSMagic + RIAのハイブリット(印刷必要なuserはTSMagic)
TSPlusはスマホ用クライアントがあるのでTSMagicもスマホ可能だと思いますが。(不確実ですが)
50user以上のwebアクセスがある場合はmagic enterprizeでxmlかjson吐き出してフロントはブートストラップかな
でわ~でわ~
-
> 50user以上のwebアクセスがある場合はmagic enterprizeでxmlかjson吐き出してフロントはブートストラップかな1000ユーザー、2000ユーザーのWeb同時アクセスがあればPuさんお勧めはその組合せなのでしょうね。Bootstrapの本でも見てみます。
-
> 同時更新を行い誤って中学校6年生といった矛盾データを作らぬよう気をつければいいのでしょうね。
もう少し具体的にいうと、その場合は「中学校」と「6年生」というの2つの項目を「選択項目」もしくは「更新項目」としてチェーン化して繋ぎ、項目レベルで排他を行います。そうすれば、nkmtさんのご心配はなくなります。
一言では解説できませんが、RIAのトレーニングでは時間を割いて解説していますよ。
-
私が主に開発しているソフトは20ユーザー未満がほとんど。多くても80いくか。
それについてはクライアント実行版かRIAで考え中。
それとは全く別件で、1000ユーザー、2000ユーザーのWebアクセスの案件があるとかないとか。
これはWebクライアントはコスト面で無しなのかな、
PHPかMagicエンタープライズサーバーと何かを絡めた物になるのか。
-
> magic enterprizeでxmlかjson吐き出してフロントはブートストラップかな
Puさん、すごいですね!xmlのマージにとどまらず、jsonのマージまでやっているんですね!
-
> もう少し具体的にいうと、その場合は「中学校」と「6年生」というの2つの項目を「選択項目」
> もしくは「更新項目」としてチェーン化して繋ぎ、項目レベルで排他を行います。
> そうすれば、nkmtさんのご心配はなくなります。
Tandaさんありがとうございます。
Puさん、Bootstrapの中古本を2冊取り寄せてみることにしました。
-
こんにちはPuです
ロックに関しては、そのプログラム(機能)を良く理解して
悲観的ロックにしないと整合性(つじつま)が合わない場合は悲観的ロックを使用しないとダメです。
楽観的ロックも項目レベルで整合性が合うのか行レベルでないと整合性が合わないのか理解して使い分ける必要があります。
項目レベルの楽観的ロックをコーディングで実装するのには大変労力がかかります(変更も含めて)がmagicはプロパティ一つで切り替えられる
まさにマジックです。(出力されるwhere句が凄い!!)
言語系コーディングの場合生産性の関係で行レベルでないときついです(^^;
でわ~でわ~
-
私も、排他対象とする項目をプロパティ1つで選択したり解除したり、あるいは全部にしたりすることができることを知って、愕然としました。Magicはすごいの一言です!
-
こんにちはPuです
現状magic serverでのマージはxmlしか実績がありません
jsonはpythonかましてます。 Magic4.xxでjsonが標準で使用できる事を期待してます。
でもこのフォーラムでmagicからjsonを扱ってる方がいらっしゃいました。私はmagicから直接使用できる能力ないです。
でわ~でわ~
-
昔、ある日突然、世の中からレコード針がなくなって、CDに移り変わった次期があったことを思い出します。レコード屋さんに行ってもレコード針を売っていなくて、愕然としました。
この業界も、あっというまにxmlからjsonに移行ですね。
-
こんにちはPuです
かつてsoap+xmlと言う言葉がいやっというほど目につきましたが
soapも今はどこに...まさに石鹸の泡のように...
でわ~でわ~
サインインしてコメントを残してください。
コメント
102件のコメント