한국 토지 공사 서비스 분석 - NiceILM's Blog

Download Report

Transcript 한국 토지 공사 서비스 분석 - NiceILM's Blog

SOA
(서비스 지향 아키텍처)
Service
Find
이현우
[email protected]
Register
Service
Contract
Service
Consumer
Broker
Client
Bind
Service
Service
Provider
Copyright © 2004 Samsung SDS Co.,Ltd. All rights reserved
<目 次>
SOA 필요성
SOA 동인
SOA 개념
SOA 목적
Service 정의
SOA 정의
서비스 지향과 아키텍처
기본요건 및 특징
Service Principles
Service 입자성 및 추상성
Service Agility
Service Adaptability
Service Legacy 연계
SOA Constitute
2
SOA 필요성
■ SOA 필요성 증대
– 통신 회사(KT,SKT 등) 및 금융권(하나은행 등)의 차세대 시스템의 SOA 아키텍처 도입 증대
– SOA 투자로 인한 직간접적인 프로젝트 증대로 매출 순위의 뒤바뀜 (세계 SI 시장 1위 탈환)
3
SOA 동인
■ 차세대 시스템의 아키텍처의 요구사항
– IT 시스템의 유연성 및 신속한 비즈니스 대응력이 비즈니스 경쟁력이 되고 있음
경영 환경 변화 요인 (동인)
정보 유통
가속화
•프로세스 자동화 통한 신속한 의사 결정
및 생산성 향상
글로벌 경쟁 •IT 기술의 발전에 의한 거래 비용 감소
심화
•고객의 선택의 폭 확장
•글로벌 경쟁체제 심화
가치사슬
붕괴
전문화된
사업 모델
비즈니스 요구사항
• 변화하는 비즈니스 환경에
신속하게 대응
• 비즈니스 효율성과 성능을
향상
• 기업 내 각 부서, 비즈니스
단위, 비즈니스 파트너와의
통합운영
• 변화하는 비즈니스의
우선 순위를 신속히
적용할 수 있는 정보기술
체계 필요
• IT를 비즈니스 전략에
보다 밀접하게 연관시킴
• 비용 효율적 구조
• 안전하고 관리 가능한
환경을 제공
•IT 기술의 발전은 가치사슬의 변화를 유
발
•인터넷 기반의 Value Chain
비즈니스  서비스
Business
목표
•기존 기업의 핵심 프로세스 해체
•핵심 기능 위주의 전문화된 비즈니스 모
델로 전환
아키텍처 요구사항
비즈니스 전략
(PI, BPR)
IT 아키텍처
SOA
서비스 지향 IT 아키텍처
 비즈니스 변화에
대응하는 서비스
중심으로 IT 응답성 제고
4
SOA 동인(Gartner Hype Cycle)
■ SOA Position
– Gartner 곡선에 의하면 SOA는 안정화 단계 및 실현 단계로 5-10년 사이 main stream이 될 것으로,
SOA는 피할 수 없는 현실이며, 기업의 SOA Transformation이 중요해질 것으로 예상하고 있음.
5
SOA 개념
■ SOA(Service Oriented Architecture) 개념
– IT 시스템의 유연한 아키텍처를 서비스로 재구성함
– Service는 비즈니스 서비스와 함께 IT 서비스로 분리 가능하며
– 이를 총괄적으로 구성 Enterprise Service 관리 방안이 있어야 함
Service Oriented
비즈니스 관점
Alignment
Service 정의
Architecture
6
IT 관점
SOA 목적
■ SOA 목적
– 기업의 비즈니스 변화에 IT 가 빠르게 대응할 수 있도록 고객의 비즈니스와 이를 뒷받침하는
Enterprise IT 아키텍처를 밀접하게 Align 시키도록 Principle, Framework, Methodology 를 제공함
SOA Goal
Business And IT
IT
비즈니스
Concept and
Principle
Framework
7
Methodology
Service 정의
■ Service 란?
- 논리적으로 하나의 단위를 이루는 업무를 자체적으로 처리할 수 있는 소프트웨어 구성요소
- 비즈니스 업무의 논리 단위를 구현한 것으로서, 개방형 인터페이스로 설계되어
다른 프로그램에서 접근이 가능한 소프트웨어 컴포넌트를 「서비스」라고 지칭함
- 다른 어플리케이션의 요청(Request)을 받아들이고 결과를 전달하는 인터페이스 부분과
요청된 서비스를 실제로 처리하는 구현(Implementation)부분으로 이루어짐
– 비즈니스 수행 단위(Task)를 표현하는 재사용 가능한 컴포넌트
 고객 찾기
 계좌 찾기
 신용 카드 유효 가능 검사
 신용 조사
 호텔 예약
 이자율 계산
– 서비스는 조직 단위를 넘어 Global하게 배포 가능함
– 새로운 비즈니스 프로세스 단위로 재구성이 가능함
8
SOA 정의
■ Service Oriented Architecture(서비스 지향 아키텍처 )란 ?
- 서비스 요청자(Client)와 제공자(Server)로 이루어진 어플리케이션 소프트웨어 설계방식
- 표준기반의 공통사용(재사용)이 가능한 서비스들의 관계를 느슨한 관계로 모델링하여
소프트웨어의 서비스화를 지향하는 아키텍처
☞ 웹 서비스(Web Service)는 SOA의 구현을 위한 현존하는 최적의 기술 대안
☞ 웹서비스 : 표준화된 XML 기반의 인터페이스를 통하여 플랫폼과 독립적이고 프로그램 언어에
중립적인 방법으로 네트워크 상에서 응용프로그램들을 접속하는 활동
SOA 의 비즈니스 관점 및 서비스 관점
…whereby business activity
components are packaged as welldefined services, accessible
electronically by partners, suppliers and
others
+
…which is implemented within an
architectural technology
framework optimized for this purpose
Technology Focus (Architecture)
Business Focus (Service Oriented)
9
서비스 지향과 아키텍처
■ Service Orientation
– “open” 된 상호 호환성 있는 프로토콜을 사용하여 어플리케이션간 서비스 description과 이를 지원
하는 dynamic discovery 시스템을 통해 조합되는 것을 지원하는 환경
■ Architecture
– 일정한 총체적인 목표를 달성하기 위해 컴포넌트를 서로 조합하는 프로세스
– Layer에 의해 구성되는 컴포넌트들을 통해 이루어지는 blueprint로, 컴포넌트간의 특성 및 관계 및
상호 작용, 제약사항들을 포함
10
기본요건 및 특징
■ 기본요건
– SOA 는 표준화에 따른 서비스 구성을 통해 Layered 구조를 이루게 하며, 재사용 가능한 서비스
모듈의 사용 방안을 제공하여 서비스간 Loosely-coupled되어 통신하도록 하여 유연한 비즈니스
대응을 가능하게 함
요건
설명
지향점
잘 정의된 인터페이스
 서비스의 기능과 서비스 호출 규칙을 수립
개방형 표준 지향
 합의된 기준
de-Jure (公的 표준)
de-facto(事實표준)
느슨한 결합
 서비스를 특정 서비스 소비자와 완전 분리
플랫폼, 언어, 위치
서비스 입도
 의미있는 비즈니스 로직/프로세스 단위
11
기본요건 및 특징
■서비스 지향 아키텍처의 특징
– 느슨한 연결 (Loosely Coupling) : 기민하게 각 서비스의 내부 구조 및 구현의 변화에 대응
– 굵은 입도 (Coarse Granularity) : IT환경의 기술적인 복잡성을 덮어줌
– 재사용 (Reuse) : 개발기간 단축, 비용 절감
– 민첩성 (Agility)향상: 서로 다른 환경에서 개발된 시스템의 통합이 쉬우며, 변경 요청 발생時
신속 대응이 가능해짐
– 개발 생산성 행상 : 개발자는 자신이 개발하는 시스템에서 어떤 서비스를 요청할 것인가만
신경을 쓰면 되고, 요청한 서비스가 어떻게 처리되는지는 몰라도 됨
SOA 구축 이전
SOA 구축 이후
사용자
사용자
SOA
주문 처리 업무 서비스
고
객
관
리
재
고
관
리
배
송
관
리
주문 처리 업무
송
장
관
리
실
적
관
리
고
객
모
듈
재
고
모
듈
배
송
모
듈
송
장
모
듈
실
적
모
듈
SOA Principles (1/4)
■ 1) 상호 운용성(Interoperable)
– Universal Interface 인 Web Services 기술을 이용하여,
– 기존의 독점적인 “Lock and Key” 디자인이 아니라,
– 어디에서든 통하는 전기 socket과 같은 Interface를 통해 다수의 응용 어플리케이션과 쉽게 결합할
수 있는 기반을 제공함
– 예) 전자 제품 과 Wall-Sockets / USB 와 USB Device
13
SOA Principles (2/4)
■ 2) 조합 가능성(Composable)
– Web Services 기술은 WSDL을 이용하여 자신의 묘사가 가능하며 이런 “Self-Describing” 특성과
SOAP을 통한 상호 운용성은 Software 솔루션을 서비스 조합으로 가능하게 함
– 서비스의 Building Block 화
Applications
composed of
Services
14
SOA Principles (3/4)
■ 3) 재사용성 (Reusable)
– 서비스는 자신을 설명하는WSDL (Web Services Description Language)를 갖고 있는 단위 소프트웨어
로 SOAP 메시지 통신을 통해 언제 어디서든 호출 가능함
– 이런 특징을 갖는 서비스는 재사용이 가능하며, 따라서 Repository에서 관리되어 짐
WSDL is a Key
<description>
<types>
</types>
<interface name = “..”>
Request
</interface>
Service
<binding name = “..”>
</binding>
<service name= “..”
interface = “..”>
</service>
Response
</description>
Repository
/ UDDI
15
*) UDDI = Universal Description,
Discovery and Integration
SOA Principles (4/4)
■ 4) 느슨한 결합 (Loosely-coupled)
– 서비스 간 연동은 웹 서비스를 Wrapper로 사용하여 Loosely 하게 연동하도록 함
– 중요 비즈니스 서비스의 인터페이스를 웹 서비스로 노출하고, 호출 시 또한 웹 서비스를 활용,
플랫폼 및 기술에 독립적인 Coupling을 이루게 함
X
Order Web Service
I_SalesOrder_Create
Platform Z
Procurement
Application
Web
Service
Order
Service
Interface
Sales Order
Application
Platform X
16
Service 입자성 및 추상성
■ 서비스 Granularity(입자성) 및 Abstraction(추상성)
– 입자가 굵은(Coarse Grained) Business Service와 입자가 작은(Fine Grained) Impl. Service의 적절한 조합
(Aggregation)및 추상성을 통해 서비스 기반의 비즈니스 환경 구축 가능
 고려 요소
• 굵은 입자성
• 외부에서 사용의 적절성 )
• 느슨한 연결 / 디자인
• Low level 서비스와 Business 서비스의 조합
Coarse Grained Business
Services
(Business Services Bus)
Aggregation
Abstraction
Fine Grained
Implementation-Based
Services
Service
Wrapper
Infrastructure
Services
Existing
Application
Service
Wrapper
External
Services
17
Existing
Application
Service Agility
■ 서비스 통한 신속한 개발 가능
– 새로운 비즈니스인 교육 사업을 위한 Course Management Application 프로그램 개발 시 이미 개발
되어 사용되어지는 서비스를 호출하여 구성 가능하며, 새롭게 개발되는 Room Availability 서비스는
또 다른 비즈니스 or 어플리케이션에서 호출하여 사용 가능함
주문 처리 어플리케이션
(Order Processing
Application)
과정 관리 어플리케이션
(Course Management
Application)
새로운 어플리케이션은
쉽게 사용 가능한
서비스를 찾을 수 있음
새로운 서비스는 또한
다른 Application에서
사용 가능함
고객 찾기
Service
신용 체크
Service
물품 처리
Service
18
재고 체크
Service
Room
Availability
Service
Service Adaptability
■ 서비스 Communication
– SOA Infrastructure에 의해 서비스의 프로토콜과 data 변환이 가능하여 확장성을 보장 가능
Order Processing
Application
SOA Infrastructure 는
어플리케이션과 서비스
사이의 통신 메커니즘을
제공함
SOA Infrastructure
서비스의 변경 사항은 기존
서비스를 사용하는
Application에 영향을
미치지 않음
고객 찾기
Service
신용 체크
Service
물품 처리
Service
19
재고 체크
Service
Service Legacy 연계
■ Service Legacy 연계
– 서비스 기반의 infrastructure를 통해 Legacy 시스템과의 연결을 표준화함. 어플리케이션은 SOA
Infrastructure를 통해 Legacy의 서비스를 연동함으로, 신뢰성 있는 환경을 제공할 수 있음
Order
Processing
Application
어플리케이션은
서비스를 표준화된
방식으로 access 함.
SOA Infrastructure
레가시 시스템의
복잡함과 다양함을
단순하고 명쾌하게 함
고객 찾기
Service
신용 체크
Service
물품 찾기
Service
재고 체크
Service
레가시 시스템을
호출하는 것이
서비스의 역할임
Customer
Management
System
Manufacturing System
20
SOA Constitute
■ SOA 구성
– SOA 아키텍처는 기본적으로 Service Provider, Service Consumer, Service Broker로 이루어진 구조
– 자기 설명적인 (Self describing) 인터페이스를 (WSDL)를 가진 서비스는 플랫폼 독립적인 XML 형식
으로 Formally하게 정의되어, Service Broker를 통해 서비스로 등록하고 관리되어 애플리케이션 수
가 증가해도 서비스를 찾을 수 있는 방안이 제공됨 (UDDI)
Service
Broker
Find
Register
Service
Contract
Service
Consumer
Provider
Bind
Client
Service
Service
※ UDDI(Universal Description, Discovery, and Integration)
- 인터넷에서 전 세계의 비즈니스 업체 목록에 자신의 목록을 등록하기 위한, XML기반의 규격
21
<目 次>
SOA로의 변화 – IT 시스템
SOA로의 변화 – 개발 방식
SOA Layer
SOA Case Study
1) 여행사 비즈니스
2) 의료 비즈니스
SOA Benefits
Summary
22
SOA로의 변화 – IT 시스템
■ 기업의 IT 시스템의 SOA로의 변화
– 서비스 아키텍처 Layer로 잘 정의된 구성을 갖고 보다 신속히 비즈니스 변경 사항에 대응 가능
SOA 도입 이전의 기업 환경
SOA 도입 이후의 기업 환경
비즈니스
프로세스와의
Gap 발생
기능 중복
Sales
단편화된
어플리케이션
Product
Customer
Employee
SAP
Finance
기술의
비효율성
데이터
중복
People
Soft
Dir
.NET
J2EE
MQ
Unix
Outlook
Seibel
OS/390
DB2
기술의 정체
각각의 부서 및 agency에 따라 수직적인
방향으로 통합을 하는 Silo 형태를 가짐
또한 서로 다른 기능의 Application과
Database가 cross 교차되어 사용되는 비효율성
발행
SOA는 Application Layer 뿐만 아니라, 구조화된 Service
Layer와 Business Process Layer등 체계화된 Layer로
관리함으로 기업의 비즈니스 환경에 rapidly하게 대응 가능함
23
SOA로의 변화 – 개발 방식
■ 소프트웨어 개발 방식의 세련화
– 각기 다른 시기의 프로그램 개발 및 DB 구축은 서로 다른 시스템의 영향에 민감하게 반응 할 수 밖
에 없도록 구성되어 비효율성을 남발하였으나
– 계획성 및 표준화 방안을 갖은 개발 방식으로 인해 기업의 IT 시스템이 세련되어 짐
Inventory Web Service
회계 시스템은
재고 시스템의
database를
직접 access 함
Inventory
Inventory
Database
Application
운송 시스템은
재고 시스템DB의
재고량을 삭제
(via SQL call)
Inventory
Inventory
Database
Application
Finance Web Service
Financial
Database
Financial
Application
Shipping
Database
Shipping
Application
Financial
Financial
Database
Application
WSDL 통해서 서비스 연동
Application에서 DB 직접
Access 금지
회계 시스템은
주문 취소 건에
대해 운송
시스템의 DB로
직접 삭제
Shipping Web Service
24
Shipping
Shipping
Database
Application
SOA Layer
■ SOA 구성 : Layered Architecture
– SOA 는 계층화된 Layer를 구분하여 관리함으로써 향후 확장 및 유지 보수에 이점 제공
– 각 계층 역할과 책임의 체계화에 따라 중복 개발 방지 및 아키텍처 일관성 유지
– SOA로 구성된 시스템 간의 연계 통합의 편의성 확보 통한 Enterprise Architecture 완성 도모
Composite Application
Composite Business Services
Composite Application UI
Composite Application Portal Configuration
Policies and Meta Data
Composite Application Process
Enterprise Service Bus
Business Services
Business Service Bus
Implementation-Based Services
Other
Services
Service Enablement
Existing Systems
Internal and External Resources
25
SOA Case Study (1)
■ LibGo Travel 사의 SOA 도입 사례 (여행 비즈니스)
– Next-Generation Travel System (NGTS) 구축에 있어 SOA 를 도입하고 비즈니스 서비스를 공유할
수 있는 기반을 마련한 사례임
– 대규모의 복합 어플리케이션으로 구성된 NGTS는 하루 평균 100만 정도 Transaction을 가짐
– 항공 및 숙박에 대한 가격 정보 및 이용 가능 정보는 다양한 Format과 다양한 채널을 통해 들어오
며, 이를 위해 Service adapter layer를 구성하여 파트너사의 시스템 간의 비즈니스 프로세스 구성을
XML 기반의 인터페이스로 정의되는 WSDL을 사용, ESB infrastructure 를 사용하여 구성하였음
26
SOA Case Study (2)
■ Health Institute’s CMS (의료 비즈니스)
– 의료 서비스를 제공해야 하는 기관의 Care Management System 은 관리 대상의 개인 의료 정보를 입
력 받아 관리하여야 함. 이는 Individual Health Record 에서 입력 받는 체계를 따라, System 간의 상호
호환 및 효율적인 일 처리가 필요함
Information
Care
Management
Systems
Individual Health
Record
Events
Diabetes
A&E
Maternity
Diabetes
40+ apps
A&E
Maternity
40+ apps
Messaging service
Demographics
Referral
Scheduling Requesting Prescribing
Demographics
비 표준화 -> 복잡도 증가 -> 효율 감소
Referral Scheduling Requesting Prescribing
표준화 기반 -> Orchestration -> 효율성 증대
27
Standardized Service 예제
■ SOA Reference Model
– SOA 기반으로 Architecting한 미 연방의 Health and Human Services System
Create value-add
composite services and/
or applications using
common HHS services
Expose application
business components
as services
Case
Management
Rev Max
Courts
Workload/Staff
Management
Evidence
Management
Eligibility
Asset
Management
Financial
Management
Resource
Management
Provider
Management
Participant
Management
Juvenile
Justice
Child
Support
Screening and
Intake
Child
Support
Electronic
Payment
CRM
Legacy
Integration
ETL
Alerts
Audit
Rules Engine
Search
Business
Intelligence
Workflow
Output
Management
MMIS
Health and
Nutrition
Content
Management
Child Care
TANF
Composite State-Wide Applications
Service Delivery Framework
Portal
IVR/PBX/ACD/CTI
Middleware
Service
Directory
Infrastructure Services
Citizens
Enterprise Management
Hardware and Software Platform
Leverage common HHS
services for developing
business processes using
service orchestration
Leverage shared
enterprise services
28
Externalize HHS
business rules into a
rules engine
Platform, Tools and Methodolgoies
Government
Users
Enterprise Service Integration (ESB)
Development Framework
Providers
Common HHS Services
Business Transformation Tools and Methodologies
End
Users
SACWIS
Enterprise Security
SOA Benefits (1/2)
■ 기술과 단말에 구속 없이 연결할 수 있는 메커니즘 통해 프로세스 효율 증대 및 비용 절감
 연결 비용 감소로 인한 비즈니스 프로세스 효율 증대
프로세스
①
Ubiquitous Web Services
연결 메커니즘
효율 증대
 현 프로세스에서 접근할 수 있는 정보 원천 접근성 증대
통한 실시간 시행 가능성 증대
 실시간 비즈니스 가능
 연결 비용 감소
 통합의 복잡도 감소
②
국제 산업 표준 기반
 플랫폼 및 기술 독립성 보장
비용 절감
 공개 표준은 IT와 비즈니스 모두에게 이점 제공
 독점적 기술에 종속되지 않는다는 이점
 비즈니스 공급 망의 확대
③
적은 Communication 비용
 표준화 통한 기술 비용 감소
 다양한 규모의 사업체와 조직에서 사용 가능함
진입 장벽
 소규모 파트너 또는 공급사와 낮은 비용으로 통합 가능함
의 축소
 글로벌화를 지향하며, 지리적으로 떨어진 조직체에 통합
화 이점
29
SOA Benefits (2/2)
■ 독립적으로 서비스하는 모듈을 구성, 활용 방안 제공 통한 비즈니스 & IT 민첩성 제공
 Makes it easier to change or add partners.
민첩한
④
비즈니스
Loosely Coupled
형성
 Facilitates M&A activity
 System change is not a constraint on business
change
 Lower cost of maintenance
유지 보수
비용 절감
 Reduced impact of change
 Facilitates reuse of existing assets
⑤
Cost Savings Through Consolidation
Self Describing
Time To Market
Shortened Development Cycles
30
Summary
■ 서비스란 하나의 반복될 수 있는 비즈니스 단위
– 고객 신용 정보 조회 , 계좌 개설 등
■ 서비스 지향이란 비즈니스를 서비스로 연결하여 통합하는 방안
– SOA를 위한 가이드(Framework & Methodology)와 뚜렷한 목표(Goal)가 필요
■ SOA 란 IT architectural style 로 다양한 시나리오에 적용 가능함
– 서비스는 프로세스 기반으로 디자인되어야 함
■ 일련의 연결성과 통합성을 가진 SOA Infrastructure를 통해 신뢰성 있는 비즈니스
프로세스 환경 구성 가능
– 실 세계의 프로세스 패턴으로부터 배워야 함
31