Chiến lược phát triển

Một phần của tài liệu Thiết kế và xây dựng trang WebGIS phục vụ công tác phát triển đối tượng tham gia BHYT trên địa bàn tỉnh khánh hòa (Trang 31)

8. Dự kiến kết cấu báo cáo đề án:

1.2.2.4. Chiến lược phát triển

1.2.2.4.1. Chiến lược thuần chủ

Các chiến lược này tập trung cung cấp dữ liệu GIS và phân tích trên một máy chủ (Server). Máy chủ này có khả năng truy cập dữ liệu và phần mềm để giải quyết yêu cầu của máy khách. Máy khách sẽ chỉ sử dụng rất ít tiến trình, chủ yếu là gửi các yêu cầu và hiển thị kết quả.

Hình 1- 7 Cấu hình chiến lược Server site

Ưu điểm:

- Nếu máy chủ có khả năng xử lý cao được dùng, người dùng sẽ truy cập được các dữ liệu lớn và phức tạp thay vì phải xử lý trên máy khách.

- Nếu máy chủ có khả năng xử lý cao được dùng, các chức năng phân tích GIS phức tạp sẽđược xử lý nhanh hơn thay vì xử lý trên máy khách.

Nhược điểm:

- Bất cứ các yêu cầu dù lớn hay nhỏ đều phải được gửi về cho máy chủ xử lý và các kết quả cũng được gửi trả lại cho máy khách hiển thị thông qua Internet.

32 - Ảnh hưởng đến băng thông khi truyền tải dữ liệu lớn.

- Không tận dụng được ưu thế của máy cục bộ.

Chiến lược này thường được sử dụng cho các hệ thống lớn trên toàn cầu.

1.2.2.4.2.Chiến lược thuần khách

Chiến lược này chuyển đổi các yêu cầu sang được xử lý tại máy khách. Máy khách phải có khả năng đủ mạnh để xử lý các yêu cầu này.Thay vì phải bắt máy chủ xử lý tất cả thì một số chức năng GIS sẽ được tải về máy khách, trú ngụ ở đó và dữ liệu được xử lý tại máy khách.

Hình 1- 8 Cấu hình chiến lược Client site

Ưu điểm:

- Sử dụng được ưu thế của máy khách.

- Người dùng có thểđiều khiển được các điều khiển xử lý dữ liệu.

- Người dùng có thể làm việc mà không cần phải gửi và nhận các yêu cầu qua Internet.

Nhược điểm:

- Việc tải các chức năng từ máy chủ như các Applets có thể bị trì hoãn, kéo dài. - Các dữ liệu lớn và phức tạp sẽ khó được xử lý trên máy khách nếu máy khách không đủ mạnh.

- Các thủ tục GIS phức tạp sẽ khó thực hiện trên máy khách nếu máy khách không đủ mạnh.

- Người dùng sẽ không được huấn luyện (đào tạo) nếu muốn dùng dữ liệu hoặc các chức năng phân tích.

Chiến lược này thường được sử dụng cho các hệ thống nhỏ trong phạm vi cục bộ.

33

1.2.2.4.3. Chiến lược kết hợp chủ khách (Server and client processes)

Nếu dùng chiến lược thuần chủ hoặc thuần khách thì sẽ gặp các giới hạn:

- Nếu các chiến lược thuần chủ đòi hỏi phải chuyển tải thường xuyên, thì các tác vụ của nó sẽ dễ làm tổn thương đến băng thông và đường truyền Internet.

- Các chiến lược thuần khách thì lại có thể chiếm hết tài nguyên của máy khách. Một số tác vụ sẽ thực hiện rất chậm do sự không phù hợp giữa các yêu cầu của các tiến trình và khả năng của máy.

Hình 1- 9 Client site và Server site

Server side và thuần khách có thể kết hợp với nhau để cho ra các kết quả lai phù hợp với khả năng của server và client.

- Các tác vụđòi hỏi sử dụng database hoặc phân tích phức tạp sẽ được gán trên máy chủ.

- Các tác vụ nhỏ sẽđược gán ở máy khách.

Trong trường hợp này, cả máy chủ và máy khách cùng chia sẽ thông tin với nhau về sức mạnh và khả năng của chúng, do đó dữ liệu và applets có thể được gán sao cho tối ưu nhất.

1.2.3.ArcGIS Server và ASP.NET

1.2.3.1. ArcGIS Server

ArcGIS Server là nền tảng để xây dựng hệ thống thông tin địa lý (GIS) có quy mô lớn, trong đó các ứng dụng GIS được quản lý tập trung, hỗ trợ đa người dùng, tích hợp nhiều chức năng GIS mạnh và được xây dựng dựa trên các tiêu chuẩn công nghiệp. ArcGIS Server quản lý các nguồn dữ liệu địa lý như bản đồ, số liệu không gian …

Đây là một hệ thống phân phối gồm nhiều thành phần có thể triển khai trên nhiều máy khác nhau. Mỗi thành phần này nắm giữ một vai trò cụ thể trong quá trình quản lý, hoạt động hoặc ngừng hoạt động, cân bằng nguồn tài nguyên cung cấp cho một hay nhiều server. Các thành phần của ArcGIS Server bao gồm:

Máy chủ GIS (GIS Server): Lưu trữ và chạy các ứng dụng server. Máy chủ GIS bao gồm một máy chủ SOM (Server Object Manager) và một hoặc nhiều máy chủ SOC khác (Server Object Containers).

34 Máy chủ Web (Web Server): Lưu trữ các ứng dụng và dịch vụ Web có sử dụng các thành phần chạy trên máy chủ GIS.

Trình duyệt Web: Được dùng để kết nối đến các ứng dụng Web chạy trên máy chủ Web.

Các ứng dụng Desktop: Kết nối theo giao thức truyền dẫn siêu văn bản (HTTP) đến các dịch vụ Web chạy trên máy chủ Web hoặc kết nối trực tiếp đến máy chủ GIS thông qua môi trường mạng LAN hay WAN.

1.2.3.1.1. Những đặc điểm chính của ArcGIS Server

Ø Khung GIS chuẩn

ArcGIS Server cung cấp một framework chuẩn dùng cho việc phát triển các

ứng dụng trên máy chủ GIS. Bộ phần mềm GIS phổ biến nhất hiện nay (ArcView®, ArcEditorTM, ArcInfo®) cũng được xây dựng dựa trên cùng một nền tảng. ArcGIS Server không những có thể mở rộng ra mà còn cung cấp rất nhiều chức năng mạnh cho phép các lập trình viên không phải mất nhiều thời gian nghiên cứu, xây dựng các chức

năng GIS từđầu. Ø Chi phí thấp

ArcGIS Server có khả năng hỗ trợ các ứng dụng lớn như xây dựng Web GIS,

chạy trên nhiều máy chủ, hỗ trợ đa người dùng. Công nghệ ADF không giới hạn bản quyền. Điều này cho phép các ứng dụng server có thể chạy trên nhiều máy chủ Web,

do đó làm giảm giá thành, chỉ phụ thuộc vào số lượng người dùng.

Ø Các ứng dụng Web

ArcGIS Server cung cấp một bộ các Web controls. Các Web controls này làm

đơn giản đi các công đoạn xây dựng tích hợp bản đồ vào các ứng dụng Web, giúp cho

các lập trình viên tập trung vào xây dựng các chức năng GIS theo mục đích của mình.

Ø Các mẫu ứng dụng Web

ArcGIS Server cung cấp khá nhiều mẫu ứng dụng Web. Lập trình viên có thể sử dụng những mẫu này kết hợp với các Web controls để tạo ra các ứng dụng Web theo mục đích của mình hoặc cũng có thể dùng để tham khảo.

Ø Hỗ trợ đa nền

ArcGIS Server ADF dành cho Java chạy trên nhiều hệ điều hành sử dụng kiến trúc của UNIX và hỗ trợ một số lượng lớn các Web server.

Bản thân GIS Server được hỗ trợ cho Windows, Sun Solaris và Red Hat Linux. ADF dành cho .NET chỉ chạy được trên một số hệ điều hành Windows. Tham khảo tại http://support.esri.com để biết thêm thông tin về những hệ điều hành nào được hỗ trợ.

Ø Hỗ trợ nhiều ngôn ngữ lập trình

ArcGIS Server hỗ trợ nhiều ngôn ngữ lập trình, bao gồm cả .NET và Java để phát triển các ứng dụng, dịch vụ Web. Sử dụng COM và .NET cho phép mở rộng ArcGIS Server các tính năng theo yêu cầu riêng, ngoài ra COM, .NET, Java, và C++ còn được dùng để xây dựng các ứng dụng Desktop client. Điều này cho phép các đối tượng được lập trình bằng nhiều công cụ và các lập trình viên không nhất thiết phải biết nhiều ngôn ngữ lập trình.

35

Ø Các phần mở rộng của ArcGIS Server

Bộ công cụ cho lập trình viên sử dụng ArcGIS Server còn kèm theo các chức năng mở rộng của ArcGIS 3D AnalystTM, ArcGIS Spatial Analyst và ArcGIS StreetMapTM

Ø Cung cấp nhiều tài nguyên cho các lập trình viên

Bộ công cụ phát triển ArcGIS Server cung cấp một hệ thống trợ giúp dựa theo các sơ đồ mô hình đối tượng (OMDs), các mẫu ứng dụng Web và cả các đoạn mã lập trình mẫu giúp cho các lập trình viên dễ dàng tiếp cận, sử dụng.

1.2.3.1.2.Tại sao sử dụng ArcGIS Server

ArcGIS Server cho phép các lập trình viên và các nhà thiết kế hệ thống triển khai quản lý tập trung GIS. Điều này sẽ làm giảm bớt giá thành cho những người sử dụng GIS và có thể mở rộng khả năng hỗ trợ người dùng, tiết kiệm giá thành cài đặt phần mềm trên từng máy. Cùng với khả năng hỗ trợ với các dịch vụ Web, ArcGIS Server có thể tích hợp lý tưởng với các hệ thống thông tin khác như các cơ sở dữ liệu quan hệ, các máy chủ Web, và các máy chủ lớn.

ArcGIS Server được bổ sung thêm vào gia đình sản phẩm các ứng dụng chạy trên server của ESRI đó là ArcIMS, ArcSDE, và ArcGIS Server. ArcIMS cho phép xuất bản các bản đồ và metadata dựa trên nền Web rất tốt, ArcGIS Server quản lý tập trung các ứng dụng GIS cao cấp. ArcSDE quản lý truy cập dữ liệu dành cho ArcGIS Server và ArcIMS

1.2.3.1.3.Những ai sử dụng ArcGIS Server?

Nhóm sử dụng các ứng dụng Web: Nhóm người này chỉ cần có trình duyệt Web là có thể kết nối và tương tác với các dịch vụ, ứng dụng Web GIS mà không đòi hỏi phải biết về GIS.

Nhóm phát triển các ứng dụng và dịch vụ Web: Sử dụng ADF để xây dựng các ứng dụng và dịch vụ Web dựa trên nền .NET hoặc Java. Xây dựng các ứng dụng Web dành cho người dùng ArcGIS Desktop kết nối đến qua mạng Internet, tích hợp các chức năng của GIS và có thểđược sử dụng trong các chương trình khác.

Nhóm sử dụng các sản phẩm ArcGIS Desktop: Nhóm người này có thể dùng các phần mềm ArcMap hay ArcCatalog kết nối và tải dữ liệu từ máy chủ qua mạng LAN hay Internet. Thiết kế và xây dựng dữ liệu cho các ứng dụng của ArcGIS Server. Nhóm phát triển ArcGIS Desktop, ArcGIS Engine : Nhóm người này có thể phát triển các ứng dụng có khả năng kết nối đến GIS server và chạy các thành phần ArcObject trên server. Cho phép tích hợp các chức năng trên desktop với các chức năng trên server.

Nhóm quản lý server: Nhóm này sử dụng ArcCatalog kết nối đến máy chủ qua mạng nội bộ, quản lý server cũng như các ứng dụng chạy trên server, thêm hoặc gỡ bỏ các máy con vào hệ thống, phân quyền truy cập và sử dụng dữ liệu…

1.2.3.1.4. Các phiên bản của ArcGIS Server

Trong quá trình xây dựng và phát triển, nắm bắt được nhu cầu của khách hàng và để phục vụ tốt hơn, ArcGIS Server các phiên bản mới đã phân khúc 3 dòng sản phẩm khác nhau là: Advanced, Standard và Basis (Hình 1 - 10).

36 Mỗi một trong 3 phiên bản trên đều phân thành nhiều cấp độ: Workgroup và Enterprise.

Với cấp Workgroup, hệ thống chỉ cho phép tối đa 10 kết nối, giới hạn người sử dụng trên hệ thống Microsoft SQL Server Express, giới hạn dung lượng bộ nhớ 2GB và dữ liệu không gian là 4GB.

Với cấp Enterprise, ArcGIS Server không giới hạn số lượng người sử dụng thông qua các kết nối, ngoài ra hệ thống hỗ trợ được các hệ quản trị cơ sở dữ liệu rất đa dạng như IBM DB2, IBM Informix, tất cả các phiên bản của Microsoft SQL Server, Oracle, dung lượng bộ nhớ và lưu trữ dữ liệu không gian là không giới hạn, hoạt động theo mô hình mạng máy trạm/máy chủ (Clients/Server).

Hình 1- 10 Các phiên bản của ArcGIS Server

(Nguồn: Kevin Amstrong, ArcGIS Server 9.2, A Comprehensive Overview, ESRI)

1.2.3.1.5. Phát triển với ArcGIS Server để xây dựng ứng dụng Web

Xây dựng các ứng dụng trên nền JavaScript (Building JavaScript applications): Nếu bạn muốn nhúng các chức năng xem bản đồ nhẹ vào một ứng dụng Web, hoặc nếu bạn chỉ mới bắt đầu với sự phát triển ArcGIS Server, xem xét sử dụng ArcGIS JavaScript API. Nó miễn phí để sử dụng và triển khai các ứng dụng được xây dựng với API này. Tất cả bạn cần là một Server ArcGIS sẵn có bản đồ và công cụ bạn có thể sử dụng trong các ứng dụng của bạn. ArcGIS JavaScript API được hỗ trợ bởi một kết thúc hồi REST API mà có thể lấy thông tin từ máy chủ. Khi bạn chạy ứng dụng, mã chạy trong trình duyệt của người dùng thay vì phải chạy trên máy chủ. ArcGIS JavaScript API được xây dựng trên đỉnh của bộ công cụ Dojo JavaScript, do đó bạn không phải lo lắng về sức chứa của trình duyệt trong mã của bạn. Bạn có thể sử dụng ArcGIS JavaScript API khi bạn có ít hoặc không có kinh nghiệm lập trình. Sao chép và dán mã ví dụ vào trang HTML của bạn để thêm các chức năng thao tác bản đồ.

Xây dựng các ứng dụng trên nền Flex (Building Flex Applications): Sử dụng các API ArcGIS Flex để truy cập bản đồ và chức năng xử lý dữ liệu trong ứng dụng Web. API này cho phép bạn truy cập vào các dịch vụ xuất bản với ArcGIS Server 9.3 trong các ứng dụng sử dụng nền tảng Adobe Flex Framework.

Xây dựng các ứng dụng trên nền Silverlight (Building Silverlight applications): Tương tự như các API ArcGIS cho Flex, các API ArcGIS cho Microsoft Silverlight cho phép bạn xây dựng các ứng dụng thực hiện lập bản đồ, truy vấn và xử lý dữ liệu.

37 Làm việc với Microsoft Silverlight API cung cấp một trải nghiệm người dùng phong phú trên Web.

Xây dựng các ứng dụng Web trên nền NET (Building .NET Web applications): Nếu bạn muốn xây dựng các ứng dụng Web mà tận dụng ASP.NET, hoặc nếu yêu cầu của bạn vượt quá khả năng của các API JavaScript, thì hãy xem xét sử dụng ArcGIS

Server Web Application Developer Framework (ADF). Các ADF Web cung cấp các công cụ và mẫu cho phát triển NET Web. Ứng dụng trong Microsoft Visual Studio.

1.2.3.2. ASP.NET

Trong nhiều năm qua, ASP đã được cho rằng đó thực sự là một lựa chọn hàng đầu cho người phát triển web trong việc xây dựng những web sites trên nền máy chủ web Windows bởi nó vừa linh hoạt mà lại đầy sức mạnh. Đầu năm 2002, Microsoft đã cho ra đời một công nghệ mới đó chính là ASP.NET. Đây thực sự là một bước nhảy vượt bậc của ASP cả về phương diện tinh tế lẫn hiệu quả cho những người phat triển. Nó tiếp tục cung cấp khả năng linh động về mặt hỗ trợ ngôn ngữ, nhưng hơn hẳn về mặt lĩnh vực ngôn ngữ script vốn đã trở nên hoàn thiện và trở thành ngôn ngữ cơ bản

của những người phát triển. Việc phát triển trong ASP.NET không chỉ yêu cầu hiểu

biết về HTML và thiết kế web mà còn khả năng nắm bắt những khái niệm của lập trình và phát triển hướng đối tượng.

ASP.NET là một kỹ thuật thuần chủ (server-side)

ASP.NET là một kỹ thuật server-side. Hầu hết những người thiết kế web bắt

đầu sự nghiệp bằng việc học các kỷ thuật client-side như HTML, JavaScript và Cascading Style Sheets (CSS). Khi một trình duyệt web yêu cầu một trang web được

tạo ra bởi các kỷ thuật thuần khách, web server đơn giản lấy các files mà được yêu cầu và gửi chúng xuống. Phía client chịu trách nhiệm hoàn toàn trong việc đọc các định dạng trong các files này và biên dịch chúng và xuất ra màn hình.

Với kỹ thuật server-side như ASP.NET thì hoàn toàn khác, thay vì việc biên dịch từ phía client, các đoạn mã server-side sẽ được biên dịch bởi web server. Trong trường hợp này, các đoạn mã sẽ được đọc bởi server và dùng để phát sinh ra HTML,

JavaScript và CSS để gửi cho trình duyệt. Chính vì việc xử lý mã xảy ra trên server

nên nó được gọi là kỹ thuật server-side.

ASP là một kỹ thuật dành cho việc phát triển các ứng dụng web

Một ứng dụng web đơn giản chỉ các trang web động. Các ứng dụng thường được lưu trữ thông tin trong cơ sở dữ liệu và cho phép khách truy cập có thể truy xuất và thay đổi thông tin. Nhiều kỹ thuật và ngôn ngữ lập trình khác cũng đã được phát triển để tạo ra các ứng dụng web như PHP, JSP, Ruby on Rails, CGI và ColdFusion. Tuy nhiên thay vì trói buộc ta vào một ngôn ngữ và một công nghệ nhất định, ASP.NET cho phép ta viết ứng dụng web bằng các loại ngôn ngữ lập trình quen thuộc khác nhau.

ASP.NET sử dụng .NET Framework, .NET Framework là sự tổng hợp tất các các kỷ thuật cần thiết cho việc xây dựng một ứng dụng nền desktop, ứng dụng web, web services…. thành một gói duy nhất nhằm tạo ra cho chúng khả năng giao tiếp với

Một phần của tài liệu Thiết kế và xây dựng trang WebGIS phục vụ công tác phát triển đối tượng tham gia BHYT trên địa bàn tỉnh khánh hòa (Trang 31)