16
8/28/2011 1 LẬP TRフNH WEB HƯỚNG JAVA Bài 05: Tổng quan về Java EE Giảng viên: ThS. Trịnh Tuấn Đạt Bộ môn CNPM Email: [email protected]/[email protected] Bộ môn Công nghệ Phần mềm Viện CNTT & TT Trường Đại học Bách Khoa Hà Nội Nội dung 1. J2EE là gì? 2. Sự phát triển của các Enterprise Application Frameworks 3. Tại sao lựa chọn J2EE? 4. J2EE APIs and Technologies 5. Standard Impl (J2EE 1.4), Compatibility Test Suite (CTS) 6. BluePrints 7. J2EE và Web Services 8. Các bước nghiên cứu J2EE 1. J2EE là gì? 3 Challenges Portability Diverse Environments Time-to-market Core Competence Assembly Integration Key Technologies J2SE J2EE JMS Servlet JSP Connector XML Data Binding XSLT Products App Servers Web Servers Components Databases Object to DB tools Legacy Systems Databases TP Monitors EIS Systems Enterprise Computing J2EE là gì? Là nền tảng (platform) mở, chuẩn tắc để phát triển (developing), triển khai (deploying) và quản lý (managing) các ứng dụng doanh nghiệp hướng thành phần (component-based), ứng dụng Web, Server, … Java™ Platform High-End Server Java Technology Enabled Desktop Workgroup Server Java Technology Enabled Devices

Bai05_Tong_quan_ve_JavaEE.pdf

Embed Size (px)

Citation preview

Page 1: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

1

LẬP TRÌNH WEB HƯỚNG JAVABài 05: Tổng quan về Java EE

Giảng viên: ThS. Trịnh Tuấn ĐạtBộ môn CNPM

Email: [email protected]/[email protected]

Bộ môn Công nghệ Phần mềmViện CNTT & TT

Trường Đại học Bách Khoa Hà Nội

Nội dung

1. J2EE là gì? 2. Sự phát triển của các Enterprise Application

Frameworks 3. Tại sao lựa chọn J2EE? 4. J2EE APIs and Technologies 5. Standard Impl (J2EE 1.4), Compatibility Test

Suite (CTS) 6. BluePrints 7. J2EE và Web Services 8. Các bước nghiên cứu J2EE

1. J2EE là gì?

3

ChallengesPortabilityDiverseEnvironmentsTime-to-marketCore CompetenceAssemblyIntegration

KeyTechnologiesJ2SE™

J2EE™

JMSServletJSPConnectorXMLData BindingXSLT

ProductsApp ServersWeb ServersComponentsDatabasesObject to DBtools

LegacySystems

DatabasesTP MonitorsEIS Systems

Enterprise Computing

J2EE là gì?

Là nền tảng (platform) mở, chuẩn tắc để phát triển (developing), triển khai (deploying) và

quản lý (managing)các ứng dụng doanh nghiệp hướng thành phần(component-based), ứng dụng Web, Server, …

Java™ Platform

High-EndServer

Java TechnologyEnabled Desktop

WorkgroupServer

Java TechnologyEnabled Devices

Page 2: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

2

JavaTM Platform

OptionalPackages

Java 2Enterprise

Edition(J2EE)

Java 2StandardEdition(J2SE)

JVM

JavaCardAPIs

CardVM

OptionalPackages

PersonalBasis Profile

PersonalProfile

Foundation Profile

CDC

MIDP

CLDC

KVM

Java 2 Platform Micro Edition(J2METM)

* Under development in JCP

2. Sự phát triển của cácEnterprise ApplicationFrameworks

8

2. Sự phát triển của các Enterprise ApplicationFrameworks

1 tầng (Single tier) 2 tầng (Two tier) 3 tầng (Three tier )

Dựa trên RPC Dựa trên Remote object

3 tầng (HTML browser và Web server) Máy chủ ứng dụng độc quyền (Proprietary

application server) Máy chủ ứng dụng chuẩn (Standard application

server)

Ứng dụng doanh nghiệp (EnterpriseApplications)

Các thành phần của 1 enterprise application Presentation logic Business logic Data access logic (và data model) System services

Sự phát triển của 1 enterprise applicationframework thể hiện ở Cách thức thay đổi linh động như thế nào? Các dịch vụ hệ thống được cung cấp ra sao?

Single Tier (Mainframe-based)

Dumb terminals kết nối trực tiếp với mainframe Theo mô hình tập trung (ngược với mô hình phân

tán) Các xử lý Presentation, business, và data access

được thực hiện duy nhất trong 1 ứng dụng ởmainframe

Single-Tier: Ưu nhược điểm

Ưu điểm: Không cần quản lý phía client Nhất quán dữ liệu (Data consistency)

Nhược điểm: Các thao tác (presentation, data model, business

logic) được mix vào lẫn nhau khó bảo trì & táisử dụng code.

Page 3: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

3

Two-Tier

Fat clients giao tiếp với database phía sau Gửi truy vấn SQL, nhận về dữ liệu thô

Presentation, Business logic và Data Modelprocessing logic đều nằm trong ứng dụngclient

Database

SQL request

SQLresponse

Two-Tier

Thuận lợi: DB product independence

Cons: Presentation, data model, business logic được mix lẫn

nhau ở client khó cập nhật & bảo trì Data Model đính chặt với mọi client: nếu CSDL thay đổi tất cả clients đều hỏng

Các cập nhật phải được tiến hành trên tất cả các clients ác mộng trong bảo trì hệ thống

Tạo DB connection cho tất cả client Tốn tài nguyên,khó mở rộng

Trao đổi dữ liệu thô (Raw data) tốn băng thông

Three-Tier (RPC based)

Thinner client: business & data model được táchbiệt với presentation Business logic và data access logic nằm trên server trung

gian (middle tier server), client xử lý presentation

Middle tier server cần xử lý các dịch vụ hệ thống Điều khiển tương tranh, đa luồng, transaction, security,

persistence, multiplexing, performance, ...

Database

SQLrequest

SQLresponse

RPC response

RPC request

Three-tier (RPC based): ưu nhược điểm

Ưu điểm: Business logic thay đổi linh động hơn so với mô

hình 2-tier (Nằm trên middle-tier server)

Nhược điểm: Độ phức tạp cao ở middle-tier server Client và middle-tier server liên kết khá chặt (So

với mô hình three-tier object based) Chưa thực sự tái sử dụng được Code (So với mô

hình three-tier object based)

Three-Tier (Remote Object based)

Business logic và data model phát triển theo môhình ĐT Business logic và data model được mô tả “trừu tượng”

(interface language)

Mô hình đối tượng được sử dụng: CORBA, RMI,DCOM Interface language trong CORBA là IDL Interface language trong RMI là Java interface

Database

SQLrequestSQLresponse

Object response

Object request

Three-tier (Remote Object based): ưunhược điểm

Ưu điểm: Kết nối linh động hơn mô hình RPC Tái sử dụng Code tốt hơn

Nhược điểm: Vẫn có độ phức tạp ở server trung gian

Page 4: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

4

Three-Tier (Web Server)

Browser xử lý presentation logic Browser giao tiếp với Web server qua giao

thức HTTP Business logic và data model được xử lý theo

công nghệ “Sinh nội dung động” (CGI,Servlet/JSP, ASP)

SQLrequest

SQLresponse

HTML response

WEBServer

HTML requestDatabase

Three-tier (Web Server based): ưu nhượcđiểm

Ưu điểm: Đa dạng cho thiết bị client

Điện thoại di động hỗ trợ J2ME, …

Không cần quản lý client

Nhược điểm: Vẫn còn phức tạp ở tầng trung gian

Xu hướng

Chuyển kiến trúc single-tier hoặc two-tierthành kiến trúc multi-tier

Chuyển từ mô hình nguyên khối (monolithicmodel) sang mô hình ứng dụng hướng đốitượng

Chuyển ứng dụng client thành HTML-basedclient

Multi-tier

Single-tier vs. Multi-tier

No separationamong presentation,business logic,database

Hard to maintain

Separation amongpresentation,business logic,database

More flexible tochange, i.e.presentation canchange withoutaffecting other tiers

Single tier

Object-based

Monolithic vs. Object-based

1 Binary file Recompiled,

relinked,redeployed everytime there is achange

Pluggable parts Reusable Enables better

design Easier update Implementation

can be separatedfrom interface

Only interface ispublished

Monolithic

Các vấn đề và gải pháp nổi bật

Phức tạp ở middle tier server Cần nhân bản các dịch vụ hệ thống, giải

quyết các vấn đề về Concurrency control, Transactions Load-balancing, Security Resource management, Connection pooling

Giải pháp? Cần có 1 container chung xử lý toàn bộ dịch vụ

hệ thống ở trên Giải pháp độc quyền và giải pháp mở, chuẩn

Page 5: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

5

Giải pháp độc quyền-Proprietary Solution

Sử dụng mô hình "component và container" Components đảm nhiệm các business logic Container cung cấp môi trường thực thi kèm các

dịch vụ hệ thống

Components và container có giao kết chặtchẽ, rõ ràng nhưng theo cách thức của bêncung cấp Vấn đề: phụ thuộc vào nhà cung cấp

Ví dụ: Tuxedo, .NET

Giải pháp mở & chuẩn - Open andStandard Solution

Sử dụng mô hình "component và container"trong đó container cung cấp các dịch vụ hệthống theo chuẩn.

J2EE: là 1 chuẩn như thế, cho phép linhđộng trong code Dựa trên công nghệ Java và standard-based Java

programming APIs

3. Tại sao lựa chọn J2EE?

27

Với Developers

Có thể sử dụng bất kỳ J2EE implementation nào đểphát triển và triển khai Bản chuẩn tắc, chất lượng, miễn phí Bản nâng cao, có phí, đảm bảo scalability và fault-

tolerance

Có rất nhiều tài nguyên trong cộng đồng J2EE books, articles, tutorials, quality code, best practice

guidelines, design patterns etc.

Sử dụng các thành phần có sẵn (off-the-shelf) củabên thứ 3

Với Vendors

Vendors: cùng tạo ra các đặc tả(specifications), sau đó cạnh tranh trong càiđặt/thực thi Trong các lĩnh vực Scalability, Performance,

Reliability, Availability, và development tools, …

Tự do sáng tạo trong cài đặt, vẫn đảm bảotính portability của các ứng dụng

Không cần create/maintain các APIs choriêng mình

Với Business Customers

Đảm bảo tính portability cho ứng dụng Có nhiều thực thi để lựa chọn, tùy

requirements Price (freetrả phí), scalability (1 CPU mô

hình clustered), reliability, performance, tools, … Luôn có lựa chọn tối ưu

Rất nhiều công cụ phát triển

Page 6: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

6

4. J2EE APIs & Technologies

31

J2EE 1.4 APIs and Technologies

J2SE 1.4 (improved) JAX-RPC (new) Web Service for J2EE J2EE Management J2EE Deployment JMX 1.1 JMS 1.1 JTA 1.0

Servlet 2.4 JSP 2.0 EJB 2.1 JAXR Connector 1.5 JACC JAXP 1.2 JavaMail 1.3 JAF 1.0

Java EE 5

JAX-WS 2.0 & JSR 181 Java Persistence EJB 3.0 JAXB 2.0 JavaSever Faces 1.2 – new to Platform JSP 2.1 – Unification w/ JSF 1.2 StAX – Pull Parser – new to Platform

4.1. Servlet &JSP (JavaServer Pages)

Servlet là gì?

Servlets là các Java™ objects, mở rộng chứcnăng của 1 HTTP server Cho phép sinh động nội dung (Dynamic contents

generation)

Là lựa chọn ưu việt hơn CGI, NSAPI, ISAPI,... Độ hiệu quả Độc lập Platform và Server Hỗ trợ quản lý Session Nền tảng Java

Servlet vs. CGI

CGIBased

Webserver

CGIBased

Webserver

Request CGI1Child for CGI1

CGIBased

Webserver

Servlet Based Webserver

JVM

Request CGI1Child for CGI1

Request Servlet1

CGIBased

Webserver

Servlet Based Webserver

JVMServlet1

Request CGI1Child for CGI1

Request CGI2

Request Servlet1

CGIBased

WebserverChild for CGI2

Servlet Based Webserver

JVMServlet1

Request CGI1Child for CGI1

Request CGI2

Request Servlet1

Request Servlet2

CGIBased

WebserverChild for CGI2

Servlet Based Webserver

JVMServlet1

Servlet2

Request CGI1Child for CGI1

Request CGI2

Request CGI1

Request Servlet1

Request Servlet2

CGIBased

WebserverChild for CGI2

Child for CGI1

Servlet Based Webserver

JVMServlet1

Servlet2

Request CGI1Child for CGI1

Request CGI2

Request CGI1

Request Servlet1

Request Servlet2

Request Servlet1

CGIBased

WebserverChild for CGI2

Child for CGI1

Servlet Based Webserver

JVMServlet1

Servlet2

Request CGI1Child for CGI1

Page 7: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

7

Công nghệ JSP?

Cho phép tách biệt business logic khỏipresentation Presentation: dạng HTML hoặc XML/XSLT Business logic: được thực hiện với Java Beans

hoặc custom tags Bảo trì, tái sử dụng tốt hơn

Dễ mở rộng ứng dụng với custom tags Dựa trên công nghệ Servlet

4.2. EJB(Enterprise Java Beans)

EJB Technology?

Là công nghệ cho các components phíaserver

Cho phép phát triển và triển khai các ứngdụng doanh nghiệp với các tính năng caocấp: Transactional, distributed, multi-tier, portable,

scalable, secure, …

Tại sao sử dụng EJB Technology?

Tận dụng được các lợi ích của mô hình hướngthành phần trên server

Tách biệt business logic với system code Container cung cấp các system services

Đảm bảo tính portability cho các components Trên các servers khác nhau Trên môi trường tính toán khác nhau

Cho phép cấu hình tại thời điểm triển khai(deployment-time configuration) Deployment descriptor (XML file)

EJB Architecture Enterprise JavaBeans

Enterprise JavaBeans

Entity Bean Message-Driven Bean

Synchronous communication Asynchronous communication

Stateless Stateful

Bean managedPersistence

(BMP)

Container managedPersistence

(CMP)

Session Bean

Page 8: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

8

4.3. JMS(Java Message Service)

Java Message Service (JMS)

Messaging systems (MOM) cung cấp Giao tiếp linh động Giao tiếp không đồng bộ (Asynchronous communication) Có vai trò như 1 bưu điện tập trung

Lợi ích của các Messaging systems Flexible, Reliable, Scalable communication systems

Hỗ trợ mô hình: Point-to-Point, Publish & Subscribe JMS định nghĩa các chuẩn Java APIs cho các

messaging systems

4.4. Connector Architecture

Connector Architecture

Định nghĩa các API chuẩn tắc để tích hợp côngnghệ J2EE với các hệ thống EIS CICS, SAP, PeopleSoft, etc.

Nếu không có Connector architecture, mỗi Appserver phải cung cấp 1 adaptor riêng cho từng hệthống EIS m (# of App servers) x n (# of EIS's) Adaptors

Với Connector architecture, cùng 1 adaptor làm việcđược với tất cả App server tuân theo kiến trúc J2EEConnector 1 (common to all App servers) x n (# of EIS's) Adaptors

Bài toán m x n nếu không có ConnectorArchitecture

AppServer1

AppServer

AppServer3

AppServer2

SAP

EIS4

EIS3

m n

EIS2

4.5. JAAS (1 thành phần của J2SE 1.4)(Java Authentication &Authorization Service)

Page 9: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

9

JAAS: Authentication

Dễ dàng chuyển đổi các kỹ thuật xác thực sau: Userid/password Smartcard Kerberos Biometric (Sinh trắc học)

Cho phép ứng dụng là portable, không quan tâm sửdụng kỹ thuật xác thực nào JAAS cung cấp các API độc lập với kỹ thuật sử dụng

Cho các ứng dụng Java

Có file cấu hình (login configuration file) chứa thông tinvề kỹ thuật áp dụng cho 1 môi trường cụ thể

JAAS Pluggable Authentication

JAAS: Authorization

Không có JAAS, Java platform security dựatrên: Where the code originated Who signed the code

JAAS API hỗ trợ thêm: Who’s running the code

Hỗ trợ User-based authorization

4.6. Các J2EE APIs &Technologies khác

JNDI

Java Naming and Directory Interface Được sử dụng bởi các ứng dụng J2EE để

định vị tài nguyên & đối tượng (resources &objects) Ứng dụng: thông qua định danh để tham chiếu

tới đối tượng Định danh phải được cấu hình chỉ tới đối tượng

và hoặc tài nguyên nào bởi quản trị hệ thống khitriển khai ứng dụng

JDBC

Cung cấp Java API chuẩn tắc giao tiếp vớiCSDL quan hệ Sử dụng SQL

Các nhà cung cấp (Vendors) đưa ra các JDBCdriver tương ứng để Java API gọi đến

Page 10: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

10

4.7. J2EE là 1 kiến trúc End-to-End

J2EE Platform Architecture

B2BApplications

B2CApplications

WebServices

WirelessApplications

Application ServerEnterpriseInformation

Systems

ExistingApplications

Client

Client

Client

Client

Client

ClientTier

EnterpriseInformation

TierMiddle

Tier

EnterpriseInformation

Systems (EIS):RelationalDatabase,

LegacyApplications,ERP Systems

EnterpriseJavaBeans™

EnterpriseJavaBeans

Other Services:JNDI, JMS,JavaMail™

J2EEApplication

Server

WebServerJSP,

Servlets

Firewall

J2EE là giải pháp End-to-End

HTML/XML

N-tier J2EE Architecture

W e b T ie rE J B T ie r

4.8. J2EE Component &Container Architecture

JND

I

J2SE

JMS

RMI/I

IOP

JDB

C

Database

AppClient

App ClientContainer

HTTP/HTTPS

J2SE

RMI

J2SE

JND

I

JMS

RMI/I

IOP

JDB

C

JTA JavaMail

JAF JND

I

JMS

RMI/I

IOP

JDB

C

JTA JavaMail

JAF

HTTP/HTTPS

Applet Container

Applet JSP Servlet EJB

Web Container EJB Container

RMI

J2SE

J2EE Containers & Components

Page 11: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

11

ComponentsHandle

Containers và Components

Concurrency Security Availability Scalability Persistence Transaction Life-cycle

management Management

Presentation Business Logic

ContainersHandle

Containers & Components

Containers thực hiện các công việc 1 cáchthầm lặng (invisibly) Không có các APIs phức tạp

Đem đến tính simplicity và flexibility cho J2EE

Containers thực thi J2EE Gần giống với các components Các nhà sản xuất (Vendors) các containers tự do

sáng tạo

4.9. Vòng đời phát triển vàtriển khai các ứng dụng J2EE

Vòng đời phát triển ứng dụng J2EE

Viết và biên dịch các thành phần code Servlet, JSP, EJB

Viết deployment descriptors cho cáccomponents Từ Java EE 5, có thể thay bằng annotation

Tập hợp các components trong các ready-to-deployable package

Triển khai package trên server

Creation Assembly Deployment

Created byComponentDeveloper

Assembledand Augmentedby Application

Assembler

Processedby Deployer

Deploy

EnterpriseComponents

J2EE Container

J2EE APPJ2EE Modules

Minh họa cho vòng đờiCác Roles trong quá trình phát triển ứngdụng J2EE

Component provider Còn được gọi là Bean provider

Application assembler Deployer Platform provider

Còn được gọi là Container provider

Tools provider System administrator

Page 12: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

12

Deployment Descriptor

Chỉ dẫn cho container cách quản lý và điềukhiển hoạt động của các J2EE components Transaction Security Persistence

Cho phép declarative customization (ngượcvới programming customization) XML file

Đảm bảo tính portability cho mã nguồn

4.10. Các thành phần trongứng dụng J2EE Application

DB & EISResources

Browser

Stand-alone

Web Server EJB Server

Web Server EJB Server

Các thành phần có thể có trong ứng dụngJ2EE Các thành phần trong ứng dụng J2EE

Các ứng dụng J2EE 4 tầng: HTML client, JSP/Servlets, EJB, JDBC/Connector

Các ứng dụng J2EE 3 tầng: HTML client, JSP/Servlets, JDBC

Các ứng dụng J2EE 3 tầng: EJB standalone applications, EJB,

JDBC/Connector

Các ứng dụng B2B Enterprise Từ J2EE platform đến J2EE platform thông qua

trao đổi các JMS hoặc các thông điệp XML

Chọn loại nào?

Phụ thuộc vào 1 số yếu tố Requirements của ứng dụng Tầng EJB có sẵn có không Các tài nguyên cho developer có sẵn có không

5. J2EE 1.4Standard Implementation,Compatibility Suite, Brand

Page 13: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

13

5.1. Standard Implementation

Cài đặt cho J2EE 1.4: Sun Java ApplicationServer Platform Edition 8 Cài đặt theo đúng chuẩn đề ra Miễn phí phát triển và triển khai Được cập nhật liên tục

5.2. Compatibility Test Suite (CTS)

Nhiệm vụ lớn nhất của công nghệ Java™technology: Write Once, Run Anywhere™ Ứng dụng Java chạy trên bất kỳ máy ảo java nào Ứng dụng J2EE chạy được trên J2EE platform bất

kỳ Cần được test

J2EE Application Verification Kit (J2EEAVK)

Cách thức test tính portability của ứng dụngJ2EE? Sử dụng J2EE RI 1.3.1 và J2EE Application

Verification Kit (J2EE AVK)

Cách thức test: Static verification Dynamic verification

Lấy về các kết quả test, kiểm tra đã thỏamãn tất cả các yêu chí chưa.

5.3. Các sản phẩm cho J2EE Platform(Brand)

ATG Bea Systems Borland Computer

Associates Fujitsu Hitachi HP IBM IONA

iPlanet Macromedia NEC Oracle Pramati SilverStream Sybase Talarian Trifork

Các sản phẩm cho J2EE Platform

Tools IDE’s: Borland JBuilder Enterprise, WebGain

Visual Cafe’, IBM Visual Age for Java™, Forte™for Java™, Oracle JDeveloper, Macromedia Kawa

Modeling, Performance, Testing, etc.

Enterprise Integration: Connectors,Java Message Service (JMS) API, XML

Components Frameworks Applications

Đầu tư đảm bảo tính compatibility củaJ2EE

Sun đầu tư xây dựng các bộ compatibilitytest kit

Kiểm tra trình độ kỹ sư hàng năm để đảmbảo có sản phẩm chất lượng

Đầu tư vào Testing luôn cao hơn đầu tư vàođặc tả (specification), thực thi(implementation), thương mại (business)

> 10 million $ được đầu tư trong J2EEplatform compatibility

Page 14: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

14

6. J2EE Blueprint

6. J2EE Blueprint

Các hướng dẫn thực hành, mẫu thiết kế, cácnguyên lý thiết kế MVC pattern

Blueprint bao trùm tất cả các tầng Client tier Web tier Business logic (EJB) tier Database access tier

Có code mẫu/ví dụ đi kèm với J2EE 1.4 SDK Java Pet Store, Adventure builder

7. J2EE và Web Services?

Tại sao lựa chọn J2EE cho Web Services?

Web services đơn thuần là 1 trong nhiềukênh dịch vụ của J2EE (để khai thác tầngbusiness logic) Không cần thay đổi kiến trúc Dễ dàng chuyển đổi các J2EE components đã có

thành Web services

Rất nhiều ích lợi của J2EE được giữ lại trongWeb services Portability, Scalability, Reliability Không phụ thuộc vào vendor riêng lẻ nào

Mô hình Web services trên J2EE

DBMS

ExistingApps

ExistingApps

Services

Rich Clients

MIDPDevices

Browsers

HTML/XML

XMLP/SOAP

XHTML/WML

J2EE Server JSP™/ JavaServlet API / EJB™

JDBC

JMSConnectors

XMLP/SOAP

JSPJSP

EJBEJB

XMLP/SOAP

Hỗ trợ hiện tại của J2EE cho Web services

Java APIs cho Web Services đang phát triển rấtnhanh Web services dựa trên WUST (WSDL, UDDI, SOAP) được

hỗ trợ rất tốt Các tầng Web services tiếp theo đang được phát triển

Đã cung cấp các Tools để triển khai các J2EEcomponents thành Web services

J2EE đã định nghĩa framework đầy đủ cho WebServices (J2EE 1.4, Web services for J2EE)

Page 15: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

15

Các mục tiêu thiết kế của J2EE 1.4 WebServices Framework

Đảm bảo tính Portability cho các Webservices component Trên các vendor platform khác nhau Trên các operational environment khác nhau

Sử dụng các mô hình lập trình J2EE đã có đểthực thi/cài đặt các service

Dễ phát triển và triển khai (deploy) Java APIs mức cao Sử dụng mô hình triển khai đã có

J2EE 1.4 Web Services Framework

J2EE 1.4 (JSR 151) Web services for J2EE (JSR 109) JAX-RPC (JSR 101) JAXR (Java API for XML Registries) SAAJ (SOAP with Attachments API for Java) EJB 2.1

8. Các bước nghiên cứu J2EE?

Bước 1: Cho Beginners & IntermediateJ2EE Programmers

Tham gia khóa học đầy đủ Sử dụng J2EE IDE, tùy lựa chọn Thử các IDE mã nguồn mở

NetBeans IDE (netbeans.org) Hỗ trợ J2EE rất tốt Có rất nhiều tutorials

Eclipse

Bước 2: Cho Advanced J2EE Programmers

Tìm hiểu các giải pháp mã nguồn mở Spring framework (for light-weight framework) Hibernate (for O/R mapping) JDO (for transparent persistence) Struts, WebWork, Tapestry (for Web-tier

frameworks) JUnit (for unit testing) Log4j (for logging) ...

Tổng kết

Page 16: Bai05_Tong_quan_ve_JavaEE.pdf

8/28/2011

16

Tổng kết

J2EE là nền tảng để phát triển và triển khaicác ứng dụng doanh nghiệp hướng thànhphần, n-tier, web-based, transactional

J2EE là kiến trúc xây dựng theo chuẩn(standard-based architecture)

J2EE tất cả vì cộng đồng J2EE phát triển theo yêu cầu của thực tế

Resources

J2EE Home page java.sun.com/j2ee

J2EE 1.4 SDK java.sun.com/j2ee/1.4/download.html#appserv

J2EE 1.4 Tutorial java.sun.com/j2ee/1.4/download.html#appserv

J2EE Blueprints java.sun.com/blueprints/enterprise/index.html

NetBeans IDE Homesite http://www.netbeans.org