메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

기업용 애플리케이션 개발은 힘들어야만 하는가? SAP 넷위버 복합환경의 탐험(Part 1)

한빛미디어

|

2008-04-08

|

by HANBIT

13,070

제공 : 한빛 네트워크
저자 : chromatic
역자 : 정규현
원문 : Does Enterprise Development Have to Be Painful?

소셜 네트워킹, 매쉬업, 협업적 필터링, 기계학습 그리고 웹 2.0이라는 편리한 라벨로 그룹지어질 수 있는 모든 것들이 있음에도 불구하고 비즈니스 소프트웨어 개발은 여전히 "비즈니스"처럼 보인다. 메시지를 보여주기, 데이터입력 화면들, 레포트 생성 그리고 반복적인 작업들을 자동화해서 사람들의 일을 편하게 만들어주는 것들 말이다. 나는 2000년부터 기업 IT를 했지만, 비즈니스 소프트웨어-특히 기업용 소프트웨어-는 덩치 크고, 복잡하고, 재미없는 것으로 여기고 있다.

그럴수 있다. 기업용 소프트웨어는 신뢰성이 있어야 하고 이상상황에 대비할 수 있어야 한다. 그건 간단하지도, 만들기에 재미있지도 않다. 당신이 온전한 당신만의 소프트웨어를 만들고 유지할 수 있는 시간과 자원과 능력이 없다면(누가 그럴수 있겠냐 만은) 당신은 일반화된 소프트웨어 패키지를 사용하고 그것들을 비즈니스에 적용할 것이다. 오직 그런 종류의 프레임워크만이 커스터마이징의 잠재력을 제공할 수 있다. 복잡성이라는 대가를 치루고서.

최근 팀 오라일리는 SAP의 Tech Ed 컨퍼런스(기술교육 컨퍼런스)에서 강연을 했다. 그는 일련의 대화를 통해서 영감을 얻었고 "웹 2.0기업으로서의 SAP?"라는 글을 쓰기도 했다. SAP 연구소는 오라일리와 그의 그룹을 초청해서 그들이 어떻게 일하는지 보여주고 SAP 유저와 개발자, 컨설턴트로 이루어진 거대한 공동체와 어떻게 같이 보다 효율적으로 일할 수 있는지에 대한 조언을 구했다.

나는 거기서 윌 가델라를 만났다. (이 기사를 참고하기 바란다. "SAP"s Composition on Grails"). 그의 작업은 내가 가지고 있는 SAP와 그 소프트웨어가 불완전하다는 인식에 확신을 주었다. 견고하고 신뢰할 수 있는 비즈니스 소프트웨어를 만드는 일에는 여전히 복잡함이 필요하지만 소프트웨어 개발이 지루한 운동이 될 필요는 없다. 내가 만난 윌, 모야 왓슨, 그리고 다른 사람들이 나의 그 생각을 확고하게 해주었다.

SAP의 그 팀은 내게 제안을 하나 했다. 내가 그들의 소프트웨어에 적절한 기회를 주어서 내 경험을 적용하고, 학습하고, 적절한 샘플 애플리케이션을 개발할 수 있게 해준다면 내가 필요한 모든 지원을 해주겠다고 것이다. 우리는 윌의 Groovy on Grails 뒤에 있는 소프트웨어를 알아보는 것이 적절한 접근이라는 결정을 내렸고, 나는 SAP 넷위버 복합환경 또는 SAP 넷위버 CE라고 불리는 SAP 개발환경을 설치하고 점검해보는데 동의했다.

무엇이 문제인가?
  • 비즈니스 소프트웨어는 뻔하다. 당신이 컨설턴트나 작은 소프트웨어 벤더라면, 당신은 소프트웨어를 개발하고, 커스터마이징하고 유지보수 하는 종류의 일들로 수입을 얻을 것이다. 당신의 플랫폼이 J2EE나 ABAP이 아니겠지만, 그러나 부가적인 도구와 플랫폼을 배우는 일은 당신과 당신의 고객에게 보다 많은 선택권을 주게 될 것이다.

  • 이 스택의 대부분의 컴포넌트는 적어도 개방표준을 따르고 있다. 일부는 무료이고, 일부는 오픈소스 이다. SOAP/WSEL이나 Groovy 그리고 J2EE를 통해 여기에 접근할 수 있다. 넷위버 CE 자체는 Eclipse에 기반한 IDE(통합개발환경)이다. 이것들은 잘 확립되고 잘 이해되어 있는 기술들이지 독점적인 콘크리트 정글이 아니다.

  • 뭔가 새로운 걸 배우는 건 좋은 일이다. 나는 몇 년간 제대로 된 자바개발환경을 사용해 본 적이 없다. 최근에 내 프로그래밍은 로우레벨의 크로스플렛폼인 C에 기반했다. Vim, GCC, Valgrind, GDB를 사용하는 습관에서 벗어나는 것은 내가 개발자로서 성장하는데 도움이 된다.

  • 좋은 개발습관과 아이디어는 사방에서 온다. 넷위버 CE와 이 툴 가운데 일부는 문제들을 적절히 분리시키고, 잘 적용되어 애플리케이션을 개발하고 배포하는데 신속하나 견고한 접근을 하게 해준다. 나는 여러가지 언어로 MVC모델을 적용한 애플리케이션을 만들었지만, 넷위버 CE는 그것들 만큼이나 좋게 보였다.
첫번째 접근

첫 느낌은, 전문가에게는 대단히 멋진 소프트웨어라는 것이다. 윌과 모야는 인상적인 시스템을 만들었다. 그들은 숙련된 SAP전문가였지만 나는 아무런 토대도 없이 오직 다른 영역들에서 소프트웨어를 만들어온 10여년간의 경험에 의존해서 시작해볼 수 밖에 없었다.

SAP를 설치하고 조정하는 작업은 대단히 복잡하다고 들었다. 그래서 넷위버 CE환경을 다운로드해서 설치하는게 내 최초의 일이었다. 일단 성공하고 나자, 나는 내 첫인상을 점검해보고, 전체적인 기능을 확인해 볼 수 있었다. 내가 다운로드받고 싶은 것을 찾는데조차 상당한 시간이 걸렸지만, 나는 한주정도는 시간을 투자하기로 했다. 아만다 윌슨이 많은 도움을 주었는데, 그는 메일을 통해서 귀찮은 문제를 해결했다. (한번은 전화와 데스크탑 공유를 이용했다.)

내 사무실에 있는 컴퓨터 중에는 설치를 할만한 적합한 녀석이 없었다. 나는 오라일리 IT가 내게 1.5Ghz 센트리노와 2GB램을 가진, 윈도우XP가 깔린 씽크패드를 대여할 것으로 믿었다. 가상머신 이미지는 괴물같은 멀티코어 64비트 우분투 개발머신에서 조차 분명히 문제를 일으키지 않았다.

SAP 서버 설치하기

아만다는 SAP 개발자 네트워크(SDN)다운로드 페이지에서 넷위버 CE 환경의 시험판을 다운받으라고 했다. 파일은 상당히 컸고, 1기가바이트가 넘는 RAR 압축파일이었다. 무선네트워크와 서버다운의 문제 때문에 내 씽크패드 노트북에 다운로드하는 게 만만치 않았다.

다운로드를 멈추었다 재개했다 하면서 몇번의 실패 끝에 리눅스 머신에 다운드하고 나서, Rsync를 이용해서 윈도우 머신으로 파일들을 복사했다.

디렉토리가 하나 생성되었는데, Start라는 HTML 파일을 포함하고 있었다. 나는 HTML 파일을 실행시키고 지시사항을 훝어봤다. 사이드바의 설치링크를 클릭하니까 sapinst.exe라는 실행파일을 다운로드하거나 저장하겠냐는 물음이 나타났다. 나는 그것을 JavaEECE71_03_IM_WIN_I386_ADAsapinst.exe에서 실행시켰다.

아쉽게도 전체 디렉토리 경로명에 공란이 있어서 인스톨러가 실행되지 않았다. 나는 그것을 C드라이브 밑으로 옮겨서 실행시키는데 성공했다. 실행되자 몇가지 묻는 창이 나왔다: 라이센스 정책에 동의해라, SAP 시스템 ID를 기재해라. (나는 CE1의 기본값을 사용했다.)

다음 단계에서 JCE 무제한 권한이 없어서 설치를 계속할 수 없었다. 나는 썬의 자바 다운로드 사이트에서 JCE를 발견했다. ZIP 파일에서 JAR 파일을 추출해내고나서, 인스톨러에 그 경로를 입력했지만 그래도 동작하지 않았다. 전체 경로를 입력하자 그제서야 설치가 계속 되었다.

다음에는 서버용 메인 패스워드가 필요했다. 이번 단계에서 약간의 문제가 있었다. 처음 시도에서 일반 문자열이 아닌 패스워드는 먹히지 않았다. 오직 일반 문자열만 패스워드로 허용되는지 궁금했지만, 지시사항을 읽고나서, 길이가 너무 짧았다는 사실을 알게되었다. 좋지못한 암호체계에 너무 많은 시간을 소모해서, 어떤 암호체계도 잘 돌아갈 것이라 믿을 수 없게 되었다.

암호를 적었고, 나중에 그것을 사용하겠다는 생각이 들었다.

인스톨러가 시스템을 스캔하고 나서, 최소 2048MB가 권장 메모리이지만, 실제로는 2047메가만 있다고 리포트했다. 씽크패드에서 빈 슬롯도, 여분의 1MB 메모리스틱도 못찾았기 때문에 나는 그냥 진행했다. 인스톨은 총 33개의 스텝을 낮은 소리를 내며 통과했다.

나는 아만다에게 내 힘으로 다 끝냈다고 말했다. 그는 나에게 근본적인 질문을 했다. "SAP서버는 돌아가고 있나요?" 그는 매니지먼트 콘솔을 띄워서 SAP와 CE1 루트 디렉토리의 왼쪽 트리에 있는 작은 아이콘들을 점검하라고 했다. 내가 보기에는 녹색이었지만, 그가 아이콘들 밑에 있는 프로세스 리스트를 점검했다. 어느 서비스도 가동되고 있지 않았다.

몇차례 긴급작업 후에야 나는 2개의 매니지먼트 콘솔이 가동 중이라는 사실을 알았다. 나는 두 콘솔을 모두 닫고 잠시 기다렸다. 그리고나서 하나의 콘솔을 연 다음 두 서비스를 제대로 시작하기 위한 시도를 했다. 20분 후에 두 서비스 모두 시작되었다. 첫번째 단계는 끝났다. 좀더 나은 다운로드 환경과 시스템이 있었다면 2시간 안에 SAP서버를 설치할 수 있었을 것이다. 나보다 설치 요구사항을 잘 읽어본다면 별다른 문제 없이 이 일을 해낼수 있다.

넷위버 환경을 IDE와 함께 설치하는 두번째 단계는 이클립스를 베이스로 하는 IDE를 포함한 개발 컴포넌트를 설치하는 것이었다. 나는 아까와 똑같은 SAP 다운로드 페이지에 가서 Developer Studio를 다운받았다. 이번에는 680메가 정도밖에 안되는 작은 크기였다. 하지만 그건 실수였다. 나는 1.2GB짜리 파일을 다운로드했어야 했다. 더 작은 파일은 이클립스를 위한 플러그인이 포함되어있지 않았다. 더더구나, 나는 이 사실을 애플리케이션 제작을 시작하고 나서야 알았고, 플러그인만 별도로 설치하는 방법을 찾지 못했다. 어쩔수 없이 언인스톨을 한후 재설치를 했지만, 몇번의 클릭과 약간의 시간만 소요됐다.

다운로드 프로세스는 역시나 힘들었지만, 리눅스/Rsync 접근법은 이번에도 잘 먹혔다. 설치 프로세스는 인스톨러가 JDK 1.5.0_06이나 그 이상 버전을 요구하기 전까지는 잘 진행되었다.

그게 설치됐다고 생각했지만, 찾을 수는 없었다. 썬의 다운로드 페이지에 한번 갔다온 다음에야 JDK 전체를 설치할 수 있었다. 어찌하다보니 필요없는 옵션들까지도 설치를 해버렸다.

인스톨러를 한시간 가량 돌린 다음 나는 인터넷을 통해 모든 걸 업데이트했다.

적절한 패키지가 다운로드되고, 설치되도록 한 다음, 아만드가 준 샘플코드에 기반해서 애플리케이션 작성을 시작할 준비가 되었다.

결론

설치과정에서 가장 어려운 두가지 부분이 있었고, 나는 거의 그것을 해결할 수 없었다. 하나는 적절한 하드웨어의 획득이였는데, 그건 크리스마스 휴가 전에 IT부서에서 일어난 작은 소동때문이었다. 또 하나는 씽크패드에 잘 다운되도록 하는 것이었다. 좀 더 빠른 인터넷 연결이 있었거나 혹은 내가 길고 방해되는 다운로드를 적절하게 관리할 수 있는 윈도우 툴에 익숙했다면, 그 프로세스는 보다 쉬웠을 것이다. 나는 소프트웨어를 다운받는데 한 주일의 대부분을 소비했다.

두가지 설치가 시간이 걸리긴 했지만, 힘들지는 않았다. 설치 안내문에 대한 보다 깊은 주의 덕분에 시간을 절약할 수 있었다. 내가 직면한 몇가지 문제에 대한 해결책을 찾을 요량으로, SDN에서 에러메세지와 그 회피방법을 찾아보았지만, 스스로 심각한 문제는 만들어내지 않은 것 같았다. 내가 SDN 때문에 겪었던 하나의 문제(위키페이지에 있는 잘못된 다운로드 링크) 조차도 모야 왓슨이 신속하게 해결해주었다.

나는 넷위버 CE로 애플리케이션을 만들기 위해 많은 것을 배웠다. 단지 첫번째 장애물을 넘었을 뿐이지만, 이걸로 상당히 많은 걸 할 수 있다는 확신이 들었다. 내가 보통 새 기계에서 써왔던 설치후 만들기의 간단한 접근방식보다는 다운로드해서 사용하는 방법이 썩 좋지 않았지만 상투적이지 않은 능력은 기대보다 훌륭했다. 이 걸로 소프트웨어를 만드는 건 생각보다 쉬워보인다.
TAG :
댓글 입력
자료실

최근 본 상품0