Web Programming/프레임워크&아키텍처

    서비스 지향 아키텍처란? (SOA, Service Oriented Architecture)

    서비스 지향 아키텍처란? (SOA, Service Oriented Architecture)

    1. 정의 서비스 지향 아키텍처(SOA)는 백엔드에서 사용되는 아키텍처 중 하나로 대규모 컴퓨터 시스템을 구축할 때, 애플리케이션의 기능을 비즈니스 적인 의미를 가지는 기능 단위로 묶어서 표준화된 호출 인터페이스(Rest API 등)를 통해 서비스로 구현하고, 이 서비스들을 기업의 업무에 따라 어플리케이션을 구성하는 소프트웨어 개발 아키텍처를 의미합니다. * 토마스 얼에 의한 정의로는 SOA는 공개, 기민성, 확장, 연합, 자립적 요소들로 구성된 조합가능한 아키텍처, 서비스 품질, 다양한 벤더, 상호 운영성, 서비스 발견 그리고 잠재적으로 재사용 가능한 서비스들이 웹서비스로 구현된다. SOA는 비지니스 로직과 기술을 추상화하여, 이 도메인 간에 느슨한 결합을 유도한다. SOA는 과거 플랫폼의 진화물로서,..

    AOP란? (Aspect-Oriented Prgramming, 관점 지향 프로그래밍)

    AOP란? (Aspect-Oriented Prgramming, 관점 지향 프로그래밍)

    AOP란? (Aspect-Oriented Prgramming, 관점 지향 프로그래밍) AOP 프레임워크는 애플리케이션에서 사용되는 기능을 재사용하고, 다른 관점을 추가해 클래스나 메소드를 수정하지 않고 추가하고자 하는 동작을 추가할 수 있도록 도와주는 프레임워크입니다. AOP는 OOP(객체 지향 프로그래밍)이 가지고 있는 기능에서 새로운 관점(다른 측면)으로 공통된 요소를 추출해서 재사용합니다. 대표적으로 AOP 프로그래밍은 로깅, 유효성 검사, 트랜잭션 처리, 인증/보안에서 활용됩니다. 예를 들자면, 모든 애플리케이션은 아래와 같은 요구사항을 만족할 필요가 생길 수가 있습니다. 응용 프로그램에는 쿼리 또는 업데이트 전에 사용되는 인증 시스템이 있어야 합니다. 데이터는 데이터베이스에 쓰기 전에 유효성을 ..