성공적인 soa architecture · 2009-01-20 · gtpocreate customers pi t credit verification...
TRANSCRIPT
<Insert Picture Here>
성공적인 SOA ArchitectureO l K F i Middl T h i l S l ti C ltiOracle Korea, Fusion Middleware, Technical Solution Consulting이상민 부장
Winchester Mystery House
•38년간 860개의방을 만들고방을 만들고160개만 남음
•창과 문은 벽으로막힌 것도 있음막힌 것도 있음.
•침실로 가기 위해13개의 문을 거침
•방160개, 문2,000개, 창문10,000개, 층계47개 벽난로 47개47개, 벽난로 47개, 침실 13개, 부엌6개
SOA 설계역량• 좋은 재료와 훌륭한 아키텍트가 뛰어난 조형물을 만들듯이…
GreatMaterials
Stone
+
Steel
+
Concrete
+
SOA Technology Enablers
+Great
ArchitectsImhotep
+
=Gustave Eiffel
+
=Oscar Niemeyer
+
=SOA 설계역량
+
=
GreatBuildings
SOA 기반시스템
AA: Monolithic vs. SOA based App.
Print Invoices
G t PO Create Customers P i t
Credit Verification
ServiceGenerate POs
Credit Verification 1
User Authentication 1
Create Customers
Credit Verification 2
User Authentication 2
Print InvoicesGenerate
POsCreate
CustomersUser Authentication 1
Account Validation 1 Account Validation 2 Authentication Service
Account Validation
Service
• 요구사항변경을반영하기어려움• 중복 = 자원낭비• 작은변경에도많은투자가따름
• 단위서비스를조합하여애플리케이션을완성• 재사용극대화및상호운영성• 쉬운검색과동적인바인딩
SOA Reference ArchitectureSOA Reference Architecture
Complete Logical View
Service Consumers & Delivery Channels
S iShared Services Service Infrastructure
Service & Non-Service Enabled Assets
Utility Services• Low level infrastructure services• 일관된 방식으로 통상적인 업무 처리
• 코드 수준보다는 서비스 수준의 재사용성 제공
• library 공유로 인해 발생하는 코드 의존성 제거에 도움
특징:
ces
• Fine grained
• Multi-purpose
High reusehare
d S
erv
ic
Utility S i S i L i N ifi i T i W ki • High reuse
• Stateless
Sh Utility
ServicesSecurity Services Logging Notification Transaction Watermarking
Connectivity Services• 레거시 시스템 또는 데이터에 대한 연계 기능 제공
• custom APIs, adapters 와 같은 Native 인터페이스 사용
• 표준 기반의 인터페이스를 통해 레거시 기능(펑션)을 노출
• SOA 기반의 소비자가 사용할만한 레거시 애플리케이션을 이용할수 있도록 함수 있도록 함
특징:
ces
• Fine grained
• No business logic or aggregation
hare
d S
erv
ic
Utility S i S i L i N ifi i T i W ki
Connectivity Services
System Access Messaging Data Access Partner Integration
gg g
• High reuse
• StatelessMessaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Sh Utility
ServicesSecurity Services Logging Notification Transaction Watermarking
Partners
Non-Service Enabled Assets
DatabasesLegacy ContentPackaged
Data Services• 다양한 소스로부터 데이터를 집계
• 스케마가 비즈니스(또는 비즈니스 프로세스)를 진행하는데사용되도록 이끔사용되도록 이끔
• 데이터와 애플리케이션 사이의 동기화
• 데이터 소스로부터 데이터 사용자 분리데이터 소스로부터 데이터 사용자 분리
특징:• Fine grained
ces Data
ServicesData SynchronizationData AggregationLogical Data Model
• No business logic
• Aggregation & transformation
hare
d S
erv
ic
Utility S i S i L i N ifi i T i W ki
Connectivity Services
System Access Messaging Data Access Partner Integration
• High reuse
• Stateless
Configurable
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Sh Utility
ServicesSecurity Services Logging Notification Transaction Watermarking
• Configurable
Partners
Non-Service Enabled Assets
DatabasesLegacy ContentPackaged
Business Services
• 재사용 가능한 비즈니스 기능 포함
• 비즈니스 프로세스의 액티비티 실행
• 특정 기능의 레거시 펑션에 대한 확장 기능을 제공할 수 있음
특징:특징:• Courser grained
• Task oriented
d S
erv
ices
Data Services
Data SynchronizationData AggregationLogical Data Model
Business Services
Enrichment Custom Business Services Atomic Business Services
• Contains business logic
• Simple or l
Sh
are
d
Utility S i S i L i N ifi i T i W ki
Connectivity Services
System Access Messaging Data Access Partner Integration
complex operations
• Medium level of reuse
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Utility Services
Security Services Logging Notification Transaction Watermarking
reuse
• Usually stateless
Partners
Non-Service Enabled Assets
DatabasesLegacy ContentPackaged
Process Services
• 재사용 가능한 비즈니스 프로세스 기능(펑션) 포함
• 동적이고 장시간 수행되며 사용자 작업과 같은 비즈니스 프로세스의액티비티를 수행할 수 있음
특징:
Process Services
Dynamic Process Long Run Process Human Interaction Process
특징:• Courser grained
• Contains business processd
Serv
ices
Data Services
Data SynchronizationData AggregationLogical Data Model
Business Services
Enrichment Custom Business Services Atomic Business Services
business process logic
• Simple or complex
Sh
are
d
Utility S i S i L i N ifi i T i W ki
Connectivity Services
System Access Messaging Data Access Partner Integration
poperations
• Medium level of reuse
Messaging Adapters Custom APIs JDBC file://
Non-Service Enabled Assets
Utility Services
Security Services Logging Notification Transaction Watermarking
• Usually stateful
Partners
Non-Service Enabled Assets
DatabasesLegacy ContentPackaged
Presentation ServicesUI수준에서의 재사용 제공 (컨텐츠가 프리젠테이션 포맷팅 포함)• UI수준에서의 재사용 제공 (컨텐츠가 프리젠테이션 포맷팅 포함)
• 복수의 포탈간에 포틀릿 공유
• 포틀릿 제공자와 포탈간의 느슨한 연결(Loose coupling)포틀릿 제공자와 포탈간의 느슨한 연결(Loose coupling)
특징
Presentation Services
Shared Portlets Multi-Channel Delivery
Process D i P H I i P 특징:
• Course grained
• UI oriented
d S
erv
ices
Business Services
Enrichment Custom Business Services Atomic Business Services
Process Services
Dynamic Process Long Run Process Human Interaction Process
Serv
ices
• Simple or complex page fllows
Sh
are
d
Connectivity Services
System Access Messaging Data Access Partner Integration
Data Services
Data SynchronizationData AggregationLogical Data Model
Sh
are
d S
• Low level of reuse
• Generally statefulMessaging Adapters Custom APIs JDBC file://
Services
Utility Services
Security Services Logging Notification Transaction Watermarking
Partners
Non-Service Enabled Assets
DatabasesLegacy ContentPackaged PartnersDatabasesLegacy ContentPackaged
Enterprise Service Busl li t t b d ti 제공• loose coupling, content-based routing 제공
• Service mediation: transformation, security, versioning• federated deployments에 대한 Domain Gateway의 역할 수행federated deployments에 대한 Domain Gateway의 역할 수행
Presentation Services
Shared Portlets Multi-Channel Delivery
Process Dynamic Process Long R n Process Human Interaction Process
erv
ices
Business Services
Enrichment Custom Business Services Atomic Business Services
Bu
s
stru
ctu
re
ServicesDynamic Process Long Run Process Human Interaction Process
Sh
are
d S
e
Connectivity Services
System Access Messaging Data Access Partner Integration
Data Services
Data SynchronizationData AggregationLogical Data Model
Serv
ice B
rvic
e I
nfr
as
Messaging Adapters Custom APIs JDBC file://
Utility Services
Security Services Logging Notification Transaction Watermarking
Se
Partners
Non-Service Enabled Assets
DatabasesLegacy ContentPackaged PartnersDatabasesLegacy ContentPackaged
Additional Service Infrastructure• Security Framework for message level security, id management, access controlSecurity Framework for message level security, id management, access control• Service Registry for runtime service and policy discovery• Service Repository for asset management, dependency tracking, lifecycle
management• Monitoring & Management Frameworks for collection of business and operational
metrics, event handling, optimization, OA&MPresentation Services
Shared Portlets Multi-Channel Delivery
s Business ture
Services
ew
ork
y mew
ork
mew
orkProcess
ServicesDynamic Process Long Run Process Human Interaction Process
ed
Serv
ices
erv
ice B
us
Business Services
Enrichment Custom Business Services Atomic Business Services
Infr
ast
ruct
Data Services
Data SynchronizationData AggregationLogical Data Model
curi
ty F
ram
e
Rep
osi
tory
nit
ori
ng
Fra
m
Reg
istr
y
ag
em
en
t Fra
Sh
are Se
Serv
ice
Connectivity Services
System Access Messaging Data Access Partner Integration
Se
Mo
n
Man
a
Utility Services
Security Services Logging Notification Transaction Watermarking
Non-Service Enabled Assets
Messaging Adapters Custom APIs JDBC file://
Services
PartnersDatabasesLegacy ContentPackaged
Service Enabled Assets• 공통 인터페이스를 지원하는 현재/미래의 자산
• 서비스 버스를 통해 직접 서비스로 노출됨
• 서비스화를 위한 별도의 Connectivity Services 가 필요 없음
Presentation Services
Shared Portlets Multi-Channel Delivery
es
Bu
sBusiness Services
Enrichment Custom Business Services Atomic Business Services ctu
re
mew
ork
ory m
ew
ork
y am
ew
orkProcess
ServicesDynamic Process Long Run Process Human Interaction Process
are
d S
erv
ice
Serv
ice BServices
e I
nfr
ast
ruc
Data Services
Data SynchronizationData AggregationLogical Data Model
C ti it
ecu
rity
Fra
m
Rep
osi
to
on
ito
rin
g F
ra
Reg
istr
y
nag
em
en
t Fr
Sh
a
Serv
iceConnectivity
ServicesSystem Access Messaging Data Access Partner Integration S
Mo
Man
Utility Services
Security Services Logging Notification Transaction Watermarking
Non-Service Enabled Assets Service Enabled Assets
Messaging Adapters Custom APIs JDBC file://
PartnersDatabases CollaborationLegacy Content SearchPackaged
Composite Applications and Delivery Channels
Service Consumers & Delivery Channels
Employees IVR CEPCustomers Partners Client Apps Partner Apps
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
• Composite Applications은 공용 서비스로 조합되어 구성되거나공용서비스로 분해되도록 구성된 애플리케이션
• 애플리케이션에서 재사용이 불가능한 부분도 제공함애플리케이션에서 재사용이 불가능한 부분도 제공함
• BPM 프로세스: 공유 서비스로서 개발될 수 있는 비즈니스 액티비티로분해될 수 있음엔터프라이즈 포탈: 기존의 공유 포틀릿(Presentation Services)으로 조합엔터프라이즈 포탈: 기존의 공유 포틀릿(Presentation Services)으로 조합
• 서비스 소비자는 서비스에 기여하지 않는 애플리케이션 뿐만 아니라사용자(end user)도 포함됨
• 파트너 애플리케이션과 같은 다른 도메인에 포함된 애플리케이션 포함
• 복합 이벤트 처리(Complex Event Processing) 시스템은 처리 판단 결과에따라 Composite Application과 서비스를 호출할 수 있음
Complete Logical ViewEmployees IVR CEPCustomers Partners Client Apps Partner Apps
Service Consumers & Delivery Channels
Composite Applications Portals BPM ProcessWeb Apps Mashups Fat Clients
Presentation Services
Shared Portlets Multi-Channel Delivery
es
Bu
sBusiness Services
Enrichment Custom Business Services Atomic Business Services ctu
re
mew
ork
ory
am
ew
ork
ry ram
ew
orkProcess
ServicesDynamic Process Long Run Process Human Interaction Process
are
d S
erv
ic
Serv
ice BServices
ce I
nfr
ast
ru
Data Services
Data SynchronizationData AggregationLogical Data Model
Connectivity Secu
rity
Fra
m
Rep
osi
to
on
ito
rin
g F
ra
Reg
istr
nag
em
en
t Fr
Sh
a
Serv
icConnectivity Services
System Access Messaging Data Access Partner Integration S
Mo
Man
Utility Services
Security Services Logging Notification Transaction Watermarking
Non-Service Enabled Assets Service Enabled Assets
Messaging Adapters Custom APIs JDBC file://
PartnersDatabases CollaborationLegacy Content SearchPackaged
Case SharingCase Sharing
Service Framework For Telco3rd Party Service / Content
ProviderOSS / BSS
Domain
Operator AdminEnd User 3rd Party Partner Admin
End User Portal
Operator Portal3rd Party Partner Portal
Application Execution Environment
SD
F7
SD
F10
SD
F14
SD
F18
y
SD
F1
SD
F1
SD
F3
SD
F3
SDF4
SD
F5
SD
F6
SD
F8
SD
F10
SD
F15
SD
F2
Service Service Policy Engine
SDF17
SD
F20
N t k S i A L
SD
F1S
DF3
SDF4
SD
F5
SD
F6 SD
F7
SD
F8
SDF9
SD
F10
SD
F12
SD
F2
SDF1
3
4
SD
F15
SD
F15
SD
F2
SD
F15
SD
F16
Service Orchestration Registration &
Discovery
Policy EngineSLA
18
SD
F20 S
DF21SD
F21
Device Management
IdentityAA Enterprise Business Process Management
Provisioning
Content Management
Rating & Charging
Network Service Access Layer
Network Service Exposure
Policy EngineSLA
Business Analysis
SD
F12S
DF13
SD
F1S
DF16S
DF1
7
SD
F1
Charging Integration Enabler Interface Abstraction
SD
F9
SDF11SDF11
SD
F12
6
SD
F19
SDF19
SDF Service Enablers Network Enablers
Universal User Profile
Common Data Product / Service Catalogue
Service Delivery Platform
3G + Fixed Operator in Hong Kong Customer’s requirementCustomer’s requirement
21세기의 커뮤니케이션 서비스 제공자에 대비한 차세대플랫폼을 위해 기존 자산에 대한 합리화/고도화플랫폼을 위해 기존 IT 자산에 대한 합리화/고도화
요구 사항:• Increase agility.• Link Mobile Service and Fix line Service.• Expose existing legacy to CRM, billing and customer Portal.• Need a more personalized portal.
Recommended ArchitectureSales App
Customer Service App
Partner Portal Client Self Serve App
Presentation Service
Process Service Voice Service Provision
Board band Provision
Field Force Management
Order ApprovalCustomer Order Product Block Plan Business Service Profile Entry Catalogue wiring
rentalMaintenance
Connectivity ServiceStandardized Interface – Web Service, RMI, JMS
PLSQL IVRS C Daemon Scripts
Java App EJB Socket OCL
Service Provisioning Scenario
External Web App Interfaces generated by Oracle BPM
BusinessBusiness Process
ManagementProvisioning Process
Proxy Services on Service bus
Order Approval
Enterprise
Service OrchestrationMessage Transformation and Routing
Enterprise Service Bus
Block Wiring Assignment
CheckCapacity
Resources Assignment
Block Wiring Rental
Reusable Business Services
Network Inventory OSS Network
ElementThird Party
Systems
Automotive Company SOA Roadmap2011년 12월까지 4년에 걸쳐 LEVEL 4.2 수준까지 SOA 역량을 강화하고자 함
준성
숙도
수준
(~ 2008.12) (~ 2009.12) (~ 2010.12) (~ 2011.12)달성 시기
단계 달성 시기 성숙도 주요 목표
1 2008 12 1 9 인터페이스 표준화 및 선도 프로젝트 발굴을 통한 SOA 도입1 2008.12 1.9 인터페이스 표준화 및 선도 프로젝트 발굴을 통한 SOA 도입
2 2009.12 2.6 아키텍처 및 인프라 표준으로 SOA 정착 및 전담조직을 통한 확산
3 2010.12 3.2 프로세스 기반 Composite Appl. 구축 및 가버넌스 고도화
4 2011.12 4.2 비즈니스와 IT 협업 기반으로 서비스 및 프로세스 개선 체계 완성
Recommended Architecture
Monitoring ServiceInteraction Service Monitoring ServiceInteraction ServicePortal KPI
프로세스
<IT관리>
SOA개발표준,
Governance,Integration Layer
Information ServiceProcess Service
MDMDWBPM
모든 IT자산을 웹서비스로
Security 등Integration Layer
Integration Service EnterpriseService
RepositoryEAIAdapter
ESBWeb Service
인터페이스하는 것은
바람직하지 않으며,
기존의 EAI 인터페이스와
병행 운영해야 함
(웹서비스 적용가이드 필요)
SAP (ECC)
SAP (APO)
NetWeaver(EP,BW,XI,MDM)
서비스 3rd Party Legacy
서비스 서비스
Application Layer
Service Logical Design – Procurement Process
Process
ProcureToPay
X
종가?
InvRcv Rcv Inv Rcv Inv Rcv Inv Rcv InvInv
YN
Inv
청구 당당지정 소싱 견적 품위 발주 입고대기 입고 전표분개
Control
SourcingWF EstimationWF DraftApprovalWF GoodReceiptlWF
createPRwithCheckBudget
Inv InvInvX
createPO
InvInv
InvX
SystemInformation
DecidePerformer
Inv
InsertPOcheckBudget createPRpollMaximoPR InsertGRInsertMaximoPO pollMaximoGR journalizeItemsBusiness
searchCatalog
bli hPO
Logic(Data) Rules
invokeProcureToPay
publishPO
invokeProcureToPayGR
Utility
<Insert Picture Here>
SummarySummary
Architecture vs. no ArchitectureTrial & Error
Architecture가Architecture가고 위험 저 효율
Architecture가없을 경우 선택Architecture가없을 경우 선택
Reverse EngineeringNo Architecture
고 비용 시간 과다고 비용 시간 과다
Dinosaur
변하지 않는다
Architecture
도태됨
Charles Darwin
“It is not the strongest of the species that survive, or the most intelligent,
b t th t i t h ”but the ones most responsive to change.”
• SOA addresses the requirements of changeSO add esses t e equ e e ts o c a ge• The “speed” of change• The “cost” of change