728x90
반응형


한국에서는 잘 사용하지않는 부분이지만, 일본에서는 거의 모든 프로젝트에 들어가는 LDAP ...
처음에는 뭔지 잘 몰랐지만, 조금씩 알것 같은 느낌...

너무 많은 곳에서 LDAP 관련 인증을 이용하여 로그인을 하기 때문에 LDAP에 관련 Java 프로그램을 만들어 보았다.

그럼 LDAP은 뭘까? 아래는 위키에 설명된 것을 발취한 내용이다.

LDAP(Lightweight Directory Access Protocol, 라이트웨이트 디렉터리 액세스 프로토콜)은 TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜이다.

디렉터리는 논리, 계급 방식 속에서 조직화된, 비슷한 특성을 가진 객체들의 모임이다. 가장 일반적인 예로는 전화 번호부(telephone directory)가 있는데 가나다 순의 일련의 이름을 가지고 있고, 이름마다 전화 번호와 주소가 포함되어 있다. 이러한 기본 설계 때문에 LDAP는 인증을 위한 다른 서비스에 의해 자주 사용된다.

LDAP 디렉터리 트리는 선택된 모델에 따라 다양한 정치적, 지질학적, 조직적 경계를 반영하기도 한다. 오늘날 LDAP의 배치는 최상위 수준의 계급을 구조화하기 위해 도메인 이름 서비스의 이름을 사용하는 경향이 있다. 디렉터리 안에 들어가면 들어갈수록 사람들, 조직, 프린터, 문서, 그룹 등을 대표하는 항목들이 나타난다.

LDAP의 현재 버전은 LDAPv3이다.


쉽게 생각하면 디렉토리 서비스...디렉토리 트리를 이용하여 빠른 검색을 이용한다..뭐 이런것 같음...


java로 구현한 LDAP 디렉토리 추가
(하위 디렉토리 추가는 관리자 계정으로 로그인을 해야한다.)

실행결과 LDAPAddSubDir success. 가 출력된다. 앞에서 만든 검색소스를 이용하여 검색을 하면 ...
와 같은 결과가 나온다.



728x90
반응형
728x90
반응형

한국에서는 잘 사용하지않는 부분이지만, 일본에서는 거의 모든 프로젝트에 들어가는 LDAP ...
처음에는 뭔지 잘 몰랐지만, 조금씩 알것 같은 느낌...

너무 많은 곳에서 LDAP 관련 인증을 이용하여 로그인을 하기 때문에 LDAP에 관련 Java 프로그램을 만들어 보았다.

그럼 LDAP은 뭘까? 아래는 위키에 설명된 것을 발취한 내용이다.

LDAP(Lightweight Directory Access Protocol, 라이트웨이트 디렉터리 액세스 프로토콜)은 TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜이다.

디렉터리는 논리, 계급 방식 속에서 조직화된, 비슷한 특성을 가진 객체들의 모임이다. 가장 일반적인 예로는 전화 번호부(telephone directory)가 있는데 가나다 순의 일련의 이름을 가지고 있고, 이름마다 전화 번호와 주소가 포함되어 있다. 이러한 기본 설계 때문에 LDAP는 인증을 위한 다른 서비스에 의해 자주 사용된다.

LDAP 디렉터리 트리는 선택된 모델에 따라 다양한 정치적, 지질학적, 조직적 경계를 반영하기도 한다. 오늘날 LDAP의 배치는 최상위 수준의 계급을 구조화하기 위해 도메인 이름 서비스의 이름을 사용하는 경향이 있다. 디렉터리 안에 들어가면 들어갈수록 사람들, 조직, 프린터, 문서, 그룹 등을 대표하는 항목들이 나타난다.

LDAP의 현재 버전은 LDAPv3이다.


쉽게 생각하면 디렉토리 서비스...디렉토리 트리를 이용하여 빠른 검색을 이용한다..뭐 이런것 같음...


아래는 내가 사용한 LDAP 구조이다.

위부분에서 중요한 부분은 바로 dn이다. 바로 이부분...(예를들어서 썼음..)

java를 이용한 검색 소스

실행 결과

마지막 "Errors listing attributes: java.lang.NullPointerException"부분은 아직 지정되지 않은telephonenumber Attribute를 참조하려고 했는데 실제, telephonenumber부분이 아직 없기 때문에 나오는 것이다.



728x90
반응형
728x90
반응형

Flex 에 관한 자료를 요청하여 최근 만든 자료를 기초로 다시한번 Flex를 정리 해보도록 하겠다. 이곳 저곳에서 자료를 모으고 정리를 하다보니 이제야 Flex에 대해서 좀 이해가 되는것 같다.

 Flex에 대한 자료는 두개의 포스트로 만들예정이며 두번째로 Flex의 데이터 전송 방식에 대해서 알아보록 하겠다. 첫번째 포스트를 올리고 상당히 지난 시점에서 올리게되었는데, 나도 무진장 바쁘다..;;;;

 이 자료는 Flex에 대한 자료 요청이 있어서 내 나름대로 하나씩 정리해며, 작성한 문서를 기준으로 포스팅을 하는것이다. 일부 자료는 인터넷에 올라온 것을 가져다 썼으며, 절대 상업적인 이득을 취득함이 아닌 단순 정보 전달에 해당하여 올림을 알려드린다. 만약 문제가 발생한다면 자삭처리 하겠다.

1. Adobe Flex 에 대해서 좀 알아봅시다! 2. Flex의 데이터 전송 방식은?


 Flex에서 데이터를 처리하는 방식은 어떤 방식이 있을까? 앞장에서 살펴 본 Flex 개요에 의하면 클라이언트/서버의 장점인 대용량 데이터 처리가 용이하다고 나왔다. 과연 어떤 부분에서 이런 이야기가 나왔을까?
 크게 Flex의 데이터 처리 방식은 3가지로 나누어 볼수가 있다. 모든 Flex 서적에서 다루고 있는 내용이지만 다시한번 설명을 해보도록 하겠다.

(1) 클라이언트 사이드만의 어플리케이션
(2) HTTPService 및 WebService를 사용한 데이터 액세스
(3) 라이브사이클 데이터 서비스를 사용한 데이터 액세스


(1) 클라이언트 사이드만의 어플리케이션
 Flex는 HTML, ColdFusion, PHP 및 그 외의 종류의 Web 페이지에 포함된 SWF 파일로 배치된다. 유저가 Flex 어플리케이션을 실행하려면, 그 어플리케이션에 관련지을 수 있었던 Web페이지를 요구한다. 그러면 SWF파일이 브라우저에 다운로드되어 Flash Player로 실행횐다. 대부분의 Flex 어플리케이션은 어느 정도의 서버 interaction을 포함하고 있지만, 클라이언트 상에서의 실행시에 srandalone기능을 제공하는 Flex 어플리케이션을 적성할 수도 있다. 

(2) HTTPService 및 WebService를 사용한 데이터 액세스
 Flex의 HTTPService 와 WebService 태그를 사용하면, 리모트 서버로부터 데이터를 취득할 수가 있다. 리모트 프로듀서 콜(RPC)컴포넌트라고 불리는 이러한 태그를 사용하면, 어플리케이션이 리모트 서버와 데이터를 제공 받거나 어플리케이션으로부터 서버에 데이터를 송신할 수 있다. Web 어플리케이션은 적절한 데이터를 취득해, XML등으로 클라이언트 어플리케이션에 돌려준다.

(3) 라이브사이클 데이터 서비스를 사용한 데이터 액세스
 라이브사이클 데이터 서비스(LCDS, 구 Flex 데이터 서비스)는 Java 어플리케이션 서버나 Java컨테이너로 실행되어 다음과 같은 기능을 제공한다.
 - 확장 데이터 서비스
    > 복수 클라이언트 간의 데이터 공유
    > 클라이언트간의 데이터 통신의 지원
    > 자동 서버 데이터 푸쉬
    > 서버의 Resource에 액세스 하는 클라이언트의 인증
    > 데이터서비스 로깅
 - 확장 RPC 기능
  

라이브사이클 데이터 서비스는 Adobe 제품으로 돈을 내고 구입을 하여한다. 비슷한 기능을 구현한 오픈소스인 BlazeDS 라는 오픈프로젝트가 있는데, 라이브사이클 데이터 서비스의 일부기능을 제외한것을 구현했다. 현재 거의 모든 기능이 대부분 구현됬다고 봐도 무방하며, 아래 사이트를 찾아가서 참조하면 좋을것 같다.



정말 간단하게 알아본 Flex의 데이터 전송 방식... 알면 힘이되는 정보이니 더욱 자세한 자료는 인터넷이나 서적을 통해서 알아보자!!
728x90
반응형
728x90
반응형

CentOS5.2 (업그레이드를 해서 5.3) 에 SSL 인증..즉 HTTPS 서비스가 되도록 아파치를 설치를 해보도록 한다.

아파치는 2.2.x 버전이며 1.3.x 버전과 설치 방법이 조금 다르다. 

아파치 1.3.x 는 mod_ssl을 따로 설치를 해줘야 하지만 아파치 2.2.x 는 아파치안에 포함이 되었기 때문이다.

아파치 1.3.x. 는 이곳에서 설치를 참고

즉, 아파치2.2.x 가 설치가 되어있다면...다시 지우고 설치를 해야한다는 것이다..(설치시 ssl 옵션을 줬다면 상관없다...)

1) openssl 설치
아래 사이트에서 최신 소스를 다운로드 한다. (openssl-0.9.8k.tar.gz)
압축을 풀고 설치를 한다.


2) 아파치 설치
아파치는 httpd-2.2.11을 설치하였다.


3) mod_jk 설치
tomcat-connectors-1.2.28-src.tar.gz 을 설치하였다.
다운로드 하는 주소가 기억이...;;;;


4) SSL 생성
SSL에 관한 자세한 설명은 여기서 다루지 않도록한다.
인증기관에서 받아오는 방식은 아래 순서대로 하면 된다.
1. openssl을 이용요해서 개인키(비밀키) 생성
2. 개인키 확인
3. openssl로 CSR 생성
4. CSR 확인
5. 개인키 백업
6. 인증기관에 CSR 접수
7. 네트웍 확인 사항 - SSL 적용에 따른 방화벽(443번 포트 열어야 함), L4 switch 설정 확인
8. 인증기관에서 CSR 파일 답신 확인



5) 설정 파일 설정
(mod_jk 설정 파일)
# /usr/local/apache2/conf/workers.properties


# /usr/local/apache2/conf/httpd.conf


# /usr/local/apache2/conf/extra/httpd-ssl.conf


6) 아파치를 재구동하고 https 접속
접속하면 아래 화면처럼 나온다.


여기서 이 웹 사이트를 계속 탐색합니다(권장하지 않음) 를 누르면...



완료~!!!!!!ㅎㅎㅎㅎ
728x90
반응형
728x90
반응형

 Flex 에 관한 자료를 요청하여 최근 만든 자료를 기초로 다시한번 Flex를 정리 해보도록 하겠다. 이곳 저곳에서 자료를 모으고 정리를 하다보니 이제야 Flex에 대해서 좀 이해가 되는것 같다.

 Flex에 대한 자료는 두개의 포스트로 만들예정이며 첫번째로 Flex의 개요..즉, Flex란 무엇인가에 대한 포스트를 기술 하도록 한다.

1. Adobe Flex 에 대해서 좀 알아봅시다! 2. Flex의 데이터 전송 방식은?

위 두가지 포스트로 Flex를 모두 정의하고 설명하기엔 무리가 있겠지만, 그래도 어느정도 Flex를 처음 접하는 사람이나 초보 개발자에게 유용한 정보를 제공하고자 한다.

1. Flex 등장
 Flex의 등장은 컴퓨터 역사를 아니 인터넷 역사를 살펴 볼 필요가 있다. 초창기 컴퓨터는 어땠을까? 난 초등학교때부터 컴퓨터를 접해서 AT,XT 부터 사용한 유저인데, 이때까지만해도 마우스는 거의 필요하지 않았다. 즉, 현재 컴퓨터처럼 그래픽 기반이 아닌 텍스트 기반으로 이루어져 있었는데, 이때 미국에서 유닉스라는 시스템으로 컴퓨터와 컴퓨터를 연결해 통신을 하기 시작했다.  이렇게 컴퓨터와 컴퓨터를 연결하는 네트워크망이 점차 넓어 지기 시작하였다. (굉장히 축약적으로 설명하고 있음...;;;)
 사람들이 텍스트 기반의 컴퓨터를 좀 더 그래픽적으로 만들수 없을까 하고 생각해서 만들어진 놈이 바로 윈도우이다. 윈도우를 이용하면 마우스로 거의 모든 조작이 가능해지며, 컴퓨터 통신 또한 윈도우를 기반으로 좀 더 그래픽적으로 만들고 싶어했다. 그 결과 클라이언트/서버 환경 애플리케이션이 등장하며, 이와 함께 HTML 기반의 월드와이드웹(www)이 등장하였다.
 이렇게 진화한 www는 사람들의 요구에 부흥하여 여러가지 형채로 발전하는데,  HTML 기반의 www는 페이지단위를 기본으로 사용하기 때문에, 대용량 데이터 처리 및 화면이 계속 바뀌어야 하는 불편함이 존재 하였다. 이런 방법은 클라이언트/서버 환경보다 오히려 불편함을 초래하였다. 그래서 클라이언트/서버의 유저인터페이스적인 부분과 www의 편의성을 수용한 리치 인터넷 애플리케이션(RIA)가 등장하였다.

구분

클라이언트/서버

RIA(플렉스)

 

유저 인터페이스

자체 컴포넌트

HTML(jsp )

자체 컴포넌트

 

설치 프로그램

클라이언트모듈

없음

Flash Player

 

웹서비스 이용

낮다

높다

높다

웹의장점

대용량 데이터 처리

가능

제한적

가능

클라이언트/서버의 장점

오프라인 작업

가능

불가능

가능

클라이언트/서버의 장점

실시간 모니터링

가능

제한적

가능

클라이언트/서버의 장점

프로그램 배포

설치 프로그램 필요

없음

자동 배포

웹의장점

컴포넌트 개발

제한적

템플릿화

가능

클라이언트/서버의 장점

네트워크 사용량

적음

높음

적음

클라이언트/서버의 장점

레거시 시스템 연동

제한적

가능

가능

웹의장점


































(클라이언트/서버, 웹, RIA 기술 비교, 출처: Flex3 서적 참고)

2. Flex 개요
 RIA는 기존의 HTML에서 보여줄수 없는 다양한 유저 인터페이스를 웹브라우져에 만들어준다. 이러한 RIA에 맞게 개발된 기술이 바로 Flex 이다. Flex 이외의 여러가지 RIA 기술이 존재 한다. (ex: 실버라이트, Ajax, .... ) 
 이렇게 RIA 요구에 맞게 개발된 언어가 바로 Flex 이다. FlexFlash의 기술을 기반으로 탄생하였다. 그래서 Flex로 만든 사이트와 Flash를 이용해 만든 사이트는 비슷한 UI를 가지고 있다. ActionScript(ECMAScript) 언어 기반으로 만들어졌으며, 보다 편리하게 사용하기 위해서 XML 기술을 도입하여 MXML 파일을 만들수 있도록 하였다. 언어셋기반은 UTF-8을 기본으로 한다. 기본적으로 클라이언트 PC에서는 FlashPlayer 엔진을 기반으로 동작하게 만들어졌다. 
 한마디로 Flex는 mxml 파일을 swf 파일로 만드는 컴파일러라고 생각을 하면 쉬울듯...(우리의 최종 목적은 swf 파일을 만드는 것이다.)

3. Flex 환경

구분

애플리케이션서버(FDS)

개발툴(Flex Builder 3)

사용자 환경

운영체제

¡         MS Windows 2000 Server, XP Professional, 2003 Server(32/64-bit)

¡         Red Hat Server 3.x and 4.x

¡         SUSE Linux  Enterprise Server 9, on zSeries

¡         Solaris  SPARC 9 and 10

¡         IBM AIX  5.3

¡         HP-UX 11i v2

¡         MS Windows 2000 Pro & Server                      XP(SP2) & XP Professional                      2003 Server

¡         MAC

¡         Linux

 

¡         MS Windows  98, Me, 2000, XP, 2003, Vista

¡         Mac OS X v.10.1.x, 10.2.x, 10.3.x, 10.4.x

¡         Linux

웹애플리케이션서버(WAS)

¡         JRun 4 , Apache Tomcat 5.5.x

¡         BEA WebLogic 8.1 & 9

¡         IBM WebSphere 5.x & 6.x

¡         JBoss 4.0.3 SP1 & 4.0.4

¡         Oracle 10G AS (10.1.3)

¡         SAP WAS 6.40

¡         TMAX JEUS

¡         해당

 

¡         해당

브라우저

¡         해당

¡         해당

 

¡         MS IE 5.5, 6.0 later  Firefox 1.x,

¡         Mozilla 1.x, Netscape 7.x

¡         AOL 9, Opera 7.11 or later

¡         Safari 1.x or later 













































(출처 : Flex 설명 ppt 자료)


 지금까지 Flex의 등장, 개요, 환경에 대해서 알아보았다. 간단하게 나마 정리를 해보았는데, 도움이 되었을지 모르겠다. 그럼 다음 포스트에서는 Flex의 데이터 전송 방식에 대해서 써보겠다. 

(참고된 표의 출처가 문제가 될 경우에 자삭 하겠습니다. 영리적 목적으로 사용된것이 아님을 다시 한번 알려드리며, 불펌금지입니다.)
728x90
반응형
728x90
반응형
 
export를 실행하는데 아래와 같은 에러가 발생하였다. 


[oracle@CentOS5DBserver ~]$ exp ID/pwass@TEST_SERVER file=TESTDB090617.dmp log=TESTDB090617.log
Export: Release 9.2.0.4.0 - Production on Tue Jun 16 09:24:42 2009

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses JA16EUC character set (possible charset conversion)

About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user TEST
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user TEST
EXP-00008: ORACLE error 942 encountered
ORA-00942: table or view does not exist
EXP-00024: Export views not installed, please notify your DBA
EXP-00000: Export terminated unsuccessfully


위 문제는 오라클 버젼이 다를 경우에 발생하며 $ORACLE_HOME/rdbms/admin/catexp.sql 을 구동시키면 해결된다. 


728x90
반응형
728x90
반응형

이글은 오라클 자동 부팅이 되고, 테이블 스페이스를 생성했다는 을 전제로 작성된 것이다. 
관련글 아래글을 참조


오라클이 설치된 리눅스에서 sqlplus로 생성된 유저가 로그인이 잘 된다면..이제 외부 접속을 설정해야한다.
일단 X-Window 에서 시스템 -> 관리 -> 보안설정부분(방화벽) 을 실행후 아래 그림과 같이 기타 부분에 1521 포트를 추가 해준다.


외부에서 접속을 시도해보자.
만약 외부에서 접속이 잘 되면 다행이지만, 만약 외부에서 접속이 되지 않고 ORA-12505 같은 에러가 난다면 listener.ora를 다시 설정해야 한다.

$ORACEL_HOME/network/admin/listener.ora

이렇게 하면 접속이 될것이다.
728x90
반응형
728x90
반응형

지난 CentOS5.2 에서 오라클9i를 설치하는 포스트에서 마지막에 문제가 됬던 부분에 대해서 좀 고생을 많이 해서 결국 설치를 했긴했다. 근데 아직 못마땅하다.

일단 4개의 실패를 모두 신경쓸 필요는 없다. 하지만 위에 2개 dbca, netca 는 무조건 성공을 해야한다.


▶ Oracle Database Configuration Assistant 에러 해결 방법 (dbca)
▶ Oracle Net Configuration Assistant  에러 해결 방법 (netca)

이 두개의 에러가 발생하였을 경우, 인스톨 창을 닫지 말고, 아래와 같이 처리를 해준다.

1. 설치된 오라클디렉토리의 JRE 심볼링크 삭제 후 아래 경로로 심볼링크를 걸어준다.


2. 위에 설정한 JRE 디렉토리로 이동하여 java 파일을 jre 파일로 심볼링크 걸어준다. (i386 디렉토리의 java파일도 심폴도 만들어줘야 한다.)

3. 인스톨 화면으로 돌아와서 재시도를 눌러주면 실행이 되고, 패스워드 입력하는 것이 나온다.

위 처럼 하면 설치는 성공이 된다. 
단, 여기서 주위 해야할 점은 반드시 Oracle Database Configuration Assistant  를 먼저 실해양 해야한다. 그렇지 않으면 Oracle Net Configuration Assistant  의 설치가 제대로 진행되지 않는 경우가 있다. (모두 그런지는 모르겠지만 나의 경우엔 그랬다.)

 설치하다가 콘솔에 자바 에러가 좀뜨는데, 그냥 신경쓰지 않고 넘어갔는데도 잘 돈다. ㅎㅎㅎ 에러를 해결했다는것 이 중요~!!! 


728x90
반응형
728x90
반응형

일단 정확히 알고 넘어가야 할것이 있다. 

실은 나도 몰랐다. 

일반적으로 사이베이스나 MS-SQL, MySQL등에서 DB라고 부리는 부분을 오라클에서는 테이블스페이스라고 부른다고 한다. 그리고 오라클에서 DB라고 부르는것은 인스턴스라고 합니다.

그러니깐 디비를 생성한다는 것은 테이블스페이스를 생성한다 라고 생각하면 되는것 같다.
(음..아직도 자세히 모르겠다. 오라클이 이렇게 복잡할줄은 전혀 몰랐다. 솔직히 깔려진거 쓰기만 해봤지, 설치는 처음이라..;;; 더군다나 리눅스에 설치...)

리눅스에서 오라클을 설치하는 것은 아래 포스팅을 참조 하세요.


일단 오라클 계정으로 sqlplus를 실행하여 system계정으로 로그인한다. (비밀번호는 오라클 깔때 입력했던 것으로)

접속이 잘 되었다면 아래를 실행해보자.

실제로 위의 부분은 간단하게 설정을 한것이다. 
나머지 옵션들도 많으니 인터넷 검색이나 구글링으로 정보를 찾아보는것이 도움이 될것이다.

혹시 잘못 만들었다면 삭제 명령어로 삭제를 할수있다.

아래는 sqlplus에서 system 계정으로 로그인시 tablespace 와 user의 확인 쿼리이다.

테이블스페이스의 정확한 개념은 아래 블로그에서 확인 하도록 하자.
728x90
반응형
728x90
반응형

오라클 부팅시 자동으로 구동이 되지 않으면 참으로 불편하다. 

일일이 오라클을 명령어로 구동하기도 참 그렇고...(관련글로 가기)

그래서 자동으로 부팅이 될수 있도록 고쳐보겠다.

1. 아래 파일을 열어서 수정하자.

oratab 파일 수정

2. 리스너와 디비를 시작

rc.local 파일 아래부분에 다음을 추가


3. 오라클에서 사용되는 포트를 열어준다. 

4. ora 파일 복사
/opt/oracle/admin/ORCL/pfile 폴더에 가보면 initORCL.ora.515200916242 파일이 존재한다.
이 파일을 /opt/oracle/920/dbs 폴더에 initORCL.ora 라는 이름으로 복사를 해준다.

이렇게 하면 자동으로 오라클이 구동된다.

728x90
반응형

+ Recent posts