Thứ Bảy, 6 tháng 9, 2008

Craig McClanahan người phát minh Tomcat Struts và JavaServer Face (JSF)


Craig R. McClanahan là một lập trình viên và tác giả đầu tiên của bộ khung ứng dụng (framework) Jakarta Struts cho việc xây dựng các ứng dụng web dựa trên các chuẩn thiết kế MVC (Model-View-Controller, một phương pháp thiết kế chương trình trong đó tách biệt 3 thành phần Dữ liệu, Hiển thị và Điều khiển). Ông là một thành viên trong nhóm chuyên gia phát triển các đặc tả Servlet 2.2, 2.3 và JSP 1.1, 1.2.(Servlet là một đặc tả lập trình Web nền tảng nhất trong Java, JSP là một đặc tả được định nghĩa dựa trên Servlet).

Craig McClanahan là một kỹ sư kinh nghiệm tại Sun Microsystems. Ông hiện là kiến trúc sư nhóm phát triển Sun Java Studio Creator, một môi trường phát triển tích hợp (IDE) cho việc xây dựng các ứng dụng Web sử dụng JavaServer Faces (một đặc tả lập trình Java mới nhất và tiên tiến nhất hiện nay) và các công nghệ có liên quan thông qua các giao diện đồ họa. Ông là kiến trúc sư hệ thống Web cho nền tảng J2EE (là một tập hợp các đặc tả cho phép lập trình các ứng dụng Java cho các tổ chức và doanh nghiệp lớn), cũng như là đồng trưởng nhóm viết các đặc tả cho JavaServer Faces. Ông là một thành viên của tổ chức phần mềm Apache (Apache Software Foundation), cũng là thành viên của ban quản lý dự án của Jakarta (Jakarta Project Management Committees). Ông là kiến trúc sư đầu tiên của Catalina (môi trường thực thi Servlet, là một phần của máy chủ ứng dụng Tomcat 4.x và 5.x) và là cha đẻ của Struts và một vài gói thư viện Jakarta Commons (một tập hợp các thư viện dùng chung trong dự án mang tên Jakarta). Hiện ông sống ở Portland, Oregon mặc dù nhóm của ông làm việc hầu như tại Cupertino, CA. Ông thích hỗ trợ đội thể thao Oregon và viết các phần mềm hay.

Struts bắt nguồn từ một nhu cầu cá nhân để hỗ trợ sự phát triển của một ứng dụng mà ông đảm nhiệm, trước khi ông gia nhập Sun năm 2000. Nhiệm vụ của ông là chuyển một ứng dụng hiện đang sử dụng tại Mỹ sang hỗ trợ thêm một số ngôn ngữ Châu Âu, ban đầu là 4 ngôn ngữ, và người dùng có thể sử dụng nó thông qua môi trường web (trong số các cách khác). Lúc này, mọi người thảo luận nhiều về các kiến trúc thích hợp trong danh sách mail JSP-INTEREST (nơi mọi người thảo luận về công nghệ lập trình Web JSP) tại java.sun.com, nhưng có rất ít bộ khung ứng dụng có thể chạy được. Vì thế, ông bắt đầu tạo ra một ứng dụng cho riêng ông sử dụng.

Bộ khung ứng dụng phục vụ rất tốt nhu cầu của McClanahan. Khi ông nhận thấy rằng nhu cầu này không chỉ dành riêng cho ông, ông bắt đầu tiến trình mở mã các ý tưởng về một bộ khung ứng dụng web tại tổ chức phần mềm Apache. Việc xảy ra kế tiếp cũng không có gì lạ: Struts nhanh chóng trở thành kiến trúc ứng dụng web chuẩn trên thực tế trong thế giới J2EE.

Có rất nhiều ứng dụng Internet được xây dựng bằng Struts, nhưng số lượng này vẫn còn nhỏ hơn nhiều so với các ứng dụng mạng nội bộ sử dụng nó. Ngày nay Struts được tích hợp vào gần như tất cả các công cụ và các máy chủ ứng dụng, được hỗ trợ bởi một cộng đồng các nhóm chuyên gia và các nhà phát triển có kỹ năng và nó cũng được hậu thuẫn bởi các tài liệu quan trọng dưới dạng sách và các bài báo, và là nền tảng cho cộng đồng rất lớn người sử dụng trong danh sách mail cho những người dùng Struts. Sau khi Struts được tung ra, và bắt đầu chứng tỏ tính phổ biến của nó, các bộ khung ứng dụng và các thành phần phần mềm (component) khác cũng được tung ra. Trong khi có nhiều sự cải tiến, người ta cũng rất khó đoán trước sự phát triển của một giao diện lập trình ứng dụng chuẩn (API) thông dụng cho các thành phần giao diện người sử dụng - một API cho phép việc tạo ra thị trường thành phần phần mềm mà ở đó những nhà sản xuất phần mềm công cụ có thể hỗ trợ một giao diện lập trình ứng dụng thành phần thay vì 50, và cũng là nơi các nhà phát triển thành phần phần mềm có thể dựa vào khả năng vận hành chung giữa nhiều công cụ thay vì chỉ một hoặc hai. Vì vậy, JavaServer Faces (JSR-127) được giới thiệu - với mục tiêu giải quyết vấn đề này bằng cách cung cấp một giao diện lập trình ứng dụng mức độ căn bản thông dụng cho việc xây dựng các thành phần giao diện người sử dụng cho các ứng dụng web, với những mục tiêu cụ thể không những có thể tiếp cận với các nhà phát triển viết ứng dụng trực tiếp mà còn dễ tích hợp vào các công cụ.

Tháng 3 năm 2004 phiên bản JSF 1.0 được tung ra thị trường, tiếp đó bản chỉnh sửa cũng được tung ra vào tháng 5, và nó nhanh chóng được các nhà sản xuất công cụ và các nhà phát triển ứng dụng sử dụng.

Craig McClanahan có nhiều đóng góp lớn đến công nghệ Java, cụ thể đến Struts, Tomcat và công nghệ Web trong nền tảng J2EE. Các công trình của ông có nhiều ảnh hưởng đến cách phát triển các ứng dụng Web trên công nghệ Java ngày nay.

Craig nói về các công trình của mình

Tôi quan tâm đến Servlet và công nghệ JSP vào khoảng năm 1998. Việc này bắt đầu khi tôi cần một phương pháp để xây dựng một số ứng dụng web cho các dự án, và tôi thích Java hơn các lựa chọn khác. Tôi cũng thích tính tự do của phần mềm nguồn mở, và bắt đầu sử dụng máy chủ ứng dụng Apache JServ – sau đó, tôi tham gia vào dự án này (giống như nhiều người, tôi hay phàn nàn về việc phải mất 12 tháng để có được từ phiên bản 0.9 đến phiên bản 1.0, và con trai tôi đã nói “Ba biết Java, ba hãy giúp họ hoàn thành nó". Và tôi đã làm.)

Tôi tham gia vào danh sách mail JSP-INTEREST và SERVLET-INTEREST (nơi mọi người thảo luận về công nghệ lập trình web JSP và Servlet), đặc biệt các kiến trúc đẹp cho các ứng dụng web. Tôi rất ghét một mớ lộn xộn mà người mới bắt đầu tạo ra khi họ sử dụng (hoặc lạm dụng) các đoạn mã nhỏ (scriptlet) trong trang JSP, vì vậy tôi đã xây dựng một bộ khung ứng dụng khá toàn diện (Struts 0.01 không có các đoạn mã tag tùy biến - custom tag). Nó là một mã độc quyền, nhưng tôi có thể miêu tả các khái niệm về bộ khung ứng dụng này cho các nhà phát triển khác, và bắt đầu cảm thấy “mô hình 2” này khá tốt - nhưng không có một chương trình mẫu nào hay vào thời điểm đó.

Cùng lúc này, tôi tham gia vào Java Community Process (một tổ chức chuyên phát triển các đặc tả trên nền tảng Java) như là một người cộng tác độc lập, và gia nhập nhóm chuyên gia trong việc phát triển Servlet 2.2 và JSP 1.1. Sun rất ấn tượng và mời tôi làm trưởng nhóm kỹ thuật phát triển Tomcat, cụ thể là kiến trúc cho Catalina, là một phần môi trường thực thi Servlet của Tomcat 4.0 cũng do tôi phát triển. Vì vậy tôi ở trong một vị trí rất tốt là được trả lương để phát triển phần mềm nguồn mở. Và tôi tham gia vào nhóm chuyên gia phát triển Servlet 2.3 và JSP 1.2. Và phát biểu tại nhiều hội thảo, bao gồm hội thảo ApacheCon và hội thảo JavaOne và nói chuyện với các nhóm của Sun về việc sử dụng Struts và công nghệ JSP/Servlet.

Tôi đã có những ý tưởng về bản thiết kế đầu tiên của Struts trong một thời gian dài từ những buổi thảo luận trong danh sách mail, nhưng phiên bản đầu tiên được tôi viết trên laptop tại một chuyến đi nghỉ cuối tuần đến bờ biển Oregon vào ngày Lễ Kỷ Niệm (cuối tháng 5 năm 2000) trong lúc tôi đang xem sóng vỗ và ngôi nhà bị rung chuyển bởi trận bão. Từ đó, nó đã tập trung sự chú ý và được nhiều người thích khi được chính thức tung ra lần đầu tiên, và điều này làm tôi phấn khởi khi thấy “đứa con” của mình phát triển rất tốt. Tất nhiên không chỉ một mình tôi – những người khác có rất nhiều ý tưởng hay không thể tin được, và một cái nhìn lướt qua tại danh sách những việc cần làm cho phiên bản 1.1 cũng cho thấy rằng thậm chí trong tương lai sẽ còn nhiều thứ khác hay hơn.

Một yếu tố động lực là bài báo của Jason Hunter về “Những vấn đề với JSP”. Jason và tôi rất hợp nhau, mặc dù chúng tôi có những sở thích khác nhau về các công nghệ thuộc tầng trình diễn. Bên cạnh việc là tác giả của một cuốn sách rất nổi tiếng về Servlets sắp tái bản lần thứ hai, Jason là đại diện của tổ chức phần mềm Apache, Ủy ban điều hành của Java Community Process.

Hải Hà Nguồn:tincntt

2 nhận xét:

Unknown nói...

Cám ơn bạn về thông tin trên. Mời bạn ghé qua website ủng hộ mình nhé Gia sư lớp 2 tại Hà Nội

THIEN TU nói...

Data Entry Services
Hire a Data Entry Services Vendor You Can Trust
PEOPLE
Your project manager is your main point of contact and will communicate between you and your team. Their job is to fully understand your project and ensure that your project runs smoothly.
PROCESS
By combining deep industry knowledge with experience we develop a solution that is built to achieve continuous improvement.
TECHNOLOGY
Our developers and engineers create custom solutions to help automate your process and streamline it for productivity, scalability, and cost-efficiency.
Documents that require data entry services can be received both physically through mail or electronically on a cloud-based platform. THIENTU creates fully managed data entry services teams to perform 100% verification of data and will deliver the output in the file format that best fits your needs. Digital scans of physical documents can be created to create a digital archive.


Thientu is The Best Data Entry Service in Vietnam. Contact us