3か月前にリリースされ、現在プライマリテストが行われているAutopicsプロジェクトの2番目のバージョンをご紹介します。
内容
- 一般的な情報
- 技術およびソフトウェアの実装
- インターフェースソリューション
- プラットフォームレンタル
- コラボレーション
一般的な情報
Autopicsプロジェクトに関するHabréの
最初の投稿が公開されてから3年以上が経過しました。 過去数年間、プロジェクトはさまざまな強度で開発されてきました。 最初のバージョンのリリースのほぼ直後に、2番目のバージョンを作成することが決定されました。 新しいプラットフォームは、新しい機能を追加し、システムのスケーラビリティと信頼性を向上させ、サードパーティサービスのAPIを使用してサービスでマルチユーザー作業を提供するための最速かつ最も信頼性の高い方法を提供するはずでした。 最初のケースと同様に、車輪の再発明が決定されました。 私は、新しいバージョンの開発中に、新しい素材の追加と編集が実際に停止しなかったと言わなければなりません。 かなりの量の新しいアルバムが追加され、約1000の古いアルバムが作り直されました。
このサイトは、高品質の写真と自動車の詳細な技術仕様を含むカタログです。 提供される資料の品質と信頼性、およびカタログを使用する際の利便性に重点を置いています。 新しいバージョンのリリースに関連して、日々の更新の通常のリズムから多少外れたことに注目する価値があります。そのため、新しいモデルに関する情報に大きなギャップがありました。 ほんの数日前、コンテンツを準備および公開するためのシステムを立ち上げました(以下の説明を参照)。 形成された情報の空白を迅速に埋めることを心から願っています。
いくつかの統計:
- アルバムの数〜3600
- 写真の枚数〜73000
- 技術的特徴を持つ修正の数〜25000
サイトの以前のバージョンと比較した主な新しい追加機能
- 実際、 このプロジェクトの英語版は 、グローバル市場向けの独立した独立したプロジェクトです。
- インジケータと警告灯の導入(車のダッシュボードに似ています)。
- インスタント結果で検索します。
- 画像のサイズを個別に変更して適切なサイズとリンクを取得する機能。
- サードパーティのリソースに挿入するのに便利なように、画像の形式で技術仕様を記載したテーブルのプレゼンテーション。
- モデルシリーズのクラスメートを紹介しました。 車の次元のクラス、価格、威信を考慮してグループが形成されます。
- ラジオ 車のラジオのように機能します。 それは自動検索、目的のボタン、サウンド調整のラジオ局を保存する機能を備えています。 このレパートリーは、ロシアのラジオ局によって、これらの局で再生される更新された上位100曲の形式で提示されます。 グローバルバージョンでは、人気のあるオンラインラジオ局が接続されています。
近い将来の計画
- 主要プラットフォーム用のモバイルアプリケーション(職場)。
- お気に入りのユーザーアルバム。
- 自分のユーザーアルバム。
- 通常のユーザープロファイル。
- アルバムへのコメント。
- グレーディングアルバム。
- ユーザーのコミュニティ。
- ギャラリーを表示する代替ビュー。
- 車の比較(写真、仕様)。
- 高度なパラメトリック検索。
- ユーザーの位置に関する公式ディーラー。
- ユーザーの位置を参照する参照情報の形式での平均自動車価格。
技術およびソフトウェアの実装
このシステムは、サービス指向アーキテクチャ(SOA)に従って設計されており、B2Bスキームで機能することを目的としています。 実装時には、主にMicrosoftソフトウェア製品が使用され、すべてのコードはC#のMicrosoft .NET Framework 4を使用して記述されました。 フォールトトレランスと負荷分散の問題には特に注意が払われます。 以下の図は、システムのブロック図を示しています。
システムの中心的なコンポーネントは、XML SOAPディレクトリサービスです。これは、あらゆるタイプの階層構造データへの承認を備えたマルチユーザーアクセスを提供します。 さらに、カタログには他のカタログインスタンスとリアルタイムで同期ツールがあり、NLBクラスターの一部として使用できます。 ディレクトリのソースコードを使用すると、サーバー側とクライアント側(WindowsとSilverlightの両方)で使用できますが、唯一の違いは、サーバー側ではデータプロバイダーがSQLサーバーであり、クライアント側ではディレクトリサービスであることです。 これにより、カタログモジュールをすべてのアプリケーションのメインデータキャッシュとして使用できます。
もう1つの重要なモジュールはセキュリティモジュールです。これは、本質的にIIS Httpモジュールであり、http(s)アクセスを持つすべてのコンポーネントで使用されます。 このモジュールは、httpリクエストの認証、承認、書き換え、およびロギングとエラー処理を提供します。 すべてのコンポーネントのモジュール設定(承認ポリシー)は独立しており、セキュリティディレクトリに保存されます。 ディレクトリサービスにアクセスするには、クライアント証明書を使用した認証でHTTPSトランスポートを使用します。 この目的のために、証明機関がシステムに展開されます。 アクセス許可は、アクセスが行われるディレクトリツリーのブランチのカスタム許可ポリシーおよびACLに従って実行されます。
このプロジェクトでは、3つの主要なカタログを区別できます。
- セキュリティディレクトリ(証明書、設定、セキュリティポリシー、ユーザー、プロバイダーなど)
- 車のカタログ(ブランド、モデルの範囲、写真アルバムなどに関する情報)
- 編集者のカタログ(フォトアルバムプロジェクト、設定など)
また、クライアントの要求に応じてJPEG写真の高品質なスケーリングを提供するグラフィックサービスもあります。 スケーリングは、ディスクアレイに保存されているいくつかのサイズのオリジナルから必要な画像形式を考慮して、リアルタイムで行われます。 さらに、サービスは、カスタムセキュリティルール(透かし、禁止など)を承認および適用します。
さらに、システムには、自由に分散されたデータベース(
geobaza.ru 、
ipgeobase.ru 、
www.maxmind.com (Lite))に基づいて構築された、IPアドレスによって場所を決定するためのXML RESTサービスがあります。 このサービスは、指定されたソースからの自動更新を提供します。 クエリ統計を記録するとき、および単位(メートル/インチ)を自動的に検出するときに、いくつかのセキュリティポリシーで使用されます。
すべてのWebサイト(autopics.ru、auto-pics.com、管理サイトおよびコンテンツ準備サイト)は、ASP.NET 4.0およびAJAX Control Toolkitを使用して、XHTMLページおよびクライアントjavascriptコントロールのレンダリングを制御します。 データへのアクセスは、カタログサービスに接続するカタログのクライアントモジュールを介して実行されます。 NLBクラスターでの動作を保証するために、ASP.NETアプリケーションはSQLセッションコンテキストプロバイダーを使用します。
すべてのサービスとサイトでIIS7が実行されています。 信頼性と負荷分散を確保するために、2つのAplication Request Routing(ARR)サーバーと2つのアプリケーションサーバーのWebファームを備えたNLBクラスターが使用されます(下図を参照)。
永続的なデータストレージには、3つのMS SQLサーバーが使用されます。これらは、「自動フェールオーバーによる同期の高い安全性」モードのミラーリングスキームに従って含まれています。
システム全体がMS Server 2008 Hyper-Vを実行しているサーバー上にあり、仮想化が積極的に使用されています。 Azureへの部分的な移行についての考えがあり、このための準備が行われました。
インターフェースソリューション
クイックアルバムプレビュー
アニメーションの形でアルバムのプレビューにカーソルを合わせると、このアルバムに含まれる画像が変わります。
インスタント検索結果
検索クエリを入力すると、検索結果が画像とアルバム名の形式で自動的に表示されます。
画像サイズの選択をクリア
右矢印をクリックすると、アスペクト比でグループ化された特定の画像のすべてのサイズが選択可能になります。
その場で写真のサイズを変更する
マウスで四角いマーカーを引くと、サードパーティのサイトに挿入するためのリンクが付いた目的のサイズの画像を取得できます。
垂直ブックマーク
カタログナビゲーションの利便性のために、すばやくアクセスできるように、垂直タブを備えたサイドパネルのレイヤーレイアウトが導入されました。 将来、パネル(ブックマーク)の数は増加します。
ダッシュボード
私たちは、サイトの一部の機能を実際のすべての車にあるダッシュボードとして定型化しようとしました。 走行距離計は、サイトのアクティビティで回転しています。 将来的には、多くの要因に影響され、ユーザーに対する忠誠心と信頼の一種の尺度になります。 燃料量インジケータは、写真の残りの数を明確に表示します。これは制限なしで見ることができます。 シグナルアイコンはまだありますが、まだすべてが関係しているわけではありません。 将来的には、ダッシュボードの機能が拡張されます。
ラジオ
カーラジオの放送サービスの様式。 実際のデバイスの動作原理が使用されます。
プラットフォームレンタル
定期的に、「エンジン」(別の最初のバージョン)を購入する申し出を受けます。 すべての場合において、システムの複雑な設置、機器および保守要員の適切な要件、不十分な文書による提案を考慮していません。
そのため、プラットフォームをレンタルする機会を思いつきました。 どのプロジェクトに最適ですか? それを使用すると、大きなアーカイブ、カタログ、フォトバンク、ライブラリ、あらゆる種類のカタログ化されたリポジトリなどを作成するのに便利です。
メリット
- このようなシステムの開発に時間とお金を費やすことはありません
- ターンキーターンキーソリューション、つまり要件を考慮した実行中のドラフトを取得します。 プロジェクトの開発中に、タスクに合わせて既存のプラットフォームが変更され、不足しているソフトウェア部分が開発され、インターフェイスが設計され、グラフィックが準備され、ページが作成されます。 追加のサーバーとチャネルがインストールされます。 物理的には、プロジェクトは当社の機器にあります。
- 絶え間ないプラットフォームの更新
- プロジェクトおよび新機能の開発に対する完全な技術サポート
費用
プロジェクトごとに個別に計算されます。 これは、システムのインストールに対する最初の多額の支払いと、その後のメンテナンスに対する毎月の支払いで構成されます。 いずれにせよ、コストは3ペニーではありません。 お問い合わせの際は、プロジェクトの作業指示書を用意することをお勧めします。
コラボレーション
他のプロジェクトやサービスとの協力に努めています。 カタログを操作するためのAPIは既にあります(現時点ではほとんどドキュメント化されていません)。 あなたのプロジェクトで私たちのカタログを使用することについて考えているなら、私たちはそれらを聞いて喜んで、おそらく協力に同意します。 初期段階では、サービスを無料で利用できます。その後、使用強度、物々交換、当社へのリンクなどに応じて、月払いのオプションが検討されます。
また、
cars.auto.ruのような個人や法人からの車両の販売の広告も本当に扱いたいと思ってい
ます。 このためのインフラストラクチャ全体がすでに実用化されています。 既存のプラットフォームに基づいて個別のプロジェクトを作成する予定です。 このトピックで協力したい人、またはこのテーマについて興味深い考えを持っている人は、対話に招待します。
私たちにはまだ利益はありませんが、成し遂げられた仕事とさらに発展したいという欲求には大きな満足があります。
ご清聴ありがとうございました!