천객만래 [千客萬來] (It has an interminable succession of visitors)

교원웰스렌탈


https://youtu.be/eae0rlLsYMw

Posted by 사용자 SB패밀리

댓글을 달아 주세요

고온 다습한 여름이 바로 코 앞입니다.
이제 집집마다 습기가 차고 곰팡이가 생기기 시작하는데, 이 때 관리를 안 해 주면
곰팡이가 득실득실 해질 수 있고
습해서 짜증도 날 수 있습니다

당연 제습이 필요합니다.

이 제습제를 비싸게 준비할 께 아니라
저렴하게 준비할 수 있습니다.

제습제만 구매하면 저렴하게 많이 또는 여름 내내 제습을 할 수 있습니다.



 

Posted by 사용자 SB패밀리

댓글을 달아 주세요

도메인 주도 설계 핵심 - 핵심을 간추린 비즈니스 중심의 설계로 소프트웨어 개발 프로젝트 성공하기

반 버논 저/박현철, 전장호  | 에이콘출판사 | 2017년 09월 25일 | 원제 : Domain-Driven Design Distilled

 

책소개

도메인 주도 설계(DDD)를 프로젝트에 적용하고자 하는 개발자, 소프트웨어 아키텍트 또는 관리자가?DDD를 빠르게 배우고 적용할 수 있게 도와준다.?뿐만 아니라?좋은 소프트웨어를 만들기 위해 꼭 필요한 역할인 비즈니스 전문가와 플랫폼 기획자도?DDD를 이해하고 적극적으로 설계에 참여할 수 있게 해준다.

도메인 모델을 분리하고 명확한 경계 내에서 비즈니스 전문가와 개발자가 함께 공통적으로 사용할 수 있는 보편 언어를 개발하는 방법,?레거시 시스템을 다루기 위해 서브 도메인을 활용하는 방법과?여러 개의 분리된 컨텍스트의 통합을 위한 기술적 메커니즘까지 반드시 알아야 할 것들을 빠짐없이 다루고 있다.

다른 두꺼운?DDD?서적들이 바이블이라면,?이 책은 얇지만 꼭 필요한 핵심 개념과 함께 프로젝트 적용을 이해하기 쉬운 예제 흐름으로 설명한다.?따라서 DDD를 처음 접하는 사람부터 도메인 주도 설계 개념을 혼란스럽게 생각하는 사람들에게까지 도움이 되는 길잡이가 돼줄 것이다.

 

OOD -> MDD -> DDD 로 넘어오는 단계에서 요즘은 아키텍처 설계에 MSA + DDD, MSA + MDD 로 설계를 다수 하는 것으로 보인다.

 

Posted by 사용자 SB패밀리

댓글을 달아 주세요

 

델파이가 출시된 이후 25년간의 델파이 역사, 발전 과정 등을 돌아볼 수 있습니다.

델파이의 역사는 1983년 터보 파스칼 IDE부터 시작됩니다. 실제 '델파이'라는 이름으로 첫 선을 보인것은 1995년 RAD 개발환경을 갖추어 재탄생한 시점부터 입니다.

 

 

https://tech.devgear.co.kr/delphi_news/463165

Posted by 사용자 SB패밀리

댓글을 달아 주세요

변수명 짓기

IT - 과학 2020. 5. 11. 22:28

변수명 짓기

약어사전

 

https://www.curioustore.com/#!/

'IT - 과학' 카테고리의 다른 글

변수명 짓기  (0) 2020.05.11
화상회의 솔루션 점유율  (0) 2020.04.10
과제할 때 꿀팁 사이트  (0) 2020.02.10
맥북 Handoff 사용하기  (0) 2020.02.04
꿈인가 현실인가, 우린 다 죽는건가?  (0) 2019.12.24
데이터 - 정보 - 지식 - 지혜  (0) 2019.12.03
Posted by 사용자 SB패밀리

댓글을 달아 주세요

독서노트를 올 해 부터 쓰고 있다.

기술서적 읽을 때도(직업용)
교양서적 읽을 때도

안그랴도 느린 책 읽는 속도가 더욱 느려져서
세월아 네월아
언제나 읽을 수 있을런지

쓰기 시작한 만큼 그 효과는 봐야할 텐데
부담스럽지만 노력 중이다.

'Personal Job' 카테고리의 다른 글

독서노트를 쓰고 있자니  (0) 2020.05.11
[JAVA] JetBrains IntelliJ IDEA 학생 무료 인증  (0) 2018.12.26
야마토 새우 번식  (0) 2018.10.04
휴일에도 자격증 시험공부  (0) 2018.10.03
ISTQB 자격증 시험 준비  (0) 2018.09.26
아직은 코딩이 가능하다  (0) 2018.09.20
Posted by 사용자 SB패밀리

댓글을 달아 주세요

나라별로 손동작, 손가락 제스처의 의미가 다르다.

나라별로 조심해서 사용해야할 손동작

이진경 (Getty Image Bank)

www.news.zum.com/sns/article?id=0232020011157429028&cm=share_link&tm=1589088116649

 

 

 

 

 

Posted by 사용자 SB패밀리

댓글을 달아 주세요

가짜뉴스 유튜버 보고 있으면 짜증을 넘어 사회의 해악이 되는 사람들

효과적으로 신고해서 차단 시켜버리는 방법을 알아야겠습니다.

아래와 같은 방법으로 신고하면 차단을 하기 좋습니다.

유명한 분이라고 하죠. 아래 사진에 있는 유튜버.

Posted by 사용자 SB패밀리

댓글을 달아 주세요

술 마신 다음 날 당신의 모습

Posted by 사용자 SB패밀리

댓글을 달아 주세요

매달 인터넷 여러 사이트에서 발생하는 키워드, 태그를 가지고 개발 언어 순위를 매기는 사이트입니다.

 

이번 달에는 Top 1의 순위 변동이 있네요.

C언어 우상향은 계속 되고 있습니다. 신기방기.

거기다가 Python의 약진은 계속됩니다. 구글 트렌드에서 확인해도 파이썬의 약진이 두드러지게 보이고 있습니다.

파이썬으로 영상처리 알고리즘 응용 앱이나 리소스 만들까 봅니다.

 

Posted by 사용자 SB패밀리

댓글을 달아 주세요

 

 

 

다른 쓰레기들과 섞여 재활용 되지 못하는 플라스틱 쓰레기가 많습니다. 이제 재활용의 질을 높이기 위해 분리배출 방법이 달라집니다. 서울시는 2월부터 재활용품 배출 시 ‘폐비닐’과 ‘음료・생수 투명 폐페트병’을 다른 재활용품과 별도 분리해 버리는 ‘분리배출제’를 시범 운영합니다. 오는 7월에는 전국 아파트에서, 내년 1월엔 전국 단독주택에서 전면 시행될 예정입니다.

서울시는 폐비닐‧투명 폐페트병 ‘분리배출제’를 2월부터 시범운영한다.

특히, 단독주택과 상가는 매주 목요일에 배출・수거하는 ‘요일제’를 적용한다. 이 두 품목을 제외한 다른 재활용품은 목요일을 제외한 다른 요일에 배출해야 한다. (다만, 배출요일에 목요일이 포함되지 않는 지역에선 금요일에 실시 예정)

▴단독주택・상가지역은 폐비닐(색상・종류 무관) 및 폐페트병(음료・생수 투명)을 목요일에 각각 별도 분리 배출하고, ▴아파트(공동주택)의 경우, 음료・생수 투명 폐페트병을 유색 폐페트병 및 타 플라스틱과 분리하여 요일과 상관없이 별도 전용 수거함에 분리 배출하면 된다.

투명 폐페트병 별도 배출, 고부가가치 재활용 기대

서울시는 요일제 시행으로 비닐, 투명 페트병 수거부터 공공선별장에서의 처리까지 별도로 진행돼 비닐, 페트병뿐만 아니라 다른 재활용품 전체의 재활용률을 높일 수 있을 것으로 기대하고 있다.

현재 단독주택과 상가에선 모든 재활용품을 한 번에 배출하고 있다. 이럴 경우 비닐에 묻어 있는 오염물질이 다른 재활용품에도 묻어 타 품목의 재활용률을 떨어뜨리는 문제가 있었다.

또한, 시는 투명 페트병만 별도 분리수거할 경우 고품질 폐페트병의 해외 수입을 최소화하고 국내산으로 대체할 수 있을 것으로 기대하고 있다. 페트병의 경우 2018년 기준 국내에서 생산되는 약 30만 톤 중 80%가 재활용(24만 톤)돼 재활용률이 높지만 다른 플라스틱과 혼합 배출되고 있어 고부가가치 재활용엔 한계가 있었다.

폐페트병 원료의 고부가가치화는 장기적으로 재생섬유를 활용한 의류 등 재활용 유망산업을 육성하는 기반 구축에도 도움을 줄 것으로 보인다.

이번 음료‧생수 투병 폐페트병 분리배출은 환경부가 추진하는 사업이다. 서울시를 비롯해 부산‧김해‧천안시, 제주도가 시범사업 지자체로 선정돼 시범 운영 후 7월부터 전국 아파트(공동주택)로 확대된다. 단, 단독주택은 2021년 1월부터 전면 시행된다. 요일제와 투명 폐페트병 분리배출은 자치구 상황에 따라 2월 중으로 시행할 예정이다.

김윤수 서울시 자원순환과장은 “올해 수도권매립지 반입 총량제가 실시됨에 따라 생활폐기물 감량이 매우 중요해졌다. 무엇보다 시민들의 동참이 중요하다”며 “자원의 재활용률을 높이기 위한 폐비닐과 폐페트병 분리배출에 시민 여러분의 적극적인 협조를 당부드린다”고 말했다.

문의 : 자원순환과 02-2133-3693

 

 

출처 : http://mediahub.seoul.go.kr/archives/1266482

Posted by 사용자 SB패밀리

댓글을 달아 주세요

Domain Object
도메인 객체란 내가 개발하고자 하는 영역을 분석하고, 그 분석의 결과로 도출된 객체들을 말한다.

예를 들어, 쇼핑몰을 만든다고 했을 때 쇼핑몰의 주된 기능인 상품 구매에 사용되는 객체인 Member, Product, Purchase 등을 도메인 객체라고 할 수 있다.
 

 
DAO(Data Access Object)
DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체
실제 data resource를 액세스하는 어브젝트
DB에 대한 접근을 DAO를 통해서만 하도록 만들어 다수의 원격 호출을 통한 오버헤드와 호출 문제를 줄일 수 있다.

 

DTO(Domain Transfer Object)
계층간 데이터 교환을 위한 객체. 
도메인 모델의 튜플단위의 개체로 튜플의 속성을 getter, setter 하고 DAO로 연동하는 어브젝트
일반적인 DTO는 로직을 갖고 있지 않다. 순수한 데이터 객체이며 속성과 그 속성에 접근하기 위한 setter, getter 메서드만 가진 객체를 말한다. 여기에 추가적으로 toString(), equlas() 등의 Object 클래스 메서드를 작성할 수 있다.



VO(Value Object) : VO는 출력(Read only)

DTO의 읽기 버전



CRUD

CREATE(INSERT), READ(SELECT), UPDATE, DELETE

 

'IT-Architect, Architecture' 카테고리의 다른 글

Domain, DAO, DTO, VO, CRUD 알고싶다  (0) 2020.05.04
SOA 실현의 핵심, ESB  (0) 2020.05.04
Posted by 사용자 SB패밀리

댓글을 달아 주세요

SOA 실현의 핵심, ESB

최근 서비스 지향 아키텍처(SOA) 가 엔터프라이즈 분야에서 핫 이슈로 떠오름에 따라 이를 실현하기 위한 핵심 미들웨엉인 ESB(Enterprise Service Bus)가 많은 개발자들에게 주목받고 있다. ESB란 미즈니스 내에서 서비스 ,애플리케이션, 자원을 연결하고 통합하는 미들웨어라고 할 수 있으며, 이를 통해 분산된 서비스 컴포넌트를 쉽게 통합 연동할 수 있어 신뢰성 있는 메시지 통신이 가능하다. IT 통합을 위한 인프라스트럭처로 새롭게 부상하고 있는 ESB가 오늘날 엔터프라이즈 환경의 문제를 어떻게 해결해 줄 수 있는지 그 주요 기술과 제품을 통해 살펴보자

 

특집 1부 기업 환경 통합을 위한 해법, EAI에서 ESB까지
특집 2부 자바 ESB 기술의 현주소
2-1 ESB 패턴 구현을 통해 본 IBM ESB
2-2 전사 IT 환경을 위한 BEA의 ESB, 미뉴
2-3 자바 ESB 표준의 삼총사 JBI,SCA,SDO
특집 3부 JBI 구현을 우한 오픈소스 ESB, ServiceMix
특집 4부 ESB의 비판적 대안, MS WCF와 비즈토크 서버

 

기업 환경 통합을 위한 해법 EAI에서 ESB까지

 


김민호|프로그래머

 

SOA와 그 토대가 되는 ESB는 분명 최근 IT의 화두이다. 그러나 IT의 화두들은 언제나 그렇듯 하위호환성의 근간을 두며 전혀 새로운 것이 아닌 EAI나 APS 등에서의 흐름과 통하는 것이라 할 수 있다. 특집 1부에서는 EAI의 도입 초기부터 시작하여 ESB의 개념이 나오게 된 동기와 개념에 대해 알아보고자 한다.

 

기업 환경의 변화는 분명 필수불가결한 결론에 다다르게 된다. 필요에 의해 하나둘씩 생긴 시스템들은 서로 인터페이스를 하게 되고, 또한 어쩔 수 없는 중복도 생기게 된다. 이런 혼잡한 기업 환경에서 ESB(Enterprise Service Bus)는 최적화된 기술 구조를 제공해주며, 유지보수의 편리성과 기업의 신속한 의사결정의 기반이 된다.

 

기업 환경의 확장

 

기업 환경만큼 IT의 흐름에 민감한 환경 또한 없을 것이다. 더군다나 우리나라의 기업 환경은 획일적일만치 IT 흐름의 정석을 따르고 있다. 그동안 한 기업 내에는 수많은 시스템들이 구축되었다. 그룹웨어 시스템을 비롯하여, CRM(Customer Relationship Manage ment)과 ERP(Enterprise Resource Planning)는 어느 정도 이상의 규모에서는 모두 구축되어 있다고 봐도 과언이 아닐 것이다.

 

이런 기업 환경은 구축된 시스템 간의 데이터에 대한 동기화와 비즈니스 요구사항을 빠르게 반영하기 위해 분명 변화해야 하는 필요성이 생기게 된다. 대부분이 SI(System Integration) 형태로 진행된 단위 프로젝트이고 보면, 다른 시스템과의 연계성이나 전체 기업 환경의 구조까지를 생각하고 진행하게 되는 경우는 그리 많지 않았다.

 

또한 IT 기술적인 변화는 결코 현재 운영 중인 시스템에는 영향을 주지 않은 상태여야 하고, 이런 통합 작업은 <그림 1>과 같은 형태의 Point-to-Point 방식으로 진행되는 경우가 많았다. 이는 간단한 연동일 때 빠른 적용이 가능하고, 복잡하지 않은 환경에서는 적용이 가능한 형태라고 할 수 있다. 그러나 다음과 같은 단점들이 있다.

 

◆ Point-to-Point 방식의 연결로 인한 시스템 독립성이 보장 불가
◆ 시스템 변동시 과다한 수정사항 발생
◆ 프로세스의 변경 곤란(Ripple Effect)
◆ 비즈니스 로직의 재사용 불가
◆ 시스템 간 정보 흐름의 지체현상 발생

 

이런 단점들 때문에 어느 정도 이상 규모의 기업 환경에서는 더 큰 문제가 되기도 한다. 따라서 <그림 2>와 같은 좀 더 통합적인 관점에서 EAI(Enterprise Application Integration)의 도입이 진행되었던 것이다. 즉 EAI가 중심이 되어 인터페이스될 여러 시스템들이 EAI를 통하게 됨으로써 각 레거시 시스템은 EAI를 위한 단일의 인터페이스 형태만으로도 여러 종류의 레거시 시스템과 연동할 수 있게 된다. 뿐만 아니라 이런 중앙 집중 형태의 EAI는 미들웨어의 특징을 가지며, 데이터의 변환, 역할(Rule) 기반의 프로세싱, 트랜잭션의 무결성을 제공한다. 장점이 되는 특징들은 다음과 같은 것들이 있다.

 

◆ 단순 아키텍처 지향으로 재사용율을 높임
◆ 신규 애플리케이션 도입시 확장 용이
◆ 개발 편의성 증대
◆ 유지보수 편의성 증대
◆ 에러발견 및 로깅 , 복구의 편의성 증대

 

결국 <그림 1>의 전통적인 스파게티식의 인터페이스 방법은 <그림 2>의 방식으로 변경되었을 경우 개발과 운영 측면에서 2/3의 절감 효과를 기대할 수 있다.

 

<그림 1> Point-to-Point 방식의 통,인터페이스가 스파게티식으로 어지럽게 엮여져 있는 기업 환경

 

EAI의 대두

 

현재까지 이렇게 다양해지는 기업 환경을 통합하는 최선의 선택은 EAI이다. EAI는 e비즈니스를 구현할 때 기존 시스템과 단기간에 유기적으로 통합할 수 있는 비즈니스 통합 솔루션으로써의 역할을 수행할 수 있기 때문이다. 이렇게 EAI를 도입함으로써 시스템 통합에 대한 과다한 비용을 해소하고 여기저기 흩어져 있는 정보 자원을 효율적으로 사용할 수 있게 되며, 기업 내 시스템의 효과적인 통합을 통한 민첩하고 경쟁력 있는 기업으로의 성장이 원활하게 되는 것이다.

 

EAI 프로젝트는 기업 환경의 획기적인 변환 시점에 즈음하여 대개는 거론 또는 구축되는 경우를 많이 보는데 이는 그저 시스템 하나 둘 정도 늘어나는 정도의 변화 수준을 넘어 기업 내의 기반 플랫폼이 되는 새로운 시스템의 도입에 EAI가 병행되는 경우가 대부분이기 때문이다. 예를 들어 전사 기반의 ERP라든지 차세대 또는 신 시스템 등의 구축 등 상당히 중요한 시스템의 도입으로 인하여 대대적인 변화가 있는 경우에 대개는 진행되어 진다는 것이다. 과거 진행되었거나, 현재 진행되고 있는 국내의 EAI 프로젝트들은 크게 다음 두 가지로 분류하여 볼 수 있다.

 

◆ ERP 시스템이 도입되면서 전체 시스템에 영향을 미치는 EAI 프로젝트
◆ 차세대 또는 신 시스템 구축을 통하여 EAI가 도입되는 프로젝트

 

ERP가 도입되면서 진행되는 EAI 프로젝트

 

국내에서 ERP가 중심이 되어 EAI 프로젝트가 도입되는 사례를 살펴보면, 여러 산업 분야 중에서도 특히 제조, 통신 부분이 많이 차지하고 있다. 기업에서 새롭게 ERP를 채택하면서 진행되는 EAI 프로젝트는 당연 ERP를 기준으로 주변 시스템들을 재배치 또는 조정하는 모습이 보이는 것이 특징이며, ISP 단계에서 ERP 도입이 결정되면 기존 시스템들은 한편 생사의 기로(?)에 놓이게 되는 것이다.

 

ERP 중 국내에 많은 시장을 확보하고 있는 SAP를 기준으로 살펴보면, SAP ERP에서는 BAPI, RFC 또는 IDoc의 형태로 프로그래밍되며, 이것이 EAI 시스템과 ERP를 연결하는 프로그램 역할을 수행하여 준다. BAPI와 RFC는 동기 형태를 지원하며, IDoc은 비동기를 지원함으로 쓰임새가 좀 다르다고 할 수 있다. 특별히 해당 모듈이 IDoc 기반으로 되어 있지 않은 이상은 RFC를 이용한다고 보면 된다. IDoc은 동작된 것에 대한 모니터링이나 재처리, 주고받는 데이터에 대해 확인할 수 있는 등 많은 기능을 제공하지만, 비동기라는 방식 자체를 선호하지 않는 경우가 많아 ERP 자체적으로는 잘 사용되고 있으나, EAI에서는 그리 각광을 받지 못하는 것 같다는 느낌이다.

 

이런 ERP가 중심이 되는 EAI 프로젝트는 다른 어떠한 프로젝트보다 경험이 중요하다. 분명 EAI 프로젝트 자체가 다양한 레거시의 효율적인 연계를 위한 것이므로 시스템들 전반에 대한 지식을 필요로 하고 있고 따라서 보통은 웹 프로젝트에 비해 기반 기술을 비롯한 다양한 지식을 필요로 하는데 이것은 경험하지 않으면 쉽게 쌓이지 않는 부분이며 무엇보다도 경험을 통한 큰 그림을 가지는 능력이 반드시 필요하다.

 

오랜 시간 ERP를 하던 개발자들은 보통 자신이 속한 모듈의 지식만(?)을 가지고 있는 경우가 많고, 시스템의 관리를 맡는 BC 또한 ERP 외에 부분. 특히나 EAI와 같은 외부 연동 경험이 그리 풍부하지 않기 때문에 전체를 아우르는 EAI 입장에서 이러한 레거시는 물론 좀 더 상위 레벨의 전반 아키텍처를 그리지 않으면 안된다. ERP가 주가 되는 EAI 프로젝트의 장단점은 다음과 같다.

 

<그림 2> EAI, 중앙 집중 형태의 통합 기업 환경

 

<그림 3> 전통적인 인터페이스 방식과 EAI를 통한 인터페이스 방식의 도입효과, EAI의 도입효과 분석

 

<그림 4> EAI, EAI의 엔터프라이즈 미들웨어 프레임워크

 

<그림 5> EAI 프로젝트 종류 1, ERP 중심의 EAI 프로젝트

 

장점
◆ ERP가 주가 됨으로, 전체 아키텍처의 구성이 비교적 간단하다.
◆ ERP 도입으로 인한 컨설팅 진행으로 시스템들이 재정비되며, 프로세스가 효율적으로 간략화되는 경우가 많다.

 

단점
◆ ERP와 연계되는 시스템이 노후화된 경우가 많다.
◆ 연계 시스템의 노후화는 EAI 시스템의 부하를 증대시키고 전체 트랜잭션에 영향을 주게 된다.
◆ ERP 컨설턴트에 의해 기획되는 경우가 많고 기존 레거시의 기술적인 분석이 부족한 경우가 많음
◆ ERP 프로젝트 일정에 EAI가 속하게 됨으로 자체적인 프로젝트 일정이 의미가 없는 경우가 많다.
◆ ERP나 레거시 시스템의 개발자가 외부 연동의 경험이 없는 경우가 많아 EAI 측에서 이를 지원하거나 프로그램 샘플을 제공해야 하는 경우도 있다.

 

<그림 6> 차세대 프로젝트 등에서의 EAI 프로젝트, EAI 프로젝트 H/W 아키텍처 예시

 

ERP가 주가되는 EAI 프로젝트의 개발방법론

 

보통의 프로젝트에서 개발방법론은 ‘요구사항 분석->설계->개발->테스트’와 같은 폭포수 모델을 근간으로 하는 경우가 많다. 프로젝트 초창기 PM이나 컨설턴트에 의해 고객의 요구사항이 분석되며, 아키텍처나 고급 개발자가 설계하고 개발, 테스트하는 형태는 많은 개발자들이 받아들이기에 그리 무리가 없는 형태라 할 수 있다.

 

그러나 필자가 경험한 ERP가 주가 되는 EAI 프로젝트의 경우 이러한 단계별 진행이 거의 불가능하다. EAI 프로젝트의 경우 연계되는 시스템이 적게는 몇 십 개에서 많게는 몇 백 개의 시스템이 되며, 그 시스템들을 담당하고 있는 담당자들 또한 수십 명에 이르기 때문에 인터페이스의 설계가 프로젝트 초창기에 한꺼번에 진행되지 않고, ERP 프로젝트의 개발 일정에 EAI는 설계, 개발 , 테스트가 한꺼번에 이루어지게 된다. 물론 분석의 경우 인터페이스 할 레거시 시스템을 초기에 어느 정도 유추하는 것이 가능하기 때문에 100%는 아니더라도 거의 90% 이상 분석을 마친 상태로 프로젝트를 시작할 수 있다.

 

이런 조금은 다른 개발 방법은 개발자들에게 상당히 큰 스트레스가 된다. 분석/설계된 개발물량에 대한 특정 일자동안 개발하고 테스트했으나, 개발 중에 수시로 해야 하는 테스트와 EAI 단독적으로 진행할 수 있는 테스트가 거의 없기에 각 시스템 담당자와의 시간 약속, 그리고 수정 변경이 빈번이 일어나는 환경 등은 이제껏 경험할 수 없었던 독특하고 쉽지 않은 것이기 때문이다.

 

또한 테스트 부분도 단위 테스트, 통합 테스트, 병행가동 테스트 그리고 성능/부하 테스트 등 빈도가 많은 것은 기본이며 많은 시간을 할애해서 진행해야 하는 부분으로, 사전에 아주 치밀한 계획과 각 부서의 유기적인 협조가 이루어지지 않으면 거의 밤샘을 해야하는 상황까지 자주 연출될 수밖에 없는 것이다.

 

차세대 또는 신 시스템 구축을 통해 진행되는 EAI 프로젝트

 

주로 금융 또는 제2금융권에서 진행되는 경우가 많다. 이런 프로젝트의 특징은 트랜잭션 자체가 상당히 중요하나, 또한 이 트랜잭션을 잘게 나누는 것이 의미 있는 경우가 많으며, 대용량의 데이터를 실시간 또는 배치 형태로 전달하는 것이 중요한 부분을 차지하게 된다. 또한 신뢰성이 상당히 중요해서 EAI 시스템 자체에 대한 장애 복구 방안은 기본이며, 다른 레거시 시스템들에 장애가 발생했을 경우에 대처할 수 있는 방안 또한 중요하게 취급되어 진다.

 

EAI와 ESB 그리고 SOA

 

가트너 그룹의 보고서에 따르면 EAI를 “엔터프라이즈 미들웨어를 인프라로 하여 다양한 이질적 기업적 환경(애플리케이션, 데이터, 플랫폼 및 네트워크 등)을 통합하여 하나의 시스템으로 관리 운영할 수 있는 유기적인 시스템”이라고 정의하고 있으며, 다른 기관에서의 정의 또한 대동소이한 편이다. 하지만 ESB의 경우 다음과 같이 기관마다 차이가 나는 다른 정의를 내리고 있는 것을 볼 수 있다.

 

◆ 느슨하게 결합되었거나 결합되지 않은 구성 요소들 간에 중재적인 관계와 직접 통신을 지원하는 웹 서비스가 가능한 인프라 - Gartner Group

◆ ESB란 표시는 그 제품이 MOM과 웹 서비스 프로토콜 모두를 지원하는 일종의 통합 미들웨어 제품 - Burton Group

◆ 표준 기반 통합 백본, 통합 메시징, 웹 서비스, 변환, 그리고 인텔리전트 라우팅 - Sonic Software

◆ 통신과 연결, 변환, 보안을 위한 표준화된 인터페이스를 구현하는 엔터프라이즈 플랫폼 - Fiorano Software

◆ 쉽게 말해 웹스피어 MQ와 그 밖의 다른 웹스피어 브로커 그리고 통합 서버를 가지고 있다면 당신은 ESB를 가지고 있는 것 - Bob Sutor, IBM

◆ ESB는 인프라 서비스들의 규칙적인 서비스 통합 아키텍처로 정의된 환경 내의 여러 비즈니스 서비스들에 일관된 지원을 제공한다. ESB는 웹 서비스 인터페이스를 사용해 서비스 중심 아키텍처로 구현된다. - CBDI

 

이와 같이 여러 가지 다양한 정의가 나온 것에 대해서 데이비드 채펠(채펠앤어소시에이트 사장)은 다음과 같은 말을 했다.

 

“개인적으로 ESB는 마케팅 개념에 불과하다고 본다. ESB 회사의 최고기술책임자(CTO)로 있는 친구들과 얘기를 해봤는데 사람들마다 의견이 달렸다. 현재 ESB는 자사의 독자 기술을 판매하기 위한 일종의 마케팅 전술이라고 할 수 있다. 그렇기 때문에 ESB에 대한 정의가 제각각인 셈이다.”

 

필자는 EAI라는 개념이 나왔을 당시만 해도 ESB와 EAI는 크게 다르지 않은 거의 같은 개념으로 이해하고 있었다. 다만 SOA (Servic Oriented Architecture)라는 아키텍처가 거의 모든 벤더들에게 마케팅의 중심이 되자, EAI라는 말은 거의 사라졌으며 ESB로 옮겨가고 있었다. 현재 시점에서 EAI와 ESB에 대한 구분은 EAI는 주로 허브&스포크 형태의 중앙 집중 방식이라면 ESB는 동적인 업무 프로세스를 통합하기 위한 버스 형태를 취하고 있다는 점이다. 즉 EAI는 시스템들 사이에 위치하며 각 시스템의 연계를 중심으로 한다면, ESB는 서비스를 중심으로 하나의 업무 프로세스를 진행하기 위해 하나 이상의 시스템을 거치는 운반자적인 역할이 더 중요하다는 것이다.

 

EAI가 대두되면서 기업의 통합에만 중심이 되서 EAI가 독립적으로 각광을 받았다고는 볼 수 없다. EAI가 회자될때쯤 EP(Enter prise Portal)와 함께 APS(Application Platform Suites)도 꽤 비중 있게 다루어졌다. 필자는 예전에 세미나를 통해 EAI를 발표할 기회가 있었는데 분명 EAI 자체적인 것도 중요하게 다뤘지만 이 EAI를 통하여 발전하게 될 기업 환경을 위해 APS에 대해 상당히 무게를 두었다.

 

기업 환경을 통합하는 EAI만으로는 무언가 부족함을 느끼게 된다. 분명 EAI를 통해 기업은 체계화된 데이터와 재사용 가능한 컴포넌트들을 가지게 되었지만, 이것이 적기시장진입(Time-to-Market)을 실현할 수 있는 열쇠는 될 수 없기 때문이다. 실제로 이러한 기본 환경들이 활용되기 위해서는 EP를 통한 UI 환경에서의 통합 또한 중요하기 때문이다.

 

ESB의 특징

 

ESB는 기업 IT 환경에서 중추적인 역할을 수행하는 것으로 각 레거시 시스템과의 연동을 위한 다양한 표준 프로토콜의 지원을 기본으로 재사용 가능한 컴포넌트들을 조립함으로써 서비스 지향적인 기업 환경을 만들 수 있는 기반이 되어야 한다. ESB의 특징으로는 다음과 같은 것들이 있다.

 

◆ 다양한 시스템과 연동하기 위한 멀티 프로토콜 지원
◆ 느슨한 결합(loosely coupled)
◆ 소프트웨어 컴포넌트를 조합하여 서비스를 조립하는 BPM 지원
◆ 이벤트 지향적
◆ 표준 지향적

 

ESB의 구성요소

 

어댑터 형태의 레거시 연동 컴포넌트
ESB는 기본적으로 다양한 표준 프로토콜을 어댑터(Adapter) 형태로 지원해야 한다. 어댑터 형태의 지원이란 소스 형태의 라이브러리가 아닌 통합 개발 환경에서 플러거블(Pluggable)할 수 있는 간단히 연동할 수 있는 형태여야 한다.

 

메시지의 변환, 가공
연동되는 시스템끼리는 서로 다른 형태의 데이터일 경우가 대부분이다. 따라서 데이터 포맷과 형태 등을 통합 개발 환경 등을 통해 자유롭게 변화하고 가공할 수 있어야 한다.

 

BPM
기업에서 필요로 하는 하나의 단위 서비스들은 보통 하나의 시스템과의 연동으로 이루어지는 경우는 그리 많지 않다. 다양한 시스템의 데이터와 애플리케이션과의 연동을 통해 하나의 서비스를 이용할 수 있어야 하고, 이를 위해서 반드시 BPM이 필요로 한다.

 

컨트롤과 모니터링
레거시 시스템과의 연동에서부터 데이터의 변환, 프로세스의 작성 등은 여러 단계를 거쳐 작업되고, 이러한 과정들은 통합적인 조작과 모니터링이 가능해야 한다. 어댑터 단에서의 연결 상태부터 진행되고 있는 프로세스의 상태 및 데이터 값 등이 모니터링의 대상이 될 수 있다.

 

통합개발환경
ESB에서 통합개발환경을 구성요소로 포함시키는 경우는 거의 없다. 하지만 여러 툴을 통하여 개발되거나 툴 자체가 제공되지 않을 경우 개발 효율성은 급격히 떨어질 수밖에 없다. 따라서 통합개발환경은 ESB에서 필요한 요소 중 하나가 되기에 충분하다.

 

<그림 7> ESB, ESB를 도식화한 그림(출처 : IBM Redbooks)

 

SOA에서의 ESB

 

현대 기업에서 가장 필요한 IT적 특성은 민첩성이라고 할 수 있다. 이런 민첩성을 해결할 아키텍처가 SOA이며, SOA를 이루는 핵심 기술이 바로 ESB라고 할 수 있다. SOA가 각광받는 이유는 현재까지 다분히 소극적이었던 IT의 활용이 현재 구축된 기업 환경을 바탕으로 이제 좀 더 많은 이윤을 창출할 수 있는 바탕이 되는 것이기 때문이다. 예전처럼 기업의 서비스를 IT가 받쳐주는 것이 아닌 기 구축된 IT 환경에 의해 새로운 서비스가 탄생되어 이런 서비스로 하여감 기업이 이윤을 창출 할 수 있는 계기를 마련해주는 것이다.

 

예를 들어, 은행에서 하나의 예금상품을 만들 때 담당자가 해당 예금상품을 기획하고 그것을 창구를 통한 서비스가 아닌 인터넷 뱅킹 등의 서비스를 통해 다른 은행에 비해 더 빨리 제공할 수 있다면, 그 은행은 분명 다른 은행에 비해 더 많은 이윤을 창출할 수 있을 것이다.

 

진정한 서비스 지향으로의 ESB

 

진정한 SOA가 구축되기 위해서는 현업에서 서비스를 설계할 수 있도록 하는 구조가 되어야 한다. 보통 서비스를 설계하는 사람들이 실제 기술적인 측면을 이해하는 경우는 극히 드물다고 할 수 있다. 또한 기술적인 기반에서만 서비스를 구축할 수 있다면 그것은 진정한 서비스라고 할 수 없다. 서비스란 철저히 기술과 분리된 개념으로 이루어져서 이제껏 전통적인 방법으로 새로운 상품을 개발하는 것과 동일한 형태로 서비스를 이용할 수 있어야 하는 것이다.

 

많은 기업들이 SOA를 구축하려 시도했고 또한 시도하고 있지만 기술적인 관심사에 압도되어 적정 수준보다 적은 범위의 목표에 집중하기 때문에 현업에서 사용되어야 하는 서비스까지 도달하지 못하는 경우가 대부분이다. 분명 쉽지 않은 일이겠지만 서비스의 정의는 철저히 서비스만을 위한 정의가 되어야 하며, 이렇게 정의된 서비스를 기술에 원활히 접목시킬 수 있도록 기업 IT 환경이 ESB에 충실하게 구축되어야 할 것이다.

 

출처명 : 마이크로소프트웨어 [2006년 3월]

 

'IT-Architect, Architecture' 카테고리의 다른 글

Domain, DAO, DTO, VO, CRUD 알고싶다  (0) 2020.05.04
SOA 실현의 핵심, ESB  (0) 2020.05.04
Posted by 사용자 SB패밀리
TAG CBD, EAI, ESB, MSA, SAP, si, SOA

댓글을 달아 주세요

MIDAS에 관하여

IT-개발 2020. 5. 3. 01:01

여러분 분산 처리 기술에 대해서 이번 기회에 확실히(??) 알아보도록 하죠...

요즘 기업체 동향인 분산 시스템 환경에서는 사용자가 그 위치와 무관하게
신뢰성 있고 빠른 서비스를 받을 수 있도록 하는 방법으로 다계층(Multi-Tier)
환경 구축 방법의 하나로 MIDAS(Multi-Tier Distributed Application Service)를
사용하기도 하죠...

이 MIDAS에 대하여 함께 공부하기로 하는 것입니다.
우선, MIDAS를 구체적으로 다루기 전에 다계층 응용프로그램 구조에 대해 간단히
살펴보면....

다계층 클라이언트/서버 응용프로그램은 인터넷 또는 LAN상에서 비즈니스로직이
구현이 서버 응용프로그램과 프리젠테이션 로직이 구현된 클라이언트 프로그램이
서로 통신하면서 원하는 서비스를 구현하는 것을 말합니다.

다계층 응용 프로그램의 모델 중 가장 간단한 형태인 3-계층은 클라이언트
응용프로그램, 응용프로그램 서버, 리모트 데이터베이스 서버로 구성되어
있습니다...

이에 대한 기능과 장점을 알아보도록 하죠.  

◇ 클라이언트 응용프로그램

  사용자 시스템에 사용자 인터페이스를 제공하죠.

◇ 응용프로그램 서버(서버 프로그램)

  모든 사용자가 접근 할 수 있는 중앙 네트워크에 위치하며,

  흔히, 데이터 서비스를 제공하는 기능을 갖습니다.

◇ 리모트 데이터베이스 서버

  관계형 데이터베이스 시스템을 제공합니다.


◆ 다계층(Multi-Tier) 응용 프로그램의 장점

☞ 응용프로그램 서버에 통합적으로 비즈니스 로직을 구현함으로써

   여러개의 각 클라이언트 응용프로그램마다 중복된 비즈니스

   로직을 구현할 필요가 없으므로 유지보수 비용이 적게 든다.

☞ 가벼운 클라이언트 응용프로그램은 인스톨, 환경설정이 용이하다.

☞ 몇 개의 시스템에 응용프로그램 서버를 분산시킴으로써 Load

   Balancing 기능을 수행하며, 한 시스템이 다운되어도 여유 시스템이

   가동되므로 Fail Over기능을 구현할 수 있다.

☞ 다계층 각 계층별로 보안단계를 분류하여 서로 접근 권한을 달리

   부여함으로써 보안 기능을 강화 할 수 있다.


- MIDAS기술과 특징 #1

MIDAS는 앞의 다계층 응용 프로그램의 장점을 지니면서 클라이언트 응용프로그램과
응용프로그램 서버 사이에 데이터베이스 정보를 통신하는 메커니즘을 제공합니다.

MIDAS기술을 자세히 살펴보면 빠르고 쉽게 개발할 수 있도록 디자인되었으며,
최고의 개발 속도와 호환성을 높이기 위해 MIDAS는 서버용 데이터베이스에 접근
가능하며, 비즈니스 룰과 데이터 Constraint를 지원합니다.

클라이언트 단에 데이터 Constraint가 정의되면 자동으로 서버 단에서
클라이언트 단으로 Constraint가 전달됩니다.

이것은 네트워크의 프래픽을 줄여 효율을 증진시키게 되며, 에러 처리 부하를
감소시켜주는 효과가 있습니다. 또한 사용자의 응용프로그램 속도를 높여주는
효과도 있습니다.

MIDAS는 다계층의 특성상 비즈니스 룰이 서버에 위치함으로써 가벼운
클라이언트를 유지하고 클라이언트 단에 환경설정이 거의 필요없으므로 배포 후
유지보주 또한 쉽고 비용이 적게 듭니다.

이는 요즘 추세인 사용자의 위치 이동이 잦은 응용프로그램에 매우 적합한
기술입니다. 또한, Load Balancing 기능이 있어 높은 서버 이용률과 Fail-Over
기능으로 시스템을 안정적으로 운영할 수 있도록 하여 줍니다.

- Remote DataBroker

Remote DataBroker를 쉽게 말하면 Cliente Program과 Server Program을
상호연결해주는 기반 기술이라고 합니다.

이것을 이용하게 되면 클라이언트 프로그램의 덩치나 작업량이 가볍게 줄일 수
있습니다. 즉, 클라이언트 시스템에서 프로그램의 크기가 작아진다는 의미입니다.

Remote DataBroker를 사용할 때는 140kbyte짜리인 하나의 DLL만 사용하고 배포
방법으로 델파이의 웹을 이용한다면 수동으로 설치하거나 환경설정을 할 필요성이
없어져 배포가 매우 용이해집니다.

클라이언트 프로그램은 단순히 인터페이스만을 구현하고 비즈니스 로직을 가지고
있지 않아 프로그램의 소스 대부분이 GUI(Graphic User Interface)에 해당됩니다.

클라이언트 프로그램이 작아지는 이유는 2-계층 프로그램처럼 비즈니스 로직을
따로 구현하지 않고 사용자 인터페이스 부분만을 구현하는 것 외에도 다른 것이
있습니다.

이는 3-계층 프로그램을 구축할 때에는 클라이언트 시스템에 프로그램 이외에
데이터베이스 연결을 위한 미들웨어 (델파이 SQL Link 또는 각종 벤더사들이
제공하는 ODBC 드라이버)와 각 데이터베이스 벤더에서 제공하는 클라이언트
모듈(인포믹스의 I-NET, 오라클의 SQL*NET)이 따로 필요하지 않다는 것입니다.

결국 가볍고 사용자 인터페이스 위주의 클라이언트 응용프로그램을 사용하게
되어 클라이언트측으로의 설치, 설정, 유지 보수 작업이 거의 없어지게 되는
장점을 지니고 있습니다.


- ConstraintBroker

데이터베이스와 관련된 응용프로그램에서 가장 중요한 것은 사용하고 있는
데이터가 정말 유효한 데이터인가 하는 것입니다. 만약 데이터베이스
응용프로그램에서 사용자가 잘못된 데이터를 가지고 수정하려고 할 때 어떤
순서로 어떤 작업을 하는 것일까요. 다음과 같은 순서로 작업을 처리할 것입니다.

1. 클라이언트 응용프로그램이 서버에 데이터를 전송한다.
2. 트랜잭션을 시작한다.
3. 데이터 수정을 시도한다.
4. 잘못된 데이터이므로 수정이 불가능하다.
5. 트랜잭션을 취소한다.
6. 데이터베이스 서버는 클라이언트 응용프로그램으로 에러 메시지를 전송한다.
7. 사용자는 정확한 데이터를 재전송한다.

이 과정을 살펴보게 되면, 데이터 무결성을 위해서 항상 유효한 데이터만이
데이터베이스 서버에서 적용된다는 것을 알 수 있습니다.

그러나, 이 메커니즘은 유효하지 않은 데이터는 처리되지 않으므로 비효율적으로
네트워크에 의하여 전송만 되고 처리되지 않습니다.

결국, 네트워크의 트래픽만을 증가시키게 되고, 사용자는 기다린 보람이 없이
그냥 시간이 흐른 뒤 에러 메시지만을 보게 될 것입니다.

이러한 단점을 보완하기 위한 일반적인 방법은 개발자가 데이터 무결성에 관련된
룰을 클라이언트 응용프로그램에서 구현하는 것입니다.

이렇게 하게 되면, 유효한 데이터만이 네트워크를 통해서 데이터베이스 서버에
전송되고 될 것입니다. 따라서 최종 사용자는 잘못된 자료에 대한 반응 시간이
빨라져서 작업의 효율이 높아지게 될 것입니다.

그러나, 무결성에 관련된 룰을 클라이언트에서 재 구현하는 것은 개발자의
노력이 필요하게 되고 데이터베이스가 변경될 때마다 룰을 가진 클라이언트측의
모든 응용프로그램이 수정되고 재배포되어야 하는 불편함을 가지게 됩니다.

이에 비해서 ConstraintBroker 기술은 개발자가 데이터 무결성 룰을 하나의
위치에서 관리할 수 있도록 해주면서 네트워크 트래픽은 최소화시키는 효율성
높은 응용프로그램을 생성할 수 있도록 해주는 뛰어난 솔루션입니다.

ConstraintBroker는 Remote DataBroker와 함께 운영되는데, 그 방법을 살펴보게
되면 Remote DataBroker는 클라이언트 요청을 받아서 데이터베이스로 자료를
질의하고, 다시 클라이언트로 되돌려 주게 됩니다.

이 때, ConstraintBroker가 작동되면 Remote DataBroker는 제약사항을 검색하기
위해 데이터 딕셔너리(Data Dictionary)로 추가 질의를 보내게 됩니다.
데이터 딕셔너리는 자료의 무결성에 대한 정보를 포함하는 테이블입니다.
이 테이블은 BDE(Borland Database Engine:ODBC보다 빠르다고 평가되어
있습니다)가 지원하는 어떤 종류의 데이터베이스에도 저장될 수 있습니다.

ConstraintBroker는 개발가에게 무결성 룰의 배포를 간단하고 자동화된 방법으로
제공합니다. 룰의 배포를 동적으로 할 수 있게 되면 개발자들이 많은
애플리케이션을 보다 쉽게 관리하여 유지할 수 있게 됩니다.

예를 들어, 데이터베이스에서 룰이 수정되면 개발자는 데이터 딕셔너리를
수정해야 할 필요가 발생합니다. 데이터 딕셔너리가 수정된 후에 Remote
DataBroker는 내부적으로 수정을 위해 하나의 함수를 호출할 수 있게 되는데
클라이언트가 그 데이터를 요청하게 되면, 재프로그래밍, 재컴파일, 재배포,
재설정 등의 과정이 필요없이 새로운 룰이 클라이언트로 전달됩니다.
예를 들어, ConstraintBroker가 구현되어 있는 곳에서 잘못된 데이터를 가지고
수정하려고 한다면 이제는 다음과 같은 순서로 작업이 처리됩니다.

1. 클라이언트 응용프로그램이 데이터베이스 서버로 자료를 전송합니다.
2. 클라이언트 단계에서 즉시 에러가 발생되어 유효하지 않은 데이터임
  을 사용자에게 알려줍니다.
3. 사용자는 정확한 데이터 재전송을 합니다.

여기에서 사용자는 잘못된 데이터 입력에 대해 빠르게 반응을 하여 대처할 수
있게 됩니다. 이것은 네트워크나 데이터베이스 서버가 데이터의 검증을 위해
전혀 관여하지 않기 때문입니다.

정확한 데이터 입력으로 Constraint가 통과되면 데이터베이스 서버로 레코드가
전송될 것입니다.

데이터 딕셔너리는 사용자 Constraint와 사용자 정의 에러 메시지를 추가하는
기능을 포함하고 있습니다. 이것은 응용 프로그램에 트정 룰을 추가하는 기능을
의미합니다. 예를 들어, 데이터 무결성 룰은 값이 0보다 큰 경우에만 입력되도록
하기 위한 것인 경우입니다.

인프라이즈에서 제공하는 툴에서 데이터 딕셔너리의 수정, 관리를 위해 사용하는
뛰어난 툴로 SQL 익스플로러가 있습니다. SQL 익스플로러를 이용하여 테이블,
앨리어스, 스토어드 프로시져, 트리거, 무결성 룰의 생성과 수정을 관리할 수
있으며, 또한 손쉽게 각 데이터베이스를 관리할 수 있게 합니다.

오라클, 인터베이스, 사이베이스, 인포믹스, DB2, MS SQL 서버 등의 스키마
정보를 나타내 주며, SQL 익스플로러에서 개발자는 SQL문을 사용하여 자료를
보거나 편집할 수 있습니다.


- Business ObjectBroker

Business ObjectBroker 기능을 이용하기 위해서는 델파이에서 제공하는 툴인
OLEnterprise를 인스톨하여 사용해야 하는데, OLEenterprise은 클라이언트와
서버 시스템 사이에 Remote Procedure Calls(RPCs) 프로토콜을 이용하여
오토메이션 마샬링을 호출하거나, 상호통신을 하는데 관여한다. Business
ObjectBroker기능과 서비스하던 서버가 갑자기 다운되었을 때 다른 정상
서버로 서비스를 받도록 하는 Fail-Over기능을 제공한다. 앞에서 설명한
Remote DataBroker는 DCOM(Distributed Common Object Model)을 기반으로 하여
설계되었으며, 이러한 DCOM은 위와 같은 기능을 제공하기 어렵다.

Business ObjectBroker와 OLEnterprise는 OLE 자동화 서버(OLE Automation
Server, COM 서버)나 DCE/RPC 서버가 Load Balancing과 Fail-Over 기능을 가질
수 있도록 해준다. 다시 말해 이러한 기능을 제공하기 위한 조건은
응용프로그램이 OLE자동화 서버나 DCE/RPC서버 기능이 있어야 한다는 말이다.

Business ObjectBroker는 비즈니스 오브젝트브로커(Business ObjectBroker),
오브젝트 팩토리(Object Factory), 오브젝트 에이전트(Object Agent),
오브젝트 익스플로러(Object Explorer)등 다시 4가지 요소로 구성된다.


~ 비지니스 오브젝트브로커

비즈니스 오브젝트브로커는 클라이언트에서 요청한 서버 응용프로그램이
설치되고 등록된 서버 시스템 중에서 하나를 클라이언트에 연결시켜 주는
역할을 한다. 이를 위해 서버 응용프로그램은 그것의 레지스트리 항목을
만들고자 하는 곳에서 글로벌 레지스트리를 제공한다. 이것은 클라이언트
응용프로그램이 네트워크상의 응용프로그램 서버 중의 하나로 연결할 때
참조할 수 있는 유일한 정보이다.


~ 오브젝트 팩토리

서버에 의해 사용되는 오브젝트 팩토리는 RPC 서버이면서 OLE 자동화
클라이언트이다. OLE 자동화 클라이언트로 행동할 때에는 원거리 OLE
요청(Remote OLE Request)이 발생할 때 클라이언트 시스템상의 오브젝트
에이전트에 의해 RPC(Remote Procedure Call)통신으로 오브젝트 팩토리에
전달된다. 그러면 오브젝트 팩토리는 원격 클라이언트 응용프로그램을 대신하여
OLE 요청을 다시 발생시킨다. 또한, RPC 서버로의 원격지 요청은 오브젝트
팩토리를 통하지 않고 오브젝트 에이전트가 RPC 오브젝트와 직접 통신한다.


~ 오브젝트 에이전트

클라이언트에서 사용되는 것으로 OLE 자동화 서버이면서 RPC 클라이언트이다.
이것은 원격지 서버를 대신하여 OLE 자동화 서버처럼 작동한다. 원격 요청은
오브젝트 에이전트를 통해 전달된다. 원격 OLE 오브젝트를 위한 요청은
오브젝트 에이전트가 그 요청을 서버 시스템의 오브젝트 팩토리로 RPC를
사용하여 전달하고, 원격 RPC 오브젝트를 위한 요청은 오브젝트 에이전트가
레지스트리로부터 인터페이스 정의를 읽어 동적으로 RPC 요청을 만들고 그것을
서버로 보낸다.


~ 오브젝트 익스플로러

사용자가 기업 내 환경을 탐색할 수 있도록 오브젝트들과 각종 서비스 내용을
동적으로 볼 수 있는 유틸리티이다. 오브젝트 익스프로러는 클라이언트에서
오브젝트를 공유하고 재사용할 수 있도록 불러오기(Import)/내보내기(Export)
기능을 제공한다. 오브젝트를 개발하는 개발자는 오브젝트를 사용할 수 있도록
하기 위해 오브젝트 익스프로러를 사용한다. 익스플로러는 기업내의 각종
오브젝트에 대한 로컬, 원격, 글로벌 레지스트리를 검색할 수 있다. 하나의
오브젝트가 선택되면 익스플로러는 자동적으로 오브젝트에 대한 접근을
가능하게 하기 위해 요구되는 모든 정보를 가져와서 사용자 로컬 레지스트리에
등록시킨다.


지금까지는 클라이언트가 연결할 서버를 결정하는 방법은 무작위 선택(Random)
알고리즘에 따르고 있다. 그러나 인프라이즈(Inprise)사는 앞으로 이것을
서버의 CPU 사용도, I/O등과 물리적인 거리를 고려하여 좀더 논리적으로
구성하기 위한 기술을 개발하고 있다고 한다.

지금까지 개략적으로 MIDAS의 기반 기술인 Remote DataBroker, ConstraintBroker,
Business ObjectBroker에 대해서 살펴보았다.

개념적으로 살펴본 것이기 때문에 바로 직접 시험해 보기에는 다소 설명의
부족이 보이는 것 같아 안타까운 생각이 든다. 다음에 기회가 된다면 더욱
상세히 설명을 할 것을 약속하면서 이만 MIDAS에 대한 개략적인 내용은
줄일까 한다.

2009년 글

Posted by 사용자 SB패밀리

댓글을 달아 주세요

일본어 

출처 : 인터넷

 

인용하는 경우에 사용하는 문장을 알아보겠습니다.

~라고 말을 걸어주었습니다.
~とこえをかけてくれました。

"彼女は食事しました"と声をかけてくれました

"그녀는 식사하셨어요"라고 말을 걸어주었습니다.


言(い)う 동사와 관련된 말입니다.

제 3자의 말을 인용하는 경우에 사용하는 문구입니다.

~라고 말했습니다.
~と言いました。

田中さんは明日休むと言いました

다나까상은 내일 쉰다고 말했습니다.

제3자의 말을 전하는 경우의 문구가 있습니다. 비슷하지만 약간 다릅니다.

~と言っていました 。

社長は車が渋滞してすぐ現場に行かれると言っていました。 

사장님은 차가 막혀서 바로 현장에 가신다라고 말하셨습니다.

'일본어' 카테고리의 다른 글

일본어 ~라고 말했습니다.  (0) 2020.05.01
요리에 관련된 일본어 모음  (0) 2020.04.21
할당, 배분, 분배 용어의 차이  (0) 2020.04.16
Posted by 사용자 SB패밀리

댓글을 달아 주세요