Search This Blog

Monday, December 14, 2015

Gửi nhận văn bản cả nước trên trục liên thông chính phủ

Thực hiện Nghị quyết 36a/NQ-CP, về Liên thông văn bản điện tử từ Chính phủ đến cấp tỉnh, cấp huyện, cấp xã.
Công ty VSD Việt Nam phối hợp với Sở TT&TT Hà Nam thực hiện nâng cấp phần mềm VSD Office cung cấp chức năng gửi nhận văn bản trên trục liên thông.
Sau khi nâng cấp, chức năng gửi nhận của hệ thống gồm:
- Gửi văn bản trên trục liên thông từ phần mềm VSD Office
- Nhận văn bản trên trục liên thông từ phần mềm VSD Office
- Cập nhận các trạng thái xử lý văn bản khi gửi và nhận (Đã đến, đã tiếp nhận, phân công, đang xử lý, hoàn thành ...)
Hệ thống đã được triển khai thử nghiệm tại 4 điểm: VP UBND Tỉnh Hà Nam, Sở TT&TT Hà Nam, UBND Huyện Duy Tiên, UBND Thị trấn Hòa Mạc - Duy Tiên.


Tuesday, August 18, 2015

Cung cấp dịch vụ hành chính công trực tuyến qua Portal

Dịch vụ hành chính công trực tuyến

Dựa theo mô hình tiến hóa 4 mức của CPĐT (mô hình Gartner), một dịch vụ hành chính công được gọi là trực tuyến trên cổng thông tin điện tử nếu nó thỏa mãn một trong các điều kiện sau:
-Cổng thông tin điện tử có đầy đủ thông tin về quy trình, thủ tục thực hiện dịch vụ, các giấy tờ cần thiết, các bước tiến hành, thời gian thực hiện, chi phí thực hiện dịch vụ. (mức độ 1)
-Ngoài thông tin đầy đủ như mức độ 1, cổng thông tin điện tử cho phép người sử dụng tải về các mẫu đơn, hồ sơ để người sử dụng có thể in ra giấy, hoặc điền vào các mẫu đơn. Việc nộp lại hồ sơ sau khi hoàn thành được thực hiện qua đường bưu điện hoặc người sử dụng trực tiếp mang đến cơ quan thụ lý hồ sơ (mức độ 2)
-Ngoài thông tin đầy đủ như ở mức độ 1 và các mẫu đơn, hồ sơ cho phép tải về như ở mức độ 2, cồng thông tin điện tử còn cho phép người sử dụng điền trực tuyến vào các mẫu đơn, hồ sơ và gửi lại trực tuyến các mẫu đơn, hồ sơ sau khi điền xong tới cơ quan và người thụ lý hồ sơ. Các giao dịch trong quá trình thụ lý hồ sơ và cung cấp dịch vụ được thực hiện qua mạng. Tuy nhiên, việc thanh toán chi phí và trả kết quả sẽ được thực hiện khi người sử dụng dịch vụ đến trực tiếp cơ quan cung cấp dịch vụ. (mức độ 3)
-Ngoài thông tin đầy đủ như ở mức độ 1, các mẫu đơn, hồ sơ cho phép tải về như ở mức độ 2, gửi trực tuyến hồ sơ và thực hiện các giao dịch qua mạng như ở mức độ 3, việc thanh toán chi phí sẽ được thực hiện trực tuyến, việc trả kết quả có thể thực hiện trực tuyến hoặc gửi qua đường bưu điện. (mức độ 4) Như vậy, mức độ 1 là mức độ đơn giản nhất của dịch vụ hành chính công trực tuyến. Mức độ 4 là mức độ hoàn chỉnh nhất của dịch vụ hành chính công trực tuyến, ở mức độ này, người sử dụng được cung cấp dịch vụ hoàn chỉnh mà không cần giao tiếp trực tiếp (gặp mặt) cơ quan cung cấp dịch vụ.
Áp dụng trong hoàn cảnh thực tế của Việt Nam hiện nay, dựa trên hiện trạng ứng dụng Internet, hiện trạng về các dịch vụ hành chính công, việc thực hiện trực tuyến các dịch vụ nên được hoàn thiện ở mức độ 3. Các nguyên nhân chính dẫn đến việc khó có thể xây dựng các dịch vụ hành chính công trực tuyến hoàn chỉnh - mức độ 4, đó là:
-Chưa có cơ chế xác nhận người sử dụng (vì chưa có cơ sở dữ liệu con người)
-Chưa có khả năng thực hiện thanh toán trực tuyến (chi phí cho dịch vụ)
-Mức độ an toàn, bảo mật cho các giao dịch trực tuyến đòi hỏi rất cao.
Chính vì vậy, mức độ 3 là mức độ phù hợp nhất để triển khai các dịch vụ hành chính công trực tuyến đối với Việt Nam.

Lợi ích khi xây dựng các dịch vụ hành chính công trực tuyến ở mức độ 3

Chính phủ điện tử là mô hình nhiều quốc gia, trong đó có các quốc gia phát triển nhất trên thế giới như Mỹ, Anh, Pháp, Đức hướng tới do các lợi ích to lớn mà nó có thể mang lại. Tuy nhiên, ở đây chỉ kể đến một số lợi ích thực tiễn khi triển khai các dịch vụ hành chính công trực tuyến ở mức độ 3:
-Giảm thời gian gửi/nhận hồ sơ, giảm thời gian đi lại cho người sử dụng, do đó làm giảm thời gian và công sức của người sử dụng các dịch vụ hành chính công. Từ đó làm tăng hiệu suất và hiệu quả của các cơ quan cung cấp dịch vụ.
-Tăng tính minh bạch của các cơ quan cung cấp dịch vụ, vì với sự phát triển của công nghệ thông tin, việc cung cấp các thông tin về trạng thái hiện tại của quy trình là hoàn toàn có thể (cung cấp thông tin hồ sơ đang nằm ở phòng ban nào? đang được ai thụ lý? hồ sơ bị tắc ở khâu nào?...)
-Tăng khả năng giám sát của các cơ quan cấp trên, vì các cơ quan cấp trên có thể kiểm tra được tình trạng xử lý các hồ sơ hiện thời. Từ đó, làm tăng tính trách nhiệm của các cơ quan cung cấp dịch vụ.
-Tạo cơ hội cho việc cải cách hành chính, vì khi thực hiện đưa các dịch vụ hành chính công lên mạng thì các quy trình, thủ tục hành chính đều được chuẩn hóa để có thể áp dụng CNTT. Do đó, các điểm bất cập của quy trình hiện tại có thể được phát hiện và đó là cơ hội để cải cách hành chính thực hiện tái thiết kế quy trình.
-Hiệu quả kinh tế cho cả người sủ dụng dịch vụ và cơ quan cung cấp dịch vụ, do có thể tiết kiệm thời gian, công sức, cắt giảm các chi phí đi lại, chi phí văn phòng phẩm, chi phí nhân công…

Khó khăn đưa các dịch vụ công lên mạng

Đưa các dịch vụ hành chính công lên mạng là một trong những mục tiêu quan trọng của kế hoạch phát triển chính phủ điện tử nói chung. Trong hoàn cảnh hiện tại của Việt Nam, việc triển khai các dịch vụ lên mạng sẽ gặp các khó khăn sau đây: Khó khăn 1: Cơ chế xác nhận người dùng, cụ thể là hai vấn đề sau:
-Kiểm tra xem người đang sử dụng dịch vụ trực tuyến có phải là người có nhu cầu thực sự hay không? Nếu không kiểm tra được điều này có thể dấn đến lãng phí thời gian của người thụ lý hồ sơ khi phải nhận các hồ sơ không có thực.
-Với những người có nhu cầu sử dụng dịch vụ, kiểm tra xem thông tin họ nhập vào hệ thống có phải thông tin thực hay không? Nếu không kiểm tra được điều này có thể dẫn đến việc cung cấp dịch vụ cho những người không đủ điều kiện để nhận dịch vụ.
Giải pháp: Ở các nước mà chính phủ điện tử đã phát triển đến một mức độ hoàn chỉnh, các cơ sở dữ liệu quốc gia về con người, về đất đai, về doanh nghiệp … đều sẵn sàng. Hơn nữa, hạ tầng khóa công khai và chữ ký điện tử sẵn sang. Khi đó việc kiểm tra người sử dụng và các thông tin của người sử dụng là dễ dàng. Ví dụ: Ở Singapore, ở Anh, để đăng nhập vào sử dụng hệ thống các dịch vụ hành chính công trực tuyến thì người sử dụng phải có một tài khoản từ trước đó. Tuy nhiên, ở Việt Nam thì các cơ sở dữ liệu này chưa có hoặc chưa hoàn chỉnh. Do đó, trong giai đoạn trước mắt, để kiểm tra tính trung thực của dữ liệu thì người sử dụng phải gửi bản sao (scan hoặc photo) của các giấy tờ như Chứng minh nhân dân, hoặc Hộ khẩu để người thụ lý hồ sơ kiểm tra như khi giải quyết các thủ tục bằng giấy tờ.
Khó khăn 2: Thói quen và nhận thức của các cán bộ trong cơ quan cung cấp dịch vụ.
Giải pháp: Để thay đổi thói quen và nhận thức của cán bộ, cần thời gian và những cơ chế chính sách về thưởng/phạt hợp lý.
Khó khăn 3: Thói quen và nhận thức của người sử dụng dịch vụ.
Giải pháp: Cần có sự hỗ trợ của các phương tiện truyền thông đại chúng trong việc tuyên truyền, quảng cáo cho các dịch vụ trực tuyến.
Khó khăn 4: Internet chưa sẵn sàng ở mọi nơi, mọi lúc ở Việt Nam.
Giải pháp 4: Triển khai các dịch vụ trực tuyến trước hết ở các thành phố lớn, ở những nơi có trình độ dân trí tương đối phát triển, mật độ người sử dụng Internet cao. Sau khi triển khai thành công ở những nơi này sẽ tiếp tục rút kinh nghiệm để nhân rộng ở những nơi khác.
Kết luận
Trong chuyên đề này, đã giới thiệu khái niệm về chính phủ điện tử và một số nội dung xây dựng CPĐT ở Việt Nam. Chuyên đề được soạn cho sinh viên khoa CNTT nên cách tiếp cận theo cách tìm hiểu quy trình nghiệp vụ, từ đó xấc định các chức năng của hệ thống. CPĐT và sản phẩm công nghệ thông tin trực tiếp là cổng điện tử đã được trình bày để sinh viên có thể lựa chọn đề tài, định hướng nghề nghiệp. Hệ thống portal là một phần mềm lớn, phức tạp nên trong phạm vi một chuyên đề không thể đề cập chi tiết như chuyên đề TMĐT. Tuy nhiên nó là những định hướng giúp sinh viên có thể lựa chọn đề tài thực hiện một vài chức năng trong CPĐT. 
http://voer.edu.vn

Friday, July 24, 2015

Getting Started with SQL Server 2014 In-Memory OLTP

SQL Server 2014 introduces memory-optimized database technology for optimizing the performance of OLTP workloads. In particular, it introduces memory-optimized tables for efficient, contention-free data access, and natively compiled stored procedures for efficient execution of business logic.    
With this post we are giving you a brief introduction to the new syntax for in-memory OLTP, and will show you how to get started with T-SQL and SQL Server Management Studio (SSMS).    
Before we start, let’s create a sample database. If you have an existing database you can skip this step.

-- optional: create database
CREATE DATABASE imoltp
GO

SSMS: To create a database,
1.    In Object Explorer, connect to an instance of the SQL Server Database Engine and then expand that instance.
2.    Right-click Databases, click New Database and then enter the value for the database name.


Step 1: enable your database for in-memory OLTP
We are going to add a filegroup for memory_optimized_data to our database, and add a container to this filegroup. This filegroup will be used to guarantee durability of memory-resident data in the event of a server crash or restart. During the crash recovery phase in server startup, the data is recovered from this filegroup and loaded back into memory.
When creating the container in the memory_optimized_data filegroup you must specify the storage location. In this example we picked the folder ‘c:\data’. Make sure the folder exists before running the script.
-- enable for in-memory OLTP - change file path as needed
ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod CONTAINS MEMORY_OPTIMIZED_DATA
ALTER DATABASE imoltp ADD FILE (name='imoltp_mod1', filename='c:\data\imoltp_mod1') TO FILEGROUP imoltp_mod
GO

SSMS: To add a memory_optimized_data filegroup and its container,
1.    In Object Explorer, expand the Databases node, right-click your database and then click Properties.
2.    To add a new memory optimized data filegroup, click the Filegroups page. Under MEMORY OPTIMIZED DATA, click Add filegroup and then enter the values for the filegroup.
3.    To add a file to the filegroup, click the General page. Under Database files, click Add and then enter the values for the file. Use file type FILESTREAM Data.

Getting Started with SQL Server 2014 In-Memory OLTP
Getting Started with SQL Server 2014 In-Memory OLTP Part 2
 
Step 2: create your first memory-optimized table

We are now ready to create our first memory-optimized tables. We have here two tables, ‘ShoppingCart’, and ‘UserSession’. ‘ShoppingCart’ is a durable table (the default), which means that its contents are persisted on disk and will not be lost on a server crash. ‘UserSession’ is a non-durable table (DURABILITY=SCHEMA_ONLY), which means that the contents of the table exist only in memory, and are lost on server restart.
Note that in CTP1 memory-optimized tables support only ‘nonclustered hash’ indexes. The bucket_count of the index should be roughly 1 to 2 times the number of unique index keys you expect to find in the table.
-- create memory optimized tables
USE imoltp
GO

-- durable table – contents of this table will not be lost on a server crash
CREATE TABLE dbo.ShoppingCart (
   ShoppingCartId int not null primary key nonclustered hash with (bucket_count=2000000),
   UserId int not null index ix_UserId nonclustered hash with (bucket_count=1000000),
   CreatedDate datetime2 not null,
   TotalPrice money
)
WITH (MEMORY_OPTIMIZED=ON)
GO

-- non-durable table – contents of this table are lost on a server restart
CREATE TABLE dbo.UserSession (
   SessionId int not null primary key nonclustered hash with (bucket_count=400000),
   UserId int not null,
   CreatedDate datetime2 not null,
   ShoppingCartId int,
   index ix_UserId nonclustered hash (UserId) with (bucket_count=400000)
)
WITH (MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_ONLY)
GO

SSMS: To create a memory-optimized table,
1.    In Object Explorer, right-click the Tables node of your database, click New, and then click Memory Optimized Table. A template for creating a memory-optimized table is displayed.
2.    To replace the template parameters, click Specify Values for Template Parameters on the Query menu. The shortcut key is Ctrl-Shift-M.

Step 3: load your data
You can load data into the tables in various ways, including INSERT .. SELECT from an existing disk-based table and BCP. In this example we are using simple INSERT statements for loading the data.
-- Basic DML
-- insert a few rows
INSERT dbo.UserSession VALUES (1,342,GETUTCDATE(),4)
INSERT dbo.UserSession VALUES (2,65,GETUTCDATE(),NULL)
INSERT dbo.UserSession VALUES (3,8798,GETUTCDATE(),1)
INSERT dbo.UserSession VALUES (4,80,GETUTCDATE(),NULL)
INSERT dbo.UserSession VALUES (5,4321,GETUTCDATE(),NULL)
INSERT dbo.UserSession VALUES (6,8578,GETUTCDATE(),NULL)
INSERT dbo.ShoppingCart VALUES (1,8798,GETUTCDATE(),NULL)
INSERT dbo.ShoppingCart VALUES (2,23,GETUTCDATE(),45.4)
INSERT dbo.ShoppingCart VALUES (3,80,GETUTCDATE(),NULL)
INSERT dbo.ShoppingCart VALUES (4,342,GETUTCDATE(),65.4)
GO

-- verify table contents
SELECT * FROM dbo.UserSession
SELECT * FROM dbo.ShoppingCart
GO

SSMS: To view the contents of a memory-optimized table,
⦁    In Object Explorer, right-click on your memory-optimized table, click on Script Table as, click on SELECT To, click on New Query Editor Window and then execute the query that is displayed.

Step 4: update statistics
Memory-optimized tables do not support auto_update_statistics, thus statistics will need to be updated manually. You can use UPDATE STATISTICS to update statistics for individual tables, or sp_updatestats for all tables in the database.
-- update statistics on memory optimized tables
UPDATE STATISTICS dbo.UserSession WITH FULLSCAN, NORECOMPUTE
UPDATE STATISTICS dbo.ShoppingCart WITH FULLSCAN, NORECOMPUTE
GO

Step 5: run queries
You are now ready to run your queries. Because they access memory-optimized tables, these queries will benefit from the latch-free data structures and more efficient data access. Here are a few examples.
-- in an explicit transaction, assign a cart to a session and update the total price.
-- note that the isolation level hint is required for memory-optimized tables with
-- SELECT/UPDATE/DELETE statements in explicit transactions
BEGIN TRAN
  UPDATE dbo.UserSession WITH (SNAPSHOT) SET ShoppingCartId=3 WHERE SessionId=4
  UPDATE dbo.ShoppingCart WITH (SNAPSHOT) SET TotalPrice=65.84 WHERE ShoppingCartId=3
COMMIT
GO
-- verify table contents
SELECT *
FROM dbo.UserSession u JOIN dbo.ShoppingCart s on u.ShoppingCartId=s.ShoppingCartId
WHERE u.SessionId=4
GO

Step 6: create natively compiled stored procedures
To further optimize the access to memory-optimized tables, and to optimize execution of your business logic, you can create natively compiled stored procedures. While these procedures are written using Transact-SQL, they do not support the full Transact-SQL surface area. For details, see Books Online.
Here is an example of a natively compiled stored procedure that accesses the tables we created previously.
-- natively compiled stored procedure for assigning a shopping cart to a session
CREATE PROCEDURE dbo.usp_AssignCart @SessionId int
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS
BEGIN ATOMIC
WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')

  DECLARE @UserId int,
    @ShoppingCartId int

  SELECT @UserId=UserId, @ShoppingCartId=ShoppingCartId
  FROM dbo.UserSession WHERE SessionId=@SessionId

  IF @UserId IS NULL
    THROW 51000, 'The session or shopping cart does not exist.', 1

  UPDATE dbo.UserSession SET ShoppingCartId=@ShoppingCartId WHERE SessionId=@SessionId
END
GO

EXEC usp_AssignCart 1
GO

The following stored procedure showcases the performance of natively compiled stored procedures by inserting a large number of rows into a memory-optimized table. This scripts inserts 1,000,000 rows.
Note that if log IO becomes a bottleneck in the application, SQL Server allows you to use a non-durable table (DURABILITY=SCHEMA_ONLY), which removes the log IO completely.
-- natively compiled stored procedure for inserting a large number of rows
--   this demonstrates the performance of native procs
CREATE PROCEDURE dbo.usp_InsertSampleCarts @StartId int, @InsertCount int
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS
BEGIN ATOMIC
WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')

  DECLARE @ShoppingCartId int = @StartId
  WHILE @ShoppingCartId < @StartId + @InsertCount
  BEGIN
    INSERT INTO dbo.ShoppingCart VALUES
         (@ShoppingCartId, 1, '2013-01-01T00:00:00', NULL)
    SET @ShoppingCartId += 1
  END

END
GO

-- insert 1,000,000 rows
DECLARE @StartId int = (SELECT MAX(ShoppingCartId)+1 FROM dbo.ShoppingCart)
EXEC usp_InsertSampleCarts @StartId, 1000000
GO

-- verify the rows have been inserted
SELECT COUNT(*) FROM dbo.ShoppingCart
GO

SSMS: To create a natively compiled stored procedure,
1.    In Object Explorer, right-click the Stored Procedures node of your database, click New, and then click Natively Compiled Stored Procedure. A template for creating natively compiled stored procedures is displayed.
2.    To replace the template parameters, click Specify Values for Template Parameters on the Query menu. The shortcut key is Ctrl-Shift-M.

For more details about the concepts for in-memory OLTP, as well as a reference of the syntax, see Books Online or get started and download SQL Server 2014 CTP1 here.
That’s all for today, but stay tuned for further posts on this blog!   
http://blogs.technet.com