
Liferay DXP는 대부분의 기존 시스템 및 기술과 함께 작동하도록 설계된 강력한 통합 플랫폼입니다. 외부 시스템을 통합하고 다양한 도구와 API 빌더를 제공하여 데이터 사일로화를 방지하고 원활한 디지털 경험을 제공합니다. 특히 기업 환경에서는 기존 시스템과의 유연한 연결이 필수적이며, Liferay는 이를 위한 포괄적인 솔루션을 제공합니다.
Liferay의 통합 기능은 크게 세 가지 영역으로 나눌 수 있습니다. 첫째, 싱글 사인 온(SSO)을 통한 인증 통합, 둘째, REST/GraphQL API를 통한 데이터 연동, 셋째, 클라이언트 익스텐션을 활용한 마이크로서비스 통합입니다. 이러한 다양한 통합 방식을 통해 기업은 기존 IT 인프라를 최대한 활용하면서도 현대적인 디지털 플랫폼을 구축할 수 있습니다.
SSO(Single Sign-On) 연동 방법
SAML 인증 통합
SAML(Security Assertion Markup Language)은 Liferay에서 가장 권장하는 SSO 프로토콜입니다. Liferay는 Identity Provider(IdP) 또는 Service Provider(SP) 역할을 모두 수행할 수 있으며, SAML 2.0 표준을 완벽하게 지원합니다. SAML 요청은 Liferay에서 구성된 인증서를 사용하여 서명되며, SAML Web Browser SSO 프로파일을 사용합니다.
Liferay SAML 어댑터의 주요 특징:
- 다중 Identity Provider 연결 지원
- 커스텀 서명 알고리즘 지원(SHA-256 등)
- 개발자를 위한 확장 포인트 제공
설정 과정에서는 먼저 SAML 메타데이터 XML 파일을 생성하고, 이를 통해 다른 시스템과의 연동을 설정합니다.
OAuth 2.0 통합
OAuth 2.0는 업계 표준 인증 프로토콜로, 사용자가 Liferay 기반 웹사이트의 선택된 자격 증명을 다양한 클라이언트와 원활하게 공유할 수 있게 해줍니다. OAuth 2.0의 설계는 HTTPS를 통해 모든 인증 전송을 암호화하여 시스템 간에 전달되는 데이터가 가로채지는 것을 방지합니다.
OAuth 2.0의 주요 특징:
- 웹 표준을 최대한 활용
- HTTPS를 통한 암호화된 전송
- HTTP 헤더로 구현된 토큰
- 웹 서비스를 통한 데이터 전달
- PKCE(Proof Key for Code Exchange) 지원을 통한 보안성 강화
OpenID Connect 지원
OpenID Connect는 OAuth 2.0 위에 구축된 인증 레이어로, Liferay에서는 플러그인을 통해 지원됩니다. 이 프로토콜은 Liferay가 소셜 네트워크나 SSO 시스템과 같은 외부 인증 소스를 사용할 수 있게 해줍니다.
OpenID Connect 플러그인은 일반 로그인 플로우를 가로채고 OpenID Connect 공급자로 리디렉션하는 서블릿 필터와 인증을 완료하는 자동 로그인으로 구성됩니다.
LDAP 통합
| LDAP 인증 | 사용자 인증 | 기존 LDAP 디렉토리를 통한 사용자 인증 |
| LDAP 사용자 가져오기 | 사용자 동기화 | LDAP에서 Liferay로 사용자 정보 가져오기 |
| LDAP 사용자 내보내기 | 사용자 생성 | Liferay에서 LDAP로 사용자 정보 내보내기 |
Liferay는 Apache Directory Server, Microsoft Active Directory, Novell eDirectory, OpenLDAP 등 다양한 LDAP 서버와의 통합을 지원합니다. LDAP 인증은 다른 SSO 구현과 달리 Liferay의 인증 파이프라인에 직접 주입되는 Authenticator를 사용합니다.
REST API를 통한 외부 데이터 연동
Liferay Headless API 활용
Liferay DXP는 대부분의 애플리케이션에 대해 완전한 REST 서비스를 제공하며, 이러한 서비스는 완전히 OpenAPI 규격을 준수합니다. API 탐색기를 통해 localhost:8080/o/api에서 다양한 API 엔드포인트를 확인할 수 있으며, 각 API는 상세한 문서와 사용법을 제공합니다.
Headless API의 주요 장점:
- 프론트엔드와 백엔드의 분리를 통한 콘텐츠 전달의 유연성
- OAuth2 도입을 통한 향상된 보안성
- 표준화된 인터페이스를 통한 개발 단순화
이를 통해 레거시 시스템에서의 데이터 마이그레이션, 커스텀 웹/모바일 애플리케이션 구축, Salesforce나 SAP와 같은 외부 시스템과의 인터페이스 등이 가능합니다.
GraphQL API 지원
Liferay 7.2부터 도입된 GraphQL API는 동적 JavaScript 애플리케이션 구축을 위한 강력한 쿼리 기능을 제공합니다. localhost:8080/o/graphql 엔드포인트를 통해 접근할 수 있으며, REST API와 동일한 기능을 제공하면서도 관계형 데이터 처리에 특화되어 있습니다.
GraphQL의 주요 특징:
- 페이지네이션, 필터링, 검색, 정렬, 희소 필드셋 지원
- 관계형 데이터를 한 번의 요청으로 가져올 수 있는 관계 쿼리 기능
- 인터페이스와 제네릭, 프래그먼트, 노드 패턴 등 GraphQL의 고급 기능 완벽 지원
외부 REST 서비스 호출
Liferay에서 외부 REST API를 호출하는 방법은 여러 가지가 있습니다. 포틀릿이나 모듈 내에서 HTTP 클라이언트를 사용하여 외부 API를 호출하고, 받은 데이터를 Liferay 페이지에 표시할 수 있습니다. JSON과 XML 응답 모두 처리 가능하며, 컴파일 없이 런타임에 통합이 가능합니다.
클라이언트 익스텐션을 활용한 시스템 통합
클라이언트 익스텐션 개요
클라이언트 익스텐션(Client Extension)은 Liferay의 핵심 코드를 수정하지 않고도 새로운 기능을 추가하거나 기존 기능을 사용자 정의할 수 있는 혁신적인 방법입니다. OSGi 모듈이나 테마와 달리 클라이언트 익스텐션은 Liferay의 API와만 인터페이스하며, 이러한 느슨한 결합으로 인해 더욱 유연하고 업그레이드 후에도 쉽게 적용할 수 있습니다.
클라이언트 익스텐션은 Liferay 외부에서 실행되며 원하는 프로그래밍 언어나 기술을 사용하여 생성할 수 있습니다. 네 가지 주요 카테고리가 있습니다: 프론트엔드, 마이크로서비스, 구성, 배치 익스텐션입니다.
마이크로서비스 통합
Liferay는 클라이언트 익스텐션을 통해 마이크로서비스 아키텍처를 완벽하게 지원합니다. Spring Boot와 같은 마이크로서비스를 Liferay Cloud에 별도의 Docker 컨테이너로 배포하고 관리할 수 있으며, 이를 통해 배포와 관리가 쉽고 효율적입니다.
마이크로서비스 통합의 핵심은 OAuth 2.0 토큰을 활용한 보안 통신입니다. 커스텀 엘리먼트 클라이언트 익스텐션이 보호된 경로에서 데이터를 가져와 프론트엔드 위젯에 표시하는 시나리오에서, OAuth 2.0 토큰을 통해 인증된 클라이언트만이 마이크로서비스에 접근할 수 있도록 보장합니다.
IFrame과 Custom Element 타입
클라이언트 익스텐션은 두 가지 주요 타입을 제공합니다:
IFrame 타입: 외부 애플리케이션을 별도의 iframe 요소로 렌더링하며, Liferay의 클라이언트 SDK API를 사용하여 호스트 페이지와 제한적인 상호작용이 가능합니다.
Custom Element 타입: Liferay 플랫폼과의 더 깊은 통합을 제공하며 더 복잡한 시나리오를 지원합니다.
주요 기업 시스템과의 연동 사례
Salesforce 연동
Liferay Connector to Salesforce를 통해 Salesforce Sales Cloud와 Liferay DXP 간의 자동 동기화가 가능합니다. 계정과 연락처를 Salesforce에서 Liferay로 자동으로 동기화하여 원활한 고객 온보딩을 제공하며, 제품과 가격 정보를 Liferay DXP로 자동으로 가져와 단일 장소에서만 제품을 관리할 수 있습니다.
Salesforce 연동의 장점:
- 고객 경험의 일관성 유지
- 데이터 중복 제거
- Liferay 내에서 작업 구성, 스케줄링, 모니터링이 모두 가능
MuleSoft 통합
Liferay MuleSoft 커넥터는 Anypoint Studio나 Anypoint Design Center를 사용하여 Liferay를 MuleSoft 생태계의 다른 플랫폼 및 서비스와 연결할 수 있게 해줍니다. Mule Flow를 설계하여 레코드를 배치로 가져오기, 업데이트, 삭제할 수 있으며, 이를 통해 복잡한 데이터 통합 시나리오를 효율적으로 처리할 수 있습니다.
Data Provider를 통한 동적 데이터 연동
Liferay Forms의 Data Provider 기능을 사용하면 외부 REST 서비스로부터 동적으로 폼 필드를 채울 수 있습니다. REST Data Provider는 대부분의 REST 엔드포인트에서 데이터를 소비할 수 있는 유연한 방법을 제공하며, 필요에 따라 커스텀 Data Provider를 개발할 수도 있습니다.
통합 아키텍처 설계 모범 사례
보안 고려사항
외부 시스템과의 통합에서 보안은 가장 중요한 요소입니다. 다음 사항들을 반드시 고려해야 합니다:
- HTTPS를 통한 모든 통신 암호화
- OAuth 2.0이나 SAML을 통한 강력한 인증
- API 토큰의 적절한 관리
특히 마이크로서비스 아키텍처에서는 각 서비스 간의 통신에 대한 보안 정책을 명확히 정의해야 합니다.
성능 최적화
대용량 데이터 통합 시에는 배치 처리와 비동기 처리를 적극 활용해야 합니다. Liferay의 Batch Engine API는 CSV, JSON, XLSX 형식을 지원하며 대용량 데이터셋을 처리할 수 있습니다. 또한 캐싱 전략을 통해 외부 API 호출을 최소화하고 응답 시간을 개선할 수 있습니다.
확장성 고려사항
미래의 확장을 위해 느슨한 결합 아키텍처를 유지하는 것이 중요합니다. 클라이언트 익스텐션을 사용하면 Liferay 업그레이드 시에도 커스터마이제이션이 유지되며, API 버전 관리를 통해 하위 호환성을 보장할 수 있습니다.
마무리
Liferay와 외부 시스템의 연동은 현대 기업의 디지털 전환에서 핵심적인 역할을 합니다. SAML, OAuth 2.0, OpenID Connect 등 다양한 SSO 프로토콜 지원을 통해 통합된 사용자 경험을 제공하고, REST API와 GraphQL을 통한 유연한 데이터 연동이 가능합니다.
특히 클라이언트 익스텐션의 도입으로 마이크로서비스 아키텍처와의 완벽한 통합이 가능해졌으며, 이는 Liferay가 단순한 포털 플랫폼을 넘어 현대적인 디지털 경험 플랫폼으로 진화했음을 보여줍니다. Salesforce, MuleSoft 등 주요 기업 시스템과의 사전 구축된 커넥터들은 개발 시간을 크게 단축시키고 안정성을 보장합니다.
성공적인 시스템 통합을 위해서는 보안, 성능, 확장성을 모두 고려한 아키텍처 설계가 필요하며, Liferay가 제공하는 다양한 통합 옵션을 적절히 조합하여 각 기업의 고유한 요구사항에 맞는 솔루션을 구축할 수 있습니다. 앞으로도 Liferay는 계속해서 새로운 통합 기술과 표준을 지원하며, 기업의 디지털 혁신을 가속화하는 플랫폼으로서의 역할을 강화해 나갈 것입니다.
'IT기술 > Liferay Portal' 카테고리의 다른 글
| Liferay Portal 운영 및 성능 최적화 완전 가이드: 엔터프라이즈 환경을 위한 실무 매뉴얼 (4) | 2025.07.22 |
|---|---|
| Liferay Service Builder 완전 가이드: 엔터프라이즈급 데이터 레이어 자동 생성 도구 (6) | 2025.07.21 |
| Liferay Portal 첫 포틀릿 개발 완전 가이드: Hello World부터 배포까지 (10) | 2025.07.20 |
| Liferay Portal 플러그인 개발 완전 가이드: 확장성과 커스터마이징의 모든 것 (10) | 2025.07.19 |
| Liferay Portal 협업 도구 완전 가이드: 기업 내부 소셜 플랫폼의 혁신 (14) | 2025.07.19 |