まえがきはじめまして、今年の4月にラクスルへ新卒のエンジニアとして入社しました喜屋武です。入社以降、ラクスル事業本部のエンタープライズ事業部で法人向けのサービスをサーバサイドエンジニアとして開発しています。私が所属しているエンタープライズ事業部が提供するサービスは、企業内のアカウントや注文の管理を行うことができる法人利用をラクにするラクスルの印刷サービスです。このサービスが提供している機能の1つとして、最近リリースしたデザイン管理という機能があります。使ったため、このことについて書いていきたいと思います。いうサービスが存在します。上で作ることが出来るサービスです。このサービス上で作ったデザインを他の人へ共有する場合は、共有設定をデザインごとにおこない、生成されたURLの受け渡しを行うことでデザインの共有ができます。このサービスを企業で利用しようとするとURLの管理を行わなければならず煩雑になってしまいます。デザイン管理はこの課題を解決し、企業内でよりラクにデザインを共有できるようにした機能です。デザイン管理の項目をご覧ください。ラクスルのオンラインデザイン[/caption]実現するための課題この機能を実現するためにエンタープライズのサービスだけではなく、別サービスとしてラクスルが提供しているオンラインデザインのサービスと連携しなければなりませんでした。具体的に言うと、エンタープライズが持っている企業とユーザの関係性のマッピングのデータをオンラインデザイン側に提供する必要がありました。オンラインデザイン上で企業が管理できるデザイン数を企業ごとにエンタープライズ側から制御したいという要望があり、エンタープライズで設定された情報をオンラインデザイン側に大きな遅延を発生させず同期を行う必要がありました。いうミドルウェアを一部に用いて連携を行いました。分散メッセージキューのシステム間のデータの受け渡しを仲介しデータを一時的に保持するミドルウェアです。Producer、受け取り側をConsumerと呼びます。メッセージキューを介してシステム間の通信を行うことで、システム間の接続経路を簡略化し、システムを疎結合に保つことができるようになります。しているサービス(今回はオンラインデザイン)が自身に関係のある変更であれば、適切なタイミングでデータの更新を行うことが出来るようになります。同期する必要が無いデータやログインしているユーザが初めてアクセスした時などオンラインデザイン側がデータを持っていない場合に関しては、RPCを使ってデータの受け渡しを行うようにしました。ここでいうデータを同期する必要が無いものとは、オンラインデザイン上にエンタープライズ側の情報を保存していないデータです。上記のフローを図に表すと以下のようになります。他の方法として挙げられると思います。ステータスコードなどに依存してしまうことになります。使うことでエンタープライズは、オンラインデザインのシステムに関心を持たずデータを提供するだけのシステムとして存在することができます。見に行くだけで情報が取れるようになります。使った実績が他にもあり社内の知見を活かすことができたからです。使った内容について書きました。使うことでシステム間を疎結合にすることができました。このように関心があるサービスをできるだけ少なくすることで保守性もあがり今後の拡張も容易になると思うので、今後も有効なケースがあれば積極的に使っていきたいと思います。ラクスルではエンジニアを募集しています!ラクスルのアドベントカレンダー全編はこちらから採用情報のご案内ラクスルではエンジニア・プロダクトマネージャーを募集中!募集内容は以下のリンクをご確認ください。1日目です!なんとトップバッター...2020-07-15新卒エンジニアがラクスルでの三ヶ月を振り返ってみたこんにちは。新卒としてラクスルに入社したサーバーサイド...2019-07-30オンラインデザインのPHPからRailsへのリプレイスこんにちは。(1)執筆者リストid:raksuldevid:raksulengineersid:tomi-t0mmyid:yyasuoid:w_haibaraid:kz_moritaid:rnasakazuid:kectakaid:wadarisaid:smasatoid:tsuyosixxid:HappyManaid:umanodaid:TamtamFitnessid:songcunyouzaiid:kenshin1025id:miyah-kunid:t-shinkai00id:hee-sanid:mi_watanabeid:kentata_19id:araishioriid:s_miyataid:asunikakimasuid:mktakuyaxid:jannema8036id:panda4126id:jukuin2000id:s-izumidaid:mugicha22id:A28Rhid:rak_yyyid:towatanabeid:ymartonid:mic_kimuraid:t-pori418id:k-okiid:ippeikatoid:lbthanhid:sista05id:thai_nguyenid:ko94devericid:isoflabonid:raksul_lambda引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。