posted by 구름너머 2005. 9. 6. 14:12

Sun에서 제공하는 J2EE BluePrints 중에서 웹 3 tier 구조도 입니다.

전체 내용은 http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/index.html 에서 보실 수 있습니다.



posted by 구름너머 2005. 9. 6. 14:04
[01] EJB 개발의 필요성과 특징, N-tier비즈니스 환경의 이해, 분산 환 | EJB2005/05/07 17:50
http://blog.naver.com/call6071/140012670140

▩ EJB 개발의 특징과 필요성
- 동시접속자수가 10,000이상 이상인 사이트 구축시 사용하는 콤포넌트 기술입니다.
- 동시접속자수가 많은 가운데 안정적인 트랜잭션이 필요한 사이트 구축시 사용합니다.
- 접속자수가 많은 공공기관, 기상청, 병무청, 금융, 보험, 포털사이트, 게임사이트, 기업등에서 집중적으로 사용
- EJB 시스템은 속도는 느리지만 개발시에 개발자에게 많은 자동화된 기능을 제공해 분산 시스템 구축을 쉽게 해준다.
- EJB는 JSP, Beans를 사용한 시스템보다 속도는 느리지만 안정적인 분산 시스템을 제공한다.
- 기초기술(JSP, BEANS)을 알면 EJB는 배우기 쉽고 사용하기 쉽다.
- EJB 규약을 집중적으로 습득하면 쉽게 EJB 콤포넌트를 개발할 수 있다.
- 분산환경에 대한 이해가 필요하다.

▩ N-tier비즈니스 환경의 이해

1. 2-tier 에서의 환경

1계층 2계층
----------------------------------------------------------------
VisualBasic, PowerBuilder --> DBMS(MS-SQL, Oracle, My-SQL)


2. 기본적인 3-tier를 지원하는 WEB 환경

1계층 2계층(Application) 3계층
-----------------------------------------------------------------------------------------------
IE Browser <-----> GUI, WebServer(HTML, JavaScript, CSS, XML) SQL



비즈니스 로직(Process Logic, JSP, ASP, PHP, ASP.NET) <---------> DataBase
FAT Client(처리비중이 높음) Thin Server

- 2계층에서 유지보수 및 수정, 보안성이 떨어짐


3. 4-tier 에서의 환경
1계층 2계층(Web Server, Servlet Container) 3계층(Servlet Container) 4계층
-----------------------------------------------------------------------------------------------
사용자 <-----> 프리젠테이션 레이어 SQL
사용자 인터페이스(GUI) <---------------> 비즈니스 로직 <--------------> Database
-----------------------------------------------------------------------------------------------
Browser HTML
XML, JSP ------------------------------> Servlet, Beansr -------------> DBMS

- JSP는 로직처리용으로 사용이 아니라 처리결과 출력용으로만 사용, 처리로직은 3계층에 존재,
안정적인 트랜잭션 지원이 부족하다.


4. n-tier 에서의 환경(EJB 지원)
사용자 <-----> 프리젠테이션 레이어 <--------------> 비즈니스 로직 <------> 업무를 콤포넌트로 구현 <-----> Database
------------------------------------------------------------------------------------------------------------------
Browser HTML, CSS, JavaScript, JSP <-------> Servlet, Beans <-----> EJB, Application Server <----> DBMS

▩ 분산 환경의 이해
====================================================================

1. 정의
- 시스템 구성이 여러 컴퓨터로 물리적으로 분리 되어 있거나 하나의 컴퓨터 안에서 소프트웨어 적으로 분리 되어 있는 환경
Visual Basic은 하나의 언어상에서 대부분의 처리 로직을 전부 구현함
- RMI(Remote Method Invocator, 원격 메소드 호출)는 분산 객체간 통신을 지원
- 객체가 네트웍을 통과할 때는 직렬화(Serialization)되어 이동됨


2. EJB 개발을 위한 프로그래밍 방법 및 장점
(객체 지향적인 방법 적용, EJB 컨테이너로 부터 아래의 항목을 자동으로 지원 받을 수 있음으로 어플리케이션을 신속히 구축할 수 있다.)
- 인스턴스 폴링: 객체를 미리 생성하여 메모리에 저장하여 사용준비 상태에 들어가도록 함, 많은 동시접속자에 대한 빠른 속도 구현
- 트랜잭션 처리: 자동으로 컨테이너가 모든 처리메소드에 대하여 트랜잭션을 처리해줌, 안정적인 데이터 조작
- 보안설정: 메소드나 콤포넌트에 보안설정을 쉽게 할 수 있음
- 퍼시스턴스 관리: 빈즈의 상태를 메모리에서 사용여부에 따라 자동으로 활성화/비활성화를 실행해 관리해줌
- FAT Client를 Thin Client로, n-tier 시스템을 구축할 수 있다.


3. 객체지향 개발의 의미

- 객체(Object) : 속성과 처리할 메소드를 포함하고 있음

- 데이터 추상화(Abstraction) : 다양한 데이터를 하나의 개념으로 포함시킴 (고객...)

- 객체 간 상속(Inheritance) : 객체간에 유기적인 관계를 갖고 있음, 중복 개발을 막을 수 있음, 인간적인 관계를 가지고 있음

- 다형성(Polymorphism) : 상속을 바탕으로 한 개념, 한 부모의 형질이 여러 자식으로 나타나는 개념,
추상 메소드를 여러 클래스가 다양한 기능으로 구현하는 일, Method Overloading, Method Overriding,
Interface, Abstract Class 핵심 기술임

- 캡슐화(Encapsulation) : 객체안에 담겨있는 데이터를 외부로부터 접근 할 수 없도록 제한을 가하는 일, Access Modifier
private, protected, friendly, public


4. 분산 객체 :
CORBA(Common Object Request Broker Architecture, UNIX에서 사용), java RMI, DCOM(MS)들임

RPC(Remote Procedure Call) + OBJECT Oriented Programming = Java RMI(분산객체 통신 기술)

RMI Protocol Architecture : Client <-----> stub <-----> stub <-----> skeleton <-----> Server
----------------- --------
Socket TCP/IP통신 제공 서버쪽 처리자

5. EJB 컨테이너 (Container)
- Weblogic, Webspere주로 사용, 국산은 제우스 사용
- EJB 컴포넌트들이 Loading되어 활동하는 서버 쪽 프로그램, 컴포넌트의 생성, 소멸, 라이프 사이클, 보안, Threading
등의 서비스를 제공

6. J2EE의 광범위한 구성 요소
- Servlet
- JSP(Java Server Page)
- EJB(Enterprise JavaBeans): Enterprise Java Bean
- JDBC(Java Database Connectivity): 자바 데이터베이스 접속 기술
- JMS(Java Message Service): 자바 메시지 처리 기술
- JNDI(Java Naming and Directory Interface): 객체에 이름을 지정하는 기술
- JTA(Java Transaction API): 트랜잭션 관련 API을 제공
- JavaMail: 메일 관련 기술
- JAF(Java Activation FrameWork) : 메일 전송시 다양한 데이터를 지원하는 기술
- RMI-IIOP(RMI(Remote Method Invocation) over IIOP: 객체 통신 기술

posted by 구름너머 2005. 3. 9. 11:41

개발작업에서 프로그램의 버전관리를 필요로 한다면 꼭 읽어보세ㅛㅇ.

http://kldp.org/KoreanDoc/html/CVS_Tutorial-KLDP/index.html

posted by 구름너머 2005. 2. 16. 17:33
제6회 자바 개발자 컨퍼런스가열립니다.
일시는 2005년 2월 19일(토) 12:00 ~ 18:00, 장소는 삼성동 코엑스 그랜드 볼룸 전관 (101호~105호)입니다.
행사 내용은 다음 사이트에서 확인하고, 관심 있는 분들은 참가해 보세요. 사전 등록하는 경우에 참가비가 무료라고 하네요!
J2EE 기반의 개발을 맡고 있거나 오픈소스 기반의 개발 도구와 최신 동향(Eclipse, Object-Relation Mapping, Service-Oriented Architecture, Test-driven Development 등), 무선 인터넷과 관련된 일을 하고 있다면 유익한 정보를 얻을 수 있을 것 같네요.