Tổng quan về kiến trúc web

Một phần của tài liệu Xây dựng hệ thống cổng thông tin cho học viện ngân hàng (Trang 31)

c. Theo lĩnh vực cụ thể

1.2.1.Tổng quan về kiến trúc web

1.2. Cơ sở hạ tầng của hệ thống cổng thông tin

1.2.1.Tổng quan về kiến trúc web

Ứng dụng Web là một hệ thống phức tạp, dựa trên nhiều yếu tố: phần cứng, phần mềm, giao thức, ngôn ngữ và thành phần giao diện. Trong phần này, chúng tôi sẽ giới thiệu sơ lược cho bạn về các thành phần cơ bản của ứng dụng Web: HTTP (giao thức trao đổi tài nguyên) và HTML (ngôn ngữ xây dựng trang web). • HTTP – giao thức trao đổi

Kỹ thuật cơ bản của lập trình ứng dụng web khởi đầu là HyperText Transfer Protocol (HTTP), đó là một giao thức cho phép các máy tính trao đổi thơng tin với nhau qua mạng máy tính. HTTP được xác định qua URLs (Uniform Resource

http: // <host> [: <port>] [ <path> [? <query>]

Sau tiền tố http://, chuỗi URL sẽ chứa tên host hay địa chỉ IP của máy server (có

thể có số cổng đi kèm), tiếp theo là đường dẫn dẫn đến tập tin server được yêu cầu.

Tùy chọn sau cùng là tham số, còn được gọi là query string (chuỗi tham số/chuỗi truy vấn).

Ví dụ:

Phân tích địa chỉ http://www.comersus.com/comersus6/store/index.asp Trang web index.asp được lưu trữ trong thư mục /comersus6/store tại Web Server với host là www.comersus.com.

Một số thuật ngữ:

- Internet: là một hệ thống gồm nhiều máy tính ở khắp nơi trên thế giới nối lại với nhau.

- WWW: World Wide Web (mạng tồn cầu), thường được dùng khi nói về Internet

- Web Server: Máy tính lưu trữ các trang web

- Web Client: Máy tính dùng để truy cập các trang web

- Web Browser: Phần mềm dùng để truy cập web. Một số web browser phổ biến: Internet Explorer, Netscape Navigator, Avant Browser, Opera,…

HTML (Hypertext Markup Language)

Trang web HTML là một tập tin văn bản được viết bằng ngôn ngữ HTML, ngơn ngữ này cịn được biết đến với tên gọi: ngôn ngữ đánh dấu văn bản. Ngôn ngữ đánh dấu HTML sử dụng các ký hiệu quy định sẵn (được gọi là tag) để trình bày nội dung văn bản.

Để các website được truy cập từ khắp nơi chúng ta cần có một kiến trúc xây dựng hợp lý. Kiến trúc này xây dựng từ mơ hình client-server sẽ được trình bày rất rõ ở phần sau.

1.2.2. Mơ hình Client – Server

Mơ hình client-server là một mơ hình nổi tiếng trong mạng máy tính, được

áp dụng rất rộng rãi và là mơ hình của mọi trang web hiện có. Ý tưởng của mơ hình này là mỏy khỏch (được sử dụng từ phía người sử dụng) gửi một yêu cầu (request) để máy chủ (đóng vai trị người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho mỏy khỏch.

Hình 1.5: Mơ hình client-server

Mơ hình client –server mô tả các dịch vụ mạng và các ứng dụng được sử dụng để chia làm các dịch vụ. Mơ hình này chia các thao tác ra làm hai phần: Phía client cung cấp cho người sử dụng một giao diện để yêu cầu dịch vụ từ mạng và phía server tiếp nhận các yêu cầu từ phía client và cung cấp các dịch vụ thơng suốt cho người sử dụng.

Chương trình Server được khởi động trên một máy chủ và ở trạng thái sẵn sàng nhận các yêu cầu từ phía client. Chương trình client cũng được khởi động một cách độc lập với chương trình server. Yêu cầu dịch vụ được chương trình truy cập dịch vụ từ client gửi đến máy chủ cung cấp dịch vụ và chương trình server trên máy chủ sẽ đáp ứng các yêu cầu của client. Sau khi thực hiện các yêu cầu từ phía client, server sẽ trở về trạng thái chờ các yêu cầu khác.

Trong mơ hình client/server ứng dụng thường được xây dựng trên mơ hình 2 lớp hoặc 3 lớp.

Hình 1.6: Mơ hình ứng dụng 2 lớp

Mơ hình ứng dụng hai lớp rất phổ biến để xây dựng những ứng dụng phân tán. Trong mơ hình này việc xử lý dữ liệu nằm ở phía máy chủ lưu trữ dữ liệu còn việc nhận và hiển thị dữ liệu sẽ do client thực hiện. Mơ hình này yêu cầu client phải có cấu hình tốt. Tuy nhiên với đặc điểm client tự động sử lý và hiển thi dữ liệu nên việc bảo trì trên tồn hệ thống sẽ xảy ra khó khăn. Nên trong kiến trúc web chúng ta thường sử dụng mơ hình 3 ứng dụng lớp.

Với mơ hình 3 lớp, ngồi việc trình ứng dụng quản lý cơ sở dữ liệu được cài đặt trên DataBase Server, có thể nhận số lượng yêu cầu từ nhiều ứng dụng và nhiều người dùng cùng một lúc. Thì trình ứng dụng cung cập dịch vụ cho người dùng cũng chỉ cần được cài đặt một lần trên application server và các client chỉ việc gửi yêu cầu và hiển thị kết quả cho người dùng mà không thực hiện bất kỳ thao tác xử lý nào. Kiến trúc ứng dụng 3 lớp giúp chúng ta xây dựng các hệ thống quản lý tập trung (ứng dụng được quản lý, cài đặt tại một nơi) cịn người dùng có thể truy cập mọi nơi chỉ cần nơi đú cú mạng internet).

Dựa trên mơ hình ứng dụng 3 lớp này. Kiến trúc của trình ứng dụng được vận hành trên application server sẽ được thiết kế trên kiến trúc 3 tầng như sau:

Hình 1.8: Kiến trúc 3 tầng

Presentation Layer

Lớp presentation làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong lớp này có 2 thành phần chính là User Interface Components và User Interface Process Components. (adsbygoogle = window.adsbygoogle || []).push({});

- UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị

thông tin cho người dùng cuối. Các thành phần này có thể là các textbox, các button và một vài thành phần khác mà tuy từng ngơn ngữ lập trình quy định. - UI Process Components: là thành phần chịu trách nhiệm quản lý các qui

trình chuyển đổi giữa các UI Components. • Business layer

Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mỡnh(vớ dụ như sử dụng dịch vụ của các cổng thanh tốn trực tuyến như VeriSign, Paypal...).

Data access layer

Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle, MySQL... để thực hiện nhiệm vụ của mình. Trong lớp này cú cỏc thành phần chính là Data Access Logic, Data Sources, Servive Agents).

Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu - Data Sources như RDMBS, XML, File systems....

Chất lượng vận hành của một hệ thống web không những chỉ phụ thuộc vào chất lượng thiết kế, xây dựng của các nhà lập trình mà cịn phụ thuộc vào cơ sở hạ tầng có phù hợp hay khơng.

1.2.3. Cơ sở hạ tầng phục vụ hệ thống

Cổng thông tin của Học viện Ngân hàng được xây dựng dựa trên ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL nên được xây dựng trên cơ sở hạ tầng như sau.

- Hệ điều hành: Window 2000, Window XP, hoặc Linux - Hệ quản trị cơ sở dữ liệu: MySQL

- Trình biên dịch PHP Compiler

- Đăng ký tên miền nhằm công bố website trên mạng internet.

1.3. Phân tích luồng dữ liệu của hệ thống

1.3.1. Vai trị của cơng cụ hỗ trợ việc phân tích thiết kế

Khi xây dựng một hệ thống thơng tin, ngồi những khó khăn về kỹ thuật, sự thiếu hiểu biết về kiến thức quản lý của hệ thống đang được xây dựng, cịn có khó khăn khơng kém phần quan trọng là các vấn đề trao đổi thơng tin giữa những người có trình độ khác nhau trong nhóm phát triển hệ thống. Các khó khăn thể hiện ở một số điểm cụ thể sau:

- Thông thường các nhà quản lý thường đặt các yêu cầu chung chung về hệ thống mà họ cần, và người sử dụng thì chỉ biết các cơng việc trong phạm vi của mình mà ít biết đến mối liên hệ với các bộ phận khác. Vì vậy mà phân tích viên phải biết cách gợi mở và dùng phương pháp nào đó để người dùng hiểu rõ hơn cơng việc của mình.

- Phần lớn người sử dụng khơng thể hình dung được sự hoạt động của hệ thống thông tin sau này. Họ không biết dữ liệu sẽ được xử lý và thể hiện ra sao, máy tính sẽ cung cấp cho họ những báo biểu nào, vì thế việc cung cấp một bức tranh tồn cảnh về mơ hình hoạt động của hệ thống gần gũi với công việc của họ là điều hết sức cần thiết.

lớn, tiêu phí nhiều thời gian. Nhưng làm thế nào để nhìn được tồn cảnh và các mối liên hệ trong hệ thống nhưng khi muốn đi vào chi tiết một phần nào đó thì vẫn có đủ thơng tin?

- Việc thể hiện những chi tiết của hệ thống mới, với đầy đủ các đặc tả dễ tạo niềm tin cho người sử dụng, mặc dù bây giờ họ có một số vấn đề chưa hiểu hoàn toàn.

- Nếu xây dựng các tài liệu mô tả dùng ngôn ngữ của người dùng, thì lại khơng hữu dụng cho người thiết kế vật lý và kỹ thuật, nhưng nếu người phân tích đi quá sâu vào đặc tả chức năng, lại dễ làm cho người lập trình mất đi tính độc lập, để tìm ra một cách giải quyết tốt nhất. Do đó tài liệu mơ tả hệ thống cần phải xây dựng thế nào cho phù hợp để người dùng có thể hiểu và khơng gây khó khăn cho người lập trình?

Với các vấn đề trờn viợợ̀c tìm ra một ngơn ngữ chung mơ hình hóa các hệ thống thơng tin đờờ̉ viợợ̀c trao đổi giữa người sử dụng và nhóm phát triển, giữa các thành viên trong nhóm phát triển được dễ dàng là hết sức cần thiết. Hiện nay đã có một số phương pháp để giải quyết vấn đề này, trong đó có phương pháp sử dụng biểu đồ luồng dữ liệu (data flow diagram –

DFD) được dùng phổ biến.

1.3.2. Biểu đồ luồng dữ liệu DFD1.3.2.1. Khái niệm 1.3.2.1. Khái niệm

Biểu dồ luồng dữ liệu (DFD) là một sơ đồ mô tả trực quan hệ thống, chỉ ra

tất cả các u cầu chính của một hệ thống thơng tin trong một sơ đồ, bao gồm: đầu vào và đầu ra, các tiến trình và các kho lưu trữ.[8]

1.3.2.2. Các ký pháp a. Tác nhân

Tác nhân của một phạm vi hệ thống được nghiên cứu có thể là một người, nhóm người, một bộ phận, một tổ chức hay một hệ thống thơng tin khác, nằm ngồi phạm vi này và có tương tác với nó về mặt thơng tin (nhận hay gửi dữ liệu). Có thờờ̉ nhọõn viờờ́t các tác nhân là nơi xuất phát (ng̀n) hay nơi đến (đích) của dữ liệu từ

phạm vi hệ thống được nghiên cứu.

Hình chữ nhật được xử dụng để kí hiợợ̀u mụ ụt tác nhân , bên trong ghi tên tác nhân (hình 9). Tên tác nhân phải là một mệnh đề danh từ như “nhà cung cṍp”, “khách hàng”,… (adsbygoogle = window.adsbygoogle || []).push({});

b. Luồng dữ liệu

Luồng dữ liệu là các dữ liệu di chuyển từ một vị trí này đờờ́n mụ ụt vị trí khác trong hệ thống trờn mụ ụt vật mang nào đó. Mụ ụt luụợ̀ng dữ liệu có thể biểu diễn các dữ liệu trờn mụ ụt vật mang như đơn hàng của khác hàng, hay tờ séc trả lương. Nó cũng có thể là một kết quả truy vấn nhận được từ một CSDL được truyờợ̀n trờn mạng; hay những dữ liệu được cập nhật vào máy tính, được hiện ra màn hình hay in ra máy in. Như vậy, luồng dữ liệu có thể gụợ̀m nhiờợ̀u mảng dữ liệu riêng biệt được sinh ra cùng một thời gian và di chuyển đến cùng một đích.

Luồng dữ liệu được kí hiệu bằng đường mũi tên có chiều chỉ hướng dữ liệu di chuyển và tên của dữ liệu được ghi trên nó (hình 1.9). Đầu mũi tên là điểm xuất phát của dữ liệu, cuối mũi tên là điểm đến của luồng dữ liệu. Tên dữ liệu phải là một mệnh đề danh từ và phải thể hiện được sự tổn hợp của các phần tử dữ liệu riêng biệt chứa trong nó.

c. Tiến trình

Tiến trình là một hay một số cơng việc, hoặc hành động có tác động lờn cỏc dữ liệu làm cho chúng di chuyển, thay đổi, được lưu trữ, phân phối hay trình diễn. Quá trình xử lý dữ liệu trong một hệ thống thường gồm nhiều tiến trình khác nhau, mỗi tiến trình thực hiện một phần chức năng nghiệp vụ nào đó. Tiến trình có thể

được xem xét là vật lý nếu nó chỉ ra con người hay phương tiện thực thi chức năng đó. Trong trường hợp ngược lại ta có một tiến trình logic.

Hình chữ nhật góc trịn được dùng để ký hiệu một tiến trình. Một đường gạch ngang phía trên chia hình chữ nhật thành 2 phần: phần trên ghi số hiệu của tiến trình, phần dưới ghi tên tiến trình (hình 1.9). Tên tiến trình phải là một mệnh đề động từ, gồm động từ và bổ ngữ. Ví dụ: “tạo bài viết”, “thay đổi thơng tin”,… Trong biểu đồ luồng dữ liệu vật lý, tên tiến trình có thể là tên chức năng của một bộ phận thực hiện tiến trình đó. Ngồi ra, người ta cịn thêm phần thứ 3 ở phía dưới tờn đờờ̉ ghi tên người, bộ phận hay phương tiện thực hiện tiến trình khi tiến trình là vật lý. Về bản chất, khái niệm chức năng và tiến trình là một, nhưng ở trạng thái khác nhau.

d. Kho dữ liệu

Các dữ liệu được lưu trữ tại một vị trí. Một kho dữ liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí khơng gian khác nhau (các thư mục khác nhau, các máy tính khác nhau, một cặp hồ sơ cùng loại,…).

Hình chữ nhật khuyờờ́t mụ ụt cạnh (bên phải hay bên trái) được dùng biểu diễn một kho dữ liệu. Sát cạnh trái (phải) của hình chữ nhật có mụ ụt ụ dùng để ghi số hiệu kho dữ liệu, bên trong hình chữ nhật ghi tên kho dữ liệu (hình 1.9). Tên kho dữ liệu phải là một mệnh đề danh từ.[1]

1.3.2.3. Quy tắc vẽ biểu đồ luồng dữ liệu

Khi vẽ biểu đồ luồng dữ liệu cần tuân theo các quy tắc sau:

- Đầu vào và đầu ra của một tiến trình phải khác nhau. Nguyên tắc này nhấn mạnh rằng, các dữ liệu qua một tiến trình phải được xử lý. Trong trường hợp ngược lại, tiến trình đó là khơng cần thiết vì khơng tác động gì đến các luồng dữ liệu đi qua nó.

- Các đối tượng trong một biểu đồ luồng dữ liệu phải có tên duy nhất (mỡi tiến trình phải có tên duy nhất). Tuy nhiên, một số tác nhân ngoài và kho

dữ liệu có thể được vẽ lặp lại.

- Các luồng dữ liệu đi vào một tiến trình phải đủ để tạo ra các luồng dữ liệu đi ra khỏi nó. Điều này có nghĩa là mọi tiến trình là có thể thực hiện được xét về mặt dữ liệu.

Tiến trình

- Mọi tiến trình đều phải có cả luồng dữ liệu vào và luồng dữ liệu ra

- Khụng một tiến trình nào chỉ có luồng dữ liệu ra hay luồng dữ liệu vào. Một đối tượng khơng phải là kho dữ liệu mà chỉ có luồng dữ liệu vào hay chỉ có luồng dữ liệu ra thì nó chỉ có thể là tác nhân (ng̀n hay đích).

Tác nhân

L̀ng dữ liệu

- Mụ ụt luồng dữ liệu khơng thể quay lại nơi mà nó vừa đi khỏi.

- Mụ ụt luồng dữ liệu đi vào một kho, có nghĩa là kho dữ liệu được cập nhật; mụ ụt luụợ̀ng dữ liệu đi ra khỏi kho, có nghĩa là kho dữ liệu được đọc.

- Khơng có luồng dữ liệu từ một kho đờờ́n mụ ụt kho khác.

- Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến kho dữ liệu và ngược lại.

1.3.2.4. Phương pháp tạo biểu đồ luồng dữ liệu

a. Phương pháp phát triển biểu đồ luồng dữ liệu từ trên xuống

Để tạo biểu đồ luồng dữ liệu theo phương pháp này, ta thực hiện các bước

Một phần của tài liệu Xây dựng hệ thống cổng thông tin cho học viện ngân hàng (Trang 31)