본문 바로가기

SW/클라우드 서비스 아키텍처

SERVICE MASHUPS, MICROSERVICES : 개념, 개요, 설명, 정의 Service Mashups 웹 환경에서 Mashup이라는 개념이 등장하게 되었습니다. 이것은 하나 이상의 Resource로부터 데이터를 수집하고 통합해서 웹 애플리케이션 만듭니다. 최근에는 이 개념이 Service Mashup까지 포함돼서 확장이 되었습니다. Service Mash-ups Architecture Service Mashup은 앞에서 배우셨던 OpenAPI를 사용해서 다양한 서비스로부터 콘텐츠와 기능들을 받아 통합함으로써 애플리케이션을 제작합니다. Mashup에는 OpenAPI 뿐만 아니라 RSS와 같은 Web Feed도 많이 활용합니다. 서비스 Mashup을 위한 아키텍처는 일반적으로 세 가지 요소로 구성됩니다. 먼저 Mashup할 콘텐츠를 제공하는 Content Provider가 있습니..
Open API 아키텍처 : 개념, 개요, 설명, 정의 OpenAPI OpenAPI는 Application Programming Interface, 즉 API가 오픈되었다는 의미입니다. OpenAPI는 웹사이트의 정보와 서비스 기능을 API를 통해 직접 접근할 수 있도록 합니다. 웹사이트 상호간 또는 웹사이트와 애플리케이션이 서로 연동될 수 있도록 하기 위한 것으로서 Web 2.0 트렌드의 가장 중요한 기술 중에 하나입니다. 즉, OpenAPI를 사용하면 우리는 다른 웹사이트로부터의 서비스를 Outsourcing해서 사용할 수 있습니다. OpenAPI를 사용할 수 있도록 하는 기술적 방법의 대표적인 것은 JavaScript와 같은 웹애플리케이션 구현 언어를 사용하는 Language API, SOAP RPC를 사용하는 방법, REST 기술을 사용합니다. Ope..
클라우드 컴퓨팅 : 개념, 특징, 개요, 설명, 종류 클라우드 컴퓨팅 클라우드란 분산 컴퓨팅을 위한 플랫폼입니다. 이 클라우드에 연결된 컴퓨터와 각종 기기들이 컴퓨팅 자원과 데이터를 On Demand로 필요에 따라 공유하고 활용할 수 있도록 하는 환경입니다. 클라우드를 통해 공유 가능한 컴퓨팅 자원으로는 네트워크, 서버, 저장소, 애플리케이션, 서비스 등이 있습니다. 클라우드 컴퓨팅 특징 이러한 클라우드 컴퓨팅 환경은 몇 가지 중요한 특징들이 있습니다. 먼저 매우 Scalable하고 Dynamic한 인프라스트럭처입니다. 즉, 많은 사용자들이 필요에 따라 가상의 서버와 저장 공간을 클라우드에서 동적으로 할당받아 사용할 수가 있습니다. 두 번째 특징은 언제 어디서나 이러한 자원들을 Access할 수 있습니다. 즉, 네트워크 연결만 있으면 클라우드 자원들을 언제..
REST API 아키텍처 : 개념, 방법, 개요, 설명 Representational State Transfer (REST) Language API를 사용하는 것뿐만 아니라 최근에는 REST라고 하는 방법을 사용하여 OpenAPI 서비스들을 제공하는 웹사이트들이 늘어나고 있습니다. REST는 Representational State Transfer의 약자로서 웹의 분산된 Hypermedia 콘텐츠를 접근하기 위해 개발된 Software Architecture Style입니다. 이 REST 아키텍처에서는 웹의 각 Hypermedia 자원이 고유한 주소를 가지고 있습니다. 이 자원에 대한 수정이 HTTP 인터페이스를 통해 Domain Specific한 데이터를 전송함으로써 이루어지게 됩니다. 즉, SOAP을 활용해서 메시지를 전달할 필요가 없이 애플리케이션에서 ..
서비스 기반 아키텍처 스타일 : 방법, 종류, 정의, 개요, 개념 SOA Layers 이 서비스 기반 아키텍처, 즉 SOA는 소프트웨어 아키텍처 스타일입니다. 이 아키텍처 스타일은 서비스 공급자가 제공하는 서비스를 서비스 소비자가 메시지를 주고받으면서 활용하는 기본 구조를 가집니다. SOMA 방법론에서와 같이 엔터프라이즈 SOA 구축을 위해서는 몇 개의 계층, 즉 Layer에 걸쳐서 분석과 모델링 과정이 필요합니다. 여기 보시는 그림은 SOA를 계층적인 아키텍처 스타일로 표현합니다. 이 아키텍처 스타일에서 맨 아래에 있는 Operational Systems Layer가 있습니다. 이 Layer에는 그 기업이 보유하고 있는 기존의 CRM이나 ERP 같은 레거시 시스템들이 표현되어 있습니다. 이 Operational Systems Layer 위에는 Enterprise Co..
서비스 지향 아키텍처 모델링 언어 : SoaML : 개요, 개념, 방법, 정의 SoaML SOMA 방법론은 서비스를 식별하고 명세하고 구현하는 전반적인 틀과 절차를 정의합니다. SoaML은 이러한 서비스 모델링 과정에서 사용할 수 있는 구체적인 언어 그리고 표현 방법을 제공합니다. SoaML은 Object Management Group, 즉 OMG에서 개발한 오픈소스 서비스 Specification 방법입니다. SoaML은 소프트웨어 모델링에 널리 사용되고 있는 Unified Modeling Language(UML)을 기반으로 합니다. SOA 구축을 위한 서비스 모델링과 디자인을 위한 여러 방법을 제공합니다. SoaML의 공식 웹사이트는 www.soaml.org입니다. SoaML을 위한 다양한 도구가 개발되었습니다. Modeling Capabilities of SoaML SoaML..
서비스 아키텍처 : 서비스 모델의 필요성 : 개념, 정의, 개요 서비스 기반 모델링 먼저 이 비즈니스 도메인 자체를 잘 이해하고 시뮬레이션 할 수 있어야 합니다. 그러한 것을 잘하기 위해서는 먼저 사용자가 사용해야 되는 서비스가 무엇이고 그 주요 특성과 기능들이 무엇인지를 먼저 잘 표현해야 합니다. 그래서 서비스 기반의 모델링이라는 것은 엔터프라이즈 시스템 구축의 문제를 체계적이고 전략적으로 풀기 위해서 소프트웨어 모델링의 원칙과 기술을 효과적으로 활용하는 것을 의미합니다. 세 가지 원칙이 있습니다. 첫째는 Virtualization, 즉 가상화입니다. 가상화의 원칙은 서비스의 행위, 구조, 관계를 매우 높은 수준에서 모델링해야 한다는 의미를 말합니다. 두 번째는 서비스 모델링의 원칙은 Metamorphosis, 즉 변화에 대한 반영이 필요하다는 것입니다. 비즈니스 ..
서비스 기반 어플리케이션 기반 : 웹 서비스 코디네이션 모델 : 개요, 개념, 정의 Service Integration 웹정보나 서비스를 접근해서 실생활에 활용할 때는 그냥 각각을 독자적으로 사용하진 않습니다. 일반적으로, 여행을 가기 위해서 그 준비에 필요로 하는 정보를 확인할 때 먼저 LonelyPlanet 같은 웹사이트에 가서 여행지의 정보를 확인할 수가 있습니다. 그 이후에는 여행을 실제로 가기 위한 비행기표를 예매하고 호텔을 예약하는 작업을 실제 여행사 사이트를 통해서 수행합니다. 여러 가지 준비가 된 이후에는 실제 여행을 떠나서 목적지에 갔을 때 예기치 못한 날씨를 접할 수도 있습니다. 그래서 날씨도 체크하고 그 지역에 대한 뉴스도 확인할 수 있습니다. 이러한 일련의 웹정보 혹은 서비스를 접근함을 통해서 여행에 관련된 정보를 확인합니다. 그에 대한 실제적인 준비를 할 수가 있..