シンメトリックの技術

2つの技術で、製品やサービスを生み出し提供しています

Web 変換技術

Web 変換技術

背景

携帯電話によるインターネット接続が始まった10年以上も前、まだまだ非力であったモバイル機器のためにサブセットのような Web 規格が数多く出現しました。各規格のマーケット規模が小さい中、似て非なる規格であるこれらのモバイル用規格毎に Web システムを構築するのは大きなコスト負担でした。その規格の違いを吸収する解決策として出現したのが Web 変換技術でした。

モバイル機器はその後 10 年以上に渡って急速な発展を遂げ、同じ規格でも機種毎の仕様や性能が世代やメーカによって著しく異なったり、規格自体が次々とバージョンアップしたり、無くなったり、生まれたりすることが、繰り返されています。その中でモバイルの Web システムを正常に維持するには独特なノウハウと膨大な労力を必要としました。 Web 変換技術は、この機種依存問題の解決を図るために活躍するようになりました。

PC 並みの処理能力を備えたスマートフォンが急速に普及した現在では、どのサイトでもスマートフォン対応が必須となっています。特に、作り直すことや修正することが困難な、既存の PC 用 Web システムのスマートフォン対応が大きな課題となっています。このため、PC 用の画面をスマートフォン用の ユーザーインターフェース に変換する強いニーズが生まれ、ここでも Web 変換技術が大きな役割を果たしています。

技術の解説

モバイル草創期のコンテンツ変換技術は、主にマークアップ変換でした。<P> ⇒ <div> のような単純なテキスト変換や、 WAP と呼ばれる全く違う言語系への変換では構造変換が行われました。構造変換では、DOM パーサーを使ってツリー変換を行った後に変換先のマークアップに出力し、更に必要な微調整を行うものです。まだ画像はそれほど使われていなかったので、単純なリサイズをしていました。

シンメトリックではサーバーサイド Java を用いて DOM 変換と画像変換を実現するドリアンを出荷し、今でも数多くのシステムで稼働しています。

携帯モバイルの時代にはマークアップは統一されつつあり、 PC と同様に多くの画像・CSS・動画などでコンテンツが構成されるようになってきていました。その中でも開発者を苦しめたのが機種ごとに異なる容量制限の壁でした。また CSS が使えたものの、対応仕様が機種毎にバラバラで、最大の普及機では外部ファイルタイプには非対応だったため、利用が進まず、単純な色の変更でさえ多大な労力を必要としていました。動的なコンテンツも増えてきましたが、クッキーへの対応も機種毎に対応や動作仕様が異なり、開発者を悩ませました。

シンメトリックでは、機種の容量問題について、複数画像ファイルを変換しながら合計容量を機種ごとに調整する、という画期的な「画像変換機能」(※特許)を開発して、携帯モバイルの最大の課題を解決しています。また、CSSについては機種別の特性を綿密に調べ上げた上に、全ての機種に共通の外部CSSファイルを利用できるCSS変換機能を開発しました。クッキーへの対応ではエミュレーション機能を開発し、クッキー非対応機種への個別対応を不要にしました。これらの変換技術を搭載したラウンドアバウトは高速動作の為にApache+C言語で実装されました。

PC サイトのスマートフォン最適化においては、性能的な調整事項は基本的にないのですが、レイアウト変更対応と JavaScript 移植の課題があります。スマートフォン最適化では、元の HTML コンテンツの配置順を変えたり削ったり、スマートフォン用のコンテンツを追加したりコンテンツそのものの再構成が必要です。それでいて、PC から取得したコンテンツはPCと連動する必要があります。コンテンツ自体やスクリーンサイズ、そしてブラウザーも違うことなどから、CSS はほとんど別途当てなければなりません。一方、JavaScript は、そのまま動作しない場合、JavaScript を解析してスマートフォン用に移植する多大なコストが発生します。また移植した JavaScript では変更が反映されない問題もあります。

シンメトリックでは、PC⇒スマートフォンの変換ではコンテンツを再構成するという方針のもと、プロキシーサーバー上に構築するテンプレートシステムを開発しました。ここでは元のPCコンテンツを jQuery の構文で抜き出してテンプレート上に配置できます。しかも、サーバーで動作するにも関わらずテンプレートは JavaScript で記述することができます。これによりクライアントエンジニアもテンプレート開発することが可能です。また、JavaScript をコード分析せず書き換えずにその挙動を変え、PC での変更も反映される JavaScript 変換技術である「PostJS」を開発しました(※特許)。これらの技術を備えたのが PC ⇒ スマートフォン変換プラットフォームであるジーンコードです。ジーンコードはサーバーのテンプレートエンジンであるだけでなく、IDE を提供しておりテンプレートを容易に開発することができます。

Web 変換技術は、その名前からブラウザーにレンダリングされたものを変換するとイメージされがちですが、実際はブラウザーにレンダリングされたものは外からは取得できないので、多くの変換は、ブラウザーに入る前の通信状態のデータを取得して変換を実現しています。実は、Web変換技術は、ブラウザーに関する知識と同じくらい HTTP を中心としたネットワーク知識によって支えられています。それによって、セッションやセキュリティにも配慮した安定して安全な変換システムが提供できるようになります。また Web 変換では、キャッシュなどにも通じて変換効率を向上させ、CDNと連携するなどの必要もあります。Web変換技術の実際は、HTML 変換だけではなく、ネットワーク技術を中心とした多くの技術の集合体であると言えます。

今後の発展

Web 変換技術はモバイルの発展と共に進化し、今後もその流れの中で発展をしていくでしょう。ひとつには現在のスマートフォンの進化の延長線上にあるもので、アプリケーション化など、クライアント上の様々な表現が可能になり、元コンテンツに益々依存しない表現が可能になる方向です。レスポンス Web デザインや HTML5 のアプリケーション化などと結合したクライアントサイドの進化になるでしょう。もう1つは IoT 分野で、更に細かい通信デバイスが大量に存在する場合の応用で、この場合はサーバーサイドの変換技術が進化していくことになるでしょう。

関連製品