バッチ・API開発
サイロ化の解消で効率的なデータ活用を実現
データドリブンでビジネスを成長させるバッチ・APIを開発
SaaSや基幹システムのAPI連携からバッチ処理の自動化まで、複雑なシステム間連携をシームレスに構築します。
LYZONが提供しているサービス
LYZONでは、様々なシステムとのデータ連携開発実績が豊富にあります。特に、Webサイトで扱う会員情報や商品情報をCRMやPIMなどのシステムと連携させることや、CMSのコンテンツを様々なデバイスと連携するためのAPI開発を行うことが可能です。
連携するデータの種類や量、業務の特性に応じてリアルタイムのAPI連携とするか、バッチでの一括連携とするかなど、最適な連携方法を設計できます。
1. APIを利用したWebアプリケーション開発
SaaSや基幹システムが提供する外部APIを活用して、業務アプリケーションを開発します。
既存のクラウドサービスや社内システムの力を引き出しながら、業務にフィットした柔軟なUI/UXを提供します。
2. API開発(他システムへの連携用API開発)
社内データベースや業務ロジックをAPIとして外部公開・他システム連携可能にします。
マイクロサービス化やSaaS間連携に対応し、情報のリアルタイム活用を実現します。
3. バッチ開発(定期・一括処理)
夜間処理・一括変換・ファイル連携などの定期処理を自動化するバッチアプリケーションを開発します。
レガシーシステムとの連携や、SaaS導入後の“隙間”も補完できます。
4. システム連携のシステムアーキテクトの設計支援
APIやバッチを含めて、どのように複数のサブシステムと連携したほうが良いか、設計を支援します。
システム全体像を見据えて、設計することが重要で、様々な経験やノウハウが必要です。
API開発、バッチ開発を通して解決できる課題
異なるシステム間のスムーズな連携を実現
- SFA/CRM、PIM、ERP、販売管理、などの基幹システムとのデータ連携
- Salesforce、kintone、freeeなどSaaSとのAPI統合
複雑な業務フローをバッチ処理で自動化
- 夜間・定期処理、ファイル変換、データ転送などのスケジュールバッチ処理
- 分散したデータの統合や整形処理にも柔軟に対応
よくある開発例
商品情報の一括連携
大量の商品情報を日次バッチでPIMからCMSなどのシステムに連携を行います。データ量が多い場合、前回連携した情報をもとにした差分データのみの連携が望ましいですが、システムの制約を考慮したうえで連携手法の設計を行います。また、連携元のデータ構造が連携先のシステムで扱うのに適さない場合は、連携データを整形した中間DBを作ることで連携先システムで最適なパフォーマンスを実現することが可能になります。
会員情報のリアルタイム連携
会員サイトでの行動(会員登録やログイン、申込みなど)をCRMなどのシステムにリアルタイムで連携します。連携先としてSalesforceやDynamicsなどのCRMだけでなく、KARTEやSalesforce Marketing CloudなどのマーケティングツールやTreasure DataやSnowflakeなどのCDPツールとの連携も可能です。
CMSコンテンツの連携API開発
CMSに登録されているキャンペーン情報やお知らせ情報などを様々なデバイス・システムに連携するためのAPI開発を行います。スマホアプリやECサイトなどに表示されるコンテンツをCMSで一元管理し、API連携することでシームレスにお客様に情報を提供することが可能になります。
また、API開発における標準的なルールや設計方針(RESTfulなど)が整備されているため、低価格で高品質なAPI開発が実現可能となっています。
その他連携開発
様々なお客様の要望や業務特性に応じてシステム間のデータ連携を開発することができます。
- SNSとの連携、郵便番号検索といったWebサイト上で利用するデータの連携
- 予約システムとカレンダー・通知系サービスの統合
- CMSとプロジェクト管理システム(Backlogなど)の連携
- 業務SaaSのAPIを活用した申請・承認フロー構築
- 社内システムとWebポータルの双方向データ連携
- ECサイトと在庫管理/配送システムの連携
- Excel/CSVを介したレガシー業務の自動化・変換
- データベース間のETL処理設計
バッチ・API開発について
バッチ・API開発とは
バッチ開発は、決まったタイミングで大量のデータ処理を自動実行する仕組みを作ること、API開発は、システム同士がデータや機能をやり取りできる窓口を作ることを指します。どちらもシステム間連携や業務自動化に欠かせない重要な技術です。
マイクロサービス化に伴うAPI開発の重要性
マイクロサービスという開発手法が浸透し、これまでのモノリスで作られたシステムに比べて格段にAPI開発の重要性が高まってきています。
マイクロサービスは、柔軟性・拡張性が高いというメリットがある反面、APIでの連携が必須になるため、API設計の品質がシステム全体の品質に直結します。
そのため、マイクロサービスでシステムを構築する場合、開発業者がどの程度API開発や連携開発に精通しているかが重要なポイントになります。
システム・データのサイロ化の影響
システムが部署ごとに分かれ、データが連携されていないサイロ化が発生すると個々のデータの真価が発揮できず、データが整理されていない状態だと今後のAI活用への影響も出てきてしまいます。
その状態を改善し、データドリブンでのスピーディーな意思決定をするためにもAPIでのデータ連携やバッチ等でのデータ統合が経営的にも重要なテーマとなります。
LYZONが提供できるバリュー
API開発における標準ルール
API開発において、統一のルールに基づいて設計することが他システムとの連携しやすさに繋がり、運用性においても効果を発揮します。
LYZONでは一般的なRESTの原則(ステートレス、統一インターフェース、レイヤーシステムなど)に則りつつ、更に一段階深堀りした独自のルールを設けることで、より一貫性があり、保守性に優れるAPIを開発することが可能になっています。
APIのエラーハンドリングの重要性
APIの品質を向上させるために必須なことは、予期せぬエラーが起きた際の振る舞いです。
特にマイクロサービスで細分化したシステムにおいて、一部のサービスでエラーが発生したときにシステム全体に影響が出ない(問題を悪化させない)ような仕組みが必要になります。
その仕組みの代表例がサーキットブレーカーというパターンになり、エラーが発生したシステムに継続的にリクエストが繰り返されないようにすることで、システムの健全性を保つことに繋がります。
ただし、システムの特性によっては一時的なエラーになるケースを考慮して、再試行パターンを採用し、正常になるまでリトライを繰り返した方が良い例もあるため、LYZONではシステムの全体最適を考慮し、エラーハンドリングのパターンを組み合わせて設計を行うようにしております。
また、バッチ処理で大量のデータを一括で連携する際のエラーハンドリングで特に考慮が必要なポイントはロールバックです。
仮に100件のデータ連携時に50件目でエラーが発生した際、49件のデータの連携が成功したままになってしまうと、連携元とのデータの整合性が保たれなくなってしまうため、成功した49件のデータをもとに戻すロールバックの処理が必要になります。
データ連携時のログ設計
データ連携時において、ログの設計も大切なポイントになります。
システム間のデータ連携で失敗した際、どこでエラーが起こり連携に失敗したのかを判断するためにはログの確認が必要不可欠です。
そのため、適切にログが出力されていないとエラーの原因を追うことが難しくなってしまいます。
よくあるケースとして、API連携を行う際、システム間にAPIゲートウェイを設けることがありますが、このような環境でAPI連携に失敗した際、どこのシステムに問題があったかを特定することは複雑になるため、以下のようなチェックポイントを確認できるログ出力が必要になります。
ただし、連携の頻度やデータ量が多い処理の場合、すべてのチェックポイントに対するログを出力してしまうと、大量のログが出力され、逆に分かりづらいログになってしまったり、サーバーのディスクを逼迫させる原因となってしまうため、システム・業務の要件に応じて適切にログ出力を設計することはとても重要な要素になります。
ログ出力する内容の例
- DEBUG:リクエストやレスポンスの内容を出力
- INFO:リクエストやレスポンスしたことを出力
- WARN:処理継続可能な例外が起きたことを出力
- ERROR:処理継続不可能な例外が起きたことを出力
APIを利用、開発する検討ポイント
APIを設計するにあたり、検討すべき重要なポイントがあります。
- APIのプロトコル:REST、GraphQL、SOAPなど
- 互換性:連携先で対応できるプロトコルを設計時に確認する
- 認証、認可の方式: OAuth2.0、OpenID Connect(OIDC)、SAMLなど
- 互換性とセキュリティを担保するために必要
- データ形式:JSON、XML、Protobufなど
- フロント/外部連携先とのパフォーマンスに関わる
- エラーハンドリング方針
- APIの成功/失敗時のレスポンス形式とステータスコードの定義
- エラー時のメッセージ設計やエラーコード設計も統一することが重要
- バージョンニング設計
- 長期運用を見据えて、APIの互換性をどのように保つか
- URLにバージョンを含める(例:/api/v1/) or Headerやパラメータで管理
- ログ対応/モニタリング設計
- APIの呼び出しログ、エラー発生率、レスポンス時間などを監視・分析する仕組み
- CloudWatch、Datadog、Azure Monitorなどのモニタリングツールとの連携が必要
- スケーラビリティと可用性設計
- 負荷分散(ロードバランサ)、水平スケール対応、フェールオーバーの設計
- キャッシュ(API Gateway、CDN、Redisなど)活用の有無
その他、Webアプリケーション連携開発 周りで重要なポイント
- セッション管理の方式
- セキュリティ、スケーラビリティ、ユーザー体験、インフラ構成、他システムの状況によって最適な設計が変わってくる
- CORS(クロスオリジン)ポリシー
- フロントエンドとバックエンドが別ドメインになる場合、ブラウザの制約を意識した設定が必須
- 適切なAccess-Control-Allow-Originなどの設定
- レートリミット/スロットリングの設計
- 想定外のアクセス増加、DoS攻撃、誤操作への防御策
- 例えば、API Key単位、IPアドレス単位でのアクセス制限
- ドキュメント公開・仕様定義方式
- OpenAPI (Swagger)、GraphQL SDL、Postman Collectionなどで仕様を明文化
- 利用者(フロントエンド、外部企業、SaaS利用者)が理解しやすいように整備
LYZONの実績
Case 1
運基幹連携をし、世界中に商品情報をリアルタイムにお届け
SEIKOサイト
&
Grand
Seikoサイト
の2サイトを、Sitecoreを利用し、23か国18言語(2022年5月時点)の全ページのフルリニューアルを約1年間の開発において実現しました。
サイト構成、レイアウト、デザインを刷新するとともに、基幹連携として製品情報や地図情報を連携し、世界中に商品情報をリアルタイムにお届けします。
クライアントの課題
10,000点を超える膨大な商品を管理しているため、その運用が非常に複雑になっています。さらに、日本国内とグローバルで商品IDの管理方法が異なっていることから、商品情報を一元的に連携するための仕組みが十分に整っていません。加えて、各国や地域ごとに販売している商品が異なるため、それぞれの販売地域に合わせて必要な商品情報だけを的確に連携することが難しい状況でした。
また、自社のウェブサイトだけでなく、外部のサイトや他システムでも商品情報を活用したいというニーズがある一方で、APIのインターフェースの標準化が十分に進んでいないため、さまざまなシステムから商品情報を参照できる柔軟なAPI基盤の構築が課題となっています。今後の拡張や他サービスとの連携にも対応できる体制を整える必要がありました。
LYZONの対応
PIM連携で自動更新の仕組みを確立
商品情報データベースと画像管理システムを連携し、両者の情報をまとめて扱える仕組みを構築しました。加えて、基幹システムの独自仕様を十分に考慮し、柔軟に対応できる連携方法を設計・実装しました。
さらに、PIM(商品情報管理システム)との連携を強化し、PIMを通じて商品情報の自動更新ができる仕組みを確立しました。
これにより、Webサイトや外部システム、各国・地域ごとに必要な商品情報をリアルタイムかつ正確に提供できるようになり、APIインターフェースの標準化も進めることで、今後の拡張や他サービスとの連携にも柔軟に対応できる体制を実現しています。
- Client
- セイコーウオッチ株式会社 様
- Industry
- 製造・販売・流通
- Requirement
-
- 時代のニーズに即したデジタルマーケティングの推進
- 異なるペルソナの潜在顧客に対するカスタマイズされたコミュニケーション戦略
- 消費者目線へのサイトに変換、ユーザー体験を向上
- Person-Month
- 約170人月(対象システム部分のみ)
- Expertise
-
グローバルサイトHTMLアップローダー地図連携多言語他地域PIM連携
Case2
スマホアプリとの情報連携や、基幹システムとのキャンペーン情報・クーポン情報の連携
各社のコーポレートサイトと合わせて事業主体であるクレジットカードの登録促進のためのサイトを構築しました。
単純なサイト構築だけでなく、会員サイトシステムやPIMシステムなどと連携があるシステムで、各システムベンダーと連携しながら構築・開発を行いました。
アプリとの情報連携、基幹システムとのキャンペーン情報、クーポン情報連携のためのAPI開発などを実施しました。
クライアントの課題
- 紙や Excel を用いたサイト運用となっている為、作業工数を要し、かつ作業ミスを誘発しやすい状況になっている
- 多重確認の実施など、非効率な作業フローでのサイト運用を余儀なくされている
LYZONの対応
各システムとの連携
クレジットカードのWebサイト「暮らしのマネーサイト
」とカード利用者向けスマートフォンアプリ「イオンウォレット(イオンカード公式アプリ)」では運用部署も使用システムも別で管理されていました。
そのため、同じ情報を二重管理することなく相互に連携させることが求められていました。
そこで、システム全体を俯瞰する構成図を抜けもれなく作成し、Web/アプリ共通で使用するキャンペーン情報はSitecoreからAPIでの連携を行いました。「暮らしのマネーサイト」(PC/スマホブラウザ)では、SPAでの表示を実装。「イオンウォレット」(スマホアプリ)専用のクーポン情報は、独自のアプリ管理システムから送られたデータを、アプリ内のWebビューで表示するなど、それぞれの箇所に適した実装方法で構築を行いました。
多数のシステムが複雑に絡み合う構成ではありましたが、既存の資産(別システム)への改修を最小限にした形で、リニューアルを実施することができました。
このリニューアルにより、運用の冗長性を可能な限り減らすことができました。
- Client
- イオンフィナンシャルサービス株式会社 様
- Industry
- 金融・保険
- Requirement
-
- 運営効率化を図り、新規入会促進や会員さま向けキャンペーン告知などのスピーディーな配信・運営を目指します
- サイト運用における作業工数の軽減・運用効率向上
- コンテンツ更新までのワークフローの確立
- Person-Month
- 約125人月(対象システム部分のみ)
- Expertise
-
コーポレートサイトアプリ連携サービスサイト構築Webシステム開発
Case3
サンプル依頼システムと仕様書・データ請求システムの開発
Sitecore導入によるサイトリニューアルと同時に、工場からお客様へ直接サンプルを送付する仕組みを開発しました。
製品情報や工場内の在庫を管理する基幹システムとの連携開発を行い、商品データを即時に同期させることでユーザーに迅速にサンプルを届けることが可能になり、営業担当の負担と送付ミスの削減を実現しました。
クライアントの課題
- 約20年前に導入した社内向け営業マン用システムの老朽化
- システム化の範囲が狭く、サンプル品の依頼が電話やメール、FAX等で営業マンを介さないと行えない状況
これまで、サンプル商品の依頼対応は営業担当者または営業サポートが主に行っており、国内では十数名の体制でお客様からのサンプル依頼を受け付けていました。しかし、サンプル依頼時の条件ヒアリングや対応業務が煩雑で、主にFAXなどのアナログな手段に頼っていたため、業務負荷が大きいという課題がありました。 また、依頼受付が営業時間内に限られていたため、お客様が24時間365日いつでもサンプルを依頼できる体制が求められていました。さらに、対象となるサンプルの検索性が低く、オーダーミスが発生しやすい状況でした。
LYZONの対応
各システムとの連携
従来のシステムの老朽化を受けて刷新を実施し、以下のシステムを新たに開発しました。
- サンプル依頼システムの開発
社内営業マンおよび代理店向けに、サンプル商品の依頼ができるシステムを構築しました。
データとデジタル技術を活用し、顧客や代理店もアクセス可能なオープンなシステムとしました。
24時間365日いつでも依頼が可能となり、営業担当者が不在の場合でもスムーズな対応が実現しました。
Web経由での新規顧客の流入が増加し、売上向上に貢献しました。 - 仕様書・データ請求システムの開発
社内営業マン向けに、仕様書やデータの請求を効率的に行えるシステムを導入しました。
業務効率化が進み、営業活動の生産性向上および利益率の増加を実現しました。 - 工場印字システムとの連携
ウェブからの注文情報を工場の印字システムと連携しました。
顧客からの依頼内容が直接工場に伝わり、即座に生産・発送が可能となりました。
これにより、サンプル商品の提供スピードが大幅に向上し、工場から直接お客様への発送も実現しました。
このように、デジタル技術を活用したシステム刷新により、業務効率化と顧客満足度の向上、そして売上・利益率の増加に大きく貢献しました。
- Client
- KOA株式会社 様
- Industry
- 製造・販売・流通
- Requirement
-
- システム老朽化の改善
- 社内で利用できるだけでなく、お客様に利用していただくシステムに改善
- Person-Month
- 約30人月(対象システム部分のみ)
- Expertise
-
コーポレートサイトアプリ連携サービスサイト構築Webシステム開発