Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP- UX Developer Edge

SolarisとHP-UXの間のカベを取り除く「SHPK」・後編

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
SolarisとHP-UXの間のカベを取り除く「SHPK」・後編
SolarisとHP-UXの間のカベを取り除く「SHPK」・後編
SHPKによるポーティングの例
SHPKのさまざまな活用

SHPKのさまざまな活用

もちろん、開発者の中には「SHPKを利用するとSolarisのAPIがソースコードに残ってしまい、HP-UXへの完全な移行にはならない」と考える向きもあるだろう。とはいえ、そうしたHP-UXへの完全移行が必要なケースでも、SHPKを活用することでポーティング作業の効率化を図ることが可能だ。

早期のテストが可能

一般にアプリケーションのポーティングでは、依存関係にあるモジュールのポーティングがすべて完了するまで動作テストを開始することができない。アプリケーションが大規模な場合は、ポーティングの最終段階で動作テストが可能になるケースもある。しかし、その段階で初めて表面化するさまざまな問題は、OS間の動作やタイミングの微妙な違いや、もともとのソースコードに起因するものが多い。そのため、ポーティングの最終段階でこれらの問題解決に予期しない工数を取られ、大幅に工数が不足してしまう原因ともなる。
 
図2:SHPKを利用しないポーティング
図2:SHPKを利用しないポーティング
  一方、SHPKを利用して、いわば「ポーティングのプロトタイプ版」を作成しておけば、早い段階でテストを開始して問題を早期に発見できる。例えば浮動小数点演算の精度や動作の検証なども早い段階で行うことが可能だ。また、テストで見つかった問題への対応と、SHPKを利用しない手作業によるポーティングを並行して進められる。SHPKを利用することで、このように途中の段階で動作検証を行いながら作業を段階的に進めることが可能だ。これにより、ポーティング全般の工数見積もりをより正確に行うことができるようになる。
 
図3:SHPKを活用したポーティング
図3:SHPKを活用したポーティング

問題の切り分けに利用

図3の「修正(1)」で必要となる手直しは、主にコンパイラの文法チェックでの厳しさの違いによるエラーや警告メッセージの修正となる。一方、「修正(2)」での手直しは、APIやヘッダファイルの違いにより必要となる修正となる。こうした段階的なポーティングを行うことで、ポーティング途中で問題がいずれの段階で発生したものなのかを容易に判断できる。 さらに、SHPKを使ってポーティングして作った実行ファイルと、SHPKを使わずにソースコードを完全にHP-UX用に修正して作った実行ファイルの動作を比較することにより、修正(2)による手直しの内容が適切であったどうかを検証することも可能だ。

【STKSとの併用】
HPでは以前より、「Software Transition Kit for Solaris(STKS) 」と呼ばれるソフトウェア移行キットを提供している。このSTKSは、簡単に言えばソースコードスキャナと移行支援ドキュメントのセットである。SHPKのようなSolaris互換ライブラリやビルド環境は備えていない。

とはいえ、STKSのソースコードスキャナはSHPKよりも詳細な情報を提供するという特徴がある。とりわけ「その問題をどのように修正すれば良いか」を知るには、STKSが生成するレポートが役に立つ。よって、SHPKによるポーティング時に手作業によるソースコード修正が必要になった場合は、STKSのレポートを参考にして作業を進めるのが効率的だ。

もっとも、STKSのレポートには非常に多くの情報が含まれるため、「かえってわかりにくい」または「関係の無い情報が多すぎる」という場合もある。なぜなら、修正が必要となる可能性のあるものがすべてレポートに含まれてしまうからだ。実際には、ソースコードを変更しなくてもコンパイルが成功するものもたくさんある。そこで、まずはSHPKを使ってポーティングを済ませ、テストに入る前にSTKSを実行してソースコードをレビューするという段階を踏む。これにより、コンパイルが成功していても問題解決ができていない部分を発見できるようになる。

以上、今回はSHPKによるSolarisからHP-UXへのアプリケーション移行について紹介した。ここで見てきたとおり、SHPKはいわば「HP-UX上につくられたSolaris環境」だ。とはいえ、よくあるエミュレーターのようにパフォーマンス面でのデメリットはなく、HP-UXのネーティブ・アプリケーションとほとんど変わりない実行可能ファイルを生成できる。Solarisベースのソフトウェアに対する投資を保護する手段として、SHPKを活用しない手はないだろう。

トップへ 戻る    


その他のコラム(特集)もお読み下さい

 
 

本ページの内容は執筆時の情報に基づいており、異なる場合があります。
印刷用画面へ
プライバシー ご利用条件・免責事項