Đồ án Xây Nghiên cứu công nghệ quản trị nội dung SiteFinity và xây dựng hệ thống thông tin sàn chứng khoán

Mục lục

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1

BẢN TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2

Danh sách từ viết tắt 3

Danh mục các bảng 4

Danh sách các hình vẽ 5

Mục lục 6

Lời giới thiệu 9

 

ABSTRACT OF THESIS 10

 

Chương I : TỔNG QUAN VỀ HỆ QUẢN TRỊ NỘI DUNG CMS 11

1 TỔNG QUAN VỀ CÔNG NGHỆ XÂY DỰNG WEBSITE 11

1.1.Kiến trúc website 11

1.2. Công nghệ xây dựng website: 14

2.Giới thiệu về hệ quản trị nội dung CMS 17

2.1. Một số khái niệm cơ bản 17

2.1.1 Hệ quản trị nội dung 17

2.1.2. Nội dung 17

2.1.3. Thành phần của nội dung 18

2.2. CMS.NET nhìn nhận và tiếp cận theo khía cạnh công nghệ học phần mềm. 19

2.2.1. Xác định yêu cầu của hệ thống CMS 19

2.2.1.1. Các chức năng cơ bản của một hệ thống CMS 19

2.2.1.2. Bổ sung các yêu cầu hiện nay đối với hệ thống CMS chuyên nghiệp 19

1.2.3 Các thành phần của CMS 20

2.3.1 Ứng dụng quản lý nội dung CMA 21

2.3.2 ứng dụng quản lý nội dung thông tin MMA 23

2.4 Đặc trưng nổi bật của Hệ quản trị nội dung 25

2.4.1 Kiểm soát phiên bản (Version Control) 25

2.4.1.2 version control phức tạp 26

2.4.1.3 Tiến trình kiểm soát phiên bản lưu trữ dữ liệu 26

2.4.1.4 Theo dõi phiên bản (Version tracking) 27

2.4.1.5 Cơ chế hồi phục (Rollback) 27

 

CHƯƠNG II. CÔNG NGHỆ CMS - SITEFINITY 29

2.1. Tổng quan về Telerik SiteFinity 29

2.2. Các thành phần cơ bản của Telerik SiteFinity 30

2.3. Mô hình lập trình 32

2.3.1. Lập trình với Visual Studio 32

2.3.2. Truy xuất cơ sở dữ liệu 34

2.3.3. Lập trình với Trang chủ và các mẫu (templates). 41

2.3.4. Lập trình với bộ duyệt site 41

2.3.5. Làm việc với các điều khiển 43

2.3.6. Làm việc với các mô-đun 44

2.3.6.1. Sử dụng module sẵn có : 44

2.3.6.1. Xây dựng module tích hợp vào Sitefinity: 47

2.3.7. Vấn đề bảo mật trong SiteFinity 51

2.4. Kết luận 53

 

CHƯƠNG III: KHẢO SÁT VÀ PHÂN TÍCH BÀI TOÁN 54

1 Giới thiệu về bài toán cần xây dựng 54

2. Xác định vấn đề 54

3. Phân tích yêu cầu bài toán 54

3.1.Tin chứng khoán : 54

3.2.Tin công ty : 55

3.3.Tin công ty niêm yết: 55

3.3.1. Công ty : 55

3.3.1.1. Tổng quan công ty : 55

3.3.1.2. Hồ sơ doanh nghiệp : 56

3.3.1.3. Thống kê cơ bản : 56

3.3.1.4. Cáo bạch báo cáo tài chính : 58

3.3.2. Quyền sở hữu : 58

3.3.2.1. Cổ đông chính : 58

3.3.2.2. Giao dịch nội bộ : 58

3.3.3. Công bố thông tin : 58

3.3.4. Biểu đồ kỹ thuật : 58

3.3.5. Báo cáo tài chính : 59

3.3.6. Truy vấn giá : 59

4. Đặc tả của một số use case chính đối với người sử dụng : 59

4.1. Usecase xem thông tin báo giá chứng khoán 59

4.2. Usecase xem kết quả khớp lệnh 59

4.3. Usecase xem tìm kiếm thông tin các công ty niêm yết 60

5. Thiết kế cơ sở dữ liệu : 60

5.1. Các bảng CSDL về thông tin công ty: 60

5.2. Quan hệ các bảng CSDL : 74

5.2.1.Công ty phát hành cổ phiếu : 74

5.2.2. Báo cáo tài chính : 74

5.2.3. Hệ thống : 75

5.2.4. Giao dịch nội bộ : 75

5.2.5. Thông tin các cổ đông lớn : 76

5.2.6. Lãnh đạo, cơ cấu cổ đông, cáo bạch : 76

5.3. Các bảng CSDL về thông tin giao dịch 77

5.3.1. STS_Market_info : 77

5.3.2. STS_StocksInfo : 78

5.3.3. STS_Order : 84

5.3.4. STS_Trading : 87

3.6. Các biểu đồ tuần tự 88

3.7. Kết luận : 89

 

CHƯƠNG IV. TRIỂN KHAI ỨNG DỤNG VÀ TỔNG KẾT ĐÁNH GIÁ 90

1. Triển khai ứng dụng 90

2. Tổng kết đánh giá 91

Tài liệu tham khảo 92

 

 

doc92 trang | Chia sẻ: maiphuongdc | Lượt xem: 2326 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây Nghiên cứu công nghệ quản trị nội dung SiteFinity và xây dựng hệ thống thông tin sàn chứng khoán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
u get” (giao diện soạn thạo trực quan) với một tiến trình luồng làm việc có nhiệm vụ theo dõi trang trong toàn bộ tiến trình từ việc tạo ra, sửa đổi đến xét duyệt để đưa lên Web site. Mặc dù rất nhiều web site có thể được xây dựng ngay trong giao diện người dùng của Sitefinity, nhưng Sitefinity còn bao gồm một kiến trúc module mở cung cấp cho người phát triển một tập giao diện lập trình ứng dụng đầy đủ (API). Những API này có thể thực hiện những nhiệm vụ thông thường như quản lý an ninh, thay đổi dòng làm việc, và tương tác trực tiếp với máy CMS (CMS engine). Bằng cách sử dụng API của Sitefinity trong môi trường Visual Studio, chúng ta có thể thiết kế những chức năng mà Sitefinity không cung cấp, tạo module của riêng mình và tích hợp bất cứ thành phần nào của ASP.NET mà chúng ta thích vào trong Web site. Chúng ta có thể làm 3 việc với Sitefinity, đó là chỉnh sửa giao diện của web site, mở rộng phần chức năng của Web site trong trường hợp chức năng cần có chưa được thiết kế mặc định trong Sitefinity, và cuối cùng, chúng ta có thể sử dụng các hàm API của Sitefinity để xây dựng một chức năng mới ở phần đỉnh của Sitefinity. Chỉnh sửa giao diện của Web site Một trang web cần phải xác định cấu trúc và hình thức. Cấu trúc được xác định qua Master Page và Template. Hình thức được xác định qua Theme và Skin. Theme bao gồm file CSS, file skin và các file hình ảnh tương ứng. Ví dụ: Xem hình vẽ dưới đây Hình 2. 1 – Cấu trúc trang trong Sitefinity Mở rộng Sitefinity để đáp ứng yêu cầu của Web site Khi muốn thêm một chức năng nào đó mà Sitefinity chưa cung cấp, ta có 3 cách: Thứ nhất, chúng ta có thể kết hợp một vài control có sẵn thành một control ( ví dụ có thể kết hợp control Label với control RadRotator) Thứ 2, tạo ra một Intra module. Thứ 3, tạo một Pluggable module. Việc tạo một Intra module dễ dàng hơn rất nhiều việc tạo một Pluggable module nhưng nó giới hạn chúng ta chỉ có thể sử dụng nó trong một cài đặt nhất định của Sitefinity. Lập trình với Sitefinity Khi tạo ra một chức năng mới chúng ta có thể sử dụng các hàm API mạnh mẽ và linh hoạt của Sitefinity. Điều đó có nghĩa là chúng ta có thể xây dựng chức năng ở trên đỉnh của Sitefinity mà không cần thiết phải tạo ta một cái gì đó hoàn toàn khác biệt. Các thành phần cơ bản của Telerik SiteFinity Telerik SiteFinity chứa hai thành phần cơ bản là trang (page) và các điều khiển (controls). Có bốn thành phần cấu thành một trang trong SiteFinity là trang chủ (master page), mẫu (template), nền (theme) và hình thể (skin). Đối với điều khiển chúng ta có thể sử dụng các điều khiển có sẵn hoặc xây dựng mới các điều khiển. Chúng ta sẽ tìm hiểu kỹ hơn về điều khiển trong phần mô hình lập trình. Ngoài ra, Sitefinity cung cấp cho bạn một cơ sở hạ tầng mạnh mẽ để xây dựng những hệ thống quản lý an ninh, dòng làm việc…Không chỉ có thế, bạn còn có thể sử dụng cơ sở hạ tầng này vào trong module của mình. Quản lý bảo mật dựa trên cơ chế phân quền và phân vai trò người dùng. Quản trị dựa trên cơ chế phân công trách nhiệm (role-based). Các mô-đun có thể gắn vào SiteFinity một cách động. Hiện tại phiên bản 3.1. cung cấp sẵn các mô-đun sau: Generic content, News, Blogs, Lists, Polls, Forums. Sau đây chúng ta sẽ xem xét một số khái niệm cơ bản trong SiteFinity. Các trang chủ (Master Pages) Là một thành phần của ASP.NET 2.0 cho phép bạn xác định cách trình bày chung cho nội dung chữ và đồ họa của trang web. Ví dụ, bạn có thể dùng master pages để xác định chuẩn cho headers và footers của tất cả các trang trong một web site. Nội dung của master page được lưu trong một file riêng và có thể được kế thừa bởi những trang web khác. Người sử dụng không thể thay đổi master page thông qua Sitefinity. Nếu cần thay đổi master pages, ta phải dùng Visual Studio. Các mẫu (template) Trong Sitefinity xác định cấu trúc và tổ chức của các place-holder trên một trang web. Người sử dụng có thể chọn các control để đặt vào trong các vùng chứa nội dung trong bất cứ trang nào. Vì vậy 2 trang sử dụng cùng một template có thể trông rất khác nhau. Một master page có thể được sử dụng bởi nhiều template. Một template có thể được sử dụng bởi nhiều trang web. Hình 2. 2 – Tempalate mẫu trong Sitefinity Theme và skin là 2 công cụ bổ sung giúp bạn có thể chỉnh sửa hình thức của page và control. Nền (Themes) Là một tập các thuộc tính cài đặt xác định hình thức của page và control trên web site. Bằng cách sử dụng theme ta có thể thay đổi giao diện của page mà không ảnh hưởng đến chức năng của chúng. Theme gồm có: Cascading style sheet files (.css) Skin flies (.skin) Graphics files Hình thể (Skins) Xác định hình ảnh đồ họa của những control riêng lẻ ( ví dụ như nút bấm và nhãn) mà không ảnh hưởng đến chức năng của chúng. History: Telerik Sitefinity theo dõi và lưu trữ toàn bộ quá trình sửa đổi nội dung. Khi một user thay đổi một nội dung nào đó, những thay đổi đó được lưu lại thành một phiên bản mới của nội dung ban đầu. Nội dung ban đầu được lưu lại trong CSDL và có thể phục hồi một cách dễ dàng. Bạn có thể xem bất cứ phiên bản nào của trang và phục hồi trở lại bất cứ phiên bản nào trước đó (tất cả các phiên bản sau phiên bản được phục hồi sẽ bị xóa). Mô hình lập trình Vì SiteFinity là một giải pháp trên nền .Net nên chúng ta có thể sử dụng Visual Studio 2005 để lập trình, thao tác. Với công cụ lập trình mạnh như Visual Studio và một bộ thư viện, bộ khung phong phú SiteFinity cho phép chúng ta tạo ra các ứng dụng web một cách nhanh chóng và tính năng phong phú. Lập trình với Visual Studio Chúng ta có thể mở bất cứ trang web nào của Sitefinity bằng Visual Studio 2005 bằng cách chọn File à Open à Web Site rồi chỉnh đến đường dẫn tới trang web của bạn và bấm open. Vì Sitefinity lưu các page trong CSDL nên khả năng chỉnh sửa các page bằng VS bị hạn chế. Bạn chỉ có thể sửa template, theme hay các page không được quản lý bởi VS. Sau đây sẽ trình bày cách thao tác với Visual Studio. Khi bạn tạo một project với Sitefinity, một .NET web project sẽ được tạo bao gồm Sitefinity engine và web site mà bạn quản lý với Sitefinity. Nó gồm có các thư mục như hình vẽ dưới đây: Hình 2. 3 – Cấu trúc thư mục trong Visual Studio Trong đó: Thư mục App_Browsers chứa các file với các cài đặt về form adapter có đuôi .browser. Thư mục App_Data chứa các file CSDL và file module tìm kiếm Thư mục App_Master chứa các file master page có đuôi .master Thư mục App_Themes chứa các thư mục theme với các file .css, .skin, file hình ảnh,… Thư mục bin chứa các file assembly dạng .dll và .xml Thư mục File chứa các file ngoài được nạp vào project Thư mục Images chứa các file hình ảnh ngoài Thư mục RadContrl chứa các thành phần của RadControl như script, skin Thư mục Sitefinity chứa các cài đặt cms. Thư mục App_Data: Chứa 2 thư mục - một dùng chứa thông tin CSDL và thông tin của module tìm kiếm. CSDL là nơi Sitefinitty lưu các page và control được sử dụng bởi trang web nó quản lý. Mặc định nó là CSDL SQL Server 2005 và được đặt tên là Sitefinity.mdf. CSDL có thể được quản lý bởi Server Explorer. Ngoài ra, có một file text sitefinity.log ghi lại các thông tin lỗi của chương trình. Một thư mục khác trong App_Data là Search. Nó lưu dữ liệu về mỗi danh mục tìm kiếm được đăng ký bởi admin thành một thư mục con. Thư mục App_Master: Chứa master page có thể được sử dụng bởi các page trong web site. Mỗi Master page trong thư mục có thể liên quan đến một hoặc nhiều sự lựa chọn template để tạo một page. Bạn có thể tạo hay chỉnh sửa một master page theo ý muốn bằng Visual Studio. Thư mục App_Themes: Chứa các theme có thể được sử dụng trong các page. Mỗi theme trong thư mục tương ứng với một lựa chọn khi bạn tạo một page mới. Bạn cũng có thể chỉnh sửa hay thêm theme mới bằng Visual Studio 2005. Thư mục bin: Chứa tất cả các file Assembly cần để tham chiếu bởi các file trong web site. Nếu có những file Assembly ở các ngôn ngữ không phải tiếng Anh thì chúng cũng được lưu trong thư mục bin. Thư mục Sitefinity: Thư mục Sitefinity có thể chia thành 2 phần chính: Thư mục Admin và các thư mục còn lại. Thư mục Admin chứa tất cả những thông tin cần thiết để cài đặt phần admin trong Sitefinity. Phần còn lại của thư mục dùng để thiết lập các cài đặt để hiển thị phần public trong web site. Thư mục Admin: Chứa các web page tạo thành giao diện người quản trị. Nó gồm có các thư mục con sau: App_LocalResources chứa những tài nguyên được sử dụng bởi trang web trong giao diện người quản trị. CmsAdmin chứa các page quản lý người dùng, vai trò, và phân quyền. ControlTemplates chứa các templates cho control được sử dụng bởi trang web trong giao diện người quản trị. Scrips được sử dụng trong chế độ debug. Khi không ở trong chế độ đó, file .dll chứa các tài nguyên và không thể chỉnh sửa được. Theme chứa những file hình ảnh và skin sử dụng bởi trang web trong giao diện người quản trị. Khi thao tác với các dự án SiteFinity để phát triển các dịch vụ web chúng ta thao tác với các tệp và các thư mục đã giới thiệu ở trên. Tùy thuộc vào trường hợp cụ thể, ứng dụng cụ thể mà chúng ta phát triển có các phương pháp, cách tiếp cận, thao tác khác nhau. Với bất kỳ ứng dụng nào, CSDL đều đóng vai trò rất quan trọng. Phần sau chúng ta sẽ trình bày cách thao tác với CSDL và vai trò của nó trong ứng dụng SiteFinity. Truy xuất cơ sở dữ liệu Sitefinity sử dụng một phên bản nhúng của Nolics.net2005 engine cho tất cả các kết nối dữ liệu. Nolics.net cung cấp một lớp ánh xạ quan hệ - đối tượng cho phép bạn làm việc trực tiếp với đối tượng ngay trong code, trong khi đó chương trình tự động tạo ra những câu lệnh SQL cần thiết để cập nhật CSDL. Mặc định Sitefinity sử dụng CSDL SQL Server để lưu giữ nhiều loại thông tin, tuy nhiên chúng ta có thể cấu hình để triển khai CSDL trên các hệ quản trị cơ sở dữ liệu khác; cơ sở dữ liệu lưu trữ gồm có: Page trong web site. Page tạm thời. Người dùng, vai trò và phân quyền. Dữ liệu chứa trong pluggable module. Thông tin dòng làm việc. Kết nối dữ liệu trong Sitefinity sử dụng Nolics.net 2005: Nolics.net 2005 sẽ tự động tạo ra mã nguồn và các lớp để thực hiện chức năng tương tác với CSDL, tạo các thể hiện của đối tượng dữ liệu và các phép toán dữ liệu như thêm, cập nhật… Nolics.net 2005 là một ngôn ngữ đặc trưng được tích hợp vào trong Visual Studio 2005 và cung cấp chức năng định nghĩa và duy trì đối tượng trong kho dữ liệu. Hai thành phần chính của Nolics.net là định nghĩa một đối tượng đã tồn tại và các hành động của nó. Tất cả định nghĩa logic cấu trúc dữ liệu và hành động của đối tượng trong một module được chứa trong những lớp định nghĩa dữ liệu. File .dbclass (ví dụ Job.dbclass) chứa định nghĩa đối tượng, file .Designer.cs (ví dụ Job.Designer.cs) chứa phần code được tạo ra bởi Nolics dựa trên file .dbclass, và partial class đi kèm (Job.cs) chứa các hành động. Các đối tượng của CSDL, ví dụ table, stored procedure… , được tạo ra bởi Nolics.net từ file định nghĩa cấu trúc dữ liệu .dbclass nên ta không cần phải tạo hay sửa đổi các đối tượng này một cách trực tiếp. Cách tạo mới một lớp CSDL: Bước đầu tiên là định nghĩa một cấu trúc dữ liệu sử dụng Nolics.net Bấm chuột phải vào thư mục sẽ chứa lớp định nghĩa dữ liệu (.dbclass) Chọn Add New Item Từ trong danh sách hiện ra, chọn Nolics.net Database Class Hình 2. 4 – Định nghĩa cấu trúc dữ liệu sử dụng Nolics.Net Điền tên của lớp mới rồi bấm add. Một file định nghĩa .dbclass sẽ được tạo ra. Chú ý: không thay đổi nội dung của file .Designer.cs. Điều đó sẽ được chương trình làm một cách tự động. Bước tiếp theo là định nghĩa một đối tượng lưu trữ: Định nghĩa sự tồn tại của một đối tượng dữ liệu được xác định trong các lớp sử dụng ngôn ngữ Nolics.net là sự kết hợp giữa định nghĩa các thuộc tính của một đối tượng và định nghĩa các cột trong CSDL. Ví dụ sau đây là định nghĩa của đối tượng Job trong file mẫu Job.dbclass: /// ///Definition of the Job object data. /// dbclass Job [TableName="sf_Jobs_Job"] {    primary key guid ID[AutoGenGUID=True];    string JobName[Length=100];    string Description;    bool Active;    modified date DatePosted; } Cấu trúc dữ liệu tương tự như định nghĩa một cấu trúc bảng mà ở đó mỗi thành phần dữ liệu được gắn với một cái tên và kiểu dữ liệu. Hơn nữa, mối quan hệ giữa các đối tượng có thể được xác định giống quan hệ khóa chính – khóa ngoài giữa các bảng trong CSDL. Ví dụ, trong module mẫu Jobs, đối tượng Job Type quan hệ với đối tượng Job qua một liên kết. Điều này được ứng dụng trong việc tạo bảng trong CSDL và sinh code trong file .Designer.cs Chú ý: không được thay đổi các đối tượng của CSDL. CSDL sẽ được tự động cập nhật khi ta thay đổi các đối tượng dữ liệu. Định nghĩa các truy vấn Để bổ sung cho việc xác định cấu trúc dữ liệu, các truy vấn có thể được định nghĩa cho việc kết nối dữ liệu. Sau đây là một ví dụ về sử dụng truy vấn tĩnh để tìm ra các active jobs: /// /// Get a collection of all active jobs sort by date posted. /// query GetActiveJobs for Job [ProcedureName = "sf_Job_GetActiveJobs",OrderBy="DatePosted DESC"] {  string Title ?like Title; } Đây là một truy vấn tĩnh, truy vấn mà giá trị và kiểu của tham số không bị thay đổi khi thực hiện. Truy vấn động cho phép điều ngược lại. Điều này được ứng dụng để tạo các store procedure trong CSDL và code trong file .Designer.cs Có một chú ý quan trọng là một truy vấn trả lại một tập các đối tượng, trong ví dụ này là một tập các đối tượng Job. Định nghĩa các hành động cho đối tượng Hành động được định nghĩa cho đối tượng bằng cách cài đặt các phương thức dựa trên các giao diện chuẩn xử lý sự kiện liên quan đến sự tồn tại của đối tượng. Bảng sau đây liệt kê các sự kiện chuẩn và các giao diện tương ứng với chúng. Event Interface Description Create IOdbEventCreate Gọi khi thêm vào một đối tượng. Delete IOdbEventDelete Gọi khi xóa một đối tượng. Verify (Validation) IOdbEventVerify Gọi trước khi save một đối tượng. Persist IOdbEventPersist Gọi khi load hoặc save một đối tượng. Bảng 2. 1 – Các sự kiện trong Nolics Để cài đặt một hay nhiều những hành động này, một partial class được tạo ra dựa trên một hay nhiều giao diện tương ứng. Ví dụ sau đây từ file Job.cs chứa một cài đặt của giao diện Create được gọi khi đối tượng được tạo ra. Đây cũng là một cách để đặt giá trị mặc định cho các thuộc tính và các hoạt động khác. partial class Job: IOdbEventCreate {  public void CreateObject(OdbDataProvider provider)  {    //Logic while creating the object  } } Tất cả các giao diện là tùy chọn, vì vậy hãy cài đặt chúng khi bạn cần một chức năng nào đó trong một sự kiện, ví dụ như tạo một đối tượng. Cài đặt Business Logic liên quan Để bổ sung cho việc định nghĩa các hành động, partial class có thể chứa bất kỳ business logic ( phương thức, thuộc tính…) được yêu cầu bởi kiến trúc của ứng dụng. Ví dụ khi bạn cần một vài xác nhận phức tạp khi lưu dữ liệu trong một đối tượng, bạn có thể tạo ra một vài phương thức private trong partial class và sau đó gọi chúng bằng sự kiện xác nhận. Sử dụng đối tượng dữ liệu trong code Khi các đối tượng dữ liệu được định nghĩa, các thể hiện có thể được tạo ra cũng như các đối tượng khác. Ví dụ sau đây chỉ ra cách tạo một thể hiện của lớp Job: Job job = new Job(); Khi một thể hiện được tạo ra, nó có thể được sử dụng trong liên kết với các lớp và phương thức để thực hiện các hàm dữ liệu chuẩn như chọn, thêm, sửa, và xóa. Chú ý: các hàm dữ liệu được quản lý một cách trong suốt bởi Nolics.net. Bạn chỉ có thể tác động lên các đối tượng thông qua các lớp và phương thức. Sử dụng OdbClass để thực hiện các hàm dữ liệu Odbclass là một lớp tĩnh của Nolics.net 2005 được sử dụng để thực hiện các hàm cơ bản như gắn các đối tượng với các giao dịch và nạp dữ liệu. Ví dụ sau đây biểu diễn cách tạo một thể hiện một đối tượng Job sử dụng Odbclass. Tất cả các phương thức của Nolics.net sử dụng một giao dịch. /// /// Creates new job. /// /// A reference to a transaction to be used for the operation. /// Reference of the newly created job object. /// /// Note that the actual creation occurs when the transaction assoicated /// with the job is committed. /// public override Job CreateJob(Transaction transaction) {  //There must be a transaction to complete the operation.  if (transaction == null)  {    throw new ArgumentNullException("Transaction is null for creating a job.");  }  //Create (insert) the new job object.  Job job = new Job();  OdbClass.Create(job, transaction);  return job; } Giao dịch trong Nolics.net 2005 Nolics.net 2005 yêu cầu mỗi đối tượng phải được liên kết với một giao dịch mức đối tượng trước khi nó có thể được thêm, sửa, hay xóa. Vì vậy, sau khi tạo một thể hiện cho một lớp, đối tượng phải được liên kết với một giao dịch sử dụng phương thức tĩnh OdbClass.Create() Transaction transaction = new Transaction(); Job job = new Job(); OdbClass.Create(job, transaction); Trước khi đối tượng được liên kết với một giao dịch thì nó phải có một khóa chính. Khóa chính này có thể được tạo ra một cách tự động khi định nghĩa đối tượng hoặc được người dùng gắn vào thể hiện của đối tượng trước khi liên kết nó với một giao dịch. Một dữ liệu đã có có thể được nạp vào một thể hiện của một đối tượng và tham gia vào một giao dịch. Job job = new Job(); job.ID = id; OdbClass.LoadByPrimaryKey(job); //Add the job to a Nolics.net transaction (required). transaction.Join(job); Nâng cấp CSDL trong quá trình phát triển Các đối tượng CSDL trong một module được tạo ra một cách tự động trong CSDL khi module được nạp bởi Sitefinity. Tuy nhiên, sẽ có thể có ích nếu ta tự gọi một CSDL rồi nâng cấp nó để tạo ra các đối tượng trong quá trình phát triển. Các bước như sau (xem hình vẽ dưới đây): Bấm chuột phải vào module trong Solution Explorer Chọn Upgrade Database(s) Chọn file .config sử dụng để nâng cấp Chọn Check để bỏ qua các bược nâng cấp hoặc chọn Upgrade để thực hiện toàn bộ quá trình nâng cấp. Hình 2. 5 – Nâng cấp CSDL Tạo một file cấu hình để nâng cấp CSDL Để nâng cấp một CSDL cần phải có một file app.config nằm trong data access project. Để tạo một file app.config và cài đặt xâu liên kết Nolics.net, ta làm như sau: Bấm chuột phải lên file Data Access Class Library project trong Solution Explorer và chọn Add New Item. Chọn Application Configuration File và bấm Add Từ Tools menu chọn Edit Connections Chọn file app.config từ danh sách các file cấu hình trong solution Xác định xâu liên kết sử dụng Connection Editor Sau khi hoàn tất CSDL, cấu hình cấu hình được lưu trữ trong thư mục App_Data của dự án SiteFinity. Lập trình với Trang chủ và các mẫu (templates). Trang chủ và mẫu là hai thành phần cơ bản, nó giống như là các trang trong ASP.net 2005. Việc lập trình và phát triển hoàn toàn giống với lập trình và phát triển trang trong ASP.net. Chúng là nơi lưu dữ thể hiện các điều khiển, các thành phần khác của trang web. Trong SiteFinity chúng ta có thể tạo ra chúng bằng cách kích chuột phải vào SiteFinity Project à Create A Master Page / Template. Ngoài ra chúng ta có thể tùy biến các trang chủ đã có bằng cách kế thừa và phát triển thêm các tính năng cho chúng. Lập trình với bộ duyệt site Bộ duyệt site cho phép người dùng, người quản trị nhánh chóng định vị các site một cách dễ dàng và đơn giản. Navigation controls trong sitefinity 3.1 là có: Dynamic Hyper Link Site Menu Site Panelbar Site Tabstrip Site Treeview Breadcrumb Hyper Link Language Selector Navigation controls là một seri của người điều khiển gồm 4 loại : RadPanelBar RadTabStrip RadMenu RadTreeview Nếu bạn muốn thực hành một vài thứ mà không thể thấy, bạn cần truy cập vào code, chỗ: /Sitefinity/UserControls. Code này được viết trên môi trường C# và VB nhưng hộp công cụ chỉ chứa C# controls. Nếu bạn rành về VB, bạn có manually edit the web.config để thay thế C# controls. Ngầm định, RadPanelBar resets trạng thái của nó khi người sử dụng quản lý một trang khác. Việc này thường không thích hợp cho một số trường hợp, như người sử dụng muốn mẩu tin đã được mở ra. RadPanelBar là một thuộc tính đã gọi PersistStateInCookie. Nếu bạn để thuộc tính True thì RadPanelBar sẽ nhớ tình trạng sau khi nó điều khiển. Hình 2. 6 - Định nghĩa thuộc tính điều khiển PadpanelBar Tính chất này không đưa ra SitePanelbar. Nhưng nó chính là thuộc RadPanelbar. Để thay đổi đặc tính này, chỉnh sửa SitePanelBar, ở trong mục Misc, tìm PanelBar, click vào edit để chỉnh sửa properties of original RadPanelBar. Ở đây, bạn có thể tìm thấy đặc tính PersistStateInCookie Hình 2. 7 - Sửa đổi điều khiển PadpanelBar Setting the Group Page Display: sắp đặt, trình bày những trang trong site. Sitefinity có 2 loại trang, trang nhóm và loại thường . Group pages không có nội dung gì, và chỉ đáp ứng cho một mục đích- đó là để một địa chỉ mới trang con đầu tiên của nó. SitePanelbar có thể chạy hai cách khi bạn có nhóm trang trong hệ thống của bạn. Cách này hay cách khác, để địa chỉ mới trang con đầu tiên, hay chỉ phát triển trang con trong nhóm trang. Behavior là được điều khiển bởi thuộc tính HideUrlForGroupPages, nó là false do ngầm định. Khi đặt true, thì bạn nhấp chuột sẽ đưa bạn tới trang con.( cả đoạn trên có nghĩa là: trong site có 2 loại trang, một loại trang chứa tiêu đề hay chính là đường link đến các trang khác, gọi là “trang nhóm-group”. loại thứ 2 là loại trang không chứa đường link nào cả, gọi là trang con. Các thuộc tính trên có được là nhờ vào HideUrIForGroupPages trong behavior. False là do ngầm định, true là khi bạn nhấp chuột, nó sẽ đưa bạn tới trang con). Một hữu ích chủ yếu của navigation control là có thể chỉ ra trang hiện thời đang chọn. Một cách thông thường để sử dụng SiteMapPath control. Tuy nhiên, ở thứ tự cao của tìm kiếm mục trên menu thì cái styte cũng nên đổi. siteTabstrip và sitetmenu điều khiển cung cấp hàm của lớp CSS cho việc chọn lựa mục. Làm việc với các điều khiển SiteFinity là sản phẩm của Telerik. Nó được tích hợp sẵn với bộ thư viện điều khiển RadControls. Với các điều khiển chính sau, chúng ta có thể sử dụng chúng để phát triển SiteFinity: RadAjax: là bộ khung cho phép code ít hơn nó cho phép các ứng dụng của ASP.NET RadCalendar: nói về lịch. Nó gồm 2 loại tương ứng cho client và sever. Nó có nhiều tính năng hiển thị những ngày tháng kề sát, hiển thị nhiều tháng và ngữ cảnh menu. RadChart: là bộ phận biểu đồ hướng đến doanh nghiệp,cái chính là phát triển sản phẩm và dễ dàng sử dụng. Nó có thể tạo ra các kiểu biểu đồ thông thường. Nó cho phép bạn hiển thị dữ liệu trông rất thân thiện. RadComboBox: danh sách các điều khiển các danh sách từ trên bổ xuống. Nó nằm trong AJAX dựa trên tải những cái gì mà máy cần cho sự thực thi cao hơn. Sản phẩm gồm một số tính năng cao cấp như nhiều chỉ mục tự động hoàn thành, nhiều cột lưới và hearder, các chữ quảng cáo. RadDock: một bộ phận linh hoạt dùng cho trang cá nhân. Nó miêu tả vùng chứa nội dung. Cái mà có thể dịch chuyển, cắt ngắn, đưa lại kích thước yêu cầu. Những layout tuỳ chỉnh trang có thể được lưu trong 1 file hoặc cơ sở dữ liệu và nạp lại. RadEditor: đây là trình soạn thảo thấy gì được nấy. Nó có thể thay thế một textbox với một từ trực giác trong trình soạn thảo. Nó cho phép những người sử dụng không biết công nghệ quản lí bề ngoài nội dung HTML. RadGrid: Nó thiết kế làm cho deskop giống như người sử dụng đã có kinh nghiệm với một bước chân nhỏ nhất. Thêm vào đó bên trong AJAX hỗ trợ hầu hết sự thực thi thời gian thực. RadInput: một bộ phận tuỳ chỉnh cao điều khiển dữ liệu vào trong ứng dụng ASP.NET. Nó bao gồm hai điều khiển đó là Masked TextBox and Date Input. Nó làm cho những tính năng dòng đầu tiên có thể được lựa chọn. Nó hỗ trợ bàn phím copy&paste. RadMenu: nó có hầu hết các điều khiển điều hướng cao cấp cho ASP.NET. Nó cho phép bạn xây dựng nhanh. Nó siêu hiệu quả trong công nghệ rending.(rending biến hình vẽ phác thành hình không gian ba chiều). RadPanelBar: là một bộ phận linh hoạt cho phép xây dựng menu có thể gập lại được. Nó phát triển nhằm sự điều hướng bên trái/ phải được dễ dàng. Nó không thể có được nhờ thiết kế menu thông thường. RadRotator: một bộ phận vạn năng cho sự luân phiên nội dung DHTML. Những thanh cuộn tin tức, sự rọi sáng vào tiêu điểm sản phẩm, dự báo thời tiết, giấy chứng thực đang chạy tăng cấp và quảng cáo banner. RadSplitter: đây là điều khiển cho phép bạn xây dựng deskop giống như giao diện ứng dụng có các thanh trượt giống như trong visual studio.NET. mỗi layout có thể gồm không giới hạn các bộ lồng nhau với sự tách ra. Trạng thái tự động tiếp tục trên sever nó có thể được lưu hoặc tải xuyên suốt sự mở rộng API. RadSpell: Cho phép người phát triển thêm kiểm tra chính tả nhiều thứ tiếng. Sản phẩm gồm các tuỳ chỉnh hoàn thành có thể đính kèm bất kì server/client cho phép chỉnh sửa phần tử. Nó có thể sử dụng các công cụ, từ điển của MS word. RadTabStrip: một bộ phận mềm dẻo dùng để xây dựng giao diện tab trong ứng dụng ASP.NET. RadToolBar: là bộ phận mềm dẻo thực thi công cụ và button strips. Nó cần cho các ứng dụng Web. Khi nó kết hợp với telerik RadDock nó bắt chước tính linh hoạt những công cụ của deskop. RadTreeView: cho phép hiển th

Các file đính kèm theo tài liệu này:

  • docBanIn.doc
  • pptBaove.ppt
  • xlsChung khoan.xls
  • docHinhHien.doc
  • docNghiep Vu M.doc
Tài liệu liên quan