Sử dụng các tính năng cốt lõi của mạng viễn thông để phát triển các ứng dụng web: Phần 2: Sử dụng các API kiểu REST

Theo truyền thống, việc xây dựng các ứng dụng viễn thông đã bao hàm việc đối phó với những khó khăn rắc rối của mạng viễn thông và có kỹ năng kỹ thuật về các giao thức viễn thông, chẳng hạn như SMPP, MLP và Parlay. Bài viết hai phần này mô tả cách một nhà phát triển ứng dụng của bên thứ ba có thể xây dựng các dịch vụ giá trị gia tăng nhằm tận dụng các tính năng viễn thông cốt lõi có sẵn trong mạng của nhà cung cấp dịch vụ. Bài này, Phần 2, thảo luận các cách khác nhau để phát triển các ứng dụng viễn thông một cách dễ dàng khi sử dụng các API kiểu REST do IBM® WebSphere® Telecom Web Services Server (TWSS) trưng ra.

Raghunath Nair, Kỹ sư phần mềm, I.B.M.

author photoRaghunath E. Nair là một kỹ sư phần mềm chính trong Phòng thí nghiệm Phần mềm Ấn Độ của IBM ở Bangalore. Ông gia nhập IBM vào năm 2006. Hầu hết các vai trò gần đây của ông là thiết kế, phát triển và hỗ trợ phần mềm viễn thông cho phần mềm WebSphere của IBM, gồm cả IBM WebSphere TWSS và IBM WebSphere IMS Connector. Các lĩnh vực chuyên môn của ông là tích hợp phần mềm trung gian, SOA, các dịch vụ web và viễn thông. Ông là đồng tác giả của bài Sử dụng người môi giới thông báo WebSphere (WebSphere Message Broker) như là một ESB với WebSphere Process Server (Máy chủ qui trình WebSphere) trong loạt Sách Đỏ của IBM và ông có bằng cử nhân công nghệ về Điện tử và Truyền thông của trường Đại học Calicut.



Chandrashekar Naik, Kỹ sư phần mềm, I.B.M.

author photoChandrashekar B. Naik là một kỹ sư phần mềm trong Phòng thí nghiệm Phần mềm Ấn Độ của IBM. Ông gia nhập IBM vào năm 2004 và có kinh nghiệm trong việc thiết kế, phát triển và thử nghiệm phần mềm. Các lĩnh vực chuyên môn của ông gồm lập trình Java, J2EE và lập trình các dịch vụ web, bao gồm WebSphere Application Server (Máy chủ ứng dụng WebSphere), Telecom Web Services Server (Máy chủ các dịch vụ Web viễn thông), Mobile Portal Accelerator (Bộ tăng tốc công thông tin di động), điện toán lan tỏa và phần mềm WebSphere cho viễn thông. Ông hiện đang tập trung vào phát triển, hỗ trợ và thử nghiệm WebSphere Telecom Web Services Server. Chandrashekar cũng là một lập trình viên có chứng chỉ Sun và ông có bằng cử nhân kỹ thuật về Khoa học Máy tính của trường Đại học Công nghệ Visveswaraiah, Belgaum.



12 07 2012

Đây là Phần 2 của bài viết hai phần trình bày cách các nhà phát triển có các kỹ năng lập trình hạn chế có thể phát triển một ứng dụng web viễn thông một cách dễ dàng nhờ sử dụng các API kiểu REST do Phiên bản 7.1 của IBM® WebSphere® Telecom Web Services Server (Máy chủ các dịch vụ Web viễn thông WebSphere của IBM) trưng ra. So với phương thức dịch vụ web được mô tả trong Phần 1, việc gọi kiểu REST đơn giản hơn nhiều và không yêu cầu tạo các máy khách dịch vụ web từ các tệp WSDL. Phần 1 trình bày Kịch bản 1: Tạo một ứng dụng viễn thông với các dịch vụ web (nhấn chuột vào "Xem thêm nội dung trong liên kết của loạt bài này" dưới bản tóm tắt của bài này để đọc Phần 1).

Kịch bản 2. Tạo một ứng dụng web viễn thông với Ajax và JSON

Kịch bản này trình bày cách phát triển một ứng dụng web viễn thông bằng cách sử dụng cách tiếp cận thiết kế Ajax, định dạng dữ liệu JavaScript Object Notation (JSON – Ký hiệu đối tượng JavaScript) và các API kiểu REST do Telecom Web Services Server (Máy chủ các dịch vụ viễn thông Web) trưng ra.

Trường hợp sử dụng

  • Một nhà bán lẻ muốn gửi một quảng cáo đến tất cả khách hàng của mình để thông báo về một đơn hàng theo mùa. Nhà bán lẻ đó cũng muốn biết tình trạng giao hàng qua các tin nhắn SMS này.
  • Nhà bán lẻ đó thuê một nhà cung cấp ứng dụng của bên thứ ba làm việc này và nhà cung cấp đó cần gửi rất nhiều tin nhắn SMS, bằng cách sử dụng ứng dụng viễn thông Web 2.0.

Tạo ứng dụng Web 2.0

Trong phần này, chúng ta trình bày cách phát triển ứng dụng bằng cách sử dụng công nghệ Ajax với GUI (Giao diện người dùng đồ họa), các API kiểu REST để truy cập các tài nguyên viễn thông và định dạng dữ liệu JSON để mang tải tin. Trang HTML ví dụ mẫu được đính kèm (xem phần Tải về) trình bày cách thực hiện một cuộc gọi Ajax tới tài nguyên REST, khi sử dụng đối tượng dữ liệu JSON với TWSS. Một phần mã JavaScript thực hiện cuộc gọi này được thảo luận ở đây (xem mã trong Liệt kê 1).

Trong hàm JavaScript, một ô điều khiển cho đối tượng XMLHttpRequest cụ thể của trình duyệt vẫn được sử dụng. Một tin nhắn JSON được tạo ra bằng cách sử dụng các tham số senderName (Tên người gửi), các địa chỉ và tin nhắn thu được từ trang HTML (các tham số bắt buộc duy nhất là các địa chỉ và tin nhắn).

Phương thức stringify được sử dụng ở đây chuyển đổi đối tượng JSON thành văn bản JSON. Có thể tìm thấy một liên kết đến phương thức này trong phần Tài nguyên của bài này.

XMLHttpRequest được khởi tạo qua phương thức mở. Dưới đây là các tham số được chuyển giao cho phương thức này:

  • Phương thức HTTP được sử dụng để gửi yêu cầu.
  • URL trỏ đến tài nguyên REST.
    Lưu ý: IBM WebSphere Telecom Toolkit (Bộ công cụ Viễn thông WebSphere của IBM) không hỗ trợ tải tin JSON. Thay vào đó, hãy trỏ URL tới TWSS REST URI thực tế để kiểm tra tải tin đó. Xem tài liệu TWSS 7.1, Developing > REST Style Access Using HTTP > Interfaces (Phát triển > Truy cập kiểu REST khi dùng HTTP> Các giao diện), để biết thêm thông tin về tài nguyên REST có sẵn hỗ trợ JSON. Có thể tìm thấy một liên kết đến tài liệu này trong phần Tài nguyên của bài này.
  • Giá trị Bun (Boolean) cho biết liệu giao dịch có phải là không đồng bộ hay không

Phương thức sendSMS gửi đối tượng JSON đến máy chủ bằng cách sử dụng các tham số đó.

Hàm onreadystatechange được kích hoạt mỗi khi thay đổi trạng thái sẵn sàng. Hàm này thu nhận một đối tượng JSON đáp ứng có chứa messageId, là mã định danh của yêu cầu xác định một yêu cầu phân phát SMS cụ thể.

Bây giờ có thể sử dụng messageId này để nhận được tình trạng phân phát SMS đã gửi đi.

Liệt kê 1. Mã Java script để gọi một tài nguyên SMS REST
<script type="text/javascript">
function sendSMS()
{
	var xmlHttp= null;
	var url = "http://localhost:9089/ShortMessageService/services/JSON/sms";
	
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
		  xmlHttp = new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	  }

	var senderName = document.getElementById('senderName').value;
	var address = document.getElementById('addresses').value;
	var message = document.getElementById('message').value;

	var addressArr = new Array();
	var addresses = address.split(/,/);
	for ( var i = 0; i < addresses.length; i++) {
		addressArr.push(addresses[i]);
	}

	//Create the JSON Object
	var jsObject = {"addresses": addressArr ,"senderName": "" 
			+ senderName + "","message": "" + message + ""};
	var jsSON = JSON.stringify(jsObject);
	
	xmlHttp.open("POST", "" + url + "", true);
	
	xmlHttp.onreadystatechange = function () {
		
  	if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
       	my_JSON_object = JSON.parse(xmlHttp.responseText);
       
		if (my_JSON_object.messageId!=undefined) {
			alert("Response from Server:"+ my_JSON_object.messageId);
			document.getElementById("requestIdentifier").value = "";
			document.getElementById("dStat").innerHTML="";
		} 
		else if (my_JSON_object.result!=undefined) {
       	    document.getElementById("requestIdentifier").value = my_JSON_object.result;
    	   	my_JSON_object = JSON.parse(xmlHttp.responseText);
    	   	document.getElementById("dStat").innerHTML="";
		}
  	} 
	};
	
	xmlHttp.send(jsSON);
}
</script>

Mã trong Liệt kê 2 hiển thị hàm JavaScript trình bày cách nhận được tình trạng phân phát SMS đã gửi.

Liệt kê 2. Mã JavaScript để gọi một hoạt động getDeliveryStatus
<script type="text/javascript">
function getDeliveryStatus()
{
      var xmlHttp= null;
      var url = 
      "http://localhost:9089/ShortMessageService/services/JSON/smsDeliveryStatus";
      if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
                 xmlHttp=new XMLHttpRequest();
          }
      else
          {// code for IE6, IE5
          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
          }

      var reqId = document.getElementById('requestIdentifier').value;
      xmlHttp.open("POST", ""+ url +"", true);

      var jsObject = {"requestIdentifier": + reqId +""};
	
      var jsSON = JSON.stringify(jsObject);
      xmlHttp.open("POST", ""+ url +"", true);
	
      xmlHttp.onreadystatechange = function () {
                  if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
                          xmlNode = JSON.parse(xmlHttp.responseText);

                          if (xmlNode.messageId!=undefined) {
                          alert("Response from Server:"+ xmlNode.messageId);
                          document.getElementById("dStat").innerHTML="";
                        } 
                        else
                                {

               var innerHTML = '<table border=\'2\' >' +
               '<tr> <th> address </th> <th> Delivery Status</th> </tr>' ;
               for (var i = 0 ; i < xmlNode.result.length ; i++) {
                                var item = xmlNode[i];
                                innerHTML += '<tr>' +
                                '<td> ' + xmlNode.result[i].address + '</td>' +
                                '<td> ' + xmlNode.result[i].deliveryStatus + ' </td>' +
                                '</tr>';
               }
               innerHTML += "</table>";
               document.getElementById("dStat").innerHTML = innerHTML;
               }
               }
               };
               xmlHttp.send(jsSON);
}
</script>

Lưu ý:
Mã ví dụ mẫu được cung cấp sẽ gặp phải những hạn chế tạo kịch bản lệnh giữa các trang (cross-site scripting) trong trường hợp kịch bản lệnh được lưu trữ trên một máy chủ khác. Để khắc phục vấn đề này, bạn có thể chọn một trong hai hành động sau:

  • Sử dụng một trình duyệt không hạn chế việc tạo kịch bản lệnh giữa các trang. Chú ý cẩn thận: Việc này có thể ảnh hưởng đến bảo mật.
  • Đảm bảo rằng kịch bản lệnh này đang chạy trên cùng một máy chủ như TWSS.

Kịch bản 3. Tạo một ứng dụng viễn thông khi sử dụng Java và OneAPI

Về OneAPI

"Sáng kiến GSMA OneAPI định nghĩa một tập các API thân thiện với web và có trọng số nhẹ được hỗ trợ phổ biến để cho phép các nhà khai thác mạng khác và di động trưng ra thông tin và các khả năng mạng có ích cho các nhà phát triển ứng dụng web. Nó nhằm làm giảm nỗ lực và thời gian cần thiết để tạo các ứng dụng và nội dung có thể mang theo các nhà khai thác di động."
Nguồn: Trang web GSMA OneAPI. Có thể tìm thấy một liên kết đến trang web này trong phần Tài nguyên của bài này.

Kịch bản 3 thể hiện trường hợp sử dụng giống như trong Kịch bản 2. Tuy nhiên, ở đây, chúng ta trình bày cách phát triển một ứng dụng viễn thông bằng cách sử dụng một chương trình Java đơn giản với tài nguyên REST của OneAPI do TWSS v7.1 trưng ra.

TWSS 7.1 hỗ trợ đặc tả Phiên bản 0.9 của OneAPI, các mô hình dữ liệu được hỗ trợ gồm có XML, JSON và được mã hóa theo url của dạng mẫu. Nói chung, các yêu cầu được mã hóa theo url của dạng mẫu và các đáp ứng luôn là XML. Xem TWSS 7.1: Developing > REST Style Access Using HTTP > Interfaces (Phát triển > Truy cập kiểu REST khi dùng HTTP> Các giao diện) để biết các thông tin chi tiết về các dịch vụ được hỗ trợ trong TWSS 7.1, gồm cả SMS, TL và Payment (Thanh toán). Có thể tìm thấy một liên kết đến tài liệu này trong phần Tài nguyên của bài này.

Mã trong Liệt kê 3 dựng hoạt động sendSMS với các tham số bắt buộc và tùy chọn. Lưu ý những phần tử sau:

  • URL được nối thêm vào các đối số để tạo thành URL tài nguyên.
  • Phương pháp thực hiện của phương thức HttpClient được gọi với một tham số của HTTPMethod để gửi yêu cầu tới URL của TWSS REST.
  • Thu nhận đáp ứng qua phương thức getResponseBody của HTTPMethod.
  • Sau khi nhận được đáp ứng sendSMS, messageID được lấy ra từ đáp ứng này và getDeliveryStatus được truy vấn theo một cách tương tự.
  • Tình trạng phân phát tin nhắn (Message Delivery Status) được hiển thị ở phía dưới cùng.
Liệt kê 3. Đoạn mã Java để gọi một hoạt động sendSMS
//initialize HTTPClient object
org.apache.commons.httpclient.HttpClient client = 
        new org.apache.commons.httpclient.HttpClient();

//construct the sendSMS request 
urlString = resourceURL + "?" + strAddressArr + "&message=" + strMessage + 
	"&correlator=" + strCorrel + "&notifyURL=" + strNotifyURL + 
	"&senderName=" + strSenderName;
	
//initialize PostMethod specifying target URL  
org.apache.commons.httpclient.methods.PostMethod postMethod = 
        new org.apache.commons.httpclient.methods.PostMethod(urlString);
	
//execute the postmethod and get the status of the HTTP response
statusCode = client.executeMethod(postMethod);
System.out.println("HTTP status code:"+ statusCode);
	
//Read body of response into a string
postResponse = postMethod.getResponseBody();
strResponseAsAString = new String(postResponse);
System.out.println("SendSMS Response :" + strResponseAsAString);

//Create URL string for getSmsDeliveryStatus. 
//The getMessageId method retrieves the messageIdentifer from sendSMS response XML
urlString = resourceURL +"?messageId=" + getMessageId(strResponseAsAString);
		
//initialize GetMethod specifying target URL
org.apache.commons.httpclient.methods.GetMethod getMethod = 
        new org.apache.commons.httpclient.methods.GetMethod(urlString);
		
//execute getmethod and get the status of the HTTP response
       statusCode = client.executeMethod(getMethod);
       System.out.println("HTTP status code:"+ statusCode);
       	
       //Read body of response into a string
       postResponse = getMethod.getResponseBody();
System.out.println("Message Delivery Status:" + new String(postResponse));

Lưu ý:
Toàn bộ mã Java được cung cấp như là một Sự trao đổi dự án (Project Interchange) trong phần Tải về của bài này. Hãy chắc chắn đường dẫn xây dựng của dự án OneAPIJavaClient có một tài liệu tham khảo đến tệp com.ibm.jaxws.thinclient_7.0.0.jar có sẵn trong RAD75Home\runtimes\base_v7\runtimes.


Kịch bản 4. Tạo một ứng dụng viễn thông bằng cách sử dụng các tiện ích Dojo ví dụ mẫu

TWSS 7.1 cung cấp các giao diện RESTful tương thích với phiên bản 0.9 của đặc tả GSMA OneAPI ngoài các giao diện dịch vụ web hiện có. Để bổ sung các giao diện này cho đầy đủ, các tiện ích Dojo ví dụ mẫu kiểu REST đã được đưa vào trong IBM WebSphere Telecom Toolkit (Bộ công cụ Viễn thông WebSphere của IBM). Có thể sử dụng các tiện ích Dojo ví dụ mẫu này trong ứng dụng web để truy cập các tính năng mạng viễn thông. Ví dụ mẫu này gồm có các tiện ích dùng cho các mục đích sau:

  • Định vị thiết bị đầu cuối
  • Dịch vụ tin nhắn ngắn (SMS)
  • Các dịch vụ thanh toán

Các tiện ích này được xây dựng bằng cách sử dụng bộ công cụ Dojo có sẵn trong Web Services Feature Pack (Gói tính năng các dịch vụ web) cho Rational Application Developer. Nếu Gói tính năng các dịch vụ web này được cài đặt, có thể sử dụng các thư viện Dojo có sẵn trong gói tính năng đó. Nếu gói tính năng chưa được cài đặt, bạn có thể tải về bộ công cụ Dojo. Có thể tìm thấy một liên kết đến bộ công cụ Dojo trong phần Tài nguyên của bài này.

Kịch bản 4 trình bày trường hợp sử dụng giống như trong Kịch bản 2. Các tiện ích ví dụ mẫu này cho phép các trang web truy cập vào các tính năng mạng cốt lõi và làm cho việc phát triển ứng dụng viễn thông thực sự đơn giản. Có thể thử nghiệm các tiện ích ví dụ mẫu OneAPI Dojo trên Telecom Web Services Simulator (Bộ mô phỏng các dịch vụ web viễn thông) được cung cấp trong bộ công cụ đó. Đây là quá trình thiết lập để cài đặt các ví dụ mẫu REST:

  1. Cài đặt Phiên bản 7.1 của IBM WebSphere Telecom Toolkit (Bộ công cụ viễn thông WebSphere của IBM) trên Phiên bản 7.5 hoặc mới hơn của Rational Application Developer.
  2. Khởi chạy Rational Application Developer.
  3. Nạp các ví dụ mẫu vào trong vùng làm việc của Rational Application Developer bằng cách sử trang Import links from the Telecom Web Services Feature Samples. (Nhập khẩu các liên kết từ Các ví dụ mẫu của Tính năng các dịch vụ web viễn thông). Bạn có thể đạt tới trang đó bằng cách chọn Help > Samples > Samples > Technology Samples > Telecom Web Services Feature > Telecom Web Services Samples > One API Widget Sample.
  4. Xem lại các hướng dẫn về các điều kiện tiên quyết bằng cách nhấn vào liên kết Setup Instructions (Các hướng dẫn cài đặt).
  5. Nhập khẩu ví dụ mẫu,
  6. Nhập khẩu bộ công cụ Dojo vào thư mục WebContent trong dự án OneAPISample.
  7. Để kiểm tra các ví dụ mẫu này dựa vào bộ mô phỏng các dịch vụ web, hãy thêm /ParlayX21Web vào phần đầu giá trị của thuộc tính endPoint trong thẻ <div> trong mỗi tệp HTML ví dụ mẫu dưới thư mục telcoSampleWidgets: OneAPISample > WebContent > dojo > telcoSampleWidgets. Ví dụ, đây sẽ là điểm cuối của Dịch vụ tin nhắn ngắn (endPoint of Short Message Service): /ParlayX21Web/ShortMessageService/services/REST/sms
  8. Triển khai và chạy Bộ mô phỏng WebSphere (WebSphere Simulator) trên Phiên bản 7.0 hoặc mới hơn của IBM® WebSphere® Application Server (Máy chủ ứng dụng WebSphere của IBM).
    Lưu ý: Các tiện ích ví dụ mẫu OneAPI có thể được kiểm tra trên bộ mô phỏng các dịch vụ Web được cung cấp trong bộ công cụ.
  9. Nhấn phím chuột phải và chọn OneAPISamples > Webcontent > dojo > telcoSampleWidgets > sendSmsDemo.html và chọn Run As > Run on server.

Việc này sẽ mở ra một trang web với ví dụ mẫu sendSmsDemo của OneAPI, như trong Hình 1.

Hình 1. Ví dụ mẫu sendSmsDemo của OneAPI
Trang ví dụ mẫu OneAPI với tiện ích sendSmsDemo
  1. Trong khung nhìn Activity (Hoạt động) của Bộ mô phỏng các dịch vụ Web, hãy xác minh xem các tin nhắn SMS đã được phân phát chưa.
Hình 2. Khung nhìn Activity hiển thị việc phân phát SMS
Hiển thị ngày tháng, thời gian, bắt đầu nội dung

Xem Hình 2 lớn hơn.

Mẹo nhỏ:
Xem IBM Education Assistant (Trợ lý giáo dục của IBM) cho WebSphere Telecom Toolkit > Version 7.1 Update (Bộ công cụ viễn thông WebSphere > Cập nhật phiên bản 7.1), cung cấp các bước chi tiết về cách thiết lập các tiện ích Dojo ví dụ mẫu được cung cấp trong Rational Application Developer. Có thể tìm thấy một liên kết đến IBM Education Assistant trong phần Tài nguyên của bài này. Lưu ý: Đối với các tiện ích Dojo ví dụ mẫu được cung cấp, người ta giả định rằng chúng được dùng trên cùng một máy chủ như TWSS. Nếu không, có thể áp dụng các hạn chế tạo kịch bản lệnh giữa các trang (cross-site scripting).


Tóm tắt

Động lực học thay đổi của ngành công nghiệp viễn thông và Web 2.0 đang tạo ra nhiều triển vọng thú vị. Tính sẵn sàng của các khả năng mạng viễn thông thông qua giao diện HTTP phổ biến, hỗ trợ cho các tải tin JSON và XML, các API kiểu REST và các giao diện dịch vụ web có nghĩa là để phát triển và phân phối các ứng dụng viễn thông đổi mới là dễ dàng hơn với một nhà phát triển ứng dụng của bên thứ ba. Rào cản tham gia thấp này đối với các nhà cung cấp nội dung web, nghĩa là sẽ có các dịch vụ tốt hơn cho các khách hàng.

Thông tin tải về

Mô tả: Sự trao đổi dự án (Project Interchange) với mã ví dụ mẫu

Giới thiệu về các bản tải về

  • Có thể tìm thấy mã nguồn cho Kịch bản 3 trong tệp TWSS_Usage_Sample_PI.zip.
  • Có thể tìm thấy mã nguồn cho Kịch bản 2 trong tệp groupSMS.zip.
  • Đảm bảo đường dẫn xây dựng của dự án StartNotificationClient có một tài liệu tham khảo đến tệp com.ibm.ws.webservices.thinclient_7.0.0.jar có sẵn trong RAD75Home\runtimes\base_v7\runtimes.
  • Đảm bảo đường dẫn xây dựng của dự án OneAPIJavaClient có một tài liệu tham khảo đến tệp com.ibm.jaxws.thinclient_7.0.0.jar có sẵn trong RAD75Home\runtimes\base_v7\runtimes.

Các tải về

Mô tảTênKích thước
Source code for Scenario 3TWSS_Usage_Sample_PI.zip115KB
Source code for Scenario 2groupSMS.zip2KB

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Rational
ArticleID=825501
ArticleTitle=Sử dụng các tính năng cốt lõi của mạng viễn thông để phát triển các ứng dụng web: Phần 2: Sử dụng các API kiểu REST
publish-date=07122012