Skip to content
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size blue color orange color green color

Công ty Cổ phần Phần mềm Y tế Việt Nam

Thông tin y tế

Website cung cấp mọi thông tin liên quan đến bệnh tật, thuốc, bảo vệ sức khoẻ, dịch vụ y tế cho cộng đồng

Đọc tin

Sản phẩm phần mềm

Tìm hiểu thông tin về công nghệ, các sản phẩm phần mềm và giải pháp quản lý tổng thể bệnh viện, phòng khám do Công ty cổ phần phần mềm y tế Việt Nam cung cấp.

Đọc tin

Công nghệ thông tin

Nơi đăng tải tự do các bài viết liên quan tới công nghệ thông tin, sử dụng, cài đặt, phát triển phần mềm trên nền Windows, Linux, Unix, J2ME, PalmOS, SymbianOS, PocketPC, Web-based .v.v.

Đọc tin
Java In E-mail

ImageNền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong nghành phần mềm. Mô hình máy ảo Virtual Machine đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau.

Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trong nội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên trong máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác. Không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo Java, bộ thông dịch có vai trò trung tâm.

Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bản Java Development Kit 1.0 vào năm 1996miễn phí để các nhà phát triển có thể tải về, học Java, xây dựng các ứng dụng Java và triển khai chúng trên các hệ điều hành có hỗ trợ Java. Ban đầu, Java chủ yếu dùng để phát triển các applet, các ứng dụng nhúng vào trình duyệt, góp phần làm sinh động các trang web tĩnh vốn hết sức tẻ nhạt hồi dó. Tuy nhiên, cùng với sự phát triển của công nghệ thông tin và nhu cầu của xã hội, Java applet đã dần mất đi vị trí của nó và thay vào đó, các công ty, cộng đồng ủng hộ Java đã phát triển nó theo một hướng khác. Hiện nay, công nghệ Java được chia làm ba bộ phận: hoàn toàn

J2SEGồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng dụng trên desktop và định nghĩa các phần thuộc nhân của Java.J2EEGồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng dụng qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server). Bộ phận hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web.J2MEGồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng Java chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo và những ứng dụng điện tử khác

Java đã trải qua 3 bước phát triển quan trọng: Java 1.0 gắn liền với bản JDK đầu tiên, Java 2 gắn với JDK 1.2 và Java 5 gắn với J2SDK 1.5

Ngày nay, khi nhắc đến Java người ta không còn chỉ nhắc đến Java như là một ngôn ngữ mà nhắc đến Java như là một công nghệ hay một nền tảng phát triển. Nó bao gồm các bộ phận:

  • Máy ảo Java: JVM
  • Bộ công cụ phát triển: J2SDK
  • Các đặc tả chi tiết kĩ thuật (specifications)
  • Ngôn ngữ lập trình (programming language)

Lịch sử:
Năm 1995, thế giới thờ ơ với "đứa bé Java" có biểu tượng tách càphê toả khói. Nhưng chẳng bao lâu, biểu tượng này đã tràn ngập không chỉ trên thế giới world wide web (mạng diện rộng) mà trong vô số những thiết bị điện toán với vai trò là những ứng dụng nhúng. Còn tại VN, Java hấp dẫn một cộng đồng gần 13 nghìn thành viên.

Những nghiên cứu đầu tiên cho sự ra đời của Java được khởi động từ cuối năm 1990 với dự án nội bộ của Sun Microsystems (SUN). Ban đầu, dự án hướng tới các ứng dụng nhúng trong những hệ thống gia dụng như điện thoại, truyền hình hay trong các sản phẩm công nghiệp. Tiếp đó dự án chuyển hướng sang truyền hình tương tác phục vụ mạng dịch vụ của Time Warner. Không hài lòng với ngôn ngữ C++, nhóm nghiên cứu của SUN đã sáng lập ngôn ngữ mới được đặt tên là Oak (cây sồi). Năm 1994, bước ngoặt quan trọng của ngôn ngữ này với việc đổi tên Oak thành Java và hướng Java vào môi trường Internet, đầu tiên trong trình duyệt nhỏ là WebRunner (sau đổi thành HotJava). Năm 1995, SUN chính thức công bố sự ra đời của Java và trình duyệt HotJava.

Người đã xây dựng bản thiết kế đầu tiên của Java là James Gosling. Cái tên Java được James Gosling và các cộng sự đặt tại một tiệm càphê ở địa phương nơi họ hay lui tới và vì thế biểu tượng của Java là một tách cà phê tỏa khói. Tuy nhiên cho đến nay, người ta vẫn chưa rõ về cái tên Java. Theo một số tài liệu, Java là chữ viết tắt tên của James Gosling và hai cộng sự khác là Arthur Van Hoff và Andy Bechtolsheim. Nhưng có những ý kiến cho rằng Java được tạo bởi chữ đầu của những từ Just Another Vague Acronym (nghĩa là "lại thêm một từ viết tắt mơ hồ nữa"). Nhưng dù là gì thì Java đã khẳng định sức mạnh trong thế giới world wide web, có khả năng hoạt động trên những nền tảng công nghệ khác nhau (Windows, Unix, Mac...) và xuất hiện ngày càng nhiều trong các thiết bị điện toán với vai trò là những ứng dụng nhúng. "Cái mà tôi quan tâm nhất là các thiết bị nhúng. Mọi người đang nhúng Java vào các thiết bị rất thú vị, chẳng hạn như các thiết bị điện tử áp dụng vào hàng không, hệ thống kiểm soát tự động hay hệ thống kiểm soát nhiệt độ..." - James Gosling phát biểu nhân kỷ niệm 10 năm Java.

Tại VN, ngày 30.8, Ngày hội Công nghệ Java tại Hà Nội đã được tổ chức khi SUN đã có những chương trình trọng điểm với Chính phủ VN về thiết lập chương trình đào tạo sau đại học về Java; xây dựng trung tâm mã nguồn mở ... Những người yêu Java tập hợp thành Cộng đồng Java VN (Javavietnam.org), tổ chức đã thuyết phục thành công SUN hỗ trợ tiếng Việt trong Java. Phong trào nghiên cứu, ứng dụng và đào tạo Java được đẩy mạnh. Sau 2 chương trình đào tạo miễn phí tại TPHCM và Hà Nội, ngày 24.9 tới đây, Javavietnam.org sẽ tổ chức khoá đào tạo miễn phí thứ ba cho sinh viên CNTT tại Huế với sự hỗ trợ của Trung tâm CNTT Thừa Thiên - Huế. 

Java và Web application framework

Công nghệ Internet đã và đang làm thay đổi hoàn toàn xu thế kinh doanh truyền thống, nó tạo ra một ?thị trường ảo không biên giới? trên Internet cho phép mọi khách hàng có thể duyệt và mua hàng ngày trên bàn làm việc của họ, đặc biệt mọi giao dịch này đều xảy ra trong thời gian thực. Các ứng dụng phục vụ cho mục đích này được gọi là ứng dụng thương mại điện tử (e-commerce application), đa số các trường hợp người dùng đều sử dụng ứng dụng này trên nền Web.

Mặc dù có nhiều cách cũng như các ngôn ngữ lập trình khác nhau để xây dựng một ứng dụng Web, mỗi công ty đều có một hướng phát triển riêng, tuy nhiên họ cũng đang cố gắng tìm ra những phương án và mô hình có thể sử dụng lại cho các dự án tiếp theo: được coi như là một khung ứng dụng cho các ứng dụng trên Web (web application framework).

Trong bài báo này chúng tôi muốn trình bày một phương án xây dựng một khung ứng dụng web hiệu quả mà các công ty trên thế giới như IBM, Oracle, Sun ?áp dụng rất hiệu quả trong các dự án của họ. Điểm đặc biệt hơn nữa là khung ứng dụng này sử dụng các công nghệ mới nhất luôn mang tính cạnh tranh như EJB2.0 (J2EE), XML?.

Luồng dữ liệu trên web và cấu trúc đa tầng với J2EE

Chắc chắn rằng mỗi dự án đều có một phương thức xử lý (bussiness layer) riêng biệt. Tuy nhiên để xây dựng được một framework chung cho nhiều dự án có yêu cầu khác nhau, chúng ta phải có gắng tìm ra được những điểm chung nhất của các chúng. ở đây tôi đưa ra một mô hình luồng dữ liệu trong cấu trúc đa tầng mà các dự án trên web thường sử dụng như ở hình 1.



Với mô hình phân tầng này, một yêu cầu (request) từ phía client được phục vụ tại tầng xử lý J2EE chứ không phải tầng Web. Tuy nhiên để đảm bảo cho mô hình hoạt động hiệu quả hơn và cung cấp cho tầng J2EE một khả nǎng chuẩn hoá, thì đối tượng request được qua một vài thao tác tại tầng Web gọi là quá trình tiền xử lý. Các thao tác cơ bản như: trích lọc thông tin từ request, kiểm tra thông tin và xây dựng lại thông tin từ đối tượng request thành một đối tượng chuẩn Java (như Javabeans hoặc một vǎn bản XML).

Ngoài ra, bộ ánh xạ trong các module điều khiển của mô hình cho phép tạo ra một ứng dụng có khả nǎng cấu hình và mở rộng được (configurabitlity và extensibility). Với từng request đến, bộ điều khiển sẽ tìm kiếm ?đối tượng quản trị? (request handler) tương ứng để thực thi cho request này, như vậy khi cần thêm chức nǎng cho hệ thống thực chất là cấu hình thêm cho bộ ánh xạ này. Bộ ánh xạ có vai trò nhưng một bảng dữ liệu đơn giản nên file XML là sự lựa chọn thích hợp nhất.

Java hay Microsoft.NET

Tại sao lại là Java?

Chúng ta sẽ phải làm gì trong cuộc chiến giữa Sun và Microsoft, cụ thể hơn giữa Java và .NET? Bạn sẽ lựa chọn cái gì để triển khai dự án của mình trong một loạt các hệ điều hành và các môi trường khác nhau như Windows, Linux, AS/400, Oracle? Hiện tại, IBM và Oracle đang đứng về phía Sun, nếu bạn muốn sản phẩm của bạn hỗ trợ tất cả các platform hiện nay kể cả Windows thì Java có thể là một sự lựa chọn rất hợp lý.

Với Microsoft.NET, sản phẩm của bạn sẽ chỉ chạy được trên nền Windows, bù lại thời gian phát triển dự án bằng .NET có thể sẽ nhanh hơn. Tuy nhiên trong những ứng dụng lớn thì về mặt tốc độ cũng như mức độ ổn định cũng không hẳn là đã vượt trội so với Java.

Các ngôn ngữ khác

Các phương án truyền thống còn lại như CGI (C, Perl), PHP hay ASP3.0? cũng có thể là sự lựa chọn cho các dự án nhỏ, tuy nhiên chúng khó có cơ hội cạnh tranh được với Java và .NET trong tương lai.

Các phương án thiết kế

Mẫu thiết kế (Design pattern)

Bạn định bắt đầu từ những bản đặc tả (specification) của các công nghệ ư? Muộn rồi, chúng ta không nên cố xây dựng lại cái bánh xe trong khi một loạt các công ty và nhóm phần mềm đã tiêu tốn nhiều thời gian công sức để tìm ra những phương án tối ưu cho từng vấn đề họ đã gặp phải trong quá trình phát triển các dự án. Bắt đầu từ đầu những nǎm 90 thuật ngữ design patterns chính thức ra đời nhằm chỉ các giải pháp giải quyết các vấn đề thường gặp trong quá trình xây dựng phần mềm. Design pattern không phải là những khái niệm lý thuyết mà được đúc rút ra từ những kinh nghiệm thực tế của các chuyên gia phần mềm trên thế giới.

Các mẫu thiết kế cho J2EE mà một phần được trình bày trong quyển ?J2EE Design Pattern? được kiểm nghiệm thực tế rất thành công trong việc giải quyết các vấn đề nảy sinh trong quá trình phát triển ứng dụng J2EE. Ví dụ với tầng Web của ứng dụng J2EE kinh điển, nếu chúng ta bắt tay từ đặc tả kỹ thuật (specification) của JSP và Servlet chúng cho phép xây dựng được những trang web động riêng biệt rất tốt nhưng lại hỗ trợ rất ít trong việc quản lý luồng dữ liệu giữa các trang với nhau, đặc biệt chúng không tách rời 2 tầng hiển thị (presentation) và tầng xử lý (bussiness).

Mô hình MVC (Model- View-Control)

MVC là một mô hình thiết kế mang tính tổng thể để giải quyết vấn đề trên, nó được tạo ra bởi Krasner và Pope nǎm 1988 cho Smalltalk, hiện tại được IBM và Apache ứng dụng trong các dự án của họ rất thành công. Đây là một giải pháp cho phép xây dựng nên các ứng dụng phân tầng một cách rất hiệu quả bằng cách tạo ra những phương thức quản lý từng tầng một cách riêng rẽ như mô hình ở hình 2. Trong J2EE, thì MVC cũng được xây dựng dựa trên những tính nǎng mạnh của công nghệ JSP và Servlet

Khung ứng dụng (application framework)

Không phủ nhận được điểm mạnh của các mẫu thiết kế, vấn đề là ở chỗ chúng chỉ giải quyết những vấn đề riêng rẽ, làm sao để sử dụng và kết hợp chúng lại trong các dự án J2EE. Câu hỏi này đã nảy sinh và hiện nay một thuật ngữ mới chỉ một mẫu thiết kế tổng quát hơn cho từng ứng dụng lĩnh vực cụ thể, đó là framework. Các dự án thực tế để tạo ra các framework này cũng đang được hoàn thiện. Như vậy quá trình phát triển về mặt thiết kế dự án sử dụng công nghệ J2EE có thể được mô tả như ở hình 3:

Chọn lựa một framework tốt giúp bạn giảm thiểu được thời gian và nâng cao chất lượng của sản phẩm. Nó giúp người lập trình chỉ cần chú tâm vào việc xây dựng mức trên thuộc tầng xử lý của ứng dụng thay vì phải làm việc ở mức thấp với từng dòng lệnh một cách nhàm chán với những sai sót cá nhân của người lập trình.

 Nguyễn Tuấn Khanh

 
< Trước   Tiếp >

Thông tin hoạt động VIMES

Công nghệ VIMES sử dụng

Được coi là một trong những cơ sở dữ liệu mạnh mẽ nhất thế giới và thực tế Oracle đã chứng minh được...

Hệ điều hành kiểu Unix được phát triển từ Unix theo nhánh phát triển của BSD dựa trên 386BSD và 4.4BSD....
Hệ quản trị cơ sở dữ liệu, một database server có tốc độ nhanh hiện nay, thường được sử dụng trong các trang web cần...
NetBSD có khả năng thực thi trên nhiều nền tảng phần cứng nhất hiện nay. Có thể nói NetBSD là hệ điều...
Hệ điều hành họ UNIX chạy trên máy PC với CPU Intel 80386 hoặc các thế hệ sau đó, hay của AMD, Cyrix. Linux...
Hệ điều hành Windows Mobile 6

Windows Mobile 6 với tên mã Crossrow là hệ điều hành được đánh...
Hệ điều hành Solaris là sự lựa chọn tốt cho các ứng dụng doanh nghiệp. Trong các dòng sản phẩm Unix thương...

Trong cuộc chiến giành chủ quyền hệ điều hành cho các thiết bị số cầm tay như sổ tay điện tử (PDA), máy...

Hình ảnh con voi là biểu tượng của hệ quản trị cơ sở dữ liệu liên hệ và đối tượng lâu đời nhất...

Nền tảng phát triển các ứng dụng