Seiden GroupがPHP移行サービスを提供

Seiden GroupがPHP移行サービスを提供

 

Alex Woodie著 (2020年5月27日)

 

IBM i上のPHPに関しては、変化が起こっています。⻑年にわたって数千の IBM iユーザーの間で採⽤されてきたPHPの無料 Zendディストリビューション(Zend Server Basic エディション)は廃⽌され、RPM経由でインストールされる新しい、コミュニティ版PHPに置き換えられています。しかし、どのようにして既存の PHPアプリケーションを、新しい環境に移⾏が出来るのでしょうか?Seiden Groupは、とても可能性を秘めた、ある解決策を持っています。

先週お伝えしたように、Zend Server Basic は、2020年6⽉30⽇をもって、Perforce社(現在Zend Technology を所有している会社)による提供または、IBM i での配布を停⽌します。そして1年後、Zend Server Basicの サポートは終了します。ただし、IBM i向けのZend Server PHPのより⾼度なバージョンの販売とサポートは 継続します。

 

IBM iを採⽤している多くのユーザーにとって、コミュニティ版PHPを使⽤して新規のPHPアプリケーション を開発する事はそれほど難しくはありません。しかし、既存のPHPアプリケーションを新しいコミュニティ 版PHP上で実⾏したい場合、通常何らかのアプリケーションの移⾏に、投資の必要があるでしょう。 Zend Server Basicからコミュニティ版PHPへの移⾏を⽀援できるベンダーの1つは、ニュージャージー州に本社を置くITコンサルティング会社 Seiden Group です。このチームは、IBM i PHPコミュニティで⻑年活動しています。同社の社⻑である Alan Seiden ⽒によると、移⾏のたびに固有の課題があります。

 

「直⾯する課題に対して、⾃ら解決可能なユーザーもいれば、アドバイスが必要なユーザーもいます」 と Seiden⽒ は⾔い、こう続けました。 「それはアプリケーションによって異なります。ユーザーが、DB2 for i へのデータベース接続、prepare関数、execute関数、fetch関数のコードを、モジュール化したライブラリ (2つ程度)として作成していた場合、またはZend FrameworkやLaravelなどのフレームワークを使⽤していた場合、移⾏作業はそれほど難しくありません。」

 

Seiden⽒によると、移⾏における潜在的な問題の最⼤の原因は、間違いなくデータベース接続にあります。 Zendによって、以前から配布されたてきたバージョンのPHPでは、Db2 for iへのデータベース接続は、IBM i 内部のSQLコール・レベル・インターフェイス(CLI)に接続した 「IBM_DB2」 拡張モジュールを介して処理されてきました。

 

最新のPHPディストリビューションを含む、コミュニティ版PHPや、Zendがサポートする新しいバージョン は、IBM_DB2拡張モジュールはなくなり、ODBCドライバーに置き換えられました。このODBCドライバは、 古いデータベース拡張機能を⼤幅に上回っています。 「ODBCはIBMの戦略的⽅向性です」 とSeiden⽒は⾔います。 「公開されているコミュニティ版PHPを使⽤する場合、ODBC拡張を使⽤するようにPHPのコードを変更する必要があります、我々はお客様がそれを⾏えるように⽀援します。」

 

もう1つのトラブルの原因となりうるのが、32ビット環境から64ビット環境への移⾏です。IBM i ⽤の古い Zend Server Basic は 32ビットのメモリ空間で動作していましたが、新しい コミュニティ版PHP は 64ビット のアプリケーションとして動作します。この変更は⼤きな問題ではありませんが、特にPHPの拡張機能に関 しては、ユーザー達を悩ませる可能性があります。

 

「32ビットから64ビットに変更しても、PHP⾃体には影響ありません。むしろ、より簡単な構成が可能となります。」 とSeiden⽒は⾔います。 「PHP拡張モジュールは、C⾔語で記述されており、64ビットに更新する必要があります。従って、既存アプリケーションが使⽤している、拡張モジュールを特定することが重要です。」

 

Seiden Groupが、移⾏契約の⼀環として提供しているような⾃動化されたテストは、移⾏作業を迅速に進め るのに役⽴ちます。これは、Zend Server Basicからコミュニティ版PHPに移⾏する企業にも当てはまりま す。また、Zendファミリーにとどまっているが、廃⽌されたPHPバージョン5.xから、新しいPHP 7.xにアッ プグレードする必要がある企業にも当てはまります。

 

「IBM i ユーザーはごく少数の開発者で、無駄のない運営をする傾向があり、多くの場合、ユーザーは機能 の追加で忙しく、インフラストラクチャを改善していない事がよくあります」 とSeiden⽒は⾔います。 「その後、アップグレードの際に、ユーザーは⾃動化されたテストが有⽤なものだと気づくのです。ユーザー は、セキュリティ上の理由からPHP 7.xにアップグレードしなければならない事は、知っているのです。」

 

PHP 7.xは、パフォーマンス⾯において PHP 5.xからの⼤幅なアップグレードとなります(このバージョンアップには、移⾏作業が必要になる場合があります)。しかし、それとは別に、我々は、潜在的なセキュリテ ィの問題を防ぐために、PHP 7.xに移⾏する必要があると、顧客に注意する事が重要です。 Zendは、PHP 7への移⾏時に古いPHPコードの⼀部を⾮推奨にしました(もちろん、PHPバージョン6はスキ ップされました)。また、PHP⽤の古いカスタムメイドのDb2 for iドライバーが優れたODBCドライバーに置 き換えられたのと同じように、PHP⽤の古いカスタムMySQLドライバーは、MySQLの代わりのMariaDB⽤の ODBCドライバーに置き換えられました。

 

「ユーザーがPHP 7に移⾏する場合、古いMySQL接続機能はもはや機能しません」 とSeiden⽒は⾔います。 「古いMySQL_ConnectはPHP 7では動作しなくなりました。ユーザーはMySQLi_Connectを使⽤する必要が あります。 SQLインジェクションから保護するPrepareパラメーター化されたクエリを実⾏できます。それ は、より安全です。」

 

コミュニティ版PHPへの他の部分の移⾏については、⽐較的簡単に進むと予測されます。多くのIBM i ユーザ ーは、RPG、COBOL、およびCLプログラムを呼び出すために ”PHP Toolkit” を使⽤しますが、こちらはコミ ュニティー版PHPでも引き続き動作します。

 

「本当に変更はありません」 と、Seiden⽒ は⾔います。 「特にユーザーがIBM_DB2からODBCに変換する 場合は、ODBCで適切に動作する事を確認し続けるだけです。 我々は、顧客がODBCで問題なく動作する、 最新版の ”PHP Toolkit” を取得しているか?確認する必要があります。」

 

最後に、ユーザー企業は、コミュニティ版PHPへの移⾏作業の⼀環として、古いPHP環境を除去するため に、Seiden Groupを利⽤することも出来ます。これは⾒過ごされがちな移⾏の側⾯ですが、実は重要な事です(とにかく、サーバー上に未使⽤のソフトウェアを⼤量に放置しない事が、精神衛⽣上、重要なのです)。

 

移⾏作業が完了すると、Seiden Groupは、不具合の修正サポートやアップグレードのサポートなど、IBM i ユーザー向けの技術サポート・パッケージも提供できます。

 

「また、我々は、お客様が常に情報を得られるよう、新しいバージョンがリリースされた際には、その情報 とアドバイスを提供します」 とSeiden⽒は⾔います。 「我々は、インストールが順調に実⾏されていること を積極的にチェックし、問題が発⽣した場合に追跡して原因を特定できる監視ツールがあります。」

 

本記事は、Guild Companies,Inc. の許可を得て転載しています。

どうぞ、こちらのリンクから「 https://www.itjungle.com/subscribe/ 」ITジャングルの無料の電⼦ニュースレターを購読してください。

Copyright 1996-2020.

 

 

※本記事のPDFのダウンロードはこちらから

 

CATEGORY

TAG