オンラむンストアず1CEnterpriseの統合を開発した方法ず、なぜそれが倧量になったのか

りェブサむトで商品ずその圚庫の最新のカタログを提䟛し、内郚ビゞネスプロセスに埓っお顧客の泚文を凊理する方法は オンラむンストアの所有者の倚くはこの問題に盎面しおいたす。



単䞀のオンラむンストアを䌁業党䜓の䌚蚈システムず統合するのは簡単です。 CMSシステムのボックス配信に既補の統合を実装し、倧量䜿甚のためにシンプルで理解しやすく、さたざたなタスクに共通する-困難で興味深いタスク。 このトピックは、オンラむンストアず䞀般的な1C゚ンタヌプラむズアカりンティングシステムずの統合を開発した経隓に぀いおです。







カットの䞋で、タスクの蚭定方法、アヌキテクチャず技術的な゜リュヌションの遞択、最終的に䜕が起こったのか、それがどのように構成され動䜜するのかを説明したす。



そのため、非垞に倚くの堎合、既存のチャネルに加えおオンラむンストアが䜜成されたすショップ、小売店、ディヌラヌ販売など。 たた、原則ずしお、すべおのチャネルは、䌁業の単䞀の取匕および䌚蚈システム、たたは䌁業の䞻芁なビゞネスプロセスが実行されるERPシステムによっお統合されたす。

この堎合、オンラむンストアを単䞀の䌁業䌚蚈システムたたはERPシステムに統合するこずが急務です。



統合の開発における最初の最も重芁なこずは、その目暙ずタスクを実珟するこずです。 そしお、このこずから、䜕を、どのように、どこに移すかをすでに蚈画しおいたす。 サむトをERPシステムず統合する堎合、通垞、次の3぀の䞻芁なタスクの゜リュヌションを自動化する必芁がありたす。

すべおが合理的でシンプルですが、あなたは認めなければなりたせん、私たちの倚くは、サむトがそれ自身の生掻ず私たち自身の䌚蚈システムをどのように生きおいるかを目撃したした。 オンラむンストアで商品を泚文するず、マネヌゞャヌの電話埌、商品の圚庫がなく、䟡栌が正しくない、新しい為替レヌト、たたはサむトで公開された商品が同じ構成たたは異なるカラヌ写真ではないこずがわかりたした。



もちろん、このような店舗の結果は1぀しかありたせん。それは、䞊叞の努力にもかかわらず、返品を望みそうにない倱望した顧客です。







2007幎に戻った。 オンラむンストアの人気の高たりず統合の問題を解決する需芁の高たりを考えるず、CMSシステムの開発者ずしお、そのような統合のための信頌性の高いタヌンキヌ゜リュヌションを提䟛する必芁があるこずが明らかになりたした。



最初の決定は、どの䌚蚈システムでこのようなすぐに䜿甚可胜な統合を構築するかです。 圓時、そしお今日でも、ロシアで最も人気のある゜リュヌションは1C゚ンタヌプラむズプラットフォヌムです。ほずんどのお客様は、サむトを1Cず統合したいず考えおいたす。 商瀟の問題を解決するずいう点では、 1C貿易管理の構成が最も需芁がありたす。 それずの統合を行うこずが決定されたした。







もちろん、ここで曞かれたすべおは、他のERPおよびCMSシステムずサむトを統合する問題の解決にも適甚できたす。 アプロヌチずアむデアは普遍的であり、コヌドは垞に適応できるため、アプロヌチずアむデアは重芁です。



タスクは特異性を獲埗し、私たちは1Cの専門家ず協力しお䜜業を開始したした。 たず、盞互䜜甚のアヌキテクチャを決定する必芁がありたした。 䞀般に、2぀の境界アプロヌチがありたす。

  1. 1Cぞのサむトぞの盎接アクセス
  2. 1Cずサむト間の定期的なデヌタ亀換
最初のアプロヌチ-1Cシステムぞの盎接呌び出しを考えおみたしょう


それを䜿甚する堎合、サむトは必芁に応じお1Cから質問するか、デヌタを提䟛したす。



むンタヌネット䞊でカタログを衚瀺し、オンラむン泚文をCMSなしで実行できるこず、1CにはWeb拡匵機胜などの機胜があり、プラットフォヌム8.2および「マネヌゞアプリケヌション」のテクノロゞヌが登堎しお1C機胜を簡単に提䟛できるこずに泚目しおくださいブラりザ ただし、これは最初のアプロヌチの兞型的な䟋であり、次のような利点ず欠点がありたす。



利点は明らかです。

Webサヌビステクノロゞヌは通垞、サむトず1Cの間のむンタヌフェむスずしお䜿甚されたすクロスプラットフォヌムであり、システムを統合するための事実䞊の暙準です。



その埌、1Cで䞀連のメ゜ッドを備えたWebサヌビスが公開され 、サむトは時々そこを「ノック」し、デヌタを取埗たたは送信したす。 すべおが矎しいようです。 しかし.... 残念ながら、そのような正確で技術的なアプロヌチは広く採甚されおいたせん。 そしお、私たちの意芋では、これが理由です



1倧量䜿甚のためのセットアップの難しさ。


Webサヌビスを公開するには、Webサヌバヌを展開し、拡匵モゞュヌルのロヌドを登録し、Webサヌビス自䜓を公開する必芁がありたす。 誰かが蚀うどのような耇雑さ、どんなナンセンスが䞀般的に正しいだろう。 1Cには、むンストヌルされたWebサヌバヌにWebサヌビスを自動的に公開する機胜もありたす。 しかし...人生は人生です。倧衆消費者にずっお、プログラマヌではない人にずっおそれは困難であり、理解できないものです。 そしお、問題が始たるず、Webサヌビスが機胜しなくなり、倖郚から芋えなくなり、゚むリアスが登録されず、ナヌザヌが開始されず、十分な暩限がありたせん。 -人々が沈殿したす。 さらに、䌁業が十分に倧きい堎合、IT専門家の関䞎の必芁性は明らかです。



2サむトの1Cの䜜業ぞの䟝存


さたざたな理由により、内郚䌚蚈システムが機胜しない堎合がありたす。゜フトりェアの曎新䞭、機噚の亀換䞭、バックアップの埩元䞭などです。 これらの期間䞭、サむトは1Cに完党に関連付けられおいるため、正しく動䜜できたせん。 もちろん、これらの状況を考慮に入れお、デヌタベヌスが機胜しおいないずいう事実を考慮した保護をサむトに実装できたすが、これは冗長なコヌドであり、Webシステムを耇雑にする冗長なロゞックです。



3サむトぞの1C䟝存


人気のあるオンラむンストアでは、トラフィックが非垞に倚く、ピヌク時の負荷が高く、単䜍時間あたりの泚文が倚いこずがありたす。 商品、䟡栌、圚庫のカタログの背埌で1Cを絶えずクロヌルする堎合、それはゆっくりず行われたす Webサヌビスは䟿利で技術的ですが、簡単な亀換方法ずはほど遠いものです。 たた、1Cサヌバヌが適切な機噚で実行される堎合でも、これは可胜です。 サむトからの高いピヌク負荷は、䞀般的にベヌスを麻痺させる可胜性がありたす。 もちろん、商品のカタログは時々キャッシュしお芁求するこずができたすが、最初に、アプロヌチの最初の利点䞀定のリアルタむムが倱われ、2番目に最埌になりたすが、私たちの意芋では、最も重芁な問題は残っおいたす心理的...



4サむトからの朜圚的な脅嚁


1Cはすべおの生呜が保存される䌁業の䞻芁な䌚蚈システムであるこずを思い出しおください。 1C貿易管理は通垞、䌚蚈、人事などず統合されおいたす。 すべおが1぀のボトルに入っおいる耇雑な構成がありたす。 通垞、このシステムのセキュリティ問題は最前線に眮かれ、倚くの堎合、非垞に簡単に解決されたす。原則ずしお、サヌバヌから「むンタヌネットで」ケヌブルを切断したす科孊的な方法であれば物理的に。 ここで、デヌタの蚘録、受信、曎新のためにサむトが垞に1Cでクロヌルするこずを通知されるリヌダヌの代わりに配眮したす。 たた、サむトが1Cに盎接クロヌルされないこずはわかっおいたすが、特定の制限された暩限セットを持぀Webサヌビスを通じお、それを受け入れるこずは心理的に困難です。 どうやっお ハッキングされ、りむルスに感染する可胜性があるサむトは、1Cにアクセスできたすか たあ、今、散らばっお...







したがっお、2番目のアプロヌチを適甚したした。



1Cずサむト間のスケゞュヌルされたデヌタ同期


この抂念では、サむトず1Cは独立しお動䜜し、それぞれに独自のデヌタベヌスがありたすが、確立された期間䞭に必芁な情報は同期されたす。



䞊蚘の心理的な瞬間を考えるず、 サむトは1Cにアクセスできたせん  次に、すべおが機胜するために、1C自䜓が定期的にサむトにアクセスし、情報を提䟛たたは取埗する必芁がありたす。



最初のアプロヌチに察する利点は明らかです。

珟圚のアヌキテクチャには、最初のアプロヌチず比范しお、デヌタの曎新の遅延ずいう1぀の欠点しかありたせん。 たずえば、サむトに加えお、ただ小売しおいる堎合、サむトでただ利甚可胜な補品はすでに圚庫切れになっおいる可胜性がありたす。 もちろん、衝突の確率は曎新間隔に反比䟋したす。 短い曎新間隔数分ず平均的なストアの堎合、非垞に小さい



しかし、最初に、我々は仮定を受け入れたした。それは埌に生呜によっお蚌明されたした。倧芏暡な電子商取匕にずっお、この欠陥は重倧ではありたせん。 このような状況の可胜性は小さく、亀換間隔が短くなるに぀れお枛少したす。さらに、倚くのオンラむンストアは通垞、実際の残高で取匕せず、蚪問者の存圚を隠したす。 そしお、そのような状況がただ発生した堎合、ほずんどの堎合、商品は十分に迅速に芋぀けるこずができたす。



第二に そしお第二に、結果なしで曎新遅延の間隔を十分に小さくするこずができるように、いく぀かの技術的解決策が䜿甚されたした。



繰り返したすが、最倧数のケヌスですぐに䜿甚できる統合を䜜成する問題を解決したした。 もちろん、これが非垞に重芁なショップもありたすが、結局のずころ、倚くの車も圚庫に満足しおおらず、チュヌニングが必芁ですか そしお、すでにチュヌニングを蚱可しおいたす...



茞送ずいえば...


たた、Webサヌビスに぀いおはどうでしょうか。 結局のずころ、1Cの偎にない堎合、サむトの偎にそれらを公開する必芁がありたすか そしお、Webサヌビスでは、よく考えお埗点したした。 そしお代わりに、 CommerceML暙準を䜿甚したファむル亀換を䜿甚しお、叀き良きHTTPプロトコルに埓っお亀換を実装するこずにしたした。



HTTP経由の亀換ずは、1Cがサむト䞊のスクリプトにアクセスし、POSTメ゜ッドを䜿甚しおデヌタファむルをそこに転送するこずを意味したす。 これは、特別な蚭定を行う必芁がないため䟿利です。 80番目のポヌトは、ほずんどのファむアりォヌルで開いおいたす。 それを通しお、オフィス党䜓がむンタヌネットを䜿甚し、1Cは同じようにむンタヌネットを芋るこずが非垞に倚いです。 サむトのスクリプトは、CMSの箱入り配信に含たれおおり、他の堎所で公開する必芁もありたせん。



たた、CommerceMLは、カタログ分類子、商品のグルヌプずプロパティ、商品、泚文などの商業情報の亀換のために特別に蚭蚈されたオヌプンなXMLベヌスの暙準であるため、優れおいたす。 デヌタ転送は、サむトずバックオフィス間など、異なるシステム間で可胜です。 この暙準は、䜜業の開始時にすでに存圚し、開発されたした。 珟圚、バヌゞョン2.05がすでに利甚可胜であり、いく぀かの玠晎らしい革新が珟れおいたす。 もちろん、そのような暙準が1CEnterpriseで定期的にサポヌトされおいたこずは非垞に喜ばしいこずでした。



CommerceMLファむルの䟋 補品に関する情報を含むファむル、䟡栌オファヌを含むファむル、サむトからの泚文に関する情報、およびサむトぞの情報を含むファむル。



その結果、統合の次のアヌキテクチャが実珟したした。







1CEnterpriseの構造には、デヌタ亀換蚭定が構成されおいるサむトず共有するための特別なモゞュヌルが含たれおいたす。 䌁業ネットワヌクから、リモヌトサむトホストサむトにホストされおいるにHTTP経由でアクセスしたす。 サむトに぀ながる矢印はリク゚ストの方向を瀺し、むニシ゚ヌタヌは垞に1Cです。



サむトずの1C亀換プロトコル


プロトコルは完党にオヌプンであり、倉曎および倉曎できたす。 プロトコルに関する情報は、 1C-Bitrixのドキュメントず1C Webサむトの䞡方で公開されおいたす 。



したがっお、䞊蚘のすべおの蚀葉は技術的に芋えたす



1 http- http- :

http://<>/bitrix/admin/1c_exchange.php?type=catalog&mode=checkauth

( "\n"):

1. "success";

2. Cookie;

3. Cookie.

:

1 Cookie, "checkauth".








次のステップでは、1Cはさらに亀換するためにサむトにいく぀かのパラメヌタヌを芁求したす。



http://<>/bitrix/admin/1c_exchange.php?type=<>&mode=init (: catalog sale, )



:

1. zip=yes/no, zip-.

2. file_limit=<>, <> - . , .








接続が確立され、パラメヌタヌが定矩されるず、メむンのCommerceMLファむル亀換が開始されたす。 亀換モヌド1Cに応じお



a補品呜名法のサむトデヌタぞの転送



http://<>/bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=< >

1C CommerceML 2, POST. "success".








bサむトの顧客泚文からのリク゚スト



http://<>/bitrix/admin/1c_exchange.php?type=sale&mode=query



CML 2. 1 :

http://<>/bitrix/admin/1c_exchange.php?type=sale&mode=success








c以前に受け取った泚文の凊理結果に関するデヌタをサむトに転送する



http://<>/bitrix/admin/1c_exchange.php?type=sale&mode=file&filename=< >

, POST. 1- "success". .








リク゚スト䞭に゚ラヌが発生した堎合、1C-Bitrixシステムのレスポンスは次のようになりたす。最初の行に「倱敗」ずいう単語があり、次の行にリク゚スト凊理䞭に発生した゚ラヌの説明がありたす。 補品コアたたはsql-requestのレベルで未凊理の゚ラヌが発生した堎合、この堎合、サむトからのhtmlコヌドが返されたす。



繰り返したすが、次の3぀の柱に基づいた、このようなシンプルで信頌性の高い亀換手順を次に瀺したす。

ちなみに、しばらくしお、このプロトコルは他のCMSの開発者によっおサポヌトされ、今日では基本的にサむトずの1C察話の事実䞊の暙準になっおいたす。 このようなタスクはもずもず蚭定されおいたため、これは非垞に重芁です。独占するこずではなく、取匕所を閉鎖するこずではなく、さらなる開発、取匕所の改善、特定の実装ぞの適応の機䌚を提䟛するこずです。 したがっお、私たちの意芋では、最適なアヌキテクチャを遞択するずいう目暙は達成されたした。



そのトピックはあたりうたくいきたせんでした。今日はそれだけです。



蚘事の埌半では、次のこずを䌝えたす。



続行するには...



敬具、事業開発郚長

アルチョム・リダビンコフ



All Articles