웹로직 용어

개발/WEB 2017. 5. 24. 22:18

Domain
- wls 설치 후 전체 어플리케이션의 기반이 되는 제일 큰 논리 단위
- 도메인은 운영자 입장에서 관리하기 편하게 정의
- 조직/업무/개발/운영.....

Server
- 하드웨어와 관계없이 JVM 상에서 실행되는 하나의 weblogic.server 인스턴스
  ○ Admin Server : 도메인에 등록되어 있는 모든 서버를 관리 하기 위한 서버
  ○ Managed Server : Admin Server에 의해서 관리되는 실제 어플리케이션 배포/운영 서버

Machine
- 논리적으로 H/W 구분하는 단위

Cluster
- 여러개의 웹로직 서버 인스턴스를 묶어 하나의 서버 개념으로 구성할 수 있게 해주는 단위
  ○ Failover, Load Balancing, 어플리케이션 배포 등의 대응되는 개념

Node Manager
- 원격으로 웹로직 서버를 관리(start/stop) 하기 위한 기능


1. Domain
- 웹로직 서버 최상의 관리 단위
- 도메인 당 하나의
  ○ Admin Server가 반드시 있어야 함
  ○ Configuration Repository (config.xml)을 포함
  ○ 도메인  하나의 Admin Console
  ○ 도메인 별로 Domain Log생성
- 모든 서버 포함
  ○ Admin Server
  ○ Managed Server
  ○ Cluster
  ○ Machine 포함
- 리소스 포함
  ○ Application 배포, 데이터소스, JMS 등의 모든 리소스들을 포함
- Configuration Wizard (config.cmd / config.sh) 를 통해 도메인 작성 및 구성 변경

2. Domain 구성 예시
- 도메인 내에는 반드시 하나의 Admin Server가 존재 해야함
- 단일 도메인 내에는 반드시 동일한 웹로직 버전을 구성
- 클러스터를 복수의 도메인에서는 구성할 수 없음
- 웹로직 리소스(JMS, JDBC 등)은 도메인 간 공유할 수 없음

3. Domain 디렉토리
wl_server        : domain 이름
  autodeploy     : 개발모드일때 application을 autodeploy에 저장하여 자동배포
  bin            : start/stop 스크립트
  config         : 도메인에 대한 루트 configuration
     configCache
     deployments
     diagnostics
     jdbc
     jms
     lib
     nodemanager
     security     : 도메인 보안 관련 설정 파일
     startup
  console-ext     : WLS_HOME/server/lib/console-ext/diagnostics-consoleextension.jar 파일 복사하여 WLDF(Weblogic Diagnostic Framework) 사용하도록 설정
  init-info       : Configuration-Wizard에서 도메인 환경 변경이 init-info 디렉토리 에서 정보를 읽음
  lib
  pending         : 설정파일 변경에 대한 임시 저장소
  security
  servers         : 도메인 내의 Managed Server 들에 대한 개별 디렉토리
  tmp


4. 웹서버와 연결
- 웹서버 플러그인에 의해 웹서버와 연동
apache
Microsoft Internet Information Server (IIS)
Sun java System Web Server (Sun One Web Server)
Weblogic Server
- 통신 프로토콜 : HTTP / HTTPS
- 전송방식 : URL 패스에 근거한 전송, MIME 에 근거한 전송

5. 웹서버와의 제휴
- 구성패턴 : 웹서버와의 분
  ○ 정적콘텐츠, SSL 관련 처리는 웹서버
  ○ 동적콘텐츠, 비즈니스 논리는 WLS
- 인터넷으로부터의 접속은 web 서버
- DB접속은 was 서버

6. Node Manager
- 웹로직 서버를 시작/정지/지연 등의 관리를 할 수 있는 별도의 프로세스 실행되는 유틸리티
- 웹로직 서버가 운영되는 H/W 에서 실행되어야 함
- 관리대상 : Admin Server / Managed Server
- 제어항목 : 시작, 정지, 재시작, 모니터, 로그

7. Clustering and Node Manager

8. 운영환경
  *스크립트 변경항목
    클래스패스
    FD값
    JVM 옵션의 변경, java heap 사이즈등
  *classpath
    $DOMAIN_HOME/bin/setDomainEnv.sh
    PRE_CLASSPATH, POST_CLASSPATH, PATCH_CLASSPATH
  *FD값
    WL_HOME/common/bin/commEnv.sh
    ulimit -n xxxx
  *JVM Option
    $DOMAIN_HOME/bin/setDomainEnv.sh
    USER_MEM_ARGS, JAVA_OPTION
9. Start Script에 의한 시작

10. 개발모드, 프로덕션 모드

11. 로그 관리/감시
도메인 로그 : 도메인 내 서버 정보
서버 로그 : 서버의 상세 동작 정보, 에러출력
표준 출력 로그 : 서버의 상세 동작 정보 표준/에러 출력
엑세스 로그 : HTTP 액세스 정보
Datasource 로그 : SQL, JDBC 관련 동작
플러그인 로그 : web 플러그인 동작 정보

12. 서버 로그 레벨
TRACE : 진단/분석을 위한 메시지의 경우 사용
INFO : 일반적인 정보에 사용하는 저 레벨의 정보 메시지
NOTICE : 중요도가 높은 정보 메시지
WARNING : 문제가 있는 오퍼레이션 또는 컨피그레이션이 있을 경우 사용(일반적인 오퍼레이션에 지장 없음)
ERROR : 유저에러발생(에러 대처가능)
CRITICAL : 시스템 또는 서비스에러 발생(시스템을 회복할 수 있지만 서비스의 손실이나 문제가 발생할 가능성이 있음)
ALERT : 시스템의 특정의 서비스만이 사용 불능 상태(자동회복 실행 불가)
EMERGENCY : 서버가 사용 불능인 상태

 

Posted by ladon
,

MYSQL META 조회

개발/DATABASE 2016. 2. 16. 10:45

/* MYSQL 의 METADATA는 INFORMATION_SCHEMA */


/* 접속한 유저 정보 */
SELECT USER();

 

/* 현재 어플리케이션이 사용하는 데이터베이스 정보 */
SELECT DATABASE();

 

/* 접속한 DB의 MYSQL 버젼 */
SELECT @@VERSION;

 

/* 유저의 권한 조회 */
SELECT GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE
  FROM INFORMATION_SCHEMA.USER_PRIVILEGES


/* DB에 있는 스키마 목록 */
SELECT SCHEMA_NAME
  FROM INFORMATION_SCHEMA.SCHEMATA;

 

/* 해당 스키마의 테이블 목록 */
SELECT TABLE_SCHEMA
     , TABLE_NAME
  FROM INFORMATION_SCHEMA.TABLES
 WHERE TABLE_SCHEMA = '[스키마명]';

 

/* 모든 테이블의 컬럼 목록 */
SELECT TABLE_SCHEMA
     , TABLE_NAME
     , COLUMN_NAME
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA != 'MYSQL'
   AND TABLE_SCHEMA != 'INFORMATION_SCHEMA'
   AND TABLE_SCHEMA != 'PERFORMANCE_SCHEMA'
   AND TABLE_SCHEMA != 'SYS';
  
/* 선택한 테이블의 정보 */
SELECT *
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA = '[스키마명]'
   AND TABLE_NAME   = '[테이블명]'

 

Posted by ladon
,

var st = "12|3|45";

st = st.replace( /\|/gi , ',' ); // gi는 replaceAll 역할, \는 특수문자 앞에 붙임

console.log(st);

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

12,3,45

 

Posted by ladon
,

이클립스 에러

 

문제 :
Java compiler level does not match the version of the installed Java project facet.

해결 :
프로젝트 properties > project facets > java version 맞게 설정

프로젝트 properties > project facets > jdk compile version 맞게 설정


문제 :
Cannot change version of project facet Dynamic Web Module to 3.0

해결 :
org.eclipse.wst.common.project.facet.core.xml 버젼확인 <installed facet="jst.web" version="3.0"/>

프로젝트 properties > project facets > Dynamic Web Module 3.0 확인

Maven -> Update Project

프로젝트홈 / .settings / org.eclipse.wst.common.project.facet.core.xml
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="jst.java" version="1.7"/>

프로젝트홈 / .settings / org.eclipse.jdt.core.prefs
org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7

pom.xml에서 다음과 같이 plugin을 추가
<build>
 <finalName>hkgcni</finalName>
 <plugins>
  <plugin>
   <artifactId>maven-compiler-plugin</artifactId>
   <configuration>
           <source>1.8</source>
    <target>1.8</target>
   </configuration>
  </plugin>
 </plugins>
</build>


문제 :
[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:XXX' did not find a matching property.

해결 :
tomcat의 Publish module contents to separate XML files 체크


문제 :
Can't load IA 32-bit .dll on a AMD 64-bit platform

해결 :
JAVA 버젼 변경 32bit로


문제 :
Illegal key size

해결 :
AVA의 기본 정책으로는 AES128 암호화 방식까지만 사용이 가능하므로
AES256 방식으로 암호화를 하게 되면 아래와 같은 Exceptioin이 발생합니다
참고로 미 통상법에 의해 자국내에서만 AES256 방식이 허용되었다고 하네요

local_policy.jar US_export_policy.jar 를

C:\Program Files\Java 1.6.0\lib\security\ 에 복사

 

Posted by ladon
,

windows explorer developer tool 안되는경우

원래 무슨 에러라서 받아서 된건지 기억은 안남 큭...

 

http://www.microsoft.com/ko-kr/download/details.aspx?id=45154

Posted by ladon
,
팝업 본인 리플래시
document.location.reload();

부모창 리플래시
opener.document.location.reload();

onUnload() - 페이지 나갈때 스크립트 실행
Posted by ladon
,

style에서 border을 0으로 준다
<input type="text" style="border=0" name="aa" value="" size="10">

마우스 포인터 손가락 모양으로 변경
style='cursor:hand'
Posted by ladon
,
현재시간
long currentTime = System.currentTimeMillis() / 1000;
System.out.println(currentTime);

현재시간의 5분전
long currentTime = (System.currentTimeMillis() / 1000) - 300;

DB에서 리턴받은값 long 변환
long tmpTime = Long.parseLong(prs1.getString("UNIXTIME"));
Posted by ladon
,
SELECT
SYSDATE,
TRUNC(SYSDATE -TO_DATE('19700101', 'YYYYMMDD'))*60*60*24 + TO_CHAR(SYSDATE, 'SSSSS') UNIXTIME,
TO_DATE('19700101000000', 'YYYY-MM-DD HH24:MI:SS')+(TRUNC(SYSDATE -TO_DATE('19700101', 'YYYYMMDD'))*60*60*24 + TO_CHAR(SYSDATE, 'SSSSS'))/86400
FROM DUAL

'개발 > DATABASE' 카테고리의 다른 글

MYSQL META 조회  (0) 2016.02.16
ORACLE || 결과더하기  (0) 2009.09.04
ORACLE DECODE  (0) 2009.09.04
MSSQL 컬럼값 암호화  (0) 2009.09.04
ORACLE 시퀀스(SEQUENCE) 사용하기  (0) 2009.09.03
Posted by ladon
,

팝업이나 화면중 원하는 위치에만 스크롤바를 걸고 싶을때

<div style="overflow-x:scroll; overflow-y:scroll; width:417px; height:310px;">

<table>
 <tr><td></td></tr>
</table>

</div>

// overflow-x:scroll; 을 지우면 가로 스크롤바는 안나오게 된다.
// overflow-y:auto; 로 하면 스크롤이 필요 없을때는 안나오다가 필요하면 나온다.
// width는 div가로 길이, height는 div 세로길이 이다.
// 보통 사용하는게 테이블만 걸고 싶을때 테이블을 div로 걸어주면 테이블만 스크롤이 생긴다.

Posted by ladon
,