High Capacity Color Barcode (Microsoft Tag) - 2

 

Teknik ve Uygulaması

Bu api Microsoft tarafından Microsoft Tag Beta Public API ismi altında yayımlanmakta ve herkese açık bir web servis olarak sunulmaktadır. Beta versiyonuna başvurduğunuz size Public API’yi kullanmanız için bir anahtar verilmektedir.

Bu anahtarla; https://ws.tag.microsoft.com/MIBPService.wsdl adresinden bu api’yi kullanabilmektesiniz. Hesabınıza 500 tane kategori açma ve 5000’e kadar tag oluşturma ve silme izni verilmektedir.

Bu tag’in web servisini nasıl projeme tanıtabilirim?a-) Visual Studio projesi yaratın

b-) Project explorer menüsünden service reference’a sağ tıklayıp add service reference seçeneğini seçin.

c-) Adres olarak: https://ws.tag.microsoft.com/MIBPService.wsdlgirin

d-) İsim uzaylarınızı kontrol edin ve aynı isim uzayında birleştirin.

Nasıl Tag Yaratabilirim ?

Bunun için KEY’inizi almış olmanız gerekmektedir.    

private void CreateTag()   

{       

    try        {     

       MIBPContractClient OMIBPClient = new MIBPContractClient();  

       UserCredential oCredential = new UserCredential();

       oCredential.AccessToken = "Erişim anahtarınızı giriniz";

      URITag uriTag = new URITag();

      uriTag.MedFiUrl = http://www.birurlgir.com;

      uriTag.UTCStartDate = new DateTime(yyyy, mm, dd);

      uriTag.UTCEndDate = new DateTime(yyyy, mm, dd);

      OMIBPClient.CreateTag(oCredential, "Kategori", uriTag);

     }

     catch

     {

            throw;

     }   

}

 Nasıl Tag Editleyebilirim ?

  private void UpdateTag()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";         
            vTag.Title = "Yeni tag ismi";
 
            OMIBPClient.UpdateTag(oCredential, "Kategori ismi", "oluşturulan tagın ismi", vTag);
        }
        catch
        {
            throw;
        }
    }

 Tagi nasıl aktif hale getirebilir veya durdurabilirim ?

private void ActivateTag()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";         
            OMIBPClient.ActivateTag(oCredential, "Kategori ismi", "Tag ismi");
        }
        catch
        {
            throw;
        }
    }
    
    private void PauseTag()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";         
            OMIBPClient.PauseTag(oCredential, "Kategori ismi", "Tag ismi");
        }
        catch
        {
            throw;
        }
    }

Nasıl Kategori tanımalayabilirim ?

    private void CreateCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            oCat.Name = "Kategori ismi";
            oCat.UTCEndDate = new DateTime(yyyy, mm, dd);
            oCat.UTCStartDate = new DateTime(yyyy, mm, dd);
 
            OMIBPClient.CreateCategory(oCredential, oCat);
        }
        catch
        {
            throw;
        }
    }
      

 Kategoriyi nasıl düzenleyebilirim ?

    private void UpdateCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            oCat.Name = "Yeni kategor ismi";
            oCat.UTCEndDate = new DateTime(yyyy, mm, dd);
            oCat.UTCStartDate = new DateTime(yyyy, mm, dd);
 
            OMIBPClient.UpdateCategory(oCredential, "kategori ismi", oCat);
        }
        catch
        {
            throw;
        }
    }

Kategoriyi nasıl aktif hale getirir veya durdurabilirim ?

    private void ActivateCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            OMIBPClient.ActivateCategory(oCredential, "kategori ismi");
        }
        catch
        {
            throw;
        }
    }
  
   
    private void PauseCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            OMIBPClient.PauseCategory(oCredential, "kategori ismi");
        }
        catch
        {
            throw;
        }
    }
      

Nasıl Barkod yaratabilirim ?

private void CreateBarcode()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "erişim anahtarınızı giriniz";
            byte[] oBarcode = OMIBPClient.GetBarcode(oCredential, "kategori ismi", "Tag ismi", 
                                                     ImageTypes.tiff, Size, 
                                                     DecorationType.HCCBRP_DECORATION_NONE, 
                                                     Is Black or White);
       }
        catch
        {
            throw;
        }
    }  

Microsoft Tag’in beta sürümünde şu anda bu özellikler kullanılabilmektedir.

Sonuç

Bu makalede özellikle yüksek kapasiteli renkli barkod uygulamasının Microsoft firmasının Microsoft Tag ticari ismi ile piyasaya sunduğu bir teknolojiyi inceledik. Uygulamanın hali hazırda piyasada kullanım alanlarını incelerken kullanılabilecek olası sahalarada örnek verdik.  Görmüş olduğunuz gibi kullanım alanlarının sınırının oldukça geniş olan bu teknoloji avantajlar getirdiği gibi dezavanatajları da yapısı ile birlikte getirmektedir. Biz yazılım mühendisleri veya yazılım uzmanları açısından en can sıkıcı nokta bu uygulamanın beta aşamasında dahi belli bir Tag ve kategori oluşturma sınırı ile sunulması oldu. Teknolojinin web servis kullanılarak dağıtılması HardCore yazılımcılar açısından bir dezavantaj. Uygulumalarında yüksek seviye kontrol edilebilirlik arayanlar 3. Parti yazılımları genellik bir library veya DLL alarak kullanmaya alışmıştı. En azından bir müddet sıkıntı yaratsada Bulut Teknolojilerinin biz yazılım geliştiricilere yansıması da bu olsa gerek.

Yazan: Volkan Atasever 

Kaynaklar: Microsoft Research                    

Microsoft Tag Developer Portal                 

Yorum ekle