Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
iSeminar가곧시작될예정이오니잠시만기다려주시기바랍니다.
프레젠테이션청취를위하여다음의전화번호로연결하시기바랍니다.
1544-3355 (전국)
인터넷세미나참석을환영합니다!Introduction to J2EE (2)
- EJB, Web Services및 시각적 J2EE 개발
iSeminar중청취상의문제가있으신분은 “Chat”기능을이용해도움을받으시기바랍니다.
2
Who Are We?
한성엽Business Solutions Consultant Oracle Application Server 10g
허 은Business Solutions Consultant Oracle10g
3
J2EE iSeminar Series Agenda
Day 1– J2EE 개념– 자바와데이타베이스액세스
– Servlet 및 JSP (JavaServer Pages)Day 2
– Enterprise JavaBean 및Web Services– 시각적 J2EE 애플리케이션개발
4
Enterprise JavaBeans
미들티어자바컴포넌트 –비즈니스로직을캡슐화
EJB 컨테이너내에수용클라이언트애플리케이션을위한리모트서비스제공
세가지종류의 EJB– Entity bean– Session bean– Message driven bean
5
Entity Beans
데이타소스로부터의데이타를표현하는컴포넌트
여러클라이언트에의해공유됨
Persistent: – Container-Managed Persistence (CMP)– Bean-Managed Persistence (BMP)
6
Session Beans
일회성, 태스크지향타클라이언트와공유되지않음
두가지종류의 session bean:– Stateless
일회성요청처리, 상태정보유지하지않음– Stateful
다수요청처리, 요청상태정보유지
7
Message Driven Beans
JMS메시지처리를위한 stateless,asynchronous bean풀내에존재하며, JMS큐또는토픽으로부터메시지를전송받고처리함
큐또는토픽으로부터받은메시지를처리하기위하여컨테이너에의해호출됨
8
EJB Container
EJB가구동되는환경J2EE서버컴포넌트중하나
EJB Container
EJB BeanEJB BeanHome
Interfaces
J2EE ServerJ2EE Server
Client
9
로컬또는리모트 Interface Access
EJB Container
Local Client Application
EJB BeanEJB BeanHome
RemoteInterfaces
Home
LocalInterfaces
Remote Client Application
10
EJB 배치/전개
EAREAR
WAR JAR
warwarEJBEJB--JARJAR
WARWAR JARJAR
Home interfaceRemote interface
Bean classOther classes
Deploymentdescriptor
EJBEJB
J2EE Container
EJB ContainerEJBEJB--JARJAR
EJB Container
11
웹서비스와웹애플리케이션
웹서비스 웹애플리케이션
XML/SOAP프로그램 –프로그램인터페이스
동적인통합가능
재사용가능모듈
HTML사용자 -프로그램인터페이스
정적인통합
일회적사용서비스
12
웹서비스
인터넷을통해다른애플리케이션들이개발자의입장에서액세스를할수있도록해줌
– 자바클라스/EJB– JMS– PL/SQL– 기존애플리케이션
– …
HTML
SOAP
EJBs
브라우저
외부애플리케이션/외부웹사이트
웹프레젠테이션
비즈니스로직데이타베이스
애플리케이션서버
13
웹서비스와 J2EE
Lifecycle ServicesLifecycle Services
Transactions and SecurityTransactions and Security
Component ModelComponent Model
Web ServicesWeb Services
ConnectivityConnectivity
J2EE ContainerJ2EE Container
입증된 J2EE 기술– 보다넓게퍼져있으며성숙한기술
J2EE Web services– J2EE 1.4에서표준화
JAX-RPC, JAXR, JAXB, JAXP, JSR109
J2EE의장점그대로– Packaging, transactions,
security, lifecycle …
14
D E M O N S T R A T I O N
실제실제 업무에서의업무에서의 EJB EJB 사용예사용예
15
EJB 및웹서비스요약EJB는엔터프라이즈비즈니스로직개발을위한표준플랫폼을제공
EJB 컨테이너의장점커넥션풀링
트랜잭션관리
Persistence표준화된배치구조
웹서비스
진화된인터넷컴포넌트기술
J2EE 표준과의만남
16
J2EE iSeminar Series Agenda
Day 1– J2EE 개념– 자바와데이타베이스액세스
– Servlet 및 JSP (JavaServer Pages)Day 2
– Enterprise JavaBean 및Web Services– 시각적 J2EE 애플리케이션개발
17
Java 개발의현재
1999
개발자평균숙련도
증가하는프로젝트복잡도와
개발자숙련도요구사항
산업 표준디자인패턴
프레임워크
통합비주얼 IDE
애플리케이션복잡도와중요도
2000 2001 2002 2003 2004 2005 2006Source: GartnerSource: Gartner
18
디자인패턴
디자인패턴:– 특정개발과제 (목적)에대한입증된솔루션
(방법)– 개발작업에대한솔루션 (비즈니스문제에대한솔루션이아님)
– 재사용가능
Model-View-Controller (MVC) 아케텍처역시디자인패턴의한예
19
MVC 구조
ViewUser Interface 렌더링Model로데이타요청Model로 “Events”전송Controller가특정 View를사용할수있도록함
Model애플리케이션 state 저장데이타요청에대한응답
비즈니스로직의 encapsulationRequest Data
Controller적절한페이지로의 routingUser Interface에서의데이타변동사항을 Model과매핑
Display
Submit Page
Data and Transactions
20
Model (1) – Business Services
Controller
ModelView
지속성데이타 (Persistence) 관리Validation 실행트랜잭션관리
다양한 Business Services 기술:– Enterprise JavaBeans (EJB)– 프레임워크기반 (ADF 비즈니스컴포넌트)– TopLink– Web services – Java Classes
21
Model (2) –비즈니스서비스의모델화
Business Service의추상화일관적인 Business Service와의커뮤니케이션방법
Business Service를모델화함으로써– 오브젝트,콜렉션, 액션등의 drag & drop– 일관적인데이타바인딩작업가능
22
D E M O N S T R A T I O N
Building Building ModelModels s
23
The “View” concept
애플리케이션의 UI애플리케이션코드를포함하지않음
– UI를위한코드및이벤트를컨트롤러에전해주는역할을위한코드만을가짐
컨트롤러또는모델의로직에수정없이뷰에대한수정가능
하나의애플리케이션에호환가능한다양한종류 (웹브라우저, PDA, 등)의뷰의구현가능
Controller
ModelView
24
View Technologies
웹클라이언트– JSP– JavaServer Faces자바클라이언트
– SwingWireless
25
Controller
왜컨트롤러가필요한가?
– 컨트롤러가 request를인터셉트하여처리– 웹페이지는이벤트처리나페이지플로우에대하여알필요가없음
– 처리코드는 response로디스플레이될페이지가어떤것이될지알필요가없음
– Model과 View의분리
Controller
View Model
26
J2EE 컨트롤러
개발
Apache Struts– Apache Software Foundation 프로젝트중하나
http://jakarta.apache.org/struts– 오픈소스프레임워크 (XML 이용한컨트롤러서블릿)– JSP model 2 개발을위한실질적표준
기타콘트롤러– ADF 컨트롤러– JavaServer Faces
27
Struts Page Flow Modeling
28
Struts Configuration
struts-config.xml애플리케이션을정의하는메타데이타제공
– 페이지매핑 (abstractions)– 페이지플로우
– 데이타플로우
– 예외처리
– 리소스
<?XML version = '1.0'?><struts-config>
…</struts-config>
29
D E M O N S T R A T I O N
Building Page Flows and JSP PagesBuilding Page Flows and JSP Pages
30
Summary
자바애플리케이션개발의발전과정MVCVisualDeclarative
개발을보다쉽게해주는런타임프레임워크(ADF)
J2EE best practice의구현최신표준의사용
선택을통한생산성향상
31
J2EE iSeminar Series Agenda
Day 1– J2EE 개념– 자바와데이타베이스액세스
– Servlet 및 JSP (JavaServer Pages)Day 2
– Enterprise JavaBean 및Web Services– 시각적 J2EE 애플리케이션개발
32
What’s Next …
33
Best Practices for J2EE Development
애플리케이션아키텍처의이해
EJB를이용한비즈니스티어디자인및구현
MVC 및 Struts를이용한웹티어디자인애플리케이션보안
Tuning and Debugging J2EE 애플리케이션튜닝및디버깅
34
For More Information
http://launch.oracle.com PIN: 7505395– 세션내용, 슬라이드및데모
http://java.sun.com/blueprints– 디자인패턴
http://jakarta.apache.org/struts– Struts 개발자가이드
http://otn.oracle.com/products/jdev– 백서및 documentation– 애플리케이션개발데모
– Discussion forum
35
Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S
36
otn.oracle.com, otn.oracle.co.kr
Join Over 3,000,000 Developers!Free Technical Advice
Free Software Downloadsotn.oracle.com/tech/java, otn.oracle.co.kr/tech/java