DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 올리브영
  • Related reads#WebComponents
#Frontend

프레임워크에 구애받지 않는 통합 백오피스 구축하기

프레임워크에 구애받지 않는 통합 백오피스 구축하기
01

Summary

React, Vue, JSP를 하나로! 올리브영의 '웹 컴포넌트' 기반 백오피스 통합 여정

iframe의 세션 한계와 지옥 같은 중복 개발을 원샷으로 지워버린 마이크로 프론트엔드 구축 가이드

올리브영 카탈로그 팀이 이기종 프레임워크 환경에서도 단 하나의 소스 코드로 공통 화면을 동기화할 수 있는 영리한 아키텍처를 선보입니다. 무거운 시스템 통합 없이 웹 표준인 '웹 컴포넌트'와 모노레포를 사용해, 부모 시스템의 세션 자원을 완벽하게 공유하면서 화면 단위 배포 효율성까지 확보한 비법을 상세히 정리했습니다.

  • 01iframe의 SameSite 보안 이슈와 로그인 중복 요구 문제를 완벽하게 회피하는 브라우저 표준 통합
  • 02Vue 3의 `defineCustomElement` API를 활용하여 모던 프레임워크 기반의 커스텀 웹 엘리먼트 신속 제작
  • 03모노레포에서 공통 패키지를 단일 관리함으로써 코드 중복을 최소화하고 일관된 업데이트 제공
  • 04S3와 CDN 인프라를 활용하여 어떤 백오피스 시스템에서든 단순 스크립트 로드로 화면 결합
  • 05React 환경에서도 유연하게 조화를 이룰 수 있도록 커스텀 훅(`useWebComponent`)을 포함한 세부 세팅 팁 공개

+RECOMMENDATION

여러 종류의 레거시와 모던 웹 프레임워크를 동시 운영하며 중복 UI 개발에 지친 시니어 리드나, iframe 대신 유연하고 강력한 격리 기능을 원하는 백오피스 설계자에게 적극 추천합니다.

The Problem

서로 다른 프레임워크(React, Vue, JSP)로 구축된 여러 백오피스 시스템에 동일한 기능의 화면을 중복으로 개발해야 하는 비효율이 존재했습니다. 기존 iframe 방식은 로그인 세션 공유 불가능 등의 한계가 있었고, 단일 프레임워크로의 전체 마이그레이션은 막대한 리소스 소모와 리스크를 동반했습니다.

The Solution

Vue 3의 `defineCustomElement`를 활용하여 프레임워크에 구애받지 않고 빌드 및 서빙 가능한 표준 웹 컴포넌트를 설계했습니다. 소스 코드는 단일 모노레포에서 통합 관리하며, 빌드된 파일은 S3와 CDN을 통해 정적 자원으로 배포하여 각 시스템에서 커스텀 태그만으로 렌더링할 수 있게 조치했습니다.

The Result

한 벌의 코드로 여러 이기종 시스템에 공통 화면을 빠르게 구축하고 중복 코드를 방지하여 유지보수 효율을 극대화했습니다. 실제 가동되는 로그인 세션 및 전역 리소스를 부모 창과 온전히 공유할 수 있어, iframe의 UX 저해 요인을 극복한 것으로 보입니다.

Trade-off

웹 컴포넌트 도입을 위한 모노레포 설계 및 신규 빌드 파이프라인 구축 등에 초기 개발 환경 비용이 들어갑니다. 또한, Shadow DOM 사용으로 인해 스타일 캡슐화 문제가 발생할 수 있으며 이를 해결하기 위한 리액트 커스텀 훅 등의 정교한 구현 처리가 요구됩니다.

03

Key Concepts

Concept · 01

Web Components

웹 표준 기술로서 브라우저가 자체적으로 커스텀 태그를 해석하고 실행할 수 있도록 캡슐화된 기능을 제공하는 API 모음입니다.

  • Vue의 `defineCustomElement`를 통해 모던 프레임워크 기반의 기능들을 순수 웹 컴포넌트 형태로 변환했습니다.
  • 프레임워크 제약 없이 React, Vue, JSP 모두에서 커스텀 태그 선언만으로 렌더링되도록 구현했습니다.
Concept · 02

Monorepo

여러 개의 프로젝트나 패키지를 하나의 저장소(Repository)에서 통합적으로 관리하며 공통 요소를 효율적으로 공유하는 아키텍처 패턴입니다.

  • 여러 백오피스에 서빙할 상품 관리 컴포넌트 소스 코드를 한곳에서 표준화하여 중복 개발을 원천 차단했습니다.
Concept · 03

Shadow DOM

브라우저가 제공하는 표준 기술로, 특정 요소의 DOM 구조와 스타일링을 전역 DOM 스타일과 완전히 격리하는 캡슐화 메커니즘입니다.

  • 부모 시스템의 스타일 오염 없이 웹 컴포넌트의 고유 디자인을 보존하기 위해 활용되었습니다.
  • 커스텀 훅을 통해 Shadow DOM 위에서도 부모 시스템과의 충돌 없이 스타일이 유연하게 렌더링되도록 상세 구조를 보완했습니다.
Continue reading · same source

올리브영More from 올리브영

View all posts from 올리브영
  • 옴니채널 재고 정합성 한계에 대응하는 인벤토리 데이터 파이프라인 구축기

    KafkaSpring BatchEDA
    1주 전
  • 에러로그 하나에 깨던 새벽에서 벗어나기까지 — 상품 모니터링 진화기

    DatadogCDCAutomation
    1주 전
  • 150개국 K-뷰티 플랫폼 뒤의 팀, 올리브영 글로벌엔지니어링센터의 첫 번째 워크숍 이야기

    GenAIVibe CodingVertex AI
    2개월 전
  • 45분 배치에서 준실시간으로! 다수 도메인 데이터를 Kafka로 통합한 전환기

    KafkaEvent-Driven ArchitectureRedis Pub/Sub
    2개월 전
  • AI와 협업하는 새로운 개발 프로세스, 올리브영은 어떻게 시작했을까 (feat. AI-DLC)

    AI-DLCSDLCAWS
    2개월 전

Related reads#WebComponents

Explore #WebComponents
NAVER D2·React

FE News 26년 5월 소식을 전해드립니다.

#WebComponents2개월 전

Source

올리브영
올리브영
Engineering Blog

Published · July 14, 2026

Topics

Web ComponentsMonorepoVueReactBackoffice