마이그레이션공학강좌 집필자 : 박성희마이그레이션전략 / 기획팀장 psh@metam.co.kr 010-3027-0354 @migration_club 메타마이닝공식블로그 : mmcmobile.wordpress.com 필자는경희대학교물리과를졸업하고호서벤처전문대학원석사과정이수중이며마이그레이션진단컨설팅및전략기획을담당하고있다. ------------------------------------------------------------------------------------------------------- SOA 구축을위한어플리케이션 Re-hosting 전략 SOA 란무엇인가? SOA(Service-Oriented Architecture( 서비스지향아키텍처 ) 는정의가잘된인터페이스와서비스들간의연결을통해서비스라고하는어플리케이션의다양한기능단위를상호연관시키는컴포넌트 (Component) 모델이라고기술적으로정의를할수있을것이다. SOA는특정한아키텍처와인터페이스를전혀신경쓰지않고모든어플리케이션을네트워크를통해서비스로서자유롭게조합하여이용할수있도록하기위한시스템의설계방법이라고정의할수있을것이다. 비즈니스환경이너무빨리변화하기때문에이를적응하기위해서빠르게적응하기위한시스템설계기법으로 SOA가등장을하게되었으며, 주력비즈니스, 비즈니스포커스, 파트너쉽, 산업표준, 비즈니스본질에대한영향을미치는관련요소들을유연하게대처하기위한비즈니스도구로 SOA가활용하기때문에이시대에가장관심있는트랜드로각광을받고있다. SOA 는비즈니스에관해실시간으로정보가제공되며, 그렇게됨으로외부상황에대하여 즉각반응이일어나며, 비즈니스프로세스전과정의정보전달이매우빠르고정확하게제 공되는서비스중심의아키텍처라고이해할수있을것이다. 1
ERP CRM/SCM Legacy system ERP CRM SCM Legacy application Data Middleware Data Middleware Data Middleware SOA (Service-Oriented Architecture) Data Common Middleware Component Hardware Hardware Hardware Hardware < 그림 > 컴포넌트기반의 서비스지향아키텍처 우선 SOA 에대한이해를돕기위해몇가지오해와진실을정리해보기로하자, SOA 는웹서비스와동일하다. SOA 는분산처리서비스와동일하다. 이것은 SOA 에대한잘못된이해이다. SOA는비즈니스변화에능동적으로대처하기위한기반설계기술이다. SOA는비즈니스로직을서비스중심으로전환하는것이다. 비즈니스로직을서비스지행으로자동으로바꾸어야한다. 서비스지향기술기반으로시스템환경을전환하여야한다. 맞다. 그러나 SOA 를웹서비스, 객체지향방법론, 컴포넌트개발기법의다음설계기법, BPM 같은 것과비슷하지않을까? 하는생각도크게는벗어나지않다고필자는판단하고있다. 많은 IT 조직은다음과같은고민을하고있다. 비즈니스환경이빠르게변화하고있는데비즈니스프로세스를어떻게보다효율적으로대처할것인가? 기업의경쟁력을강화하기위해 IT기반기술과비즈니스를신속하게연결할수는없을까? 기존의다양한어플리케이션환경 ( 비즈니스로직 ) 을 SOA와어떻게연결할수있을까? 2
등다양한기술적, 비즈니스적인궁금증과해결안을위해필자는 기존의어플리케이션을 SOA 와연결하여활용하는방안에대하여집중적으로소개하기로하겠다. 다음은 IBM 개발자를위한사이트에서참조한 SOA 를구현하는 6 가지접근방안을옮겨보 았다. SOA 구현하는 6 가지접근방안 비행할때가장어려운두가지일은이륙과착륙이라는말이있다. 날씨, 운항조건, 풍속등운항제어가이드라인에따라다양한진입방식으로 활주로에착륙할수있다. 성공적인 SOA 로정착하기위해서는적어도여섯 개의접근방식이있다. 어떤클라이언트는비즈니스프로세스로시작하고그러한프로세스를 지원하는데필요한서비스로나아가기를바란다. 또, 어떤클라이언트는 클라이언트, 파트너, 서비스생태계로노출되어야하는기능들을레거시 시스템에가지고있다. 후자의경우기능이삽입되어있고쉽게접근할수 없기때문에상당한레거시변형과컴포넌트화가수행되어기능들을 끌어내고서비스로노출해야한다. 좋은서비스인지아닌지의여부는또 다른문제이다. SOA 로접근하는탑다운 (top-down) 방식중에 MDA( 모델 중심의아키텍쳐 ) 가있다. 이툴을사용하면코드를만들어낼수있는 3
모델을정의하여서비스를구현할수있다. 지금까지우리는두개의탑다운 방식과두개의바톰업 (bottom-up) 방식을고려해왔다. 기타프로젝트는데이터와이데이터와관련된현황에액세스를제공해야 한다. 이것은 SOA 에대한정보아키텍쳐또는데이터아키텍쳐이다. 하지만 대부분이시스템을통합하는방법을모색하고그무엇보다도메시징을통해 시스템과애플리케이션을통합하는방법을더신경쓰고있다. 접근방식설명 ( 프로젝트소유자별특성 ) 조건 비즈니스프로세스중심툴기반 MDA 레거시래핑 (wrapping) 레거시의컴포넌트화 (Legacy Componentization) 데이터중심메시지중심 이비즈니스프로세스는리소스가되어야하고각액티비티는 IT 기능을호출해야한다. 그기능이유연하고대체가능한방식으로사용될수있기를바란다. 모델 ( 비즈니스모델 ) 을정의한다음내툴로상세한것을구현하고싶다. 많은투자를해왔던기존시스템이있지만회복력이없다. 새로운기능을빠르게추가하고싶지만이시스템들은나뉘어져있다. 이곳은각기능들이고립되어있는사일로와같다. 통합된레거시시스템들을컴파일러기반툴들을사용하여모듈로분해하여이를컴포넌트로전환을하여활용한다. 공급자측에스키마또는구현결정을노출하지않고서비스를사용하여정보에대한액세스를제공한다. " 이러한시스템들이표준의비상용프로토콜들을통해통합및통신할수있기를바란다." 탑다운탑다운바톰업바톰업데이터중심애플리케이션과시스템의서비스지향통합 4
< 표 > SOA 에대한여섯가지접근방식 필자는여기서레거시어플리케이션 (COBOL, PL/I, RPG, PB, VB 등 ) 을컴포넌트가가능한 CBD 환경으로변환한이후에이를 SOA 가가능한환경으로전환하는전략을소개하기로 하겠다. 메인프레임환경의어플리케이션을오픈환경으로마이그레이션 하기 첫째, 메인프레임환경에서오픈시스템환경으로다운사이징 ( 혹은리호스팅 ) 구축하기 메타마아닝과필자는국내최대금융사의파이롯프로젝트에참여하여다음과같은환경구축에성공을하였다. 우선메인프레임아키텍처에서오픈시스템으로변환하는환경을다음과같은방법론과도구를활용하였다. IBM MainFrame 환경에서 HP/UX 환경의오픈시스템으로리호스팅전략을구축하였다. CICS/COBOL, JCL, IMS/DB, VSAM 등을 UX/C, shell, Oracle 등으로전환을하였다. 미들웨어는 BEA사의 Tuxedo를사용하였다. 아래그림은이를잘정리한그림이라하겠다. 5
< 그림 > IBM Mainframe 을 Open 시스템으로 Re-hosting(Downsizing) 처리절차 우선오픈시스템으로전환을한다음에이를 SOA 가가능한구조로변경을하게되는단계 로넘어가게된다. 둘째, 다운사이징 ( 혹은리호스팅 ) 시스템을 SOA 가가능한환경구축하기 6
Intranet/Internet Clients, Web Services, ESBs SAP Oracle IBM/DB2 Mainframe Applications Services Infrastructure Application Infrastructure Data Services Platform Java and.net Applications BEA WebLogic Enterprise Security BEA AquaLogic WTC User Interaction Java Client Tux API (JOLT) Services Registry Tuxedo Web Services (SALT) Application & Transaction Services BEA Tuxedo Enterprise Service Bus AL Service Bus Native Tuxedo Transport Business Logic in COBOL, C/C++, EIS < 그림 > SOA-Enablement of Re-hosted Application Open Standard SOAP 1.1 & 1.2 over HTTP WSDL 1.1 UDDI 2.0 & 3.0 XML Data Mapping (to/from) Security SSL, HTTP Authentication Service Metadata Repository 등을지원하는 SOA-Enablement 환경이설정되게된다. 그렇다면, 어떻게메인프레임컴퓨팅시스템을오픈시스템으로전환할것인가가가장중요 한문제로대두되게된다. 이를다운사이징혹은리호스팅두가지방법으로국내에기업들은해결하고있다. 우선다운사이징과리호스팅방법에대한비교를하기로하자. 7
비교항목On IBM Mainframe 환Emalator방식 리호스코드변환리호스팅및다운사이 경 팅 징 운영체제 MVS(OS/390) Unix, Windows Unix, Windows, i-series, p- Series 등모든운영체제지원 레코드관리 VSAM A사 Index 파일 RDBMS TP-Monitor CICS, IMS A사자체프레임워크 Tmax, Tuxeudo, 등모든미들 웨어 Database DL/I(HDB), DB2 DB2, Oracle, A사자체Oracle 등모든 RDBMS DB GUI BMS, MFS 자체 GUI JSP, ASP 등 Batch Job JCL 자체 Batch Manager Cell Protocol SNA TCP/IP Character EBCDIC ASCII ASCII set 분석 / 검증 - 없음 AS-IS / TO-BE 분석검증기능 유지보수 - 없음 변환후지속적인유지보수관리 기능 < 표 > 에뮬레이터방식과코드변환방식의차이 진정 Emulator방식으로처리하는것은메인프레임환경을그대로수평이동하는방식으로정리를할수있으나실제로국내A사의제품은소스코드를다음과같은절차에의하여진행을한다. 메인프레임어플리케이션을자동으로변환한다. 변환된소스코드를 Cleansing 작업을수행한다. 즉, 타겟환경에맞게수작업을통해변환작업을수행한다. 자체프레임워크에맞추어운영을하는절차를거치게된다. Emulator 방식은일반고객들은아주손쉽게변환을하여운영하는방식으로이해하기쉽지만실제로는다양한플랫폼이이를뒷받침하는형태로진행이되는플랫폼의변환으로특정공급자에의존하게된다. 필자는공급자로부터벗어나사용자의자유로운선택을권고하는바이다. 나아가변환되는부분에철저한검증시스템과향후유지보수부분에도각별한관심을갖지않으면, 변환후에많은문제점으로인해오히려더복잡하게운용되는사례가많다 8
Developer Language Grammar repository Language Framework MF/COBOL, C, Java.. Mainframe CICS/COBOL Unix Open System Service level Code Testing Methodology CICS/COBOL JCL VSAM DB2. parsing Meta Program repository CICS/COBOL DB2/VSAM 3270 terminal Re-hosting Downsizing MF/COBOL C EJB C# RDBMS Conversion Tuxeudo / Tmax (JSP Screen Section) Meta Program repository Conversion Until Compile Qualified Source code Source Code Testing & Verification Open/COBOL C Java JSP RDBMS. Mapping repository ITA/EA BA DA AS-IS Analysis GAP Analysis TO-BE Analysis TO-BE AA Maintenance TA AS-IS Inventory Relationship by Resource AS-IS Application Analysis Impact Analysis Matrix, Call, ERD 문제점추적시스템 차이분석 검증기능 Code Inspection TO-BE Inventory Relationship by Resource TO-BES Application Analysis Impact Analysis Matrix, Call, ERD 어플리케이션 / 데이터자산관리 변경관리및형상관리 메타프로그램관리 비즈니스룰관리 어플리케이션품질관리 비즈니스프로세스관리 < 그림 > 코드변환방식의 Re-hosting & Downsizing 방식코드변환방식의 Re-Hosting 및 Downsizing 방식은기존의국내 A사가주장하는 Rehosting 방식보다는매우종합적이고사용자가사전사후의관리를철저하게수행할수있는시스템으로제공이되며, 문제점발생시에도 Gap 분석을자유롭게함으로철저한검증시스템을제공하게된다. 특정공급자의제품군에서벗어나사용자의환경에맞게선택할수있는진정한오픈시스템의솔루션이라할수있겠다. < 그림 > 코드변환방식의프로세스 위그림에서살펴볼수있는대로, MetaBridge 를활용하여 SOA 혹은 CBD 기반으로의 전환은중복투자도없이즉시투자가가능한절차를얻을수있게된다. 9
지금까지많은사례를경험하고있는 MetaBridge 솔루션과컨설팅의경험을여러분과 함께공유하고자하는마음이간절하다. 10