슬라이드 1

Similar documents
J2EE & Web Services iSeminar

No Slide Title

untitled

Network seminar.key

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션

Portal_9iAS.ppt [읽기 전용]

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Intro to Servlet, EJB, JSP, WS

6주차.key



PCServerMgmt7

Gartner Day

PowerPoint 프레젠테이션

ibmdw_rest_v1.0.ppt

Analyst Briefing


I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

1217 WebTrafMon II

세션 3 (오이식).ppt

Corporate PPT Template

슬라이드 1

J2EE Concepts

6강.hwp

rmi_박준용_final.PDF

슬라이드 1

The Self-Managing Database : Automatic Health Monitoring and Alerting

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

thesis


Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

[Brochure] KOR_TunA

DocsPin_Korean.pages

Week13

Assign an IP Address and Access the Video Stream - Installation Guide

ETL_project_best_practice1.ppt

thesis

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

당사의 명칭은 "주식회사 다우기술"로 표기하며 영문으로는 "Daou Tech Inc." 로 표기합니다. 또한, 약식으로는 "(주)다우기술"로 표기합니다. 나. 설립일자 및 존속기간 당사는 1986년 1월 9일 설립되었으며, 1997년 8월 27일 유가증권시장에 상장되

歯부장

SMB_ICMP_UDP(huichang).PDF

Service-Oriented Architecture Copyright Tmax Soft 2005

NoSQL

Chap7.PDF

TCP.IP.ppt

PowerPoint 프레젠테이션

Microsoft Word - 조병호

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

untitled

TIT 기술지원

untitled

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

untitled

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Microsoft PowerPoint - 04-UDP Programming.ppt

1

NHN 포털 서비스 플랫폼

PowerPoint Presentation

TTA Journal No.157_서체변경.indd

슬라이드 1

네트워크 안정성을 지켜줄 최고의 기술과 성능 TrusGuard는 국내 최초의 통합보안솔루션으로서 지난 5년간 약 4천여 고객 사이트에 구축 운영되면서 기술의 안정성과 성능면에서 철저한 시장 검증을 거쳤습니다. 또한 TrusGuard는 단독 기능 또는 복합 기능 구동 시

<4D F736F F F696E74202D20315F315F506F C313067B8A6C8B0BFEBC7D1BAF1C1EEB4CFBDBAC5EBC7D55FC0E5C8F1C1A4>

자바-11장N'1-502

Remote UI Guide

untitled

Interstage4 설치가이드

Microsoft Word - s.doc

JavaGeneralProgramming.PDF

untitled

본편 1. 소개 제품의 특장점 5 제품 모델별 특징 7 알아두면 편리한 정보 13 사용 설명서 정보 14 안전 정보 15 제품 모습 20 조작부 24 제품 전원 켜기 29 로컬로 드라이버 설치하기 30 드라이버 재설치하기 유지 관리 소모품 및 별매품 주문하기

PowerPoint 프레젠테이션

untitled

bn2019_2

Agenda Red Hat JBoss Fuse 연계사례 Lessons Learned

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

KNOM_Conference_2008_start.ppt

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

3장

놀이동산미아찾기시스템

PowerPoint

chapter4

Backup Exec

final_thesis

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft PowerPoint - JCO2007_Spring2.0_발표자료_Rev-A.ppt [호환 모드]

Spring Boot

untitled

Microsoft PowerPoint - 인소프트.ppt

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

UDP Flooding Attack 공격과 방어

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

*****

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V


Transcription:

분산애플리케이션개발을위한 기업통합 (EIPs) 전략 바른모주식회사차정호대표 (hinunbi@barunmo.com) - 0 -

1. 기업통합 (Enterprise Integration) 문제 기업시스템 - 1 -

1. 기업통합 (Enterprise Integration) 문제 분산애플리케이션시스템 C Python JMS TCP SOAP Unix Windows JAVA Shell DB SMTP Linux Ruby PHP SQL J2EE.NET FTP SOA HTTP ESB ㅜ. ㅜ - 2 -

1. 기업통합 (Enterprise Integration) 문제 분산애플리케이션통합? C Python JMS TCP SOAP Unix Windows JAVA Shell DB??? SMTP Linux PHP J2EE HTTP Ruby SQL.NET FTP SOA ESB 수용할것인가? 개선할것인가? - 3 -

1. 기업통합 (Enterprise Integration) 문제 분산애플리케이션데이터 DTO Binary String XML Big Data NoSQL Stream Serialized JAXB Table Crypt Json Euc-kr Utf8 CSV ㅜ. ㅜ - 4 -

1. 기업통합 (Enterprise Integration) 문제 분산애플리케이션데이터통합? DTO Binary String XML Big Data NoSQL Stream Serialized??? JAXB Table Crypt Json Euc-kr Utf8 CSV 수용할것인가? 개선할것인가? - 5 -

2. 기업통합 (Enterprise Integration) 기업통합이란? 기업통합 (Enterprise integration) 은기업분산컴퓨팅환경에서시스템간통신, 데이터교환에대한아키텍처기술이다. François Vernadat (1996). Enterprise Modeling and Integration: Principles and Applications, Chapman & Hall, London 출처 ) 위키피디아 http://en.wikipedia.org/wiki/enterprise_integration#cite_note-0-6 -

2. 기업통합 (Enterprise Integration) 기업통합역사 출처 ) 위키피디아 http://en.wikipedia.org/wiki/enterprise_integration - 7 -

2. 기업통합 (Enterprise Integration) 일반적인기업통합방법 1. 파일전송 (File Transfer) : FTP 2. 데이터베이스공유 (Shared Database) : RDBMS 3. 원격프로시저호출 (Remote Procedure Call) : Web Service, EJB Call 4. 메시지 (Messaging) : Message Queue, 전문통신 5. 솔루션 : EAI (Enterprise Application Integration), ESB, SOA - 8 -

2. 기업통합 (Enterprise Integration) 기업통합방법의문제 1. 파일전송 (File Transfer) 느린데이터이동속도 2. 데이터베이스공유 (Shared Database) 애플리케이션사이단단한결합 3. 원격프로시저호출 (Remote Procedure Call) 네트워크장애시서비스중단 4. 메시지 (Messaging) 메시지동기화문제 ( 메시지순서, 동기화 ) 5. 솔루션 (EAI) 미성숙된고가솔루션, 기존애플리케이션연동문제 기업통합에가장좋은방법은? - 9 -

3. 기업통합패턴 (Enterprise Integration Patterns) 기업통합패턴 (EIPs)? 기업분산컴퓨팅환경에서시스템간통신, 데이터교환아키텍처의디자인 ( 밑그림 ) 문제에대한해결책을문서화하는정식방법이다. Gregor Hohpe, Bobby Woolf Addison Wesley (2003). - 10 -

3. 기업통합패턴 (Enterprise Integration Patterns) 기업통합패턴 (EIPs) 방법론 느슨한결합 (Loose Coupling) 아키텍처 메시지시스템 (Messaging System) 의재해석 패턴아이콘 (Pattern Icon) 도입 기업통합패턴다이어그램 (EIPs Diagram) 사용 우리들의일상은대부분비동기적이다. 반가운편지, 아침에받아보는신문, 합격자발표 - 11 -

3. 기업통합패턴 (Enterprise Integration Patterns) 아키텍처설계방향 기존방법론 기업통합패턴 (EIPs) 패러미터 메서드 (Method) 처리 (Process) 데이터소유 메시지 (Message) 주소 (Address) 전달 (Send, Receive) 메시지채널 단단한결합 느슨한결합 - 12 -

3. 기업통합패턴 (Enterprise Integration Patterns) 기업통합패턴 (EIPs) 개요 1 Message Endpoint 4 Message Routing 5 Message Transformation Application A Endpoint Channel Router Translator Application B Message 2 Message Consutruction Monitoring 3 Messaging Channels 6 System Management 애플리케이션사이메시지이동과변환패턴 - 13 -

3. 기업통합패턴 (Enterprise Integration Patterns) 기업통합패턴 (EIPs) 아이콘 65 개패턴이름에대응되는아이콘정의 Message Endpoint Message Consutruction Messaging Channels Message Endpoint Competing Consumer Message Request Reply Channel Publish-Subscribe Channel Message Bus C Message Gateway Message Dispatcher Command Message Return Address Guaranteed Delivery Channel Adapter Messaging Bridge? D A B! Transactional Client Selective Consumer Document Message Correlation ID Invalid Message Dead Letter Channel Datatype Channel E 1 2 3 Message Transformation Polling Comsumer Durable Subscriber Event Message Message Sequence Event Driver Consumer Service Activator Message Translator Envelope Wrapper Message Enricher Content Filter Nornamlizer Claim Check System Management Message Routing Control Bus Channel Purger Test Message Message Router Content Based Router Composed Msg. Processer Process Manager Message Filter Wire Tap Message Store Detour Aggregator Resquencer Splitter Rounding Slip Recipient List 참고 ) MS Visio Stencil 다운로드 http://eaipatterns.com/downloads.html - 14 -

3. 기업통합패턴 (Enterprise Integration Patterns) 기업통합패턴 (EIPs) 다이어그램 시작 재고확인 고객검증 토픽채널 고객검증 큐채널 주문메시지 NEW_ORDER 재고확인 OK? 예외처리 상품발송 토픽채널 내용기반라우터 상품발송 송장발송 송장발송 VALID_ORDER 집합기 INVALID_ORDER 종료 Activity 다이어그램 EIPs 다이어그램 - 15 -

3. 기업통합패턴 (Enterprise Integration Patterns) 기업통합패턴 (EIPs) 프레임워크 Apache ServiceMix : ESB 플랫폼 + EIPs 지원 (2005년) Apache Camel : EIPs Framework (2007년) MuleESB : ESB 플랫폼 + EIPs 지원 (2008년) Spring Integration : Spring Framework + EIPs 지원 (2011년) - 16 -

4. Apache Camel Apache Camel Camel Spring Framework Enterprise Integration Patterns 애플리케이션통합 Camel Component 기업통합 - 17 -

4. Apache Camel Camel 은왜매력적인가? EIPs 다이어그램 DSL 표현 (Domain Specific Language: 특정분야언어 ) 메시지채널, 애플리케이션 Endpoint URI 표현 Spring Framework Spring Bean Integration 100+ Camel Component, Type Converter 다양한애플리케이션및데이터통합 Light Weight 거의모든자바기반컨테이너에탑재가능 - 18 -

4. Apache Camel EIPs 다이어그램 DSL 표현 URI 표현 Bean Integration public void configure() throws Exception { from("direct:seoul"). to("http://www.kma.go.kr/weather/forecast/mid-term-xml.jsp?stnid=109"). convertbodyto(document.class). to("bean:weatherextractor?method=print"); } - 19 -

4. Apache Camel EIPs 다이어그램 Spring XML DSL 표현 <bean id="weatherextractor" class="com.brm.weather.weatherextractor" /> <camelcontext id="camel" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="direct:seoul" /> <to uri= "http://www.kma.go.kr/weather/forecast/mid-term-xml.jsp?stnid=109" /> <convertbodyto type="org.w3c.dom.document" /> <to uri="bean:weatherextractor?method=print" /> </route> </camelcontext> - 20 -

4. Apache Camel 100+ Camel Component Async Http Client Cache Event Google App Mail JCR Lucene Quickfix SMPP Velocity ActiveMQ Class Event Admin Hazelcast JDBC Mail Ref Solr VM APNS Cometd Exec Hadoop File System Jetty Mina Restlet Spring Web Service XMPP Atom Context File HL7 JMS MSV RMI SQL XQuery Amazon Simple DB Crypto Flatpack HTTP JMX MyBatis RNC StAx XSLT Amazon Simple Email CXF FreeMarker HTTPS JPA Nagios RouteBox Stream Zookeeper Amazon Simple Noti CXF Bean FTP ibatis JT/400 Netty RSS String Template Db4o Amazon Simple Queue CXF Rest FTPS IMap Kestrel Pax-Logging SEDA TCP Esper Amazon Simple Storage DataSet Google OAuth IRC Krati POP3 SERVLET Test Hibernate Bean Direct Google App Engine JavaSpace Language Printer SFTP Timer NMR Bean Validation DNS Google App login JBI LDAP Properties SIP UDP Scalate Browse EJB Google App Task jcloud Log Quartz SMTP Validation Smooks - 21 -

4. Apache Camel 어디에사용할것인가? Standalone Java Application Web Application J2EE Application JBI OSGi Google App Engine Java Web Start Spring Application Apache ServiceMix Apache ActiveMQ Apache Tomcat Jetty JBoss IBM WebSphere BEA WebLogic Oracle OC4j Google App Engine Amazon Virtual Machine - 22 -

4. Apache Camel 애플리케이션적용패턴 Camel Application Camel Spring Application Camel Application Application Application Camel Application Application Camel Camel Application Application Camel Camel Application - 23 -

5. Apache Camel 프로그램 프로그램작성예 (Main.java) public class Main extends RouteBuilder { } public static void main() throws Exception { } DefaultCamelContext ctx = new DefaultCamelContext(); ctx.addroutes(this); ctx.start(); public void configure() throws Exception { } from("direct:seoul"). to("http://www.kma.go.kr/weather/forecast/mid-term-xml.jsp?stnid=109"). convertbodyto(document.class). to("bean:weatherextractor?method=print"); - 24 -

5. Apache Camel 프로그램 기상정보수집프로그램 (100 라인 ) HTTP 컴포넌트 : 기상청웹사이트 HTTP Request Type Converter : XML Java Dom Object 변환 Bean : Dom Object 정보추출및화면출력 - 25 - 참고 ) 구글검색 : 기상청사이트서울날씨주간예보조회 http://www.barunmo.com/wiki/index.php/%ea%b8%b0%ec%83%81%ec%b2%ad_%ec%82%ac%ec%9d%b4%ed%8a%b8_%ec%84%9c%ec%9a%b8_%eb%82%a0%ec%94%a8_%ec%a3%bc%ea%b0%84_%ec%98%88%eb %B3%B4_%EC%A1%B0%ED%9A%8C

5. Apache Camel 프로그램 ETL 프로그램 ( 파일테이블등록 ) file:/fsapp/cms/rcvfiles Stream Line String Map bean:insert File 컴포넌트 : 파일자동감지 (Polling Consumer) Splitter : 파일스트림라인별추출 Type Converter : 라인스트림 Java Map 오브젝트변환 Bean : ibatis SqlClientMap을사용하여 CMS 레코드인서트등록 - 26 -

5. Apache Camel 프로그램 서버프로그램 (SNMS Trap Packet 수집 ) UDP Trap Packet mina:udp Trap Map Map Object seda:next Thread pool bean:dblogger logger:trap jms:queue:trap.received SNMS Trap Packet 수집서버 Mina 컴포넌트 : Apache Mina Network Framework 사용 Seda 컴포넌트 : Camel 내부비동기메시지큐 Dispatcher : 스레드풀 Bean 오브젝트 : 수집된 Trap Packet DB 저장 / 파일로그 / 메시지큐전송 - 27 -

5. Apache Camel 프로그램 Camel In Action Apache Camel 에대해더많은이 해를원하시는분들은읽어보기시 기바랍니다. Accessible to beginners, useful to experts Claus Ibsen, Jonathan Anstey Forewords by: Gregor Hohpe, James Strachan Manning (2011). - 28 -

6. 기업통합아키텍처적용 기업통합패턴적용사례 1) 개발요구조건 : 금융권 OTP (One Time Password) 도입일정에맞추어 OTP 시스템을 1달내오픈하라 2) 기업통합패턴적용 : 단일애플리케이션통합방식이아닌메시지시스템기반분산애플리케이션아키텍처 접속서버개발과비즈니스서버개발의완전한분리 통신없는전문비즈니스프로그램구현및단위테스트 비즈니스없는통신프로그램구현및단위테스트 - 29 -

6. 기업통합아키텍처적용 OTP 서버아키텍처 OTP 서버 OTP 서버제어 중계서버 Connector 미통지처리서버 중계서버 TCP/IP 전문해석기비즈처리 ActiveMQ 콜센터 Connector EBCDIC EUC-KR 금융보안연구원 Connector 콜센터 ( 텐덤 ) TCP/IP TCP/IP TCP/IP 금융보안연구원 EIPs 다이어그램 - 30 -

6. 기업통합아키텍처적용 동기, 비동기전환아키텍처 비동기패턴 동기패턴 2 CorrelationID Request Connector Threads 3 TCP Request 1 Request Response Biz Threads A B OTP 인증요구 TimeOut? Response Connector Threads 4 TCP Response 5 Selective Consumer (NemedMemQueue) CorrelationID 패턴 Selective Consumer 패턴 : NamedMemQueue 메모리큐 ( 타임아웃처리 ) - 31 -

6. 기업통합아키텍처적용 기업통합패턴적용사례 3) 기업통합패턴적용결과 : 1달기간내개발완료및서비스오픈 하루천만건이상 ( 초당 120건이상 ) OTP 인증처리가능시스템 4) 기업통합패턴적용교훈 : 메시지시스템은고속통신시스템이다. 기업통합패턴아키텍처적용시개발분업으로개발생산성을향상시킬수있다. ( 비즈니스개발과통신개발의분리 ) - 32 -

7. 맺음말 분산애플리케이션통합전략 느슨한결합 (Loose Coupling) 아키텍처지향 기업통합패턴 (EIPs) 활용 애플리케이션중립적메시지인프라도입 기존애플리케이션과조화 단계별통합 ( 수용과개선 ) - 33 -

7. 맺음말 낙타는다른짐꾼동물보다 4 배나 많은짐을싣는다. - 34 -

- 35 -