Upgrade to Pro — share decks privately, control downloads, hide ads and more …

複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Ra...

END
October 17, 2024

複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Rails import architecture for integration and transformation of multiple external service data

END

October 17, 2024
Tweet

More Decks by END

Other Decks in Technology

Transcript

  1. 8 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ GemΛར༻͠ɺϨεϙϯεΛ

    GemͷΠϯελϯεͱͯ͠औಘ͢Δ Transformer૚ Importer૚ Client૚ GitLab ςʔϒϧ GitHub ςʔϒϧ
  2. 9 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Transformer૚

    Importer૚ Client૚ GitLab ςʔϒϧ GitHub ςʔϒϧ αʔϏεಠࣗͷσʔλߏ଄ͷ·· αʔϏε͝ͱͷσʔλ֨ೲ༻ςʔϒϧʹอଘ
  3. 10 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Transformer૚

    Importer૚ Client૚ GitLab ςʔϒϧ GitHub ςʔϒϧ ֤αʔϏεͷσʔλߏ଄ࠩ෼Λ ٵऩ͠ɺڞ௨ͷςʔϒϧʹอଘ
  4. 12 ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Transformer૚ Importer૚ Client૚

    GitLab ςʔϒϧ GitHub ςʔϒϧ Client૚ͱImporter૚͕ີ݁߹͍ͯ͠Δ 😢 Importer૚ͰσʔλͷfetchɺՃ޻ɺ Ϩίʔυอଘʹඞཁͳ֎෦ΩʔΛऔಘɺ ҰׅอଘΛߦ͍ͬͯΔ 😢 Importer૚ͷςετʹAPIͷελϒ͕ ඞཁ ैདྷͷΞʔΩςΫνϟͷ՝୊
  5. 13 ಠࣗGemͷ Πϯελϯε Transformer૚ ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Importer૚ Client૚

    GitLab ςʔϒϧ GitHub ςʔϒϧ ΤϥʔϋϯυϦϯάɺϦτϥΠॲཧͳͲ͕ Client૚ɾImporter૚ͷ͍ΖΜͳՕॴͰ࣮૷ ͞Ε͍ͯΔ ैདྷͷΞʔΩςΫνϟͷ՝୊
  6. ৽ͨͳσʔλΠϯϙʔτͷΞʔΩςΫνϟ • Client૚Λlib഑Լʹஔ͘Α͏ʹͨ͠ 19 . ┣━━━ app ┃ ┣━━ importer

    ┃ ┃ ┣━━ service_a ┃ ┃ ┗━━ service_b ┃ ┗━━ transformer ┗━━━ lib ┣━━ service_a_client ┗━━ service_b_client
  7. 20 Before ಠࣗGemͷ Πϯελϯε Client૚ ֎෦ αʔϏε ֎෦ αʔϏε app

    After Representation Πϯελϯε αʔϏεಠࣗ ςʔϒϧ දࣔσʔλ༻ ςʔϒϧ Client૚ Importer૚ Transformer૚ Importer૚ Transformer૚ αʔϏεಠࣗ ςʔϒϧ දࣔσʔλ༻ ςʔϒϧ app lib