2010-08-31

도큐멘텀 DFS 따라하기 - 2

DFS는 웹서비스다. 따라서 기본적인 활용법은 일반적인 웹서비스 호출과 다를바 없다.


웹서비스에 익숙하지 않은 사람은 이 부분에서 많이 괴로울지 모르겠다. 가능하면 웹서비스 사용에 관한 일반적인 설명 등을 참고하여 숙지하면 좋겠다.

기본적으로는 UDDI 를 통하여 인식하고, WSDL에 기술된 방법으로 WS Provider에 SOAP 통신을 하여 결과를 얻는 것이다.


WSDL에는 특정 서비스 함수가 있는지, 주고 받는 매개변수는 무엇이고, 각 매개변수는 어떻게 표현되는지 등이 정의되어 있다.



즉 WSDL을 참고하여 원하는 함수를, 매개변수가 변환된 XML를 첨부하여 HTTP방식으로 전달을 하고 결과를 받는 것이다.


DFS SDK를 이용하면, 서비스를 호출하고 신규 서비스를 만들고 등록하는 일을 편하게 할 수 있다. 일반적인 JAX-WS 방식으로도 호출이 가능하다. 다만, 인증관련한 wsse:Security 부분과 marshalling 관한 proxy 부분이 추가로 필요하다.



인증관련하여 DFC와 같은 기존 Java API는 한번 로긴하여 세션이 생성되면 이후 추가 인증과정 없이 계속 함수를 호출할 수 있다. 반면 WS는 기본적으로 stateless로 매번 HTTP 세션을 맺고 끊기 때문에 최초 인증 이후, 후속 호출에는 매번 인증을 새로하지 않고 token이라는 임시 허용증을 첨부하여 인증을 대신하는 것이다.

또한, HTTP 통신으로 바이너리 데이터를 보낼 경우 또는 기본적인 String 데이터 타입이 아닌 복합형 데이터 타입을 주고 받을 경우 XML로 변환이 필요하게된다. 이를 marshall / unmarshall이라 하고, 처리하는 것이 proxy가 된다.


서비스를 사용할 때 Documentum에서 제공하는 Client Productivity Layer을 사용하면, 인증부분이나 marshall/unmarshall 관련한 프락시를 직접 구현하지 않아도 된다.

여기서는 가능하면 PL 기반의 구현을 설명하려 한다. 아무래도 개발이 간단해지기 때문에 좀더 빠르게 이해할 수 있을 것이기 때문이다.




HTTP - Hypertext Transfer Protocol
SOAP - Simple Object Access Protocol
WSDL - Web Services Description Language
UDDI - Universal Description and Discovery Integration
PL - Productivity Layer

도큐멘텀 DFS 따라하기 - 1

EMC Documentum v6 부터 지원되는 웹서비스 API 인 DFS를 사용하는 사람들을 위한 정리

EMC Documentum 제품은 기업콘텐츠관리(ECM) 전문 솔루션이다. 기업 솔루션이다 보니 일반인은 잘 모를 수도 있지만, 국내외 규모가 있는 기업들에서 일하는 분들은 이미 사용중이거나 한두번쯤은 들어본 제품일 것이다.

국내에서 90년대 즈음 가속화된 기업 문서 관리 솔루션(EDMS)과 90년말 본격화된 업무프로세스 관리솔루션 (BPMS)의 복합 연장선에 있는 성격이다. 그동안 국내외 여러 솔루션들이 흥망성쇠를 거듭하며 최근에는 한두개로 좁혀졌다고 보여진다.

이 중 굳건히 자리를 지키고, 오히려 점차 더 발전하고 있는 EMC Documentum의 개발 환경은 C++ 기반의 DMCL 에서 Java 기반의 DFC 를 거쳐 JAX-WS 기반의 DFS에 이르렀다.

그동안 DFC / WDK 기반의 개발이 많이 이루어졌으나, 2007년 Documentum 6 제품군이 출시되면서 선보인 DFS는 그동안 Java 기반의 개발자들에게 좀 생소했는지 생각만큼 빠르게 기술전환이 되지 않은 듯하다.

웹서비스 기반의 장점으로는 개발언어 및 플랫폼에서 자유로울 수 있는 것으로, 이제는 Java 기반이든 .NET 기반이든 어렵지 않게 전환이 가능하고, 좀더 Documentum 에 국한되지 않은 일반적인 개발 프레임워크를 도입할 수 있다.

문제는 익숙하지 않아 시도가 어렵다는 점. 그동안 버전업을 통해서는 메소드가 추가되거나 특성이 바뀌는 확장 수준이었는데, 여전히 Java 나 .NET으로 개발을 하는 것 같은데 개념이 바뀌다 보니 갈피를 잡지 못하는 개발자들이 많다.

사실 해외에서도 많이 채용되어 운용중인 솔루션으로 인터넷 검색이나 포럼 등 많은 자료가 널려있지만, 영문자료 보다는 우리말 자료가 아무래도 마음이 편할 것 같아, 느낀 점을 간략히 공유하려고 한다. (최근에는 중국에서도 많은 자료가 나오고 있다)


  • DMCL = Documentum Client Library
  • DFC = Documentum Foundation Class
  • WDK = Web Development Kit
  • DFS = Documentum Foundation Service

2010-08-19

급한 일과 중요한 일 무엇부터 해야하나

급한 일보다는 중요한 일을 먼저하라는데 과연?


  • 결론부터 말하면 급하지 않은 중요한 일을 많이 하는 것이 좋다.


살아가면서 가정에서 직장에서 학교에서, 여러 사회의 일원으로 할 일 들이 있다.

한가할 때도 있지만 바쁠 때도 있다. 요즘 직장 다니는 사람들은 거의 항상 바쁠 것이다.
하나를 겨우 마치나 싶은데 또 일이 생기고, 경우에 따라서는 마치는 일보다 생기는 일이 더 많기도 하다.

이렇게 주체 못할만큼 일이 쏟아지면 선택과 집중이 필요한 때이다. 가장 기본적인 원칙은 다 할 수 없으면 포기할 것을 골라야 하는 것이다.

과연 무엇을 해야하고 무엇을 포기해야 할 것인가. 대표적인 원칙은 중요한 것, 급한 것을 먼저한 다는 것이다. 이럴때 4가지의 경우가 나온다.


  1. 중요 X 긴급 X
  2. 중요 X 긴급 O
  3. 중요 O 긴급 O
  4. 중요 O 긴급 X

2) 일에 치여 살다보면 중요하지도 않은 급한일에 쫓겨 다람쥐 챗바퀴 돌듯 살게 된다.
가끔 여유가 생겨 돌이켜보면, 그렇게 인생이 허무할 수 없다.

3) 중요하지 않은 급한일에 쫓기기 싫어서, 중요한 급한일을 우선적으로 처리해보자.
매일매일 중요한 일을 한다는 뿌듯한 느낌이 들것인가? 분명히 중요하고 급한일을 우선적으로 처리하는데, 이상하게 일이 줄지를 않는다.
또한 사는데 여유가 없어 이 상태론 문제가 있는데 하다가도, 특별히 잘못하고 있는 것 같지도 않아 그냥그냥 묻혀 지낸다.

4) 급하진 않지만 중요한 일을 미리미리 해두면, 중요한 일이 코앞에 닥쳐서 부랴부랴 할 상황이 생기지 않게 되는 것이다.
고수들의 행동을 보라, 특별히 애써서 많은 시간을 투자하는 것도 아닌데, 문제가 발생할 즈음이면 이미 해결책을 내놓는다. 진정한 달인은 물어보면 답하는 것이 아니라, 물어보러 가면 이미 고민을 다 해결해 놓은 뒤에 설명해주는 사람이라지 않은가.

1) 그런데, 사람이 시간에 쫓기게되어 견디다 못하게되면 이상하게 중요하지도 않고 급하지도 않은 이런 비 생산적(?)으로 보이는 일로 빠진다고 한다.
게임 중독이니 하는 그런 일탈을 통해서 스트레스를 푼다는 것이다.


그런데 급한일이야 누구나 쉽게 판단할 수 있지만, 중요한 일은 어떤가?

사람마다 상황마다 중요한지 아닌지는 다를 수 있다. 중요한 일은 내가 가는 목표에 비추어야만 판단이 가능한 일. 인생의 목표를 세우는 것이 먼저라는 말씀.

목표하시는 바, 대박 성취하시길 바랍니다.

2010-08-17

Oracle on CentOS (v5.5) / 네트워크로 설치하기

CentOS 는 RHEL 등  상용화 되어있는 기업형 Linux 패키징을 open source로 재 개발/패키징한 OS 이다.



설치 방식은 CD (7장) / LiveCD / DVD (1) / mini boot + network 등 여러가지가 있다.
여기서 network 방식으로 설치하려면 CentOS-X.X-i386-netinstall.iso 부팅시디가 하나 필요하다.


부팅화면에서 그래픽, 텍스트 방식 설치 선택하고 진행 중, 설치 미디어를 물어 본다
(네트워크 설정에 대한 설명은 생략)
여기서 ftp 혹은 http 를 선택하면 네트웍 설치를 하게된다. (nfs 는 많이 안쓰니 제외)
이때 주소가 필요한데 centos.tt.co.kr 를 지정하는 http 방식을 예로 선택해보면

  • 서버명 : centos.tt.co.kr
  • 디렉토리 명 : 5.5/os/i386
이제 설치 패키지를 선택하고 진행하면 끝.

--------------------------------------------------------------------------------

* ftp.daum.net 사이트도 있는데, IP 접속 제한 등이 있어서 설치중 어느샌가 접속불가해져 설치가 멈추는데 딱히 보여지는 오류가 없어서 애먹었다.

* text 방식으로 진행하면 VNC 로 설치할 지 물어본다. 가끔 오류가 발생하여 추천하진 않지만 text 방식이 익숙하지 않을 땐 왠지 설치하기 더 쉬운 느낌이 든다.
VNC viewer 가 없다면 두루두루 쓰기 적당한 tight vnc 추천.


--------------------------------------------------------------------------------

yum 이란 툴은, 일단 설치는 끝났지만 추가로 필요한 것들이 있는데 어떻게 설치할 것인가 에 대한 답이다.

업데이트 목록을 모두 설치하려면
  • # yum update -y

아까 설치할 때 선택한 묶음을 통째로 설치할 때는 groupinstall 옵션을 쓴다.
  • # yum groupinstall "X Window System" "GNOME Desktop Environment"
gcc를 설치하려면, 필요한 추가 요소들도 자동으로 설치할 수 있다.
  • # yum install gcc
설치되어 있는 목록은
  • # yum list installed
기타로 삭제 및 어떤 이름으로 설치해야되는지 확인은

  • # yum remove xxxx
  • # yum provides xxxx
  • # yum search xxxx
  • # yum info xxxx


--------------------------------------------------------------------------------

Oracle 설치


/etc/security/limits.conf 파일 내용 수정 (항목 추가)

  • * soft nproc 2047
  • * hard nproc 16384
  • * soft nofile 1024
  • * hard nofile 65536

추가 패키지 설치
  • # yum -y install glibc libaio compat-libstdc++-33 gcc libXp openmotif
database 설치 (10.2.0.1)
  • $ ./runInstaller -ignoreSysPrereqs
patch 설치 (10.2.0.4)
  • $ sqlplus /nolog
  • sql> connect sys as sysdba
  • sql> shutdown immediate
  • $ emctl stop dbconsole 
  • $ lsnrctl stop
  • $ ./runInstaller -ignoreSysPrereqs
Catalog upgrade

 빼먹으면 ORA-01092: ORACLE instance terminated 오류 발생하고 startup 이 안된다.
이것도 꽤 시간을 많이 뺏긴 문제였음

  • $ sqlplus /nolog
  • sql> connect "sys as sysdba"
  • sql> startup upgrade
  • sql> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
  • sql> shutdown
  • sql> startup




2010-08-10

블로그로 억대 연봉자 된다(?)

올초에 조금이라도 부수입을 얻을까 해서 알아보다가 그만 두고 말았지만, 최근에 들리는 소문은 주수입으로 살아가는 분들이 간혹 있다는 것이다.

물론 광고수입이 대부분이므로 광고도 많고 인구도 많은 해외 블로거들이 대부분이긴 한데, 우리나라에도 그런 분들이 있다는 것이다.

그뿐만 아니라 가끔씩 운영 수익을 공개하기도 한다. 경우에 따라 한달에 천만원 이상의 수익을 올리기도 하니 억대연봉이 불가능하지만은 않을 것도 같다.


그러나 쉽다면 모든 사람들이 부자 아닌 사람이 없을 터, 잘 안되는 어려움도 있고 또 잘되는 비법도 있을 것이다. 여러 사람들이 말하는 내용을 요약해보면 한마디로 애정이며 차별화이다.

블로그로 돈버는 비법(?) 이라 요약해보면,

첫째는, 많지 않더라도 끊기지 않고 글을 올려야 방문하는 사람들이 꾸준히 들러 준다.
일일 방문자가 일이천 명은 되야 수익을 생각해 볼 수 있기 때문.

둘째는, 수익 수단을 여러가지 시도해보고 맞는 차별적인 스타일을 추구한다.
모이는 방문자의 성격에 따라 잘 맞는 방법이 따로 있다. 방문자 수가 많다고 수익이 많은 것이 아니기 때문.

셋째는, 노출이 많이 될 수 있도록 신경 쓴다.
시류를 반영했다거나 내용이 알차든가하면 검색이나 포털에 노출이 되기 쉽기 때문.

여기에 덧붙여 본다면, 아직 우리나라는 시장이 작은 편이기 때문에 다른 직업 블로거 분들과 함께 하는 것이 좋지 않을까 하는 생각이 든다.