CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. TỔNG QUAN VỀ ASP. Khái niệm và lịch sử phát triển ASP.NET MVC là một framework hỗ trợ pattern MVC cho ASP. MVC là cụm từ viết tắt của Model-View-Controller, nó phân chia pattern của ứng dụng thành 3 phần: model, controller và view.
- Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó. Nó là một cơ sở dữ liệu hoặc cũng có thể chỉ là một tập tin XML. - View được coi là một giao diện người dùng được sử dụng bởi khách truy cập trang web của bạn để nhìn thấy các dữ liệu. Các trang ASPX thường được sử dụng để hiển thị view trong các ứng dụng ASP.
- Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web. Nó được sử dụng để xác định loại view nào cần phải được hiển thị. Controller cũng được sử dụng cho mục đích giao tiếp với model. [1] Hình 1 - 1 Mẫu Model - View – Controller [1] 19 Lần đầu tiên được đưa ra thị trường vào tháng 1 năm 2002 cùng với phiên bản 1.NET framework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP).NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi.2 Đặc tính và cấu hình trang asp.net là những trang web form và những web form được chứa trong những file có phần mở rộng ASPX.
Một webform bao gồm trang .aspx và phần mở rộng .cs là nơi chứa code asp.net Những lập trình viên có thể đặt nội dung tĩnh hoặc động vào trang aspx dưới dạng server side, Web Control và User Control.NET cho phép người lập trình có thể chèn code vào trang html bằng cách thêm <% nơi chứa mã asp.net %> việc này hầu như giống với các ngôn ngữ khác như PHP, JSP.3 Ưu điểm nổi bật ASP.NET được xây dựng với bộ thư viện đa dạng và phong phú của .Net Framewrork, hỗ trợ vượt trội về XML và khả năng truy cập cơ sở dữ liệu qua ADO. Bên cạnh đó, ASP và ASPX có thể hoạt động trong cùng một ứng dụng mang lại hiệu năng cao cho website. Có thể nhận thấy ASP.NET mang một phong cách hoàn toàn mới, bạn có thể tách giao diện và code thành 2 phần khác biệt. Điều này giúp cho cho việc quản lý và bảo trì trở nên rõ ràng và đơn giản hơn.
Thiết kế web bằng ASP.NET giúp cho hệ điều hành hoạt động trơn tru cũng như tăng tốc độ tải cho trang web của bạn. Với kiến trúc 20 tương tự như các ứng dụng trên Windows, việc sử dụng cũng trở nên dễ dang hơn rất nhiều. Bên cạnh đó ASP.NET có khả năng tự động tạo ra mã HTML cho các Server để website có thể hoạt động trên hầu hết các trình duyệt được khách hàng sử dụng. Đặc biệt, ASP.N ET là một ngôn ngữ mất phí nên bạn có thể hoàn toàn yên tâm về vấn đề bảo mật của nó.
Với những ưu điểm vượt trội như vậy, ASP.NET luôn được rất nhiều nhà thiết kế web chuyên nghiệp ưa chuộng và sử dụng. Tuy nhiên, nó vẫn còn một số nhược điểm cần khắc phục mà bạn cần chú ý khi xây dựng web doanh nghiệp. Hình 1 - 2 Mô hình xử lý của asp. Nhược điểm Nhược điểm lớn nhất của asp.net mvc đó là không được hỗ trợ chạy trên hệ điều hành Linux và không được hỗ trợ Visual Studio trong suốt quá trình viết code.
Tuy nhiên, với ASP.NET, người dùng có thể sử dụng bất kỳ một ngôn ngữ nào như C#, J# hay Visual Basic.net… sao cho phù hợp với website của bạn. Ngoài ra, ASP.NET sẽ hỗ trợ bạn biên dịch các website động và biến chúng thành các file DLL để server có thể thực thi các mệnh lệnh một các nhanh chóng và hiệu quả nhất. Ngoài ra, chi phí cho một website được thiết kế từ ASP.NET cũng cao hơn rất nhiều so với các mã nguồn mở miễn phí khác. TỔNG QUAN VỀ SQL SERVER 1.1 Khái niệm và lịch sử phát triển SQL server chính là cụm từ viết tắt của Structure Query Language được sử dụng nhiều trong các lĩnh vực bởi chức năng quản lý dữ liệu.
Các ngôn ngữ cấp cao như: Visual C, Oracle, Visual Basic,… đều có trình hỗ trợ là SQL. Những ứng dụng khi chạy phải sử dụng SQL khi người dùng truy cập tới cơ sở dữ liệu thì không cần sử dụng trực tiếp SQL. Sử dụng bộ nhớ nội tại để lưu giữ phần công việc, giúp truy cập dữ liệu nhanh hơn. SQL Server được phát triển từ ngôn ngữ SEQUEL2 bởi IBM theo mô hình Codd tại trung tâm nghiên cứu của IBM ở California,vào những năm 70 cho hệ thống QTCSDL.
Đầu tiên SQL Server được sử dụng trong các ngôn ngữ quản lý CSDL và chạy trên các máy đơn lẻ. Song do sự phát triển nhanh chóng của nhu cầu xây dựng những CSDL lớn theo mô hình khách chủ (trong mô hình này toàn bộ CSDL được tập trung trên máy chủ (Server). Mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ). Ngày nay trong các ngôn ngữ lập trình bậc cao đều có sự trợ giúp của SQL.
Nhất là trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóng vai trò quan trọng hơn. Nó được sử dụng để nhanh chóng tạo các trang Web động. SQL đã được viện tiêu chuẩn quốc gia Mỹ (ANSI)và tổ chức tiêu chuẩn quốc tế (ISO) chấp nhận như một ngôn ngữ chuẩn cho CSDL quan hệ .Nhưng cho đến nay chuẩn này chưa đưa ra đủ 100%.Nên các SQL nhúng trong các ngôn ngữ lập trình khác nhau đã được bổ xung mở rộng cho SQL chuẩn cho phù hợp với các ứng dụng của mình.Do vậy có sự khác nhau rõ ràng giưã các SQL.2 Các khái niệm về sql server SQL là một ngôn ngữ đòi hỏi có tính tương tác cao: Người dùng có thể dễ dàng trao đổi với các tiện ích thông qua các câu lệnh của SQL đến cơ sở dữ liệu và nhận kết quả từ cơ sở dữ liệu. SQL là một ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể xây dựng các chương trình ứng dụng giao tiếp với cơ sở dữ liệu bằng cách nhúng các câu lệnh SQL vào trong ngôn ngữ lập trình.
SQL là một ngôn ngữ lập trình quản trị cơ sở dữ liệu: Người quản trị cơ sở dữ liệu có thề quản lý, định nghĩa và điều khiển truy cập cơ sở dữ liệu thông qua SQL. SQL là một ngôn ngữ lập trình cho các hệ thống chủ khách: SQL được sử dụng như là một công cụ giao tiếp với các trình ứng dụng trong hệ thống cơ sở dữ liệu khách chủ. SQL là ngôn ngữ truy cập dữ liệu trên Internet: SQL được sử dụng với vai trò tương tác với dữ liệu trong hầu hết các máy chủ web và máy chủ Internet. SQL là ngôn ngữ cơ sở dữ liệu phân tán: Với vai trò giao tiếp với các hệ thống trên mạng, gửi và nhận các yêu cầu truy xuất dữ liệu với nhau.
TỔNG QUAN VỀ ANGULARJS 1. Khái niệm và lịch sử phát triển AngularJS là một framework ứng dụng web có mã nguồn mở. Nó đã được phát triển vào năm 2009 bởi Misko Hevery và Adam Abrons.Tính đến thời điểm hiện tại nó đang được duy trì bởi Google. Chúng ta có thể hiểu định nghĩa cụ thể về AngularJS như sau: AngularJS là một framework có cấu trúc cho các ứng dụng web động.
Nó cho phép bạn sử dụng HTML như là ngôn ngữ mẫu và cho phép bạn mở rộng cú pháp 23 của HTML để diễn đạt các thành phần ứng dụng của bạn một cách rõ ràng và súc tích. Hai tính năng cốt lõi: Data binding và Dependency injection của AngularJS loại bỏ phần lớn code mà bạn thường phải viết. Nó xảy ra trong tất cả các trình duyệt, làm cho nó trở thành đối tác lý tưởng của bất kỳ công nghệ Server nào. Các đặc tính của AngularJS AngularJS là một Framework phát triển mạnh mẽ dựa trên JavaScript để tạo các ứng dụng RICH Internet Application (RIA).
AngularJS thường dùng để phát triển frontend (giao diện khách hàng) thông qua các API để gọi data, sử dụng mô hình MVC rất mạnh mẽ Angular là mã nguồn mở, hoàn toàn miễn phí và được phát triển bởi hàng ngàn các lập trình viên trên thế giới. Các ứng dụng được viết bởi AngularJS tương thích với nhiều phiên bản trình duyệt web. AngularJS tự động xử lý mã JavaScript để phù hợp với mỗi trình duyệt. AngularJS cung cấp cho lập trình viên những tùy chọn để viết các ứng dụng client- side trong mô hình MVC (Model View Controller) một cách rõ ràng 1.
Các tính năng chính của AngularJS Data-binding: Tự động đồng bộ hóa dữ liệu giữa Model và View. Module: dùng để định nghĩa một ứng dụng AngularJS. Module giống như một chiếc hộp để chứa các thành phần khác của ứng dụng bên trong nó. Module còn được gọi là một container của ứng dụng.
Scope: Là những đối tượng hướng đến model. Nó là cầu nối giữa Controller và View. Controller: Là những hàm JavaScrip xử lí kết hợp với Scope. 24 Service: AngularJS sử dụng các API được xây dựng từ các web service để thao tác với Database.
Filters: Bộ lọc để lọc ra các thành phần của một mảng và trả về một mảng mới. Directives: Đánh dấu vào các yếu tố của DOM, nghĩa là sẽ tạo ra các thẻ HTML tùy chỉnh. Template: Các rendered view với các thông tin từ controller và model có thể sử dụng trong các file riêng biệt hoặc với view với trang sử dụng Partials. Routing: Chuyển đổi giữa các action trong Controller.
Model View Controller: Mô hình chia thành phần riêng biệt thành Model, View, Controller. Đây là một mô hình khá hay nhưng trong Angular thì nó được chế biến lại một chút thành Model View View Model. Deep Linking: Liên kết sâu cho phép mã hóa trạng thái của ứng dụng trong các URL để nó có thể đánh dấu được với công cụ tìm kiếm. Dependency Injection: Giúp các nhà phát triển tạo ứng dụng dễ dàng hơn.
Ưu điểm và nhược điểm của AngularJS Ưu điểm Cho phép tạo ra các ứng dụng một cách đơn giản, code sạch. Sử dụng data bind giống .NET với tính năng liên kết với HTML nên giúp người dùng cảm thấy dễ sử dụng. Có thể chạy trên hầu hết các trình duyệt điện thoại thông minh. Cung cấp khả năng tái sử dụng các component.
Code dễ dàng khi unit test. Nhược điểm Không an toàn: Được phát triển từ javascript nên nó không an toàn, phía máy chủ phải thường xuyên xác nhận quyền để hệ thống chạy ổn định.