Máy chủ ứng dụng – Applications Server
Nội dung
Máy chủ ứng dụng (Applications Server) là gì?
Máy chủ ứng dụng – Applications Server còn được gọi là AppServer – là một chương trình mà điều khiển tất cả các hoạt động ứng dụng giữa những người sử dụng và các ứng dụng tầng cuối của một tổ chức doanh nghiệp hoặc là các cơ sở dữ liệu. Các dịch vụ ứng dụng điển hình được sử dụng điển hình cho các ứng dụng liên hợp giao dịch cơ bản. Để hỗ trợ yêu cầu cao, một dịch vụ ứng dụng phải có sự dư thừa bên trong, điều khiển cho khả năng xuất hiện cao, trình diễn mức độ cao, phân bố các dịch vụ ứng dụng và hỗ trợ liên kết truy cập cơ sở dữ liệu.
Máy chủ cho chương trình ứng dụng
Phần mềm máy chủ ứng dụng (tiếng Anh: Application Server) là một phần mềm (software engine) trong cung cấp ứng dụng phần mềm cho các máy trạm hoặc thiết bị, thông thường là qua mạng Internet sử dụng giao thức HTML. Máy chủ ứng dụng khác biệt với máy chủ Web thông qua việc sử dụng rất nhiều nội dung động do máy chủ tạo ra và tích hợp chặt chẽ tới máy chủ Cơ sở dữ liệu.
Phần mềm máy chủ ứng dụng đảm nhiệm phần lớn, nếu không nói là tất cả, các xử lý logic và truy cập CSDL của ứng dụng (hay còn gọi là tập trung hóa). Lợi ích chính của phần mềm máy chủ ứng dụng là sự dễ dàng trong phát triển ứng dụng do ứng dụng không cần được lập trình mà thay vào đó, chúng được nối rạp lại từ các cấu phần do máy chủ ứng dụng cung cấp. Ví dụ, Wiki là một phần mềm máy chủ ứng dụng cho phép người dùng tạo ra các nội dung động từ việc nối ráp các bài báo. Hơn nữa, Wikipedia là một bộ Wiki đã được ráp nối cung cấp một thư viện bách khóa được lưu trữ trên một hệ thống file và những thay đổi đối với bách khóa toàn thư được lưu trữ trong CSDL.
Phần mềm máy chủ ứng dụng chạy trên nhiều nền khác nhau và thuật ngữ này được áp dụng không chính thức cho hai loại ứng dụng phần mềm khác nhau. Thuật ngữ này được dùng để chỉ các phần mềm máy chủ của các ứng dụng trên nền Web, ví dụ như các nền tích hợp sử dụng trong thương mại điện tử, hệ thống quản lý nội dung, các bộ tạo website. Đồng thời, thuật ngữ này cũng được áp dụng như là đồng nghĩa với nền tảng ứng dụng Web (web application framework).
Các đặc điểm chung
Các sản phẩm phần mềm máy chủ ứng dụng thường sử dụng các phần mềm trung gian (middleware) để hỗ trợ ứng dụng giao tiếp lẫn nhau giữa các ứng dụng phụ thuộc như máy chủ Web, hệ thống CSDL và các phần mềm vẽ biểu đồ. Một số phần mềm máy chủ ứng dụng cung cấp API (giao diện lập trình ứng dụng) cho phép chúng độc lập với hệ điều hành. Cổng điện tử (portal) là một cơ chế phần mềm máy chủ ứng dụng phổ biến cung cấp một điểm truy cập tới nhiều ứng dụng khác nhau.
Lịch sử
Các ứng dụng, trong lịch sử, được lưu trữ trên các máy tính lớn (mainframe) và được chuyển tới các trạm truy cập (terminal). Chỉ có các tổ chức lớn, như chính phủ, ngân hàng và các tập đoàn lớn mới có thể có các trrang thiết bị và nhân lựu để hỗ trợ máy chủ lớn. Thập kỷ 60 chứng kiến sự xuất hiện của các máy tính mini. Máy tính mini nhỏ, yếu và rẻ hơn nhiều so với máy chủ lớn. Tuy vậy, các trạm truy cập vẫn được sử dụng để giao tiếp với ứng dụng.
Tiếp theo sự xuất hiện của máy tính cá nhân vào thập kỷ 80, và cụ thể hơn là giao diện đồ họa vào thập kỷ 90, mô hình tính toán máy chủ – máy trạm được phát triển. Trong kiến trúc máy chủ – máy trạm, ứng dụng được lưu trữ trên máy chủ và máy trạm đóng vai trò giao diện người dùng. Trong kiến trúc này, giao diện người dùng là một phần mềm máy tính chạy độc lập với máy chủ CSDL. Mặc dù điều này giải phóng máy chủ CSDL khỏi việc phải đồng thời xử lý dữ liệu vào giao diện người dùng, người quản trị lại phải cập nhật phần mềm máy trạm trên mỗi máy cá nhân khi cần thực hiện bất kỳ thay đổi nào.
Tiếp theo sự xuất hiện của Internet vào giữa thập kỷ 90, mô hình phần mềm máy chủ ứng dụng được phát triển. Máy chủ ứng dụng là sự qua trở lại của thời đại tính toán trên máy chủ lớn theo nghĩa cả phần mềm và giao diện được lưu trữ trên máy chủ. Sự khác nhau là máy trạm là một máy cá nhân sử dụng trình duyệt web. Máy chủ gửi các chỉ thị liên quan tới giao diện kèm với dữ liệu tới máy trạm. Phần mềm máy chủ ứng dụng lưu trữ các chỉ thị về giao diện người dùng trong các module giao diện và được gắn cho các dạng thức dữ liệu khác nhau. Khi một cấu phần của CSDL có một dạng thức dữ liệu cụ thể được yêu cầu, phần mềm máy chủ ứng dụng gửi các chỉ thị của module cùng với dữ liệu được yêu cầu tới máy trạm.
Phần mềm máy chủ ứng dụng Java
Tiếp theo thành công của nền Java, thuật ngữ phần mềm máy chủ ứng dụng đôi khi được dùng để chỉ Java Platform – Enterprise Edition (J2EE) hay Java EE 5 application server. Một số Phần mềm máy chủ ứng dụng Java phiên bản Enterprise nổi tiếng là WebLogic Server (BEA), JBoss (Red Hat), WebSphere Application Server và WebSphere Application Server Community Edition (IBM), JRun (Adobe), Apache Geronimo (Apache Software Foundation), Oracle OC4J (Oracle Corporation), Sun Java System Application Server (Sun Microsystems), SAP Web Application Server và Glassfish Application Server (dựa trên Java System Application Server của SUN).
JOnAS application server là phần mềm máy chủ ứng dụng mã nguồn mở đầu tiên đạt được chúng chỉ chính thức về tuân thủ các chuẩn Java Enterprise. BEA cung cấp phần mềm máy chủ ứng dụng được Java EE xác nhận đầu tiên và tiếp theo là triển kai tham chiếu GlassFish của Sun Microsystems.
Module Web modules là servlets và JavaServer Pages, và logic kinh doanh được xây dựng trong Enterprise JavaBeans (EJB-3 và các phiên bản tiếp theo). Dự án Hibernate cho phép triển khai EJB-3 cho JBoss Application server. Tomcat của Apache và JOnAS của ObjectWeb là các nền mà các module này có thể được chạy.
Java Server Page (JSP) là một servlet từ Java chạy các Web container – thuật ngữ của java tương đương với CGI scripts. JSP là một cách để tạo trang HTML thông qua việc chèn các tham chiếu tới logic của máy chủ trong cùng trang web. Các nhà lập trình HTML và Java có thể làm việc đồng thời và tham chiếu mã lệnh của nhau từ mã lệnh của mình. JavaBeans là các cấu phần lớp độc lập của kiến trúc Java do Sun Microsystems xây dựng.
Các phần mềm máy chủ ứng dụng nêu trên chủ yếu phục vụ các ứng dụng Web. Một số phần mềm máy chủ ứng dụng khác phục vụ các mạng khác. Ví dụ Máy chủ SIP (Session Initiated Protocol) phục vụ các mạng thoại (telephone)
Nền Microsoft
Đóng góp của Microsoft cho phần mềm máy chủ ứng dụng là .NET Framework. Công nghệ này bao gồm Windows Communication Foundation, .NET Remoting, Microsoft Message Queuing, ASP.NET, ADO.NET, và Internet Information Services và Apache Server cũng là một phần mềm kèm theo của ứng dụng máy chủ Internet Information Services.
Các nền khác
Cũng có các nhà cung cấp khác cung cấp máy chủ ứng dụng mã nguồn mở. Ví dụ bao gồm Appaserver, Base4 và Zope.
Các giải pháp không dựa trên nền Java thường không có các tiêu chuẩn về tương thích. Vì vậy, tương thích giữa các sản phẩm không dựa trên Java kém hơn so với các sản phẩm dựa trên Java EE. Để giải quyết nhược điểm này các tiêu chuẩn về tích hợp ứng dụng doanh nghiệp và kiến trúc hướng dịch vụ (SOA) được xây dựng để kết nối các sản phẩm khác nhau. Các tiêu chuẩn này bao gồm Giao diện lập trình ứng dụng doanh nghiệp (BAPI), Tương thích dịch vụ Web (Web Service Interoperability) và Kiến trúc kết nối Java EE (Java EE Connector Architecture).
Ưu điểm của phần mềm máy chủ ứng dụng
- Toàn vẹn dữ liệu và mã nguồn
Thông qua tập trung các xử lý logic vào một hoặc một số nhỏ máy chủ phần cứng, cập nhật và nâng cấp đối với ứng dụng cho tất cả mọi người dùng có thể được đảm bảo. Không hề có rủi ro về các phiên bản cũ của ứng dụng truy cập và thay đổi thông tin thông tin theo cách cũ và không tương thích.
- Tập trung cấu hình
Thay đổi đối với cấu hình ứng dụng, ví dụ thay đổi máy chủ CSDL hay cấu hình hệ thống, có thể được thực hiện tập trung
- An ninh
Một điểm quản lý tập trung đối với truy cập tới dự liệu và ứng dụng được coi là lợi ích về an ninh, chuyển trách nhiệm về xác thực khỏi lớp máy trạm có nhiều rủi ro mà không lộ lớp CSDL.
- Hiệu suất
Thông qua giới hạn lưu lượng mạng chỉ để thực hiện các lưu lương hiển thị, người ta cho răng mô hình máy chủ – máy trạm cải thiện hiệu suất trong các ứng dụng lớn trong môi trường sử dụng nhiều.
Tổng chi phí sở hữu (TCO)
Tóm lại, các lợi ích nêu trên được cho là thể hiện tiết kiệm về chi phí cho công ty khi phát triển các ứng dụng doanh nghiệp. Tuy nhiên, trên thực tế, thách thức về kỹ thuật liên quan tới phát triển phần mềm tuân thủ theo các chuẩn đồng thời đảm bảo yêu cầu về phân phối phần mềm giảm phần nào những lợi ích này.
Application Server
Định nghĩa: Server ứng dụng (Application Server) là phần mềm cung cấp các dịch vụ để hỗ trợ cho các ứng dụng Web làm chức năng kết nối người dùng cuối với cơ sở dữ liệu cộng tác. Nó hoạt động như một môi giới trung gian giữa trình duyệt Web và server cơ sở dữ liệu, nhờ vậy không cần phải cài đặt ứng dụng Windows đòi hỏi cao về sự bảo trì cho người dùng cuối.
Bạn muốn dùng Web để người dùng trong nội bộ công ty cũng như khách hàng của mình xem thông tin cộng tác nhưng bạn cũng muốn rằng việc cài đặt cho người dùng đơn giản và không phải bất kỳ ai cũng có thể thâm nhập vào cơ sở dữ liệu này.
Đó chính là đất dụng võ của server ứng dụng. Những gói phần mềm này, thường được viết bằng ngôn ngữ lập trình Java và chạy trên những hệ thống Windows NT, hoạt động như những kết nối trung gian giữa người dùng cuối sử dụng trình duyệt và cơ sở dữ liệu chứa thông tin mà họ cần truy cập.
>>> Xem thêm tin liên quan: Máy chủ Game – Server Game
Server ứng dụng quản lý quá trình kết nối người dùng với dữ liệu – thiết lập phiên ứng dụng cho từng người dùng, kiểm tra thông tin về định danh, lấy thông tin được yêu cầu từ cơ sở dữ liệu thích hợp, xây dựng dữ liệu thành trang Web và cung cấp trực tiếp cho người dùng. Nó mang lại tất cả những gì bạn cần phải có giữa các trang Web trong trình duyệt của người dùng cuối và cơ sở dữ liệu. Điều này có nghĩa rằng chỉ cần rất ít hay không cần cài thêm mã chương trình ứng dụng tại từng PC của người dùng cuối, tạo điều kiện cho việc phát triển các ứng dụng thin-client – phần mềm trên server, chạy trong trình duyệt và đòi hỏi sự hỗ trợ của máy tính để bàn ở mức tối thiểu.
Mục tiêu sử dụng server ứng dụng hết sức đơn giản: thin client khắp mọi nơi, hiện nay người ta thường thuê máy chủ ứng dụng để giảm bớt chi phí đầu vào, đặc biệt là với các doanh nghiệp vừa và nhỏ. Tất cả mã chương trình cần thiết để chạy ứng dụng đã được xây dựng căn bản trong phần mềm server. Phần mềm server ứng dụng đang được bán ra từ khoảng hơn 40 nhà sản xuất, cũng còn có các dịch vụ quản lý ứng dụng như kiểm soát tốc độ của hệ thống để phát hiện những khả năng tắt nghẽn. Chúng cũng có thể được kết nối lại với nhau để tạo nên các ứng dụng quy mô lớn đòi hỏi nhiều server để đáp ứng được nhu cầu của người dùng về dữ liệu.