Giới thiệu

Chia sẻ: Son Cung | Ngày: | Loại File: DOC | Số trang:19

0
119
lượt xem
31
download

Giới thiệu

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giới thiệu', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giới thiệu

  1. Giới thiệu .NET của Microsoft  Dẫn nhập Các quan sát viên cho rằng trong năm qua Microsoft đã phải đối diện với ba khó khăn  lớn:  • Sự hăng hái dùng Internet của thiên hạ đang dịu xuống,  • Doanh thu trong việc bán các chương trình áp dụng (application  software) của Microsoft đang đi xuống, và  • Vụ kiện tụng về việc Microsoft độc quyền thị trường (Antitrust  case)  Giữa năm 2000, họ bắt đầu thấy Microsoft đã có đường hướng và kế hoạch từ lâu rất  rõ ràng về cách cùng một lúc vượt qua tất cả những khó khăn nầy. Đó là sự chào đời  của Windows2000 và .NET. Trong các bài khác của trang MCSE của Vovisoft sẽ nói nhiều về các ưu điểm của  MSWindows2000. Trong phạm vi bài nầy tôi sẽ tập trung vào .NET, một bộ sản phẩm  phần mềm sẽ làm rung động nền Tin Học thế giới và sẽ có ảnh hưởng trong hằng thập  niên tới. Tình hình trước đây Trong chiến trường tin học trước đây, không kể các Database như Oracle, SQL Server,  Informix .v.v. ta phải nhắc đến: Java, Linux hay Unix, C++, Delphi MSWindows và  Visual Basic. Nếu muốn đeo đuổi với Unix ta cũng có thể dùng Linux, một Operating  System trưởng thành, chắc chắn và miễn phí. Thường thường hể nói Linux người ta  hàm ý nó dùng XWindows để cung cấp một GUI (Graphical User Interface) tương  đương với MSWindows3.1 ngồi phía trên MSDOS. Có điều Linux thì thật sự multi­ tasking, có nghĩa là ta có thể chạy nhiều chương trình cùng một lúc. Viết chương trình  bằng C hay C++ trên Linux và dùng XWindows không bao giờ là chuyện đơn giản.  Sau nầy ta cũng có thể viết Java, một ngôn ngữ do Sun sáng tác cách đây hơn 5 năm  và có thể chạy trên nhiều OS, độc lập với CPU (tức là Intel, Risc hay hiệu gì cũng  không thành vấn đề). Đặc biệt Java rất thích hợp cho việc viết chương trình cho  Internet. Tuy nhiên, Java vẫn còn chạy chậm và trên thực tế vẫn chưa thật sự thịnh  hành. Mặc dầu Sun Corporation và IBM có đẩy mạnh Java, nhưng dường như  Microsoft đã dùng ASP để chận bớt ảnh hưởng của Java. Để lập trình trên Web, lâu nay người ta vẫn dùng cgi­Perl, và gần đây dùng php, môt  ngôn ngữ giống như Perl nhưng cách dùng khiến nó chạy nhanh hơn. Ta có thể triển 
  2. khai Perl trên Unix/Linux hay MSWindows. Tuy nhiên có nhiều người không thích làm  việc với regular expressions và những quy ước khác thường về lập trình của Perl  nên không ưa dùng Perl. Hơn nữa, các phần cho thêm rất hay của Perl như User  Interface, Database .v.v. được triển khai bởi những người khác nhau, chớ không phải  từ cùng một tổ chức. Do đó, ta không bao giờ đuợc đảm bảo về sự yểm trợ lâu dài hay  biết rõ đuờng hướng tương lai của các thứ mình dùng.  Còn trên MSWindows thì ta có thể viết chương trình bằng Visual C++, Delphi hay  Visual Basic. Visual C++ thì làm được nhiều chuyện nhưng khó dùng. Visual Basic  thì đơn giản, dễ học và dễ dùng nhất nên nó rất thịnh hành. Lý do chính là Visual  Basic giúp ta viết chương trình dùng MSWindows mà không bắt buộc ta phải biết rất  nhiều về cách MSWindows hoạt động. Ta chỉ cần có một số kiến thức căn bản tối  thiểu về MSWindows là đủ rồi. Từ quan điển của VB, mọi liên hệ với MSWindows đều  tự nhiên và dễ hiểu. Có điều Visual Basic không phải là một ngôn ngữ Object  Oriented. Delphi là hậu thân của Turbo Pascal của Borland. Nó giống và tương đối dễ dùng như  Visual Basic. Delphi thì Object Oriented. Các controls dùng trên các Forms của một  chương trình Delphi đều tự động generate codes. Khổ nổi nếu ta sửa đổi các controls  nhiều lần thì công tác code generation của Delphi thỉnh thoảng gặp trở ngại. Ngoài ra,  công ty Borland sản xuất Delphi bị Corel bên Gia Nã Đại mua rồi đổi tên, họ không  đảm bảo tương lai của sản phẩm khi chuyển hướng bằng cách nhấn mạnh vào  JBuilder (dùng cho Java). Trong lúc tình hình rối loạn, một số guru của Delphi về đầu  thú với Microsoft, các version mới của Delphi không thật sự tiến bộ hơn bao nhiêu, nên  người ta không dám đầu tư việc triển khai phần mềm vào Delphi.  Trong khi đó Visual Basic không cần phải generate code nên Visual Basic bền vững  hơn Delphi trong khi ta thiết kế các Forms. Nói như thế, không phải che đậy nhiều  khuyết điểm của Visual Basic như:  • Không yểm trợ OOD, nhất là khả năng thừa kế (inheritance)  • Giới hạn về việc chạy nhiều task nhẹ cùng một lúc  (mutithreading) trong một application. Thí dụ như ta không thể  dùng VB để viết một service kiểu NT.  • Khả năng Error Handling rất yếu, bất tiện cho môi trường multi­ tier (phân code ra nhiều lớp)  • Khó dùng chung với các ngôn ngữ khác như C++ chẳng hạn  • Không có User Interface thích hợp cho Internet  Vì Visual Basic không thích hợp cho việc lập trình trên Web Server nên Microsoft sáng  tác ra Active Server Pages (ASP). Các trang ASP gồm có vừa HTML vừa VBScript  (hay JavaScript), nằm lẫn lộn nhau. Khi xử lý một trang ASP hể HTML thì được gởi 
  3. thẳng qua browser (client), còn VBScript thì tạo ra các dòng HTML để gởi qua  browser. Trừ các Sub hay Function, vị trí của VBScript trong các trang ASP rất quan  trọng.  Khi có nhóm codes nào ưng ý ta muốn biến nó thành một ActiveX và install nó trên  Web Server. Vì lý do an ninh, các Internet Service Provider (ISP) làm host cho Web  site của chúng ta thường thường rất miễn cưỡng install một ActiveX lạ trên máy của  họ. Ngoài ra, việc uninstall ActiveX trên MSWindowsNT 4.0 không phải dễ ăn nên  công tác quản lý version của các ActiveX thừơng làm cho các Web administrators  nhức đầu. Ai đã từng trải qua việc quản lý các version của DLL trên MSWindows đều  than phiền tại sao phải register các DLL và nhất là tại sao chỉ có thể register một  version của DLL mà thôi. Họ chán quá, nên đặt ra từ "DLL hell" (địa ngục DLL). Để giúp ta lập trình ASP nhanh, Microsoft cho ra Visual Interdev, một IDE  (Intergrated Development Environment) hơi giống như Visual Basic. Visual Interdev  cho ta các Design­Time Controls giống như các Intrinsic Controls của Visual Basic (td:  Label, Textbox, Listbox .v.v..). Tiếc thay Visual Interdev không bền vững lắm nên sau  khi dùng thử Visual Interdev một thời gian, đa số lập trình viên bỏ nó. Để thay thế Visual Interdev, Macromedia cho ra Drumbeat 2000. Drumbeat 2000 làm  nhiều chuyện hơn, và dễ dùng hơn Visual Interdev. Nó tự động generate VBScript cho  mọi hoàn cảnh và kết quả là các trang ASP rất linh động. Nhưng có lẽ vì mối liên hệ  của Macromedia với các tác giả của Drumbeat 2000 (một sản phẩm do một công ty  khác bán lại cho Macromedia) không tốt đẹp lắm nên Macromedia không còn yểm trợ  Drumbeat 2000. Dầu sao bản thân ASP hãy còn một số khuyết điểm quan trọng, nhất là khi chạy trên  Internet Information Server với NT4.0, ASP không đáng tin cậy lắm. Nói tóm lại, nếu ta theo trường phái Microsoft thì việc lập trình trên desktop, cho  distributed system và Web không ăn rơ nhau. Muốn di chuyển từ Desktop  development lên Web development là phải đi qua một chặn đường học hỏi thêm rất  mệt xác.  Nguồn gốc của .NET Đầu năm 1998, sau khi hoàn tất version 4 của Internet Information Server (IIS), một  đội lập trình ở Microsoft nhận thấy họ còn rất nhiều sáng kiến để kiện toàn IIS. Họ bắt  đầu thiết kế một architecture mới dựa trên những ý đó và project đuợc đặt tên là Next  Generation Windows Services (NGWS). Sau khi Visual Basic 6 đuợc trình làng vào cuối năm 1998, dự án kế tiếp mang tên  Visual Studio 7 đuợc xáp nhập vào NGWS. Đội ngũ COM+/MTS góp vào một  universal runtime cho tất cả các ngôn ngữ lập trình trong Visual Studio, mà họ có ý  định cho ngay cả các ngôn ngữ lập trình của công ty khác dùng luôn.
  4. Công tác nầy được giữ bí mật mãi đến hội nghị Professional Developers' Conference ở  Orlando vào tháng 7/2000. Đến tháng 11/2000 thì Microsoft cho phát hành Beta 1  của .NET gồm ba CD. Tính đến lúc ấy thì Microsoft đã làm việc trên dự án ấy gần ba  năm rồi. Điều ấy cắt nghĩa tại sao Beta 1 version tương đối rất vững chải. .NET mang dấu tích những sáng kiến đã được áp dụng trước đây như p­code trong  UCSD Pascal cho đến Java Virtual Marchine. Có điều Microsoft góp nhặt những  sáng kiến của người khác, kết hợp với những sáng kiến của chính mình để làm nên  một sản phẩm ăn rơ từ trong ra ngoài. Có lẽ cuối năm 2001 hay đầu năm 2002  Microsoft mới phát hành .NET. Có người hỏi Microsoft xem .NET quan trọng như thế  nào. Các "xếp" của Microsoft cho biết 80% tài khóa Research & Development (Nghiên  cứu và Triển khai) của Microsoft trong năm 2001 được dành cho .NET, và tối hậu, tất  cả sản phẩm của Microsoft đều sẽ được dọn nhà qua .NET platform.  Nhìn qua .NET Framework .NET gồm có hai phần: Framework và Integrated Development Environment  (IDE). Framework cung cấp tất cả những gì cần thiết căn bản. Chữ Framework có  nghĩa là cái Khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một  qui ước nhất định để công việc trôi chảy. Còn IDE cung cấp một môi trường giúp ta  triển khai dễ dàng, nhanh chóng hơn. Nếu không có IDE ta cũng có thể dùng Notepad  và line commands để triển khai nhưng nó chậm hơn. Do đó, nếu có chỗ nào IDE  genareted code có vẽ quá rắc rối, bạn nên trở về Framework để xem mình thật sự tối  thiểu cần những thứ gì. Vì nói cho cùng, Framework là quan trọng nhất, còn IDE bất  quá chỉ là một công cụ gắn lên phía trên Framework thôi. Trong .NET, C# và VB.NET  đều dùng cùng một IDE. Thứ nhất, ta thấy Framework của .NET gói Operating System (OS) lại, khiến lập trình  viên không phải quan tâm đến những việc liên hệ đến OS như file handling và memory  allocation. Nó cho ta mọi tầng lớp triển khai phần mềm từ việc trình bày (presentation)  cho đến các bộ phận (components) và dữ kiện (data). Thứ hai, .NET đã được thiết kế từ con số không để giúp ta có thể lập trình cho  Internet dễ dàng như cho desktop.
  5. Tầng dưới chót Trong hình trên, ở tầng dưới chót là Common Language Runtime (CLR) . Ðây là  trung tâm điểm của .NET Famework, nó là hầm máy để chạy các năng tính của .NET.  Nó gồm có một hệ thống chung cho data types (các loại dữ kiện) để giúp việc thừa kế  từ các ngôn ngữ lập trình khác nhau có thể thực hiện đuợc.  Ngoài việc allocation và management of memory, CLR còn giữ các refrerence đến  objects và đỗ rác (handle garbage collection), tức là thâu lại các mảnh vụn memory  không cần dùng nữa. Trước đây, mỗi khi một DLL đuợc loaded vào memory, system  sẽ ghi nhận có bao nhiêu task dùng nó để khi task cuối cùng chấm dứt thì system  unload DLL và trả lại phần memory nó dùng trước đây để system dùng cho chuyện  khác. Chớ nếu allocate memory để dùng mà không nhớ dispose nó thì sẽ bị memory  leak (rỉ ), lần lần ta dùng hết memory, bị bắt buộc phải reboot OS. Nhưng bây giờ  .NET dùng một process độc lập để làm việc garbage collection. Cả hai cách góp lại  memory nầy đều có ưu và khuyết điểm tùy theo tình huống. CLR có thể đuợc trình bày chi tiết hơn như dưới đây:
  6. .NET cho phép các ngôn ngữ lập trình khác nhau có thể được compile ra một ngôn  ngữ trung gian, gọi là Microsoft Intermediate Language (MSIL) hay gọi tắt là  Intermediate Language (IL), giống giống như p­code hay Java Byte­Code. Nếu trong  Java ta cần Java Vitual Machine thì ở đây ta cần CLR để chạy chương trình. Ðộc lập  với CPU hardware, IL code chạy trong CLR đuợc nói là managed code. Tức là CLR  lãnh trách nhiệm dòm ngó, không cho code làm bậy như nhảy đến một chỗ không  tưởng, viết bừa chồng lên memory của người khác hay đi ngoài giới hạn của một array. Khi IL code chạy, nó đuợc chuyển ra machine language của target CPU bằng một  Just­in­Time (JIT) Compiler. Trong .NET, Microsoft yểm trợ các ngôn ngữ C++,  JScript, VB.NET (còn gọi là VB 7) và C# (đọc là C sharp, như nốt C với dấu thăng  trong âm nhạc), một ngôn ngữ mới do guru Anders Hejlsberg chế ra. Hejlsberg là  người thiết kế Delphi ở Borland trước đây. Microsoft đã bỏ J++. Người ta nói hầu hết .NET Framework đuợc viết bằng C#, có lẽ  rất nhiều code của MFC (Microsoft Foundation Classes) và J++ Class libraries đều  đuợc port qua C# một cách dễ dàng vì C# rất giống Java. Một số công ty đang hợp tác với Microsoft để triển khai các ngôn ngữ Cobol, Eiffel,  Lisp, Python và Smalltalk cho CLR. Công ty Rational, hảng bán công cụ nổi tiếng UML  Rose, sắp hoàn thành một Java to IL compiler. Dĩ nhiên, ta biết đây chỉ là một chiêu  thức tiếp thị của Microsoft mà thôi. Chớ nói lập trình bằng Java mà không hưởng  những phúc lợi của J2EE platform APIs như RMI (Remote Method Invocation), JDBC  (Java Database Connectivity), JSP (Java Sever Pages), .v.v.. thì như nói trong tiếng  Anh có câu "the syntax says Java. but Java it ain't!" (cú pháp là Java, nhưng chả là   Java gì cả). Thật ra, trên lý thuyết, muốn thêm một ngôn ngữ lập trình mới vào .NET ta chỉ cần làm  sao ngôn ngữ theo đúng qui ước ngôn ngữ của IL gọi là Common Language  Specification (CLS), rồi viết một compiler để compile từ ngôn ngữ ấy ra IL. Nói thì  dễ, nhưng để Visual Basic comply với CLS, Microsoft đã biến dạng VB6 ra VB7 mà lơ 
  7. mơ chúng ta nhận không ra là Visual Basic. Nói tóm lại, .NET chỉ yểm trợ một ngôn ngữ duy nhất, IL. Qua IL ta có inheritance lai  giống giữa các ngôn ngữ khác nhau. Ở tầng IL ta có debugger dùng cho mọi ngôn  ngữ. Trong Framework, các classes cung cấp tất cả các dịch vụ và APIs cần thiết cho việc  triển khai lập trình ứng dụng. Chúng được sắp xếp theo tầng lớp (hierarchy) và tự có  documentation (cẩm nang).  Example of Base Framework Class Hierarchy Trong Framework, application code đuợc compile thành Assembly. Một assembly  gồm một hay nhiều modules và một Manifest để tự giới thiệu cái assembly. 
  8. Tức là mỗi assembly phải có một manifest. Có thể nó nằm riêng trong một file hay  nằm bên trong một module. Manifest chứa những tin tức sau đây: • Tên và Version number của assembly  • Những assembly khác (kể cả version number của assembly) mà  assembly nầy tùy thuộc vào để chạy  • Types (classes và members) mà assembly nầy cho xuất khẩu  • Assembly nầy đòi hỏi điều kiện an ninh nào (security  permissions)  Manifest cho phép ta dùng hơn một version của assembly (tương đương với DLL trước  đây) cùng một lúc. Từ đây không còn register DLL nữa. Thay vào đó, ta chỉ cần copy  các assembly vào một subfolder /bin của chương trình chính. Tầng giữa Tầng giữa của Framework gồm những dịch vụ tổng quát thiết yếu của system trong  tương lai, hy vọng chúng sẽ được trở thành chuẩn trong kỹ nghệ như ADO.NET và  XML. Các dịch vụ nầy có thể phục vụ tất cả các ngôn ngữ lập trình. ADO.NET là ADO 
  9. đuợc kiện toàn hơn để tiện cho Internet. Một đặc điểm của lập trình trên Web là mỗi  lần Browser tiếp chuyện với Server là Server hỏi "anh là ai", nó không nhớ là nó vừa  nói chuyện xong với browser ngay trước đó. Lý do là mỗi lần browser nói chuyện với  server, nó chỉ connect với server lâu đủ để trao đổi một message. Lập trình kiểu nầy  gọi là stateless, nghĩa là không được có trạng thái bền vững như trường hợp ta lập  trình trên desktop. Do đó thay vì chỉ lấy từng data row từ database table như ADO,  ADO.NET chứa một hay nhiều tables cùng một lúc để làm việc cho tiện. Cái collection  of tables trong ADO.NET nầy đuợc gọi là Dataset. ADO.NET không dùng Recordset. Một XML message thông thường gồm có hai phần: phần thứ nhì chứa dữ kiện, và  phần đầu cắt nghĩa các dữ kiện chứa trong message là những thứ gì. Phần cắt nghĩa  nầy được gọi là schema như trong thí dụ XML file dưới đây:  1001 1 Chocolate City Milk Chocolate City Milk Description 2 images/milk5.gif Chocolate City 1002 1 Bessie Brand 2% Milk Bessie Brand 2% Milk Description 1.19 images/milk1.gif Milk Factory
  10. 1003 1 Funny Farms Milk Funny Farms Whole Milk Description 1.29 images/milk4.gif Funny Farms Tầng trên nhất Tầng trên cùng nhất liên quan đến User và Program Interface. WinForms Windows Forms (còn gọi tắt là WinForms) là một cách mới và hay hơn để làm các  hình display trong Win32. WinForms có nhiều điểm khác với VB6:  • Trong VB6, mỗi project có nhiều nhất là một MDI parent form.  Trong WinForms một project có thể có nhiều MDI parent forms.  Do đó, bạn phải nói với MDI child form ai là MDI parent form của  nó.  • Menu Editor của VB6 đuợc thay thế bằng một Menu control  trong WinForms. Bây giờ làm Menu còn dễ hơn trước nữa.  • Bạn tạo Context menu bằng cách dùng Context Menu control.  Muốn dùng bao nhiêu Context Menu trong một form cũng đuợc.  • Thay vì dùng Arrange method của một MDI parent, bây giờ bạn  dùng LayoutMDI method.  • Bạn có thể dùng Visual Inheritance từ base forms để inherit  properties và tánh tình của các form ấy.  • Trong WinForms bạn phải thận trọng trong việc dùng default  property. Ðiều nầy có nghĩa là khi làm việc với form, bạn phải nói  thẳng thừng ra (reference explicitly) Text property của Textbox  hay Label.  • Bây giờ bạn có Anchor và Dock properties để anchor hay dock  controls trong form.  • Có một số control mới như DomainUpDown, LinkLabel,  ContextMenu, và Tooltip. 
  11. • Bạn có thể sắp Tab Order visually bằng cách click các controls  theo thứ tự trong mode View Tab Order.  • Bạn có thể display bất cứ form nào trong Modal mode bằng cách  dùng method ShowDialog() của form. Bạn có thể nhận kết quả  của form ấy bằng cách set DialogResult property của form ấy  trước khi close nó.  • Trong WinForms, nếu bạn muốn access một control và properties  của nó trong một form, bạn cần phải set Modifiers property của  nó thành Public (by Default nó là Private). Nếu bạn muốn chỉ cho  con cháu nó (inherited forms) dùng Property của nó thì set  Modifiers property thành Protected.  • Không có Control arrays trong WinForms (giống như trong  Delphi). Do đó nếu muốn nhiều control dùng chung một event  bạn phải set cùng một Event Handler cho tất cả các control ấy.  Các control nầy không nhất thiết phải là cùng một loại.  • Trong WinForms bạn dùng ReadOnly thay cho Locked property  của control. Bây giờ Locked property được dùng cho move hay  resize control trong Design View.  • Có TopMost property mới để giữ form luôn luôn nằm trên hết.  • Control Class, base class của mọi WinForm controls, cho ta  SendMessage method với built­in constants. Bạn không cần  phải dùng SendMessage API function với constant như  LB_SETTABSTOPS nữa.  Dưới đây là hình IDE của VisualStudio.NET.
  12. Web Forms Web Forms là cách mới nhất để tạo các User Interface trên Web. Nó đuợc chứa trong  các files với extension ASPX, thay vì ASP. Nó tiện và gọn hơn ASP, yểm trợ thừa kế  và nhất là cho phép ta viết VB code riêng với HTML User interface layout template.  Ðiều nầy khiến việc triển khai cho desktop không khác với cho Internet. Web Forms dùng những Web Controls, giống như controls của VB, giúp ta lập trình  tiện lợi và nhanh chóng. Dưới đây là content của một trang ASPX mang tên 
  13. intro7.aspx. Trong trang có một AdRotator để quảng cáo, một Textbox, một  ComboBox (gọi là Dropdownlist), một Submit button với chữ Lookup, một Calendar  nhập khảu từ Component Acme và một Label. Khi User click nút Lookup các dữ kiện  trên trang Web sẽ đuợc gởi về WebServer để xử lý bằng cách execute Sub  SubmitBtn_Click. Lưu ý các Web controls như Textbox, Dropdownlist .v.v.. đều có  attribute runat="server": Sub SubmitBtn_Click(Sender As Object, E As EventArgs) Message.Text = "Hi " & Name.Text & ", you selected: " & Category.SelectedItem.Text _ & " on: " & MyCal.Date.ToShortDateString() End Sub Name: Category: psychology business popular_comp Khi chạy, Web Forms sẽ generate ra các trang Web dưới dạng HTML bình thường cho  mọi browser. Ngoài ra ta có thể thiết kế và lập trình từng phần nhỏ để ráp lại thành một trang Web.  Các phần nhỏ nầy, gọi là Web User Control, có thể đuợc nhét vào một trang Web  dynamically bằng lập trình. Phối hợp Web User Control với XML (để chứa dữ kiện) ta  có một công cụ lý tưởng để tự động hóa (automate) việc sản xuất các trang Web. Web Services
  14. Có lẽ cách mạng nhất là Web Services. Các dịch vụ Web Service, như tên nó nói,  cho phép ta dùng các methods của Object nằm khắp nơi trên Internet một cách đơn  giản như gọi một method trên desktop. Một thí dụ về Web Service là Processing Credit Card. Chương trình Web của chúng ta  cần được một cơ quan có thẩm quyền Authorise một Credit Card Transaction của  khách hàng. Chương trình Web của chúng ta sẽ dùng một Web service.  Trong Web Service, các dữ kiện được gởi đi lại dưới dạng XML. Khi ta hỏi thăm một  Web Service về cách dùng nó, Web Service sẽ đáp lại bằng một XML message. Khi ta  dùng một Web Service, ta gởi nó một XML message, trong đó có chứa các dữ liệu cần  thiết cho Service. Khi Web Service trả lời, nó gởi cho ta một XML message. Microsoft  gởi XML messages đi lại như thế nầy với một message protocol tên là SOAP (Simple  Object Access Protocol). Trước đây, SOAP protocol được đề nghị làm chuẩn bởi  DevelopMentor, Microsoft và Userland Software. Ngày nay nhiều công ty, kể cả IBM  và Oracle cũng dùng SOAP. Microsoft có ý định chiêu dụ hàng triệu khách hàng Subscribe những Web Services  của họ trong tương lai. Ngoài ra Framework cũng cung cấp một console interface để ta viết các chương  trình chạy với characters cho DOS, thay vì Graphical User Interface (GUI).  VB.NET (còn được gọi là VB7) VB.NET chẳng qua là C# viết theo lối Visual Basic. Nay VB7 đã hoàn toàn là Object  Oriented, tức là cho ta dùng lại classes/forms theo cách thừa kế thật thoải mái, nên nó  khác VB6 nhiều lắm.  • Tất cả đều là Object như trong Java.  • Dùng Namespace để Import classes từ các component vào  chương trình  • Các Visual components của Winform đều được chứa dưới dạng  Designer Generated Code giống như Delphi, chớ không phải  chứa trong phần đầu của .frm file như trong VB6.  • Integer types bây giờ gồm có Byte, Short, Integer và Long  • Có thể dùng các Arithmetic Operators mới như:  X += 4 tương đương với X = X + 4 Mess &= " text" tương đương với Mess = Mess & " text"
  15. • VB.NET có cả Byte và Char data type. Byte với trị số 0­255 có thể  được dùng cho ASCII character.  Char với trị số 0­65535 của 2 bytes được dùng cho Unicode.  • String trong VB.NET khác với String trong VB6 rất nhiều vì nó  đến từ System.String class. Ý niệm fixed­length string của VB6  như trong Dim MyString as string * 30 đã bị dẹp bỏ.  • Option Strict bắt buộc ta phải tự mình convert data type chớ  VB.NET không làm dùm như trong VB6.  • Những control tàn hình như Timer, Menu (không còn dùng Menu  Editor như trong VB6 nữa) được chứa riêng trong Component  tray (mâm).  • VB.NET không có variant data type nhưng thay vào đó là Object  data type.  • Tất cả array đều zero­based. VB.NET dùng block­level scope, do  đó một variable declared trong một IF...THEN..END IF block sẽ  biến mất khi qua khỏi END IF.  • Short Circuit trong IF..THEN Statement Trong VB6, nếu ta viết:  Dim myInt as Integer myInt = 0 If (myInt 0) and (17 \ myInt < 5 ) then Thì sẽ bị Division by Zero error, vì mặc dầu phần (myInt 0) là  False, nhưng VB6 vẫn tiếp tục tính phần  (17 \ myInt 
  16. Trong VB.NET sẽ được viết lại như sau:  x = New Product() w = x • Thay đổi trong cách viết Property rourines Nếu trong VB6 ta viết:  Private _description as String Public Property Let Description (Value As String) _description = Value End Property Public Property Get Description() As String Description = _description End Property Trong VB.NET Let và Get đuợc hợp lại và ta lại dùng chữ Set  thay cho chữ Get (mặc dầu chữ Set không còn dùng cho Object  như mới nói ở trên) như sau:  Private _description As String Public Property Description() As String Set _description = Value End Set Get Description = _description End Get End Property • Bây giờ nếu Property là ReadOnly hay WriteOnly ta sẽ viết:  Public ReadOnly Property Age() As Integer Get Age = 3 End Get End Property Private _data As Integer Public WriteOnly Property Data() As Integer Set _data = Value End Set End Property • Có thể dùng Reserved Word làm Procedure Name bằng cách để  nó giữa ngoặc vuông, thí dụ như:  Public Function [Compare] (ByVal v1 as Integer, ByVal v2 as Integer) as Boolean
  17. • Dùng Structure TRY...CATCH...FINALLY...END TRY để xử lý  error. Thí dụ như trong bài toán chia dưới đây, nếu bị Division by   0 error thì ta sẽ cho kết quả bằng 0:  Try result = a / b ' if this section has error jump to Catch section Catch ' only get here if an error occurs between Try and Catch result = 0 Finally ' This section is optional System.Diagnostic.Debug.WriteLine( result) End Try • Gosub đã bị dẹp bỏ.  Cài đặt .NET ( Public beta release 1) .NET Beta version 1 được cung cấp trong 3 CD. Nếu mới vô đầu chương trình Setup  đã than phiền là Windows OS trên máy bạn cần những Component version xứng  với .NET như trong hình dưới đây:
  18. thì bạn lấy CD1 ra khỏi CD drive và bỏ CD3 vào rồi click Windows Component  Update để tiếp tục. Khi trang Windows Component Update hiện ra như dưới đây,  đừng để ý Password, cứ click continue  Khi trang dưới đây hiện ra, quá trình SetUp sẽ install lần lượt các Components liệt kê  trong danh sách và system reboot bốn năm lần, nhưng đừng hú tim, thong thả mọi thứ  sẽ đuợc install. Hãy pha một ly trà để chờ đợi. 
  19. Sau nầy khi bạn bắt đầu dùng Samples, system sẽ Make (compile) các Components.  Chỉ việc nầy có thể mất cả nửa tiếng đồng hồ. Chúc bạn nhiều giờ sung sướng chơi với .NET.
Đồng bộ tài khoản