WIPIVERSE

아파치 슬링

아파치 슬링(Apache Sling)은 자바(Java) 플랫폼용 오픈소스 웹 프레임워크로, 콘텐츠 중심(content-centric)의 애플리케이션을 작성하도록 설계된 소프트웨어이다. 아파치 소프트웨어 재단(Apache Software Foundation)이 주관하여 개발하고 있으며, 아파치 라이선스 2.0 하에 배포된다.

아파치 슬링은 JSR-170(JCR, Java Content Repository) 규격을 준수하는 콘텐츠 저장소, 예를 들어 아파치 잭래빗(Apache Jackrabbit) 위에서 동작한다. 슬링의 핵심 특징은 HTTP 요청의 URL을 콘텐츠 자원(resource)에 매핑하여 처리한다는 점이다. 요청 경로(path), 확장자(extension), 선택자(selector)를 기준으로 콘텐츠 저장소의 자원을 식별하며, 스크립트와 서블릿이 현재 자원 상태에 따라 동적으로 선택되어 요청을 처리한다. 이러한 방식은 관례 기반 설정(convention over configuration)을 통해 RESTful 스타일의 웹 애플리케이션 아키텍처를 지원한다.

개발자는 애플리케이션 구성 요소를 OSGi 번들(OSGi bundle)로 배포하거나, 콘텐츠 저장소에 스크립트 및 템플릿을 저장하여 배포할 수 있다. 지원되는 스크립팅 언어로는 JSP, 서버 측 자바스크립트(Server-side JavaScript), 루비(Ruby), 벨로시티(Velocity) 등이 있다.

아파치 슬링은 기존의 많은 웹 애플리케이션 프레임워크가 애플리케이션 개발 자체에 중점을 두는 것과 달리, 웹 애플리케이션 개발의 "웹 측면"에 초점을 맞추고 콘텐츠 저장소의 콘텐츠를 HTTP 자원으로 표현함으로써 직관적인 RESTful 개발을 지향한다는 점에서 차별화된다.

아파치 슬링 프로젝트는 2007년 8월 27일, Day Software가 자사의 Day Communiqué WCM에서 사용하던 내부 웹 프레임워크의 소스 기반을 아파치 소프트웨어 재단에 기부하겠다고 제안하면서 시작되었다. 프로젝트는 아파치 잭래빗(Apache Jackrabbit)의 후원 아래 아파치 인큐베이터(Apache Incubator)에 수락되었고, 2009년 6월 18일 아파치 최상위 레벨 프로젝트로 승격되었다.

아파치 슬링의 안정화 버전으로는 2025년 1월 17일 발표된 버전 13이 확인된다. 프로그램 언어는 자바이며, 크로스 플랫폼에서 동작하고, 현재도 지속적으로 개발이 이루어지고 있다. 소스 코드는 GitHub의 apache/sling-aggregator 저장소에서 관리되고 있으며, 공식 웹사이트는 sling.apache.org이다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기