<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>あいそるニュース</title>
    <link>http://isol.pro-s.co.jp/news/</link>
    <language>ja</language>
    <ttl>40</ttl>
    <description>株式会社プロフェッサ 生保チームニュース</description>
    
    
        <item>
          <title>クローズアップ　生命保険、シンプルに　滞納による契約解除に注意</title>
          <description>「生命保険に入りたいが、仕組みが複雑でわからない」。こうした声を受け、生命保険をシンプルにする動きが広がっている。日本生命が４月に発売した商品はその一つ。従来はセット契約が条件だった保障を、それぞれ単独で買えるばら売りに変更。保険金をもらう条件も簡素化した。&lt;br&gt;
　大手生保では終身保険などの「主契約」に医療や介護などの保障を「特約」としてセットにした商品が一般的。セットでないと買えない保障もあり、複雑だった。そこで日生は必要な保障を単品で自由に買えるようにした。&lt;br&gt;
&lt;br&gt;
　似た商品は朝日生命も販売している。ネット生保や外資でもばら売りは一般的だ。&lt;br&gt;
　保険金を受け取る保険契約の仕組みもシンプルになりつつある。一例は最初の保険料支払い前でも保険金を受け取れる商品だ。&lt;br&gt;
　保険金は「契約申し込み」「健康状態の告知」「初回の保険料支払い」をすべて終えた後でないと受け取れないのが普通。最初の保険料を払う前に被保険者が亡くなると、保険金がもらえないため、わかりにくいとの声も出ていた。ソニー生命や富士生命、東京海上日動あんしん生命、日生などは保険料払い込み前は保険金から未払い保険料を差し引いた金額を支払う仕組みを導入した。&lt;br&gt;
&lt;br&gt;
　ただ、シンプルな半面、注意点もある。日生の新商品は、保険料支払いが滞ると従来より簡単に保険を失う恐れがある。これまでは保険料を滞納しても、解約返戻金から自動的に貸し付ける形で保険料が払い込まれる仕組みがあった。失効しても数年以内に未払い分を払い健康状態の診査をやり直せば、同じ保険を復活することも可能だった。&lt;br&gt;
　だが、新商品ではこれらの仕組みを廃止。保険料が滞った場合、郵便や営業員の訪問などで催促。２カ月以内に払わないと保険契約は解除となり、復活もできなくなった。&lt;br&gt;
　シンプルになったとはいえ、保険は安い買い物ではない。営業員らに納得できるまで質問し、本当に必要な保障を選ぶべきだろう。&lt;br&gt;
&lt;br&gt;
出典：日本経済新聞　平成24年4月18日朝刊
          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Wed, 18 Apr 2012 18:09:21 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2012/04/18/-/</guid>
          <link>http://isol.pro-s.co.jp//news/2012/04/18/-/</link>
        </item>
    
        <item>
          <title>生損保が保育所直営（金融庁、13年度にも解禁検討 ）</title>
          <description>金融庁は保険会社が子会社を通じて直接、保育所を運営できるようにする方向で検討に入った。保育所に入りたくても入れない待機児童問題が深刻になる一方、保険会社の間で保有する不動産を使った保育サービスへの参入意欲が高まっているためだ。金融庁は11日に開く金融審議会（首相の諮問機関）で議論を始め、早ければ2013年度にも保険業法を改正する。&lt;br&gt; 
 &lt;br&gt;
　金融審は09年に保険の基本問題に関する中間報告をとりまとめた。その後、保険金の不払いに伴う経営問題が一服。少子高齢化が一段と進む状況を踏まえ、保険会社が提供する商品やサービスのあり方について本格的に再検討することにした。&lt;br&gt;
&lt;br&gt;
　業務範囲の見直しはその一環。保険業法は保険会社が子会社で参入できる業務を限っており、保育所運営は対象に入っていない。都心の駅前などに優良な不動産物件を多く抱える保険会社が保育サービスに直接参入できれば、保育所に入れない待機児童の解消につながる可能性がある。子供向けの医療保険や傷害保険など本業の保険事業との相乗効果も見込める。&lt;br&gt;
&lt;br&gt;
　一方、保険会社が保険金の代わりに医療や介護などのサービスを提供する「現物給付」の是非についても検討する。現物給付は07～08年にも議論したが、反対意見が多く、解禁を見送っていた。&lt;br&gt;
&lt;br&gt;
　厚生労働省によると、待機児童の数は昨年４月時点で約２万5000人。需要に対し、保育所の供給が追いつかず、高止まりが続いている。&lt;br&gt;
　保険会社では第一生命保険が自社の不動産を活用し、保育サービス大手のＪＰホールディングスとポピンズに業務委託する形で保育所運営に乗り出している。&lt;br&gt;
&lt;br&gt;
　自社で直接運営できるようになれば「収益事業としてスピーディーな拠点展開が可能になる」（大手生保）、「保険商品の潜在的な顧客と新たな接点をつくれる」（大手損保）と業法改正に期待する向きが多い。&lt;br&gt;
&lt;br&gt;
　ただ現在は、企業が保育事業から得た収益を配当やほかの事業への投資に使うと、市町村からの補助金が減ってしまう。このため政府は保育サービスを拡充するための子育て支援新制度の関連法案を３月末に国会に提出した。&lt;br&gt;
　法案が成立すれば、これまで事業主体が社会福祉法人か株式会社かなどで差があった補助金は一本化される。施設は市町村の指定を受ければ、運営費が給付される仕組みになる。金融審ではこうした新制度もにらんで、保険業法改正の議論を急ぐ。&lt;br&gt;
&lt;br&gt;
　保険会社の保育所運営について、ＪＰホールディングスの山口洋社長は「保育事業の採算を確保するには一定の規模が必要」と指摘。法改正で保険会社が子会社を通じて保育所を運営できるようになっても、事業として成立させるのは難しい側面もあるとみる。&lt;br&gt;
&lt;br&gt;
出典：日本経済新聞　平成24年4月11日朝刊
          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Wed, 11 Apr 2012 14:13:04 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2012/04/11/13-/</guid>
          <link>http://isol.pro-s.co.jp//news/2012/04/11/13-/</link>
        </item>
    
        <item>
          <title>日本生命：特約を廃止</title>
          <description>日本生命保険は３月２３日、商品戦略を大きく転換すると発表した。主契約に追加する「特約」を４月２日から廃止し、顧客が必要とする保険のみを単品で販売する。&lt;br&gt;
顧客の保険料負担を抑え、外資系などに対抗して幅広い層の取り込みを狙う。高額で手厚い保障を勧めがちだった戦略を大きく転換するもので、他の大手生保の戦略にも影響を与えそうだ。&lt;br&gt;
&lt;br&gt;
　新戦略の最大の特徴は保険商品の単品化だ。従来、個人向けでは特約でしか契約できなかった３大疾病（がん、心筋梗塞（こうそく）、脳卒中）保障保険や介護保険を含む１１種類の主要な保険をすべて主契約商品として販売する。商品の簡素化で顧客の保険料負担を抑え、保険金の支払い漏れリスクを抑える効果も狙う。従来の契約に影響はしない。&lt;br&gt;
&lt;br&gt;
　大手生保は、商品に複数の特約を付けることで保険料が高くなる傾向が強い。晩婚化による独身世帯の増加などで妻や子供のために掛ける死亡保険の需要が減少し、自らの将来に備える医療・がん保険の人気が高まるなど、構造変化が進んでいる。これらの保険を主力とするアフラックが０４年に保有契約件数で日生を抜いたほか、全国の代理店網を武器とする損保系生保、格安保険料のネット生保が存在感を高めるなど大手生保は後発組にシェア（市場占有率）を奪われていた。&lt;br&gt;
&lt;br&gt;
出典：毎日新聞　2012年3月24日　東京朝刊&lt;br&gt;
          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Mon, 26 Mar 2012 10:18:18 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2012/03/26/tokuyaku/</guid>
          <link>http://isol.pro-s.co.jp//news/2012/03/26/tokuyaku/</link>
        </item>
    
        <item>
          <title>損害保険ジャパンと日本興亜損害保険が合併</title>
          <description>ＮＫＳＪホールディングスは３月２３日、傘下の損害保険ジャパンと日本興亜損害保険が２０１４年度上半期をめどに合併することで基本合意したと発表した。&lt;br&gt;
損保業界を取り巻く環境が厳しくなる中、合併によって事業基盤を強化する。&lt;br&gt;
&lt;br&gt;
存続会社は損保ジャパン。&lt;br&gt;
合併会社の社名は損害保険ジャパン日本興亜で、会長に損保ジャパンの桜田謙悟社長が、社長に日本興亜の二宮雅也社長が就く。&lt;br&gt;
&lt;br&gt;
出典：ロイター&lt;br&gt;&lt;br&gt;
          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Mon, 26 Mar 2012 10:13:46 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2012/03/26/japan/</guid>
          <link>http://isol.pro-s.co.jp//news/2012/03/26/japan/</link>
        </item>
    
        <item>
          <title>2012年の節分</title>
          <description>&lt;img src=&quot;http://www.pro-s.co.jp/recruit/2012.02.03setsubun1.jpg&quot; width=&quot;300&quot; height=&quot;199&quot; alt=&quot;節分&quot; class=&quot;img-right&quot;&gt;
毎年恒例の節分豆まきを行いました。&lt;br /&gt;
&lt;img src=&quot;http://www.pro-s.co.jp/recruit/2012.02.03setsubun3.jpg&quot; width=&quot;300&quot; height=&quot;199&quot; alt=&quot;節分&quot; class=&quot;img-right&quot;&gt;
節分はみなさん御存じのように立春の前日を言いますね。&lt;br /&gt;
&lt;img src=&quot;http://www.pro-s.co.jp/recruit/2012.02.03setsubun4.jpg&quot; width=&quot;300&quot; height=&quot;199&quot; alt=&quot;節分&quot; class=&quot;img-right&quot;&gt;
立春は春の始めです。&lt;br /&gt;
&lt;br /&gt;
北陸地方は大雪で雪下ろしが大変とニュースが報道しています。&lt;br /&gt;
がんばってください。&lt;br /&gt;
もうすぐ春が来ます。&lt;br /&gt;&lt;br /&gt;

          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Tue, 07 Feb 2012 11:19:33 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2012/02/07/2012/</guid>
          <link>http://isol.pro-s.co.jp//news/2012/02/07/2012/</link>
        </item>
    
        <item>
          <title>TeraStationファームウェアのアップデート</title>
          <description>&lt;p&gt;
弊社の本社には40人弱の社員が作業しておりますが、ファイルサーバはTeraStationを使用しております。
価格がリーズナブルな上、Active Directoryと連携できるので重宝していました。
&lt;/p&gt;

&lt;p&gt;
先日、2年間使用していた&lt;a href=&quot;http://buffalo.jp/products/catalog/item/t/ts-htgl_r5/&quot; target=&quot;_blank&quot;&gt;TS-H1.6TGL/R5&lt;/a&gt;のHDDにエラーが検出された為、これを機会に新しく&lt;a href=&quot;http://buffalo.jp/products/catalog/storage/ts-xl_r5/&quot; target=&quot;_blank&quot;&gt;TS-X4.0TL/R5&lt;/a&gt;を購入しました。
&lt;/p&gt;
&lt;p&gt;
ファイルサーバのデータ量が既に500GB近くに達しており、新ファイルサーバへのデータ移行の時間が予測できなかったのでゴールデンウィークを利用してファイルの移行を行ったのですが、バックアップ機能を利用して5～6時間でデータの移行が出来ました。
&lt;/p&gt;
&lt;p&gt;
連休明けから新しいファイルサーバで運用していたのですが、ちょっとした不具合があって、原因を調べてみたらファームウェアのバグとのことで、本日は休日出社でファームウェアのアップデートを行いました。
&lt;/p&gt;
&lt;p&gt;
ファイルサーバのファームウェアのアップデートなんてのは、自宅のファイルサーバなら簡単なことですが、会社の最も重要な機器の一つであるファイルサーバのファームウェアですから、やはり非常に気を使います。アップデート後に起動しなくなったなんてことになったら、血の気が引くわけです。
&lt;br /&gt;
というわけで当然、事前に全てのデータをバックアップしてからファームウェアをアップデートしました。
&lt;br /&gt;
今回はTS-X4.0TL/R5のファームウェアをVer.1.0から&lt;a href=&quot;http://buffalo.jp/download/driver/hd/ts-xl_fw.html&quot; target=&quot;_blank&quot;&gt;Ver.1.04&lt;/a&gt;にアップデートしました。アップデートはＰＣから行うのですが、この瞬間に停電が起きないかと余計な心配をしてしまうものです。&lt;br /&gt;
幸いにして何事もなく無事に完了しました。
&lt;/p&gt;
&lt;img src=&quot;/images/news/terastation/teraweb.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;
アップデート後に気づいたのは、上記のWebの管理ツールが改善されていたことです。ファームウェアVer.1.0の共有フォルダのアクセス権限の設定は、ハッキリ言って最悪でした。Active Directoryと連携してユーザのアクセス権限を設定しようとする場合、ユーザが多いと設定画面が遅くて使い物になりませんでした。しかしこの辺りは大幅に改善されてました。
&lt;/p&gt;
&lt;p&gt;
しかし、逆に考えると購入直後の初期の状態では管理ツールの一部が使い物にならなかったり、明らかなバグが含まれているというのも考え物です。
&lt;br /&gt;
いかなる製品も出荷直後はバグが多いもので、時間と共に次第に枯れた利用しやすい製品になるものですが、それでも出荷時点では最高の製品であって欲しいです。
&lt;br /&gt;
私たちはソフトウェア開発者であり、お客様にシステムをリリースするときは常にその時点では最高の製品であり、バグは出尽くしたという気持ちで納品しています。（無論TeraStationの開発者の方もそんな気持ちでリリースしているとは思います。）
&lt;/p&gt;
&lt;p&gt;
その気持ちを今後も忘れずに、がんばっていこうなんてことを改めて感じました。
&lt;/p&gt;
&lt;img src=&quot;/images/news/terastation/terastation.jpg&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;
というわけで上記の通り弊社ではTeraStationが3台ありますが、写真手前のTS-X4.0TL/R5はメインファイルサーバとして、写真後ろの2台のTS-HTGL/R5はバックアップ機としてがんばっています。
&lt;/p&gt;
          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Sat, 09 May 2009 23:44:29 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2009/05/09/terastation/</guid>
          <link>http://isol.pro-s.co.jp//news/2009/05/09/terastation/</link>
        </item>
    
        <item>
          <title>開発サーバの導入作業</title>
          <description>&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/radservx/radservx1.jpg&quot; alt=&quot;radservX&quot; class=&quot;img-left&quot; /&gt;
弊社で新しいサーバが必要となりまして、久々に開発用のサーバを新規に購入しました。
&lt;/p&gt;
&lt;p&gt;
最近では弊社で開発サーバを購入するにはSupermicro社製を採用することが多かったのですが、
今回は思うところがあって&lt;a href=&quot;http://online.atworks.co.jp/&quot; target=&quot;_blank&quot;&gt;A.T.WORKS&lt;/a&gt;社製のを購入してみることにしました。
&lt;/p&gt;

&lt;p&gt;
今回購入したのは写真にある&lt;a href=&quot;http://online.atworks.co.jp/product/server/1u/radserv_x/index.html&quot; target=&quot;_blank&quot;&gt;radservX(ラッドサーブＸ)&lt;/a&gt;というサーバです。
私のようなガンダム世代では、どうしてもシャア専用に見えてしまいます。
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/radservx/radservx2.jpg&quot; alt=&quot;radservX&quot; class=&quot;img-right&quot; /&gt;
開封して弊社環境向けに少々設定をカスタマイズしてから、下記の写真の通り弊社サーバルームのラックに収めました。
&lt;/p&gt;

&lt;p&gt;
用途は開発サーバですが、最近流行りの仮想化技術であるXenの利用を前提として購入しました。
メモリは4GBと結構積みました。さすがシャア専用です。
&lt;/p&gt;

&lt;p&gt;
仮想化技術には以前から興味がありましたが、実際に社内の開発サーバに本格的に適用したのは今回が初めてです。
私はJava技術者でもありますので仮想化自体は珍しい事ではありませんが、それでもサーバの仮想化は素晴らしく感動しました。
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/radservx/radservx3.jpg&quot; alt=&quot;radservX&quot; class=&quot;img-left&quot; /&gt; 
弊社にて開発したシステムは、そのシステムのリリース後も保守やメンテナンスでその開発サーバなどの環境が引き続き必要となります。
よって開発するシステムが増えれば増えるほど、弊社のサーバルームには開発・保守用のサーバがどんどん増えておりました。
&lt;/p&gt;

&lt;p&gt;
また１つのシステムで必要なサーバは１台ではなく、開発中はチーム毎に開発サーバを用意して開発効率を上げたり、
またステージングサーバも必要だったりと、サーバ管理者としては今まで何台もサーバを構築するのが大変でした。
&lt;/p&gt;

&lt;p&gt;
これがサーバの仮想化により、開発環境の構築が敏速且つ楽になり消費電力も削減できるなどメリットは沢山あります。
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/radservx/vmmanager.jpg&quot; alt=&quot;radservX&quot; class=&quot;img-left&quot; /&gt; 
早速VNC経由で自分のPCから新サーバへログインし、Virtual Machine ManagerというXenの管理ツールを使用して、まずは試しにゲストＯＳとしてCentOSをインストールしてみました。
&lt;/p&gt;
&lt;p&gt;
見慣れたCentOSのインストーラが、デスクトップ上に現れるのは少々違和感がありましたが、スムーズにインストールが出来ました。
試しにインストールしてみたゲストＯＳのCentOS5.2は僅か15分でインストールが出来ました。あまりにも簡単で感動しました。
&lt;/p&gt;

          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Mon, 12 Jan 2009 17:21:15 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2009/01/12/vmdev-server/</guid>
          <link>http://isol.pro-s.co.jp//news/2009/01/12/vmdev-server/</link>
        </item>
    
        <item>
          <title>広尾まで散歩</title>
          <description>&lt;p&gt;
昼休みに広尾まで行ってみました。この散歩シリーズは基本的には駅を目的地としていますが、
徐々に会社から歩いていける距離の駅が少なくなってきました。でも、いける駅がなくなるまでもう少し頑張ってみます。
&lt;/p&gt;
&lt;p&gt;
さて、前回の&lt;a href=&quot;/news/2008/12/01/walking-at-shinagawa/&quot;&gt;品川&lt;/a&gt;から、
散歩の経路で絵や文字を描くことを宣言しましたが、これがなかなか難しいです。
&lt;/p&gt;
&lt;p&gt;
歌を作る順序として、「歌詞」を作ってから「曲」を作る場合と
「曲」を作ってからそれに合わせて「歌詞」を作る場合があると聞いたことがあります。
&lt;/p&gt;
&lt;p&gt;
というわけで、今回もまずは「歩いて」からそれに合わせて「絵・文字」を決めようと
無理やり決め込んで歩いてみたのですが、下記の通り極めて微妙な絵になってしまいました。
&lt;/p&gt;
&lt;p&gt;
とりあえず「万歳をしている人を横から見たところ」ということにしました。
丁度「く」の字になっているところがオシリということで。。。
&lt;/p&gt;
&lt;p&gt;
&lt;iframe width=&quot;580&quot; height=&quot;560&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;/news/2009/01/09/walking-at-hiroo/map/&quot;&gt;&lt;/iframe&gt;
&lt;/p&gt;

          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Fri, 09 Jan 2009 13:07:52 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2009/01/09/walking-at-hiroo/</guid>
          <link>http://isol.pro-s.co.jp//news/2009/01/09/walking-at-hiroo/</link>
        </item>
    
        <item>
          <title>休日に鍋パーティ</title>
          <description>&lt;p&gt;
今回は季節に見合った鍋パーティを社員の自宅を借りて開きました。
&lt;/p&gt;
&lt;p&gt;
人数が多いので、下記の通り水炊きとキムチ鍋の２種類を用意しました。
&lt;/p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/nabe/nabe1.jpg&quot; alt=&quot;&quot; /&gt;

&lt;p&gt;
下の写真は今回のパーティの目玉食材である&lt;a href=&quot;http://tokyox.net/&quot; target=&quot;_blank&quot;&gt;東京X&lt;/a&gt;という豚肉です。
購入したのはしゃぶしゃぶ用の肉でしたが、これは大好評でした。
&lt;/p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/nabe/nabe2.jpg&quot; alt=&quot;&quot; /&gt;

&lt;p&gt;
若者が多いので肉がてんこ盛りの鍋となってしまいましたが、値段は店で食べるよりも破格の安さで済みました。
&lt;/p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/nabe/nabe3.jpg&quot; alt=&quot;&quot; /&gt;

&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/nabe/nabe4.jpg&quot; alt=&quot;&quot; class=&quot;img-left&quot; /&gt;
お腹いっぱいになった後はみんなでトランプに興じました。
最近はトランプといえばオンライン上でのゲームばかりで物理的にトランプをする機会が少なくなってきましたので、久しぶりで新鮮でした。
&lt;/p&gt;

&lt;p&gt;
トランプに負けた人はお酒の買出しに行ったりして罰ゲームも楽しみました。
&lt;/p&gt;

&lt;p&gt;
がしかし、この頃になるといつもは冷静な男性が酒に酔って故障し始めました。&lt;br /&gt;
いや、故障という程ではなかったのですが、誤作動が多く生じていました。今回は独身女性の部屋を借りてのパーティだったので、テンションが上がり過ぎてしまったようです。ヤレヤレでした(ーー;)
&lt;/p&gt;

&lt;p&gt;
次は新年会を予定しています。楽しみです。
&lt;/p&gt;
          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Mon, 29 Dec 2008 07:45:11 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2008/12/29/nabe/</guid>
          <link>http://isol.pro-s.co.jp//news/2008/12/29/nabe/</link>
        </item>
    
        <item>
          <title>Webアプリケーションの排他制御</title>
          <description>&lt;p&gt;
Webに限ったことではありませんが、オンラインシステムにて排他制御をしたい場合はよくあります。
例えばWebオンライン上で複数のユーザが同じデータを更新することが出来るシステムは、なんらかの排他制御の仕組みを取り入れた方がよいでしょう。
&lt;/p&gt;
&lt;p&gt;
今回は私たちがWebシステムを開発してきた中でのこのようなケースで有効な排他に関するテクニックをいくつかご紹介したいと思います。
&lt;/p&gt;

&lt;h4&gt;前提&lt;/h4&gt;
&lt;p&gt;
Webシステムで最も排他制御が必要な対象リソースはデータベースです。ここで申し上げる排他制御を行う対象はデータベースに存在するデータとします。
&lt;/p&gt;

&lt;h4&gt;楽観的ロック&lt;/h4&gt;
&lt;p&gt;
楽観的ロックとはデータそのものに対してはロックをせずに、更新するときにアプリケーションの方でデータ取得時と同じ状態であることを確認してから更新する仕組みです。
&lt;/p&gt;
&lt;p&gt;
例えばWebオンライン画面にて下図のようにデータベースからデータを取得した後「編集」→「確認」→「更新」のように複数画面の遷移を伴う一連の処理では、この楽観的ロックを行います。
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/exclusive/exclusive1.png&quot; alt=&quot;&quot; class=&quot;img-left&quot; /&gt;
具体的には、左図の「編集」でデータベースからデータを取得する際に、そのデータの最終更新日も取得しておきます。
&lt;/p&gt;
&lt;p&gt;
そして「更新」する際にデータベースに存在するデータの最終更新日を比較し、異なっていたら編集中に他のユーザが先に更新したと見なしてその更新は無効である旨をユーザに伝えます。
&lt;/p&gt;
&lt;p&gt;
最終更新日を比較する方法で手っ取り早いのは、更新する条件に最終更新日を含めてしまうことです。SQLで表現すると以下のようになります。
&lt;/p&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;10&quot; class=&quot;table_black&quot; width=&quot;550&quot;&gt;
  &lt;tr&gt; 
    &lt;td&gt;
      UPDATE table SET field1 = 'date1', field2 = 'date2', &lt;font color=&quot;#ffaaaa&quot;&gt;last_update = SYSDATE&lt;/font&gt;&lt;br /&gt;
      　　WHERE id = 1000 and &lt;font color=&quot;#ffaaaa&quot;&gt;last_update = '2008/12/25 23:41:11'&lt;/font&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
このように更新する条件に最終更新日を含めてしまえば更新した際に更新件数が0件であった場合は、他のユーザが先に更新（もしくは削除）したと判断できます。
&lt;/p&gt;
&lt;p&gt;
また上記のように手動で実装しなくても、自動的に楽観的ロックを行ってくれるデータベース関連のＡＰＩやミドルウェアも存在するので、そちらを利用する方法もあります。
&lt;/p&gt;

&lt;h4&gt;悲観的ロック&lt;/h4&gt;
&lt;p&gt;
悲観的ロックとはデータを取得する際にロックをかけ、他のプロセスから更新を許さないという仕組みです。
&lt;/p&gt;
&lt;p&gt;
例えば一度のトランザクションで、関連する複数のテーブルのデータを抽出し、その抽出結果を基にして更新する場合があります。その場合、複数のテーブルからデータを抽出し、各テーブルに対して更新が終わるまでは、それらのデータのまとまりは他のプロセスから抽出と更新がされていないと保障される必要があります。
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/exclusive/exclusive2.png&quot; alt=&quot;&quot; class=&quot;img-left&quot; /&gt;
具体的な例を挙げます。左図のような伝票テーブルとそれに紐付く明細テーブルを更新するアプリケーションがあったとします。
&lt;/p&gt;
&lt;p&gt;
伝票テーブルの情報はWebオンライン上の複数の画面から同時に更新される可能性があり、併せてそれに紐付く明細テーブルのデータも自由に追加・更新・削除できる仕様とします。
&lt;/p&gt;
&lt;p&gt;
また、伝票テーブルには明細の合計金額を保持する項目があるとします。つまり、明細の情報が変更されたり増減した場合は、伝票テーブルのレコードの合計金額もそれに合わせて更新する必要があるとします（このテーブル設計の良し悪しはまた別の話ということで。。）。&lt;br /&gt;
つまり、伝票テーブルと明細テーブルは常に整合性を取って更新する必要があるわけです。
&lt;/p&gt;
&lt;p&gt;
更に厄介なことに、これらのデータはWebオンライン画面からだけではなく、日中に定期的に実行される&lt;strong&gt;バッチ処理&lt;/strong&gt;でも抽出・更新される可能性があるとします。
&lt;/p&gt;
&lt;p&gt;
このような場合に、悲観的ロックを行います。
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;特にバッチ処理では先に申し上げた楽観的ロックを行うのは適切ではありません。&lt;/strong&gt;オンライン画面での楽観的ロックであれば、競合を検出したエラー時にユーザに通知し再入力を促すことは出来ますが、バッチ処理ではエラーとなった場合は再実行をするなりの面倒な考慮が必要となるからです。
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/exclusive/exclusive3.png&quot; alt=&quot;&quot; class=&quot;img-right&quot; /&gt;
具体的な悲観的ロックの方法は、右図の通りアプリケーションが伝票または明細テーブルを処理する際に、Webもバッチ処理でも最初に伝票テーブルの対象レコードのロックを取得してから処理を行うという&lt;strong&gt;ルール&lt;/strong&gt;を決めます。
&lt;/p&gt;
&lt;p&gt;
重要なのは更新する直前にロックをするのではなく、そのトランザクション内で伝票データを抽出する前に、伝票テーブルの対象レコードのロックを取得することです。
&lt;/p&gt;
&lt;p&gt;
悲観的ロックを実現するには、データベースのロック機構をそのまま利用します。例えば、Oracleの場合はFOR UPDATE句でありSQL ServerやDB2の場合は、更新ロック(Uロック)等が適当です。&lt;br /&gt;
以下はOracleのFOR UPDATE句でロックを取得する例です。
&lt;/p&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;10&quot; class=&quot;table_black&quot; width=&quot;550&quot;&gt;
  &lt;tr&gt; 
    &lt;td&gt;
      SELECT * FROM table WHERE id = 1000 &lt;font color=&quot;#ffaaaa&quot;&gt;FOR UPDATE&lt;/font&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/exclusive/exclusive1.png&quot; alt=&quot;&quot; class=&quot;img-left&quot; /&gt;
先の楽観的ロックの例に出た左図のような「編集」→「確認」→「更新」のように遷移するWebオンライン画面のシステムで、バッチ処理も存在する場合は、オンラインでの「更新」の際に悲観的ロックも併用するようにします。&lt;br /&gt;
またバッチ処理では常に悲観的ロックを使用して更新します。
&lt;/p&gt;
&lt;p&gt;
このようにWebでもバッチでも必ず伝票テーブルの対象レコードのロックを取得してから処理をする、というルールを徹底すれば正常に排他制御が働き不整合データができることはありません。
&lt;/p&gt;
&lt;p&gt;
ただし、悲観的ロックでは&lt;strong&gt;デッドロック&lt;/strong&gt;に注意する必要があります。
先ほどからの例で言うと、&lt;b&gt;一度のトランザクションで複数の伝票データを更新する可能性がある場合&lt;/b&gt;は注意が必要です。
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://isol.pro-s.co.jp/images/news/exclusive/exclusive4.png&quot; alt=&quot;&quot; class=&quot;img-left&quot; /&gt;
具体的な例として左図の通り、①でWebオンラインが伝票テーブルのレコード1に対してロックを取得した後、②でバッチ処理が伝票テーブルのレコード3に対してロックを取得したとします。
③でWebオンラインが同一トランザクションで伝票テーブルのレコード3に対してロックを取得しようとするのと、④でバッチ処理が伝票テーブルのレコード1に対してロックを取得しようとするのが重なり、デッドロックに陥る可能性があるということです。
&lt;/p&gt;
&lt;p&gt;
デッドロックを防止する有効な手段としては、ロックを取得する際に順番付けのルールを決めるというのがあります。上記の例でいうと、伝票のレコード番号が小さいものからロックを取得するというルールを決めれば、バッチ処理は伝票テーブルのレコード3からではなくレコード1から取得しなければならず、デッドロックが発生しません。
&lt;/p&gt;
&lt;p&gt;
上記のルールが徹底されればそれに越したことはありませんが、私たちがよくやる方法はロックを取得する際にタイムアウトを設けてしまうことです。こうすれば、上記のような状態に陥ってもタイムアウトが発生してデッドロックにはなりません。&lt;br /&gt;
以下はOracleのFOR UPDATE句でロックを取得する際に8秒のタイムアウトを設けた例です。
&lt;/p&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;10&quot; class=&quot;table_black&quot; width=&quot;550&quot;&gt;
  &lt;tr&gt; 
    &lt;td&gt;
      SELECT * FROM table WHERE id = 1000 &lt;font color=&quot;#ffaaaa&quot;&gt;FOR UPDATE WAIT 8&lt;/font&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
ただし、バッチ処理から行うロックにはタイムアウトは設けません。先に申し上げた通りバッチ処理でエラーとなった場合は再実行をするなりの面倒な考慮が必要であり、オンラインのように安易にエラーを発生させる事は出来ません。&lt;br /&gt;
よって私たちは、バッチ処理からのロックはタイムアウトを設けずに、オンラインからのロックだけにタイムアウトを設けます。つまりバッチ処理を最優先させるということです。&lt;br /&gt;
ただし、バッチ処理は複数同時に実行されることは無いというのが前提です。
&lt;/p&gt;
&lt;h4&gt;まとめ&lt;/h4&gt;
&lt;p&gt;
以上となりますが、私たちが排他制御を行う際のポイントをまとめると下記の通りとなります。
&lt;/p&gt;
&lt;ul class=&quot;list&quot;&gt;
  &lt;li&gt;複数のユーザが同じデータを同時に更新可能なWebオンラインでは楽観的ロックを行う&lt;/li&gt;
  &lt;li&gt;Webオンラインと同時にバッチ処理で更新される可能性がある場合は悲観的ロックも併用する&lt;/li&gt;
  &lt;li&gt;悲観的ロックでは対象データの主となるテーブルのレコードのロックを取得する&lt;/li&gt;
  &lt;li&gt;同一トランザクションで複数のデータに対して悲観的ロックを取得する場合はデッドロックに注意する&lt;/li&gt;
&lt;/ul&gt;

          &lt;p&gt;&lt;br /&gt;株式会社プロフェッサ&lt;br /&gt;&lt;a href=&quot;http://isol.pro-s.co.jp&quot;&gt;http://isol.pro-s.co.jp&lt;/a&gt;&lt;/p&gt;
          </description>
          <pubDate>Sun, 28 Dec 2008 11:15:21 GMT</pubDate>
          <guid>http://isol.pro-s.co.jp//news/2008/12/28/web-exclusive/</guid>
          <link>http://isol.pro-s.co.jp//news/2008/12/28/web-exclusive/</link>
        </item>
    
    
  </channel>
</rss>


