java 2 enterprise edition (j2ee) 의 cbd 방법과 지원도구

26
ETRI Proprietary 소소소소소소소소소소 소소소소소소소소소 - 1 - PD99- 소소소소 - 소소소소 별별 4( 별별 ) ETRI 2001. 5. 30. 소소소소소소소소소소소소소 ETRI 소 소 소 [email protected] S/W 소소소소소 - 소소소소소소소소소 Java 2 Enterprise Edition (J2EE) 소 CBD 소소소 소소소소

Upload: dustin

Post on 21-Mar-2016

132 views

Category:

Documents


4 download

DESCRIPTION

PD99- 부서번호 - 일련번호. 별표 4( 국문 ). Java 2 Enterprise Edition (J2EE) 의 CBD 방법과 지원도구. 2001. 5. 30. 이 우 진 [email protected] S/W 공학연구부 - 컴포넌트공학연구팀. 컴퓨터  소프트웨어기술연구소. 목 차. CBD 개발 방법의 필요성 J2EE 의 구조 Enterprise Java Beans (EJB) 프로그래밍 J2EE 지원 도구 MS .Net 의 개요 J2EE 와 .Net 의 비교 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 1 -

PD99- 부서번호 - 일련번호별표 4( 국문 )

ETRI

2001. 5. 30.

컴퓨터소프트웨어기술연구소 ETRI

이 우 진

[email protected]

S/W 공학연구부 - 컴포넌트공학연구팀

Java 2 Enterprise Edition (J2EE) 의 CBD 방법과 지원도구

Page 2: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 2 -

목 차▣ CBD 개발 방법의 필요성

▣ J2EE 의 구조

▣ Enterprise Java Beans (EJB) 프로그래밍

▣ J2EE 지원 도구

▣ MS .Net 의 개요

▣ J2EE 와 .Net 의 비교

▣ eBusiness 개발자의 변화

▣ Q & A

Page 3: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 3 -

eCommunity 산업 추세

0.00%

0.20%

0.40%

0.60%

0.80%

1.00%

1.20%

1.40%

1.60%

1.80%

2.00%

2000 2001 2002 2003 2004

$250M/ $1,017M/ $1,713M $3,252M/ $5,864M/$179B $207B $240B $277B $318B

Source : IDC 2000, eCommunity Software, 2000-2004, as Percent of All Software

Page 4: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 4 -

eBusiness Speed

Page 5: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 5 -

eBusiness 의 성공 요건

Good Item Time to Market

개발 기간 단축

병행 개발 - Divide-and-conquer- Parallel Processing- Pipelining

재사용Cost 감축

Page 6: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 6 -

S/W 개발 방법론의 변천

S/W D

evelopment

Phase

: reuse: integration mechanism

요구분석

개략설계상세설계

구현테스팅 & 디버깅

유지보수

Page 7: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 7 -

컴포넌트 기반 개발영역 모델링

컴포넌트 식별

컴포넌트다이어그램 생성(인터페이스 정의 )

컴포넌트별상세 설계 -independent-iterative-incremental

Page 8: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 8 -

전형적인 3- 계층 구조방

HTTP

방 화 벽

HTML

프리젠테이션계층

비즈니스계층

데이터베이스계층

클라이언트시스템

RMI/IIOP

데이타베이스접속 API

Page 9: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 9 -

J2EE 의 5 – 계층 구조

Page 10: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 10 -

EJB 프로그래밍 (1/5)

EnterpriseJavaBeans

EnterpriseJavaBeans

EJBServer

EJBServer

IIOP

Vendor 5Vendor 4

EnterpriseJavaBeans

client

Java IDLclient

CORBAclient

Vendor 1

Vendor 2

Vendor 3

IIOP

IIOP

IIOP, RMI

Application Server

Page 11: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 11 -

EJB 프로그래밍 (2/5)

EJB Bean

Container

Home Interface

Remote Interface

Other EJB BeansContext initial = new InitalContext();Object objref = initial.lookup(“MyConverter”);

ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref,ConverterHome.class);

Converter currencyCon = home.create();

Double amount = currencyCon.dollarToYen(100.00);

Client 프로그램Lookup(JNDI 이용 Bean 찾기 )

Home Interface 가져오기

Remote Interface 사용Home 을 이용 빈 생성

Application Server

Page 12: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 12 -

EJB 프로그래밍 (3/5)

▣ Two Type of Beans : Session Bean◈ Executes on behalf of a single client.◈ Can be transaction-aware.◈ Updates shared data in an underlying database.◈ Does not represent directly shared data in the database, although it may access

and update such data.◈ Is relatively short-lived.◈ Is removed when the EJB server crashes.

▣ Stateful vs Stateless Session Beans

Page 13: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 13 -

EJB 프로그래밍 (4/5)

▣ Two Type of Beans : Entity Bean◈ Represents data in the database.◈ Is transactional.◈ Allows shared access from multiple users.◈ Can be long-lived.◈ Survives crashes of the EJB server..

▣ Persistence Type◈ Container Managed Persistence (CMP)◈ Bean-Managed Persistence (BMP)

Page 14: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 14 -

EJB 프로그래밍 (5/5)

Bean Provider

Application Assembler

Application Server(Container + EJB Server)

Deployer Tool

EJB-JARs

Combine

Deployment Descriptor

deploy

Page 15: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 15 -

J2EE 지원 도구J2EE 표준

- J2EE 1.2, J2EE 1.3- EJB 1.3, EJB 2.0

-Weblogic 6.0-Gemstone-WebSphere

-Cool:Jeo 2.0-Together 5.0 (TogetherSoft)-Cobalt 1.0 (ETRI)

Application Server Development Tools

Page 16: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 16 -

COBALT 도구 개요

컴포넌트 생성 지원 도구 컴포넌트 조립 지원도구 컴포넌트 변환 도구

영역

모델러

컴포넌트

모델러

아키텍쳐

모델러

컴포넌트 합성기

컴포넌트

개조기코블

프로그램

연계기

웹 프로그램

변환기

응용컴포넌트

추출기

DB

연계기코드

생성기

생성 통합 G U I 조립 통합 G U I

모델 정보 관리기 모델 정보 관리기

G U I

전체 통합 G U I

Page 17: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 17 -

컴포넌트 생성지원 도구의 흐름도

Describe ObjectSequence Diagram

DescribeUse Case Model

IdentifyComponents

Initialize Component Diagram

Edit Component Diagram

Add Extracted Components

Edit ComponentClass Diagram

Import/ExportDB Tables

Edit Source Code

DeployComponents

Generate EJB Testing Client

DescribeObject Model

Describe ComponentSequence Diagram

Describe ClassSequence Diagram

Initialize ComponentClass Diagram

SRE Support

DomainModeling

ComponentModeling

ComponentDesign

CodeGen.

Page 18: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 18 -

MS .Net 에 관하여 ▣ 2000 년 중반에 MS 에서 차세대 인터넷 (Next Generation Internet)

으로 발표됨▣ 웹 서비스 (web service) 를 지원하는 새로운 플랫폼

◈ 웹 서비스를 통한 인터넷 상에서 어플리케이션의 통합◈ 표준 프로토콜 (SOAP) 을 이용한 다양한 클라이언트 환경 제공◈ 느슨한 (loose) 통합을 지원하는 분산 컴퓨팅 실현 ◈ 다양한 언어를 지원하는 개방형 프로그래밍 플랫폼 제공

Page 19: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 19 -

.Net 환경

DB server

Web ServiceWeb Service

다양한 클라이언트 환경

Web ServiceWeb Service

SOAP

SOAP

SOAP

HTTP

SOAP = HTTP + XML

클라이언트서비스 제공자

Web ApplicationWeb Application

Page 20: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 20 -

.Net 프레임워크

Windows COM+ Services

Common Language Runtime

Base Class Library

Data and XML

ASP.NET Windows Forms

Common Language Specification

VB C++ C#

Visual S

tudio.NE

T

JScript …

Page 21: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 21 -

J2EE 와 .Net 비교 (1/4)

▣ 결합 (integration) 관점◈ 결합하기 위해 미리 알아야 하는 정보의 양◈ 결합하는데 드는 노력◈ 분리 - 재결합을 위한 노력

▣ Component

◈ 견고한 (tight) 결합을 통한 시스템 통합 방법▣ Web Service

◈ 느슨한 (loose) 결합을 통한 어플리케이션의 통합 허용

Page 22: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 22 -

J2EE 와 .Net 비교 (2/4)기술 .Net J2EE프로그래밍 툴 VisualStudio.NET -분산 프로토콜 DCOM, SOAP RMI/IIOP프리젠테이션 계층

프로그램 모델 ASP.NET Servlet, JSP비즈니스 계층 하부구조 COM+ EJB보안 API COM+Security Call Context JAAS메시지 큐 API MSMQ JMS 1.0비동기식 컴포넌트 Queued (COM+) Message Driven (EJB 2.0)Naming & Dir. Service ADSI JNDI데이터베이스 계층 분산 트랜잭션 MS-DTC JTS관계형 DB API ADO.NET JDBC 2.0메인 프레임 DB 연결 Host Integration Server Java Connectors프레임워크 기술 전자상거래 프레임워크 Commerce Server -B2B 통합 BizTalk Server -

* Source : “Java 2 Enterprise Edition(J2EE) versus .Net Platform : Two vision of eBusiness,” ObjectWatch, March 2001.

Page 23: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 23 -

J2EE 와 .Net 비교 (3/4)Component Web ServiceImplemented using de facto standards COM, Java or CORBA

Implemented using open standards

Black box encapsulation; hides implementation details behind a COM, Java or CORBA Interface

Hides any Implementation details behind a SOAP interface

Generally fine grain, method level interface exposing business, infrastructure and housekeeping functions

Generally only business level interface exposed

Formal and precise interface definition of interface attributes –requires prior knowledge for use

Self describing and adapting

Published for installation by a technical implementer Published for location independent discovery and use over a network

Replaceable and upgradeable; providing the interface remains stable, the component can in theory be replaced with another implementation versioning, configuration, description. Can be easily reused

Can be dynamically used based on information available at runtime. The interface can change

Extensible, new specialized interfaces can be added to meet new requirements or services without disrupting existing clients

Can be dynamically composed and or aggregated with other services based on information available at runtim

* Source : “Understanding the component and Web Services Market,” CBDi forum, May 2001.

Page 24: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 24 -

J2EE 와 .Net 비교 (4/4)

프로그래밍 언어

웹 서비스 프레임워크

컴포넌트 컨테이너

수행 플랫폼

Many

All Future Microsoft

.Net

Many

Java

SunOne APIs J2EE

1.4 ?

J2EE 1.3

Microsoft .Net SUN J2EE

* Source : “Platforms for Components and Web Services,” CBDi Forum, April 2001

Page 25: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 25 -

eBusiness 개발자 관점의 변화

OS

+

Programming Language

Domainknowledge

++

Programming Language

Domainknowledge

platform

OS

+

Middleware

Programming skills

Page 26: Java 2 Enterprise Edition (J2EE) 의  CBD  방법과 지원도구

ETRI Proprietary 소프트웨어공학연구부 컴포넌트공학연구팀- 26 -

Discussion

▣ Thanks▣ Q & A