WSS làm việc thông qua 2 cơ sở dữ liệu SQL Server : CSDL cấu hình (configuration databases) và CSDL nội dung (content databases). CSDL cấu hình lưu trữ các thơng tin cấu hình triển khai cho mỗi máy chủ Web, máy chủ ảo trong IIS và các WSS Web site còn CSDL nội dung lưu trữ dữ liệu liên quan đến các WSS Web sites.
WSS chỉ có một CSDL cấu hình trong mỗi hệ thống triển khai, đối với một hệ thống triển khai đơn giản ta chỉ cần một máy tính chạy cả máy chủ Web và máy chủ CSDL SQL với một CSDL cấu hình và một CSDL nội dung. Hệ thống triển khai phức tạp hơn là một cụm máy chủ với nhiều máy chủ Web và một hay nhiều máy chủ CSDL SQL Server. Tuy nhiên trong tất cả các trường hợp này, chỉ có một CSDL cấu hình duy nhất. CSDL cấu hình là nơi cung cấp các thơng tin giúp liên kết tất cả các máy chủ Web và máy chủ CSDL.
Mỗi CSDL nội dung lưu trữ dữ liệu cho một hay nhiều WSS Web sites. Dữ liệu của WSS được lưu trữ trên các site cơ sở bao gồm các bảng (list) và các tài liệu
(documents) cũng như các thông tin gắn liền với tùy biến và cá nhân hóa. Kỹ thuật lưu trữ tích hợp này là một tiến bộ vượt bậc so với STS (thế thệ trước của WSS) trong đó dữ liệu về các site được lưu trữ trên tệp hệ thống và trong bộ đăng ký thay vì trong CSDL. Mọi thứ được lưu trữ trong CSDL làm cho việc sao lưu, phục hồi các Web sites trở nên rất dễ dàng đối với WSS.
Nếu nhìn từ mức cao, kiến trúc hệ thống của WSS sẽ như sau:
Hình vẽ 3.3: Khung nhìn mức cao về WSS
Như vậy sẽ có ba loại thành phần máy chủ:
Một hay nhiều máy chủ Web (front-end Web servers) Một cơ sở dữ liệu cấu hình
Một hay nhiều máy chủ cơ sở dữ liệu nội dung
Ta có thể cài đặt cả ba thành phần này trên một máy tính, hoặc trên nhiều máy trong một cụm máy chủ (server farm). Tất cả các thông tin trạng thái được lưu trữ trong CSDL cấu hình và CSDL nội dung trong Microsoft SQL Server.
Trong một cụm máy chủ chạy WSS, các máy chủ Web là các bản sao không trạng thái (stateless clones). Một yêu cầu có thể được chuyển đến bất kỳ máy chủ nào thông qua hệ thống cấn bằng tải (load balancing system), và bất kỳ site nào cũng có thể được phục vụ bởi bất kỳ máy chủ nào. Các máy chủ Web kết nối tới hệ thống máy chủ CSDL để lấy dữ liệu cho phép nó xây dựng và trả về các trang web tới máy khách. Khi một máy chủ web vì một lý do nào đó bị hỏng, các yêu cầu lập tức được chuyển cho các máy chủ web khác, từ đó ta có thể nâng cao khả năng phục vụ của hệ thống bằng cách chạy thêm các máy chủ Web. Tài liệu và các dữ liệu người dùng cuối không lưu trữ trên máy chủ web mà được lưu trữ trên máy chủ CSDL.
Máy chủ CSDL nội dung chứa nội dung các site, bao gồm tài liệu, tệp trong thư viện tài liệu, dữ liệu dạng bảng (List), các thuộc tính của Web Part, tên người
dùng, quyền. Không giống máy chủ Web, các máy chủ CSDL nội dung là không giống nhau, tất cả dữ liệu của một site nào đó nằm trên một CSDL nội dung trên chỉ một máy tính. SQL Server cung cấp khả năng phục hồi để giúp hệ thống không bị ngưng trệ nếu CSDL bị hỏng.
CSDL cấu hình lưu trữ tất cả các thơng tin quản trị về mặt triển khai, chỉ dẫn các yêu cầu tới các CSDL nội dung phù hợp, và quản lý cân bằng tải cho các máy chủ CSDL. Khi một máy chủ web nhân một yêu cầu về một trang trên một site nào đó, nó sẽ kiểm tra CSDL cấu hình để xem xét xem CSDL nội dung nào chứa dữ liệu về site này.
3.1.3. Các bảng cơ sở dữ liệu
Sau đây là bảng liệt kê một số bảng trong CSDL của SharePoint:
Các bảng trong cơ sở dữ liệu cấu hình:
Tên Mô tả
AntiVirusVendors Nhà phân phối phần mềm chống virus
CustomTemplates Mẫu xuất hiện trong danh sách mẫu (template picker). Databases Cơ sở dữ liệu nội dung và các thiết lập liên quan
Globals Các thiết lập ảnh hưởng đến toàn bộ site trong máy chủ ảo
trong đồ hình Windows SharePoint Services . InstalledWebPartPackages Các gói Web Part có sẵn trong máy chủ ảo.
Servers Máy chủ vật lý trong kiến trúc Windows SharePoint Services
Services Các dịch vụ như là CSDL, Web, và dịch vụ mail có trong
Windows SharePoint Services.
Sites Các Sites bên trong Windows SharePoint Services .
VirtualServers Các máy chủ ảo và các thiết lập liên quan
WebPartPackages Các gói Web Part Packages được cài đặt trong một mơ hình.
Bảng 3.1: Các bảng trong CSDL nội dung
Mốt số quan hệ giữa các bảng được chỉ ra như sau:
Các bảng trong cơ sở dữ liệu nội dung:
Tên Mô tả
ComMd Document discussions.
Deps Document dependencies.
DiskWarningDate Ngày và giờ của cảnh báo cuối cùng về giới hạn đĩa
Docs Các Documents và các thư mục document
DocVersions Lịch sử phiên bản của tài liệu từ thư viện tài liệu
EventCache Bộ nhớ đệm cho các cảnh báo .
EventLog Các ghi dấu sự kiện cảnh báo .
HT_Cache Bộ nhớ đệm để chuyển các tài liệu lên xem ở trình duyệt
HT_Settings Các thiết lập để xem ở chế độ HTML .
ImmedSubscriptions Các cảnh báo được thiết lập ngay khi các thay đổi xảy Links Các liên kết được tính tốn lại trong một thay đổi site
Lists Lists trong site.
NavNodes Các nút hiển thị ở thanh truy xuất (navigation bars.) Personalization Các cá nhân hóa được thực hiện với Web Parts. SchedSubscriptions Các cảnh báo được gửi dựa trên cơ sở ngày hay tuần SiteGroupMembership Thành viên của các cross-site groups.
SiteGroups Cross-site groups.
Sites Sites trong CSDL nội dung
TimerLock Các giản đồ khóa chỉ ra xem máy chủ nào gắn với CSDL nào
UserData Dữ liệu List
UserInfo Thông tin người dùng .
WebCat Liên kết giữa Web sites và areas.
WebGroupMembership Danh sách thành viên của nhóm site.
WebGroups Các nhóm Site (như là Administrator, Web Designer) cho site.
WebMembers Thành viên của một site
WebParts Web Parts có sẵn cho the sites
Webs Các Subsites liên quan đến 1 site.
WelcomeNames Các tài liệu mặc định cho một site.
Bảng 3.2: Các bảng trong CSDL cấu hình
3.1.4. Cấu hình cho Windows SharePoint Services
Có hai kiểu cấu hình cho Windows SharePoint Services: stand-alone hoặc server farm, tùy theo quy mô của từng ứng dụng cụ thể mà ta nên chọn kiểu cấu hình nào cho phù hợp. Đối với các ứng dụng nhỏ ta có thể cấu hình theo kiểu stand- alone, cịn đối với các ứng dụng lớn hơn (chẳng hạn áp dụng cho các tổ chức lớn hoặc các nhà cung cấp dịch vụ) thì ta có thể cấu hình theo kiểu server farm. Sau đây ta sẽ trình bày về 2 kiểu này.
3.1.4.1. Stand-alone Server
Cấu hình theo kiểu một máy chủ có các đặc điểm sau:
Có một máy chủ chạy Windows SharePoint Services
Các site và subsite được nhóm lại trong tập hợp site (Site Collection) trong mỗi máy chủ ảo (Virtual Server) trong IIA. Một bộ lọc ISAPI (Internet Server Applications Program Interface) dựa vào các URL để chỉ ra site trên máy chủ ảo đó
Mỗi máy chủ ảo đều có riêng một tập hợp các CSDL nội dung trong SQL Server cịn CSDL cấu hình sẽ kết nối mỗi máy chủ ảo tới CSDL nội dung tương ứng với một Web site cho sẵn.
Sơ đồ sau cho thấy kiến trúc Windows SharePoint Services với cấu hình stand- alone server:
Hình vẽ 3.4: Cấu hình WSS theo kiểu Stand-alone
3.1.4.2. Server farm
Kiến trúc theo kiểu server farm có các đặc điểm sau:
Có nhiều máy chủ chạy Windows SharePoint Services và SQL server
Các site được nhóm vào trong các Site Collection trên mỗi máy chủ ảo trên IIS có Windows SharePoint Services. Bộ lọc ISAPI sử dụng các URL để định vị các site.
Mỗi máy chủ ảo có riêng một CSDL nội dung trong SQL Server. CSDL cấu hình sẽ kết nối mỗi máy chủ tới CSDL nội dung tương ứng với các Web site
Hiệu năng và khả năng sẽ được nâng cao bằng cách thêm các máy chủ vào
Tải cân bằng sẽ đạt được bằng cách sử dụng các phần cứng chuyển mạch và dẫn đường, hoặc dùng phần mềm Windows Network Load Balancing Service.
Hình vẽ 3.5: Cấu hình Windows SharePoint Services theo kiểu server farm
3.1.4.3. Máy chủ ảo và các Web site IIS
Cấu hình các Website WSS bắt đầu ở mức độ các Website IIS. Một Website mặc định của IIS tên là "Default Web Site" được cấu hình chạy trên cổng 80. Ta có thể sử dụng IIS để tạo thêm các Website chạy trên các cổng khác. Hình sau là ví dụ của máy chủ IIS chạy 3 máy chủ ảo được cấu hình cho phép người dùng truy cập.
Hình vẽ 3.6: Mỗi Web site IIS có thể được cấu hình như là một máy chủ ảo chạy WSS
Trong thuật ngữ của SharePoint, một Website IIS được coi như là một máy chủ ảo (virtual server). Máy chủ ảo phải được triển khai với WSS để chạy các Website WSS. Khi cài đặt WSS, một cách mặc định nó sẽ tự động triển khai máy chủ ảo chạy trên cổng 80. Ta cũng có thể triển khai WSS trên một máy chủ ảo khác bắng cách sử dụng SharePoint Central Administration.
WSS không giống ASP.NET ở chỗ nó khơng cấu hình mỗi Website bằng cách dùng thư mục ảo của IIS. Thay vào đó, WSS theo dõi tất cả các thơng tin cấu hình cho Website WSS bên trong cơ sở dữ liệu nội dung và cơ sở dữ liệu cấu hình. Điều này có nghĩa là một khi WSS triển khai trong máy chủ ảo và ta tạo ra các Website WSS thì tồn bộ chúng sẽ được tạo ra trong cơ sở dữ liệu cấu hình và cơ sở dữ liệu nội dung tương ứng. Trong thực tế, IIS khơng biết việc có hay khơng máy chủ ảo triển khai WSS chứa một Website WSS hay 10.000 Website WSS, bởi vì WSS khơng cần cấu hình thư mục ảo IIS cho mỗi Website WSS, điều này làm tăng khả năng mở rộng và bảo trì.
Khi WSS chạy trong một máy chủ ảo, nó cài đặt một bộ lọc ISAPI được gọi là bộ lọc WSS (STSFLTR.DLL) nhằm chặn các yêu cầu tới máy chủ ảo và kiểm tra xem yêu cầu này là gửi tới IIS hay WSS. Để có được sự kiểm tra này, bộ lọc WSS xem xét URL của yêu cầu gửi đến và “hỏi” cơ sở dữ liệu cấu hình xem thành phần nào sẽ xử lý nó.
Khi WSS triển khai lên một máy chủ ảo, nó tự động gắn tệp web.config vào thư mục gốc của máy chủ ảo chứa nó. Tệp web.config cung cấp thiết lập cấu hình khởi tạo cho WSS và mã ASP.NET chạy bên trong máy chủ ảo này. Một cách mặc định, tệp cấu hình này chứa các thiết lập bảo mật cho Website.
3.1.4.4. Sites và Site Collections
Trong máy chủ ảo, WSS sites được phân chia bằng cách sử dụng tập hợp site (Site Collections)—là một tập hợp của một hay nhiều site tạo thành một đơn vị sở hữu. Một tập hợp site bao gồm một site mức trên cùng (top-level site) có cùng địa chỉ URL như tập hợp site. Tập hợp site có thể có nhiều các site con liên quan đến
site mức trên cùng theo mối quan hệ cha – con. Mỗi site phải được tạo ra trong một tập hợp site nào đó và tất cả các site trong cùng một tập hợp site đều được chứa trong cùng một CSDL nội dung.
Hình vẽ 3.7: Tập hợp site
Có thể hiểu một site WSS:
Là một “thùng” chứa nội dung: nội dung site đơn thuần được chứa trong dạng danh sách (List), thư viện tài liệu (Document Library), và các site con.
Là một thực thể bảo mật trong đó nội dung của nó có thể truy cập và được cấu hình bởi người dùng phù hợp. Một site có thể tự định nghĩa các người dùng của nó hoặc kế thừa người dùng từ site ở mức trên. Mỗi người dùng site là một tài khoản Windows được định nghĩa trong vùng (domain) Active Directory hoặc CSDL tài khoản bảo mật cục bộ của Windows. Một site cũng chứa tập hợp nhóm và quyền để định nghĩa mức độ truy cập mà người dùng có để thao tác trên danh sách hoặc thư viện tài liệu.
Là một ứng dụng web với khả năng mở rộng và hỗ trợ rất sâu việc tùy biến giao diện người dùng. Người dùng sở hữu site hoặc người có quyền thiết kế web (Web designer) có thể tùy biến cách tổ chức và hiển thị của các trang trong site và chỉnh sửa cấu trúc truy cập đến site bằng cách sử dụng trình duyệt hoặc FrontPage 2003.
Là một cơ sở để sử dụng công Web Part Page và Web Part. Người sở hữu site hoặc người xây dựng web có thể tùy biến các trang Web Part bằng cách thêm và cấu hình các Web Part chia sẻ. một người dùng có thể cá nhân hóa một trang Web Part bằng cách chỉnh sửa, thêm, xóa Web Part. Tất cả dữ liệu liên quan đến tùy biến và cá nhân hóa Web Part trên các trang Web Part được tự động lưu vào CSDL nội dung.
WSS hỗ trợ một vài mẫu site khác nhau khi tạo ra các site ta gọi đó là các site template. Mẫu site là một bản thiết kế định nghĩa tập hợp các bảng (list), thư viện tài liệu, các Web Part Pages, và Web Parts tồn tại trong site mới. WSS có 8 loại mẫu: Team Site, Blank Site, Document Workspace, Basic Meeting Workspace, Blank Meeting Workspace, Decision Meeting Workspace, Social Meeting Workspace, và Multipage Meeting Workspace; ta cũng có thể tự mình thêm vào các mẫu site mới để thuận tiện cho việc sử dụng. Khi một trang được truy cập lần đầu sau khi khởi tạo, WSS nhắc người dùng chọn các mẫu site bằng cách sử dụng giao diện HTML sau:
Hình vẽ 3.8: Mẫu trang
3.1.5. Bảo mật trong Windows SharePoint Services
Trong Microsoft Windows SharePoint Services 2.0, truy cập vào các Web sites được điều khiển thông qua một hệ thống thành viên (membership system) trong đó mỗi người dùng liên kết trực tiếp hoặc không trực tiếp với một quyền điều khiển mà người dùng có thể thực hiện. Windows SharePoint Services cung cấp khả năng điều khiển các site thông qua các quyền sau:
Site groups chỉ rõ tên người dùng có thể thực hiện một số cơng việc trên site. Mỗi người dùng là thành viên của ít nhất một site group, và mỗi site group sở hữu các quyền phù hợp. Ta có thể chỉnh sửa các quyền gán cho một site group, tạo một site group với một số quyền nhất định, hoặc xóa một site group khơng dùng đến. Quyền của 2 nhóm Administrator site group và Guest site group không thể được chỉnh sửa . Site group được định nghĩa trên Web site. Người dùng đăng ký trên Administrator site group chỉ là quản trị trên Web site đó. Để có thể thực hiện bất kỳ các thao tác quản trị đến tất cả các Web site và các máy chủ ảo trên máy chủ thì người dùng phải là người quản trị của máy chủ đó (cịn được gọi là quản trị cục bộ, local Administrator) hoặc là thành viên của nhóm quản trị SharePoint.
Cross-site groups bao gồm một nhóm người dùng và được gán tới một site group trên bất kỳ Web site trong một tập hợp site. Khơng có cross-site groups định nghĩa mặc định trong Windows SharePoint Services.
Các truy cập ẩn danh (Anonymous access) cho phép người dùng đóng góp một cách ẩn danh tính tới các list và các surveys, hoặc là xem các trang. Ta cũng có thể đưa ra truy cập kiểu "all authenticated users" cho phép tất cả các thành viên trong Domain truy cập Web site mà không cho phép các truy cập ẩn danh.
Các quyền dựa trên danh sách (Per-list permissions) cho phép quản lý tốt hơn bằng cách thiết lập các quyền duy nhất trên cơ sở dựa trên danh sách. Khơng giống site, ta có thể thêm người dùng cùng nhau với các quyền đặc biệt nào đó trược tiếp tới một danh sách, trong trường hợp này người dùng được gán tự động vào Guest site group trên site hiện tại nếu site là duy nhất và không thừa kế các quyền từ các site cha mẹ. Nếu site hiện tại thừa kế các quyền, người dùng vào Guest site group trên site cha mẹ gần nhất.
Các site con có thể sử dụng chung quyền như site bố mẹ hoặc sử dụng các quyền định nghĩa riêng.