3.1.1.Tổng quan
Windows SharePoint Services là một dịch vụ chạy trên nền hệ điều hành Windows Server 2003. Nó cung cấp nền tảng cho việc xây dựng các Web Portal mang tính cộng tác để chia sẻ thông tin cũng như tài liệu giữa các thành viên trong một nhóm hay trong một tổ chức nào đó một cách dễ dàng và đáng tin cậy. Người dùng có thể truy cập đến một Web site WSS bằng cách sử dụng một trình duyệt hoặc thậm chí thông qua các đặc trưng về tính cộng tác được tích hợp trong các sản phẩm của Microsoft như Word hoặc Excel. Trong WSS có các khái niệm như: documents, tasks, contacs, events… chúng là những thông tin dùng trong việc trao đổi giữa các người dùng. WSS cũng cung cấp cơ sở hạ tầng bên dưới cho phép tạo giao diện người dùng thông qua các công nghệ như Smart Page hoặc Web Part, đó là một đặc trưng rất mạnh mẽ của SharePoint bởi vì mỗi trang WSS cung cấp một giao diện người dùng với khả năng mở rộng và cá nhân hóa cao độ. Windows SharePoint Services đồng thời cũng cung cấp nền tảng để phát triển các ứng dụng, chẳng hạn các cổng thông tin điện tử, hội thảo trực tuyến dựa Web, e – mail… Môi trường
WSS cũng được thiết kế để dễ dàng và linh động hơn trong việc triển khai, quản trị cũng như phát triển các ứng dụng.
Các WSS site được xây dựng từ các Web Part và các thành phần Windows dựa ASP.NET; các Web Part được thiết kế để có thể đưa vào các trang và được cấu hình bởi người quản trị cũng như người dùng, từ đó tạo ra các ứng dụng hoàn chỉnh. WSS cũng sẵn có nhiều Web Part và có thể đem vào sử dụng được ngay; tuy nhiên, các Web Part cũng có thể được phát triển bởi một bên thứ ba.
Windows SharePoint Services cũng được tích hợp với môi trường phát triển .NET trong Windows. Nó cung cấp mô hình đối tượng dựa trên nền tảng .NET và ta hoàn toàn có thể lập trình với các đối tượng này, chẳng hạn SPList, SPWeb, SPSite… bên cạnh đó WSS cũng hỗ trợ các chuẩn công nghiệp khác như Web Services.
3.1.2.Kiến trúc của Windows SharePoint Services
Hệ thống WSS được xây dựng ở phía trên của Windows Server 2003, IIS6.0 và ASP.NET. Hình sau cho thấy sự tương thích giữa WSS và các thành phần khác:
Hình vẽ 3.9: Kiến trúc Windows SharePoint Services
WSS là thế hệ thứ hai của công nghệ SharePoint, thế hệ thứ nhất được xây dựng dựa trên nền IIS có tên là SharePoint Team Services (STS). Nền STS tương tự như WSS, trong đó nó cung cấp một môi trường hợp tác để chia sẻ các dữ liệu dựa trên danh sách (list-based data) và các tài liệu (documents). Tuy nhiên STS không được xây dựng dựa trên nền .NET hay ASP.NET, thay vào đó nó được xây dựng bằng cách sử dựng phần mở rộng của trình chủ ISAPI.
Tùy biến và mở rộng các Web site STS là rất khó vì có ít các công cụ hỗ trợ. Trong khi đó đối với WSS thì công việc này trở nên rất dễ dàng bởi vì WSS tương thích với các công cụ thiết kế Web (ví dụ FrontPage 2003). WSS là mô hình có thể mở rộng dễ dàng bởi vì ta có thể viết các ứng dụng tùy biến cũng như các Web Part cho các trang WSS sites và SPS portal sites với công cụ Visual Studio.NET sử dụng C# hoặc Visual Basic.NET.
STS và thế hệ thứ nhất của công nghệ SharePoint cũng gặp phải các vấn đề về mặt mở rộng hiệu năng bởi vì kiến trúc của STS phụ thuộc vào máy chủ Web (front-end Web servers), điều này làm cho việc mở rộng một máy chủ Web sang sử sụng một cụm máy chủ trở nên rất khó khăn. Trong khi đó kiến trúc của WSS không dựa trên trạng thái của các máy chủ Web, thay vào đó nó được xây dựng dựa trên một kỹ thuật lưu trữ tích hợp, nơi mà tất cả các dữ liệu dựa trên dạng bảng (list) và các tài liệu liên quan đến Web site được chứa trong cơ sở dữ liệu SQL Server. Kỹ thuật lưu trữ này cho phép triển khai WSS từ một máy chủ sang thành một cụm mát chủ một cách dễ dàng.
Hình vẽ 3.10: WSS cần một CSDL cấu hình và một hoặc nhiều CSDL nội dung
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.11: 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.
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 .
InstalledWebPartPack ages
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
Các bảng trong cơ sở dữ liệu nội dung:
Tên Mô tả
Categories Liên hệ giữa tài liệu và các vùng chứa chúng 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 . ImmedSubscription
s
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 toá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 SiteGroupMembers
hip
Thành viên của các cross-site groups.
SiteGroups Cross-site groups.
Sites Sites trong CSDL nội dung
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. WebGroupMember
ship
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.12: 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
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.13: 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.14: 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
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ì toà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
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.15: 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.
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