Monday, October 21, 2013

Instantiate OrganizationServiceProxy and OrganizationServiceContext class using CRM SDK HelperCode

I write this article to summary how I instantiate the OrganizationServiceProxy and OrganizationServiceContext using CRM SDK Helper Code.

As research on MSDN about "Use the Early Bound classes in code", we all know that in order to access to the CRM Organization Web Services, we must using OrganizationServiceProxy or OrganizationServiceContext (For more information, please refer to MSDN : Use the Early Bound Entity Classes in Code).

In Microsoft Dynamics CRM 2011, you can use the OrganizationServiceProxy class to access the Web services. Alternatively, you can use the OrganizationServiceContext generated by the code generation tool to gain access to additional functionality. There instantiate approach seem to be various, but the following is the most common steps which get CRM SDK HelperCode involved:

1. Create Early Bound Entity Classes with the Code Generation Tool (CrmSvcUtil.exe) :

As preventing the duplicate topic, below is the command I used to create ContosoGenerated.cs file from Organization name: Contoso, including the ContosoServiceContextName class as the service context class.

CrmSvcUtil.exe /url:http://localhost:5555/Contoso/XRMServices/2011/Organization.svc/out:ContosoGenerated.cs /username:rdadmin /password:Password1 /serviceContextName:ContosoServiceContextName

2. Solution structure:

I created the Console C# project as the below structure:
  • ContosoGenerated.cs: The generated class from CrmSvcUtil.exe
  • crmservicehelpers.cs : Add existing class from <CRM SDK Directory>\sdk\samplecode\cs\helpercode\crmservicehelpers.cs
  • deviceidmanager.cs: Add existing class from <CRM SDK Directory>\sdk\samplecode\cs\helpercode\deviceidmanager.cs
  • Business.cs : The main business class.
  • Reference Assembly: there are many assemblies need to reference from both .NET, Window Update and CRM 2011 SDK.

3. Instantiate OrganizationServiceProxy and OrganizationServiceContext

//Init the server configuration
ServerConnection serverConnect = new ServerConnection();
ServerConnection.Configuration config = serverConnect.GetServerConfiguration(); 
The ServerConnection class provide the way to get the server connection and configuration. After the first successful run,  The default path to the C:\Users\rd-admin.RD-CRM04\AppData\Roaming\CrmServer\Credentials.xml will store the server configuration, you can tailor it by modify the crmservicehelpers.cs class.

<?xml version="1.0" encoding="utf-8"?>
<Configurations>
  <Configuration>
    <ServerAddress>localhost:5555</ServerAddress>
    <OrganizationName>Contoso</OrganizationName>
    <DiscoveryUri>http://localhost:5555/XRMServices/2011/Discovery.svc</DiscoveryUri>
    <OrganizationUri>http://rd-crm04:5555/Contoso/XRMServices/2011/Organization.svc</OrganizationUri>
    <HomeRealmUri>
    </HomeRealmUri>
    <Credentials>
      <UserName>rd-admin</UserName>
      <Domain>crm04</Domain>
    </Credentials>
    <EndpointType>ActiveDirectory</EndpointType>
    <UserPrincipalName>
    </UserPrincipalName>
  </Configuration>
</Configurations>

Create Service Proxy using GetOrganizationProxy method:

//Init the OrganizationServiceProxy
OrganizationServiceProxy serviceProxy = ServerConnection.GetOrganizationProxy(config);  
 
 //This statement is required to enable early-bound type support
serviceProxy.EnableProxyTypes();

Instantiate the Service Context class by pass an instance of the OrganizationServiceProxy class

//Instantiate the Service Context class by pass an instance of the OrganizationServiceProxy class
ContosoServiceContextName context = new ContosoServiceContextName(serviceProxy);

Friday, October 18, 2013

Bạn đã có SharePoint chưa ? Phần 1: Dành cho người dùng và nhà đầu tư công nghệ


Dưới góc độ của người sử dụng, hoặc chủ đầu tư công nghệ, Microsoft SharePoint (MS SharePoint) có thể được hiểu đơn giản là một ứng dụng phần mềm, và giá trị chính của ứng dụng này là cung cấp nền tảng cho tất cả các ứng dụng khác mà bạn cần,giúp thông tin vận hành xuyên suốt, hiệu quả và tập trung nhất có thể.
Sự thật là với tất cả chúng ta - những người đã biết và yêu thích SharePoint - đều nhận ra tiềm năng của SharePoint là một cái gì đó hơn thế nữa, một cái gì đó sâu sắc hơn là một ứng dụng kinh doanh.
Cách thức mới để làm việc cùng nhau
SharePoint cho phép bạn và đồng nghiệp một cách thức mới tốt hơn để hoàn thành công việc cùng nhau.

SharePoint thay đổi cách làm việc của mọi người. Nó làm cho công việc và cuộc sống của mọi người dễ dàng hơn và hiệu quả hơn. SharePoint giúp cho mọi người cộng tác trên các nhiệm vụ và văn bản, cung cấp nhanh chóng các thông tin cần thiết để hoàn thành công việc, và tạo điều kiện cho mọi người có thể kết nối với đồng nghiệp và chia sẻ công việc của nhau. SharePoint là một thành phần vô cùng mạnh mẽ của công nghệ, cung cấp vô số các phương tiện tiềm năng, nhờ đó mà bạn có thể phát triển và cải thiện cách mà bạn, đồng nghiệp, nhóm hay nhân viên của bạn làm việc hằng ngày.

Nền tảng SharePoint đã ra đời hơn cả thập kỉ. Phiên bản Microsoft SharePoint Portal Server 2001 ra đời đầu tiên đánh dấu cho thương hiệu SharePoint. Cho đến hơm nay, sau hơn một thập kỉ đầu tư nghiên cứu và phát triển, SharePoint giới thiệu phiên bản thứ 5 của dòng sản phẩm này, và thiết lập trật tự tiêu chuẩn cho ngành công cụ cộng tác trên nền web hiện đại. Khởi đầu khiêm tốn của SharePoint bắt đầu với việc chia sẻ tài liệu trên nền web và tạo ra các trang cộng tác. Những khả năng phổ biến đương nhiên vẫn tiếp tục phát triển và phát triển mạnh, nhưng sản phẩm SharePoint ngày nay đã trưởng thành và được củng cố vững chắc bởi các doanh nghiệp, đồng thời là nền tảng điện toán đám mây cung cấp đủ loại dịch vụ và chức năng.

Bánh xe SharePoint


Với bề rộng và chiều sâu của nền tảng SharePoint, để hiểu được tất cả khả năng mà SharePoint có thể đem lại quả thực là một thách thức. Vì thế, kể từ phiên bản 2010, bộ phận Marketing của SharePoint đã phát triển và công bố khái niệm "Bánh Xe SharePoint" (the SharePoint Wheel), hoặc cũng được biết đến với tên "Chiếc Bánh SharePoint" (the SharePoint Pie). Như ở hình trên, Bánh Xe SharePoint làm được một việc hiệu quả là giúp mọi người thấy được được sáu loại nhóm chức năng chính mà SharePoint cung cấp: sites, communities, content, search, insights, and composites. Bên trong mỗi nhóm là một kho tàng các chức năng và chi tiết kĩ thuật, nhưng Bánh Xe SharePoint đã giúp kiểm soát việc khó khăn trong cách hiểu khả năng tổng quát của SharePoint.

Sites: Những nơi mà người dùng thao tác và hoàn tất các công việc của họ.

Sites

SharePoint Sites tạo ra một nền tảng chung nhất cho tất cả các trang web kinh doanh của bạn. SharePoint cho phép người dùng tạo ra, định nghĩa sẵn các trang web mới thông qua giao diện trình duyệt một cách dễ dàng, nhanh chóng và đáp ứng chính xác nhu cầu kinh doanh. Có sẵn nhiều mẫu trang web sẵn dùng trong SharePoint tùy thuộc vào từng yêu cầu cụ thể: Làm việc nhóm, quản lí tài liệu, tìm kiếm, thư viện và hơn thế nữa. Với những trang web này, nó có thể giúp bạn hoàn thành nhìn nhiệm vụ quan trong, bao gồm chia sẻ tài liệu với đồng nghiệp, làm việc nhóm dự án, xuất bản thông tin với khách hàng và nhiều thứ khác. Trang web là cỗ máy công nghệ cơ bản của SharePoint: Nơi mà người dùng thực hiện và hoàn tất các công việc của họ.

Chia sẻ ý tưởng, tìm kiếm và cộng tác với đúng người, nối kết các chuyên gia là những trải nghiệm mà mạng xã hội doanh nghiệp của SharePoint mang lại.

Communities

SharePoint communities tạo ra khả năng triển khai mạng xã hội và mạng cộng tác trong tổ chức doanh nghiệp. SharePoint hỗ trợ quy trình làm việc nhóm thông qua blogs, thư viện, cung cấp đầy đủ các tính năng nổi trội của mạng xã hội như newsfeeds, tagging, trang web cá nhân và các chức năng khác nữa. Chia sẻ ý tưởng, tìm kiếm và cộng tác với đúng người, nối kết các chuyên gia là những trải nghiệm mà mạng xã hội doanh nghiệp của SharePoint có thể mang lại.

Quản lý văn bản, công văn, tài liệu và các nội dung dữ liệu của doanh nghiệp, tổ chức mà không hề thay đổi cách thức làm việc hằng ngày của họ.

Content

SharePoint đáp ứng hoàn chỉnh khả năng quản lý văn bản, tài liệu, công văn, quản lý nội dung web và tất cả những gì liên quan đến nội dung mà tất cả các công việc kinh doanh, tổ chức đều cần phải thực hiện. SharePoint cung cấp mẫu trang web and mẫu chức năng cho từng lĩnh vực quản lý nội dung kể trên. Với tất cả các loại dữ liệu số cơ bản như files, hình ảnh, pdf, video và đương nhiên là hỗ trợ vô cùng mạnh mẽ các văn bản có trong bộ Microsoft Office. Tích hợp chặt chẽ tính năng quản lý nội dung với các sản phẩm phần mềm trên máy bàn hiện có của doanh nghiệp (Mail, MS-Word, MS-Excel, MS-PowerPoint, MS-Access) cho phép đảm bảo tất cả các hoạt động của người dùng trên nội dung hiện tại vẫn diễn ra bình thường như mọi ngày.

Một cỗ máy tìm kiếm hoàn hảo trong doanh nghiệp.

Search

SharePoint chứa đựng khả năng tìm kiếm từ những ngày đầu của dòng sản phầm này. Ở phiên bản mới nhất của dòng sản phẩm, SharePoint Search đã trưởng thành đến đầy đủ các chức năng của một cỗ máy tìm kiếm trong doanh nghiệp. SharePoint Search giúp người dùng khám phá ra dữ liệu, con người, và mọi loại dữ liệu kinh doanh. Tính liên quan và chính xác của dữ liệu trả về người dùng khi câu hỏi tìm kiếm được thực thi tương tự như bất cứ cỗ máy tìm kiếm nào trên Internet, tính năng này cung cấp một trải nghiệm giá trị và hoàn toàn thuyết phục rằng nó ủy quyền cho nhân viên thực hiện công việc của họ một cách hiệu quả nhất có thể.

Cung cấp và biểu diễn thông tin có giá trị ra quyết định kinh doanh.

Insights

Insights, còn được biết đến với tên gọi BI (Business Intelligence), tạo ra khả năng dễ dàng kết nối và biểu diễn dữ liệu được lưu trong cơ sở dữ liệu, danh sách hoặc biểu mẫu MS Excel. Tận dụng tích hợp triệt để các tính năng như Excel Services, PerformancePoint, và SQL Server Reporting, SharePoint tạo điều kiện để tạo ra và chia sẻ các bảng thống kê, báo cáo giúp cho người dùng xác định được xu hướng kinh doanh, cộng tác để đạt được các mục tiêu chung trên thức đo chung, và chỉ định chính xác dữ liệu mà họ cần để đưa ra những quyết định kinh doanh tốt hơn.

Tạo ra hiệu quả hoàn vốn ngắn hạn trên giá trị đầu tư công nghệ mà không có một nền tảng giải pháp phần mềm nào có thể so sánh được.

Composites

Composites là các ứng dụng của SharePoint trong việc tổng hợp dữ liệu kinh doanh thông qua các công cụ sẵn có của SharePoint, đồng thời là thư viện tương tác mở để các lập trình viên, các ISV ( Independent Software Vendor) có thể phát triển các giải pháp sâu sát nhất với yêu cầu kinh doanh đặc thù của từng doanh nghiệp trong mọi lĩnh vực. Các ứng dụng được phát triển trên nền tảng mô hình tổng hợp của SharePoint thông thường được phát triển và chuyển giao tính theo đơn vị ngày hơn là tính theo tháng hay năm, và đôi khi là một giải pháp phần mềm mà không yêu cầu phải có các lập trình viên viết mã. Tính linh động là một thành phần giá trị của nền tảng SharePoint - Thiết kế nhanh, Xây dựng và triển khai giải pháp phần mềm kinh doanh liên tục và đồng thời giúp tạo ra hiệu quả hoàn vốn ngắn hạn trên giá trị đầu tư mà không có một nền tảng giải pháp phần mềm nào có thể so sánh được.

Việc triển khai SharePoint cần được xem là chiến lược đầu tư dài hạn trên hệ thống thông tin của doanh nghiệp. Bài viết hy vọng đem lại góc nhìn khái quát nhất để trả lời câu hỏi SharePoint là gì dưới góc nhìn của người dùng và nhà đầu tư công nghệ. Bạn đã có SharePoint chưa ?

Nếu bạn đã bắt đầu quan tâm đến SharePoint, đây là nơi để bắt đầu:

Lynda.com: What is SharePoint:
What is SharePoint?

View this entire SharePoint 2010 Essential Training course and more in the lynda.com library.
MS SharePoint Official Website: http://office.microsoft.com/vi-vn/sharepoint/FX103789323.aspx

Báo điện tử thanh niên sử dụng SharePoint: http://www.thanhnien.com.vn/pages/default.aspx

Cộng đồng SharePoint Vietnam: http://www.sharepointvn.net/

SharePoint Conference 2012 Opening Keynote: 

 

Hello World