Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。SQLを使って、業務アプリケーションを構築する方法を基礎から解説します。基幹系システム構築で要求される知識やノウハウについても触れますので、予備知識のない方にもお勧めです。連載第4回ではスマートフォンを使用した在庫数量更新のサンプルを紹介します。基幹系システムは仕訳データが発生する業務系システムであることは前回、前々回で見てきましたが、その他に基幹系では在庫つまり「モノ」を扱う部分もでてきます。この「モノ」の部分は入出庫処理などを含む在庫管理システムで扱われることになりますが、これも基幹系での大変重要な機能要素となってきます(注1)。在庫管理システムでの管理品目は、購入品、製品、それに製造業では資材・部品や仕掛り品など多様ですが、在庫管理システムのポイントはなんといっても正確な在庫数量を把握・維持管理することにありますが、情報システムで扱う場合には次のような問題点も発生しがちでした。従来の在庫管理システムでは、在庫場所すべてにPCなど入力端末を配置することが困難な場合も多く、従って現場では入出庫数量を紙に記帳し、日単位のバッチ入力で、記帳された数量を端末から入力するようなことも行われていました。この場合、その日の内に変化した数量は在庫データに反映されないため、システムに登録されている在庫数量への信頼が低くなる様なことも出てきてしまいます。このような場合、正確な在庫数量を知るため、わざわざ倉庫まで出向いて確認(現品確認)しなければならない場合も発生し、時間と労力の大きなロスに繋がってきます。今は、スマートフォン等の携帯端末もあり、これを倉庫現場での入出庫数量入力に使えばリアルタイムでの在庫数量更新も可能になり、情報システムで管理する在庫数量への信頼も向上するでしょう(注2)。連載第4回ではスマートフォンを使用した在庫数量更新のサンプルを紹介します。複数ユーザからのデータベース同時更新が発生するようなアプリケーションの場合、あるユーザが更新処理を行っている間は、他のユーザのアクセスを制限して更新が正確に行われるようにする必要があります。これを怠った場合は更新数量が不正確になってしまい、これもシステムの維持・管理する在庫数量への信頼を低下させてしまいます。この問題への対応はデータベースのトランザクション処理機能によって行われますが、GAEで従来から使用されていたデータストア(Bigtable)ではトランザクション処理(エンティティのロック処理)には一定の制約がありました。SQLのリリースによってGAEでもRDBのトランザクション処理機能を使用できるようになっています。SQLでのトランザクション処理について紹介します。注1)ほとんどの業種では商品等で「モノ」(ソフトウェアを含む)を扱いますが、銀行などの金融業では物を取り扱いません。このような業種では基幹系に対応する業務機能は勘定系と呼ばれています。注2)今回のサンプルでは紹介しませんでしたが、スマートフォンにはバーコード読み取り用のアプリケーションも使用できるようになっており、正確な数量把握をさらに簡単な操作で行うこともできるようになっています。SQLでのトランザクション処理機能を使用しています。スマ-トフォンとライブラリスマートフォンは機種、OS、画面サイズなどが多種多様で、UI作成での対応の難しさがありますが、そうした中で注目されているのが「スマートフォン向けのライブラリ」です。これを使うことによって、デバイス毎の特性の違いが吸収され、わずかなHTMLやJavaScriptの記述でスマートフォンに最適化したサイトを作成できるようになります。Mobileを使用しますが、他のライブラリと比べて対応デバイスが多いことが特徴です。PhoneやBlackBerryにも対応しており、さまざまなスマートフォンのUIに自動的に最適化してくれるという特徴があります。注3WebKit(Webキット)は、アップルが中心となって開発されているオープンソースのHTMLレンダリングエンジン群の総称で、HTML、CSS、JavaScript、SVGなどを解釈することができます。IBM、日本HPで、製造装置業を中心とした業務系/基幹業務系システムのSE/マーケティングや、分散アプリケーションによる社内業務システム開発などに携わる。現在は、クラウドやAjax関連の/ソフト開発/書籍執筆/セミナー講師/コンサルティング、などを行っている。プラットフォームチームの意義と実践のポイント1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。プラットフォームチームの意義と実践のポイント1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。プラットフォームチームの意義と実践のポイント1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。