cub-e.net

just coding...

Dynamics CRM 2011 Servis Mimarisi

 

Dynamics CRM üzerinde uygulama geliştirebileceğiniz çok güçlü bir mimari ile gelmektedir. Bu mimarinin temel yapı taşı ise WCF servisleridir. Bu yazımda sizlere CRM'in temel web servisleri olan Discovery ve Organization Servislerinin yapısını ve ne işe yaradıklarını anlatacağım.

CRM için kod geliştirirken her ne kadar sdk'nın içinden çıkan dll'leri kullansak da bu dll'ler vasıtasıyla ilk önce servis bağlantısı oluşturmamız gerekmektedir.  Yani verilere ulaşmak ve veri yazmak için WCF servislerini kullanmak zorundayız. Bu servislerle daha hızlı ve güvenli bir şekilde CRM platformuna entegre olmamızı sağlamaktadır.

WCF standartlaşmış bir teknoloji olduğu için biz yazılım geliştiricilere yeni özellikler sunmakta ve sürekli kendi içerisinde gelişmektedir. Dynamics CRM yapısında entity ve attribute katmanlı bir mimari bulunmaktadır. Yani biz CRM'in Business Logic katmanına müdahele edip yazılımlarımızı onunla entegre hale getirmekteyiz. Temel olarak nesne katmanı Entity isimli nesneden türemiştir. late-bound türlerde bu nesneyi sıklıkla kullanmaktayız. Early-bound olarak program geliştirme metodolojisini tercih edersek Entity class'ı ile işimiz olmamaktadır ama arka planda bütün nesnelerin bu class'dan türediği unutulmamalıdır. Bu konuya aşağıda bir örnekle tekrar değineceğim. CRM servislerine OrganizationServiceProxy ve DiscoveryServiceProxy sınıflarıyla bağlanmaktayız. Aşağıdaki kod bize bunu göstermektedir;

using (OrganizationServiceProxy _serviceProxy =
    new OrganizationServiceProxy(organizationUri, homeRealmUri, userCredentials, deviceCredentials)) ;

Discovery Servis

Dynamics Dynamics CRM 2011 multi-tenant bir mimaridedir. Yani tek bir uygulama birden fazla organizasyonu içerisinde barındırmaktadır. Yazılımcı olarak birden fazla organizasyon arasında geçiş yapmamız gerekiyorsa sistemde hangi organizyonlar olduğunu sorgulama işini Discovery servis ile yapmamız gerekmektedir. Bu servis yazma okuma işlemlerinin yapılacağı ana servise bağlanmamıza yardımcı olacak ve organizasyonların bilgisini bize döndürecektir. Aşağıdaki kod bize bu servise nasıl bağlanacağımızı ve organizasyonların bilgisine nasıl ulaşacağımızı göstermektedir.

Uri dInfo = new Uri("http://192.168.5.102/XRMServices/2011/Discovery.svc");
ClientCredentials clientcred = new ClientCredentials();
DiscoveryServiceProxy dsp = new DiscoveryServiceProxy(dInfo, null, clientcred, null);
dsp.Authenticate();
RetrieveOrganizationsRequest
rosreq = new RetrieveOrganizationsRequest();
RetrieveOrganizationsResponse
r = (RetrieveOrganizationsResponse)dsp.Execute(rosreq);
foreach
(OrganizationDetail o in r.Details)
{
      Console.WriteLine("Organizasyon Ad�� : " + o.FriendlyName);
}
Console
.ReadLine();

Bu kodla discovery servise bağlandıktan sonra ClientCredentials'ı kullanarak hali hazırda oturum açmış kullancının bilgisini sisteme göndermekteyiz. Ama her zaman bunu kullanmak istemeyebiliriz yani başka bir kullanıcı adı ve şifre ile sisteme girmek istediğimizde ClientCredentials'a kullanıcı adı, şifre bilgilerini verebiliriz.

clientcred.Windows.ClientCredential = new System.Net.NetworkCredential("kullanici adi", "sifre", "domain");

Yukarıdaki kodun çalışabilmesi için System.ServiceModel.Description,System.Runtime.Seriliazation, Microsoft.Xrm.Sdk.Client ve Microsoft.Xrm.Sdk dll'lerinin referanslara eklenmiş olduğundan emin olun. Ayrıca uygulamayı .Net Framework 4.0'da derlemek gerekiyor.

Organization Servis

Dynamics CRM 2011'in ana web servisi Organization Servis'tir. Bu servis içerisinde entity instance'ları üzerinde işlem yapabileceğimiz 6 metod ve execute metodu bulunmaktadır. CRM Servis sınıfını oluşturabilmek için Organization Service Proxy'nin bir instance'ını oluşturmamız gerekmekte. Daha sonrasında ise Organization Servis sınıfını bunu göre ayarlayacağız.

Uri dInfo = new Uri("http://192.168.5.102/XRMServices/2011/Organization.svc");
ClientCredentials
clientcred = new ClientCredentials();
clientcred.Windows.ClientCredential = new System.Net.NetworkCredential("kullanici adi", "sifre", "domain";
OrganizationServiceProxy
orgService = new OrganizationServiceProxy(dInfo, null, clientcred, null);
orgService.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());
IOrganizationService
ioService = (IOrganizationService)orgService;

Yukarıdaki kodun çalışabilmesi için System.ServiceModel.Description, Microsoft.Xrm.Sdk ve Microsoft.Xrm.Sdk.Proxy dll'lerinin referanslara eklenmiş olduğundan emin olun. Ayrıca uygulamayı .Net Framework 4.0'da derlemek gerekiyor. Oluşturduğumuz bu servisi daha sonra programımızın ilerleyen bölümlerinde çağırıp işlemler yapacağız.

Tabi burada belirtilmesi gereken bir konu da işlem yapmak istediğiniz nesnenin üzerinde yetkilerinizin olmasıdır. Bir kayıt oluşturabilmek için oluşturma yetkisine sahip olmanız gerekmektedir. Sadece okuma yetkisiyle bir kayıt oluşturamazsınız. Bir sonraki yazımda sizlere entity mimarisi ve yazma okuma işlemlerini anlatacağım.

 

 

 

Gaziantep Üniversitesi Gençsen Geleceksin 4.0 Etkinliği

11 Nisan 2011 Gaziantep Üniversitesi Gençsen Geleceksin etkinliğinde Microsoft'u temsilen konuşmacıyım.

Katılabilecek durumda olan herkesi beklerim.

Gençsen Geleceksin 4.0 ile Geleceğe Dönüş;

Son üç yıldır bir üniversite klasiği haline gelen kampüs turu Gençsen Geleceksin, bu yıl da Microsoft ve Turkcell ortaklığında "Gençsen Geleceksin4.0" adıyla yeniden başlıyor. Üniversite öğrencilerini ve teknoloji severleri geleceğin teknolojileri ile tanıştırmayı ve gençlere vizyon kazandırmayı amaçlayan “Gençsen Geleceksin 4.0” etkinliklerinde uzman konuşmacılar Mobil Teknolojilerde ve Yazılım Teknolojilerindeki yenilikler hakkında birinci ağızdan bilgi verirken, hepimizi bir gelecek yolculuğuna çıkaracaklar.

Sen de bu yolculukta şimdiden yerini al!

Bu yıl ~60 farklı kampüs içi ve online etkinlikle üniversite öğrencileri buluşacağımız Gençsen Geleceksin 4.0 da katılımcılar arasında yapılacak çekiliş ile süpriz hediyeler kazanan şanslı teknolojist sen olabilirsin...

Konular:

-Yeni nesil internet ve HTML 5
-Yenilikçi ürün servislerimiz
-Genç fikirlerden girişimcilere
-Yeni çalışma dünyası
-Imagine cup: Düşle gerçekleştir!
-Mobil teknolojiler ve dijitalleşme
-Etkileşimli dünya: Sosyal medya
-3G dünyasında neler oluyor?
-Oyun dünyası
-Mobil hayat

Katılım tamamen ücretsizdir ve katılanlara Microsoft onaylı katılım belgesi verilecektir.

Gelecekte görüşmek üzere!

Daha fazla bilgi için: www.gencsengeleceksin.com

 

MVP Summit 2011

20 Şubat- 3 Mart tarihleri arasında Amerika'daydım. Hem tatil hem iş için gitmiştim. Microsoft takipçileri bilirler her sene Şubat aynının sonunda Seattle'da MVP Summit yapılır. Dünya üzerindeki bütün MVP ve RD'ler bu etkinlikler ve eğitimler için Microsoft'a giderler. Ben de 2 yıldır bu etkinliklere katılıyorum. Bu sene biraz da gezebilmek amacıyla 1 hafta erken Amerika'ya gittim. 1 hafta boyunca New York'ta gezdim. New York çok çolgın bir şehir ve inanın bir Türk New York'ta çok rahat yaşayabilir. New York fotoğraflarına bu adresten ulaşabilirsiniz.

New York fotoğraflarına bu adresten ulaşabilirsiniz : http://www.facebook.com/album.php?id=626951879&aid=296766

New York'ta gezip görülebilecek yerleri ise şu şekilde sıralayabilirim;

 

  • Central Park
  • Time Square
  • Madame Tussauds Müzesi
  • China Town-Little Italy 
  • Metropolitan Museum of Art
  • Museum of Natural History (Doğa Tarih Müzesi)
  • Statue of Liberty (Özgürlük Anıtı)
  • Broadway
  • Wall Street
  • Empire State Building
  • The Flatiron Building

 

New York bu şekilde; Seattle ise geçen seneden bu yana hiç değişmemiş doğal olarak ama bu sene MVP Summit'te Steve Ballmer'ın konuşma yapması unutulmayacak bir olaydı Seattle fotoları ise bu adreste;

http://www.facebook.com/album.php?id=626951879&aid=305769

 

Personel İhtiyacı

Omerd Business Solutions kurulduğu günden bugüne Türkiye’nin öncü ve lider firmalarına yazılım ve sistem danışmanlığı yapan firmadır. Omerd Business Solutions; sahip olduğu uzman ekibi, gerçekleştirdiği yüksek ölçekli projeler ile sürekli gelişmekte olan bilişim teknolojilerinde Microsoft Dynamics CRM, Web Optimizasyonu, Bilgi Güvenliği, Sistem tasarımı, implementasyonu ve entegrasyonu konularında çözümler sağlamaktadır. Omerd Business Solutions; sahip olduğu vizyon, nitelik, deneyim ve değerlerle, Bilişim Teknolojilerinde yaşanan dinamik süreçleri, müşterilerinin gereksinimlerine entegre ederek, kuruma özel çözümler sunmaktadır.  

Firmamızın geliştirmekte olduğu projelere çabuk adapte olarak yazılım geliştirecek analitik düşünce yapısına sahip takım arkadaşı aramaktayız.

Aranan Nitelikler

  • Analitik algılama ve analiz yeteneklerine sahip
  • Çok katmanlı mimaride sistem geliştirme ve nesneye yönelik yazılım geliştirme konusunda deneyimli
  • C#,ASP.NET,XML Web Servisleri, SQL Server konularında deneyimli
  • Javascript, HTML, CSS gibi web tabanlı yazılım geliştirme teknolojilerinde deneyimli
  • Tercihen Windows Server Mimarisi (Active Directory, IIS, DNS...) konusunda bilgili
  • Erkek adaylar için askerliğini yapmış veya en az 2 yıl tecilli
  • Dökümantasyonları takip edebilecek kadar İngilizce bilgisine sahip.

 

 Not : Şirketimiz Söğütlüçeşme Metrobüs hattına çok yakındır.

Trakya Üniversitesi Gençsen Geleceksin Etkinliği

21 Mart 2011 Trakya Üniversitesi Gençsen Geleceksin etkinliğinde Microsoft'u temsilen konuşmacıyım.

Katılabilecek durumda olan herkesi beklerim.

Gençsen Geleceksin 4.0 ile Geleceğe Dönüş;

Son üç yıldır bir üniversite klasiği haline gelen kampüs turu Gençsen Geleceksin, bu yıl da Microsoft ve Turkcell ortaklığında "Gençsen Geleceksin4.0" adıyla yeniden başlıyor. Üniversite öğrencilerini ve teknoloji severleri geleceğin teknolojileri ile tanıştırmayı ve gençlere vizyon kazandırmayı amaçlayan “Gençsen Geleceksin 4.0” etkinliklerinde uzman konuşmacılar Mobil Teknolojilerde ve Yazılım Teknolojilerindeki yenilikler hakkında birinci ağızdan bilgi verirken, hepimizi bir gelecek yolculuğuna çıkaracaklar.

Sen de bu yolculukta şimdiden yerini al!

Bu yıl ~60 farklı kampüs içi ve online etkinlikle üniversite öğrencileri buluşacağımız Gençsen Geleceksin 4.0 da katılımcılar arasında yapılacak çekiliş ile süpriz hediyeler kazanan şanslı teknolojist sen olabilirsin...

Konular:

-Yeni nesil internet ve HTML 5
-Yenilikçi ürün servislerimiz
-Genç fikirlerden girişimcilere
-Yeni çalışma dünyası
-Imagine cup: Düşle gerçekleştir!
-Mobil teknolojiler ve dijitalleşme
-Etkileşimli dünya: Sosyal medya
-3G dünyasında neler oluyor?
-Oyun dünyası
-Mobil hayat

Katılım tamamen ücretsizdir ve katılanlara Microsoft onaylı katılım belgesi verilecektir.

Gelecekte görüşmek üzere!

Daha fazla bilgi için: www.gencsengeleceksin.com

Microsoft Bilişim Zirvesi 2011

11 Mart 2011 tarihinde İstanbul Kongre Merkezinde gerçekleşecek olan Microsoft Türkiye Bilişim Zirvesi ile tüm bilişimciler yeni bir deneyim ve paylaşım imkanı ile buluşturuluyor.

Microsoft iş ortaklarının deneyim ve başarı hikayelerinin de sunulacağı etkinlikte; Geleceğin Çalışma Dünyası, Web Platformu, Dinamik Veri Platformu, İş Kritik Uygulamaları, Uygulama Platformu ve Bulut Bilişim gibi konu başlıkları ile toplam 11 panel sunumu olacak.

Etkinliğe bu adresten kayıt olabilirsiniz : https://msevents.microsoft.com/cui/EventDetail.aspx?culture=tr-TR&EventID=1032474048&IO=l1KCS/dGn2P/FbGk97ziug%3d%3d

Microsoft Dynamics CRM 2011 Yeni Workflow ve Dialogs Mimarisi

Güncelleme : Bu akşam vereceğim webineri şehirdışında olmam nedeniyle ileri bir tarihe ertelemek zorunda kaldım. Yeni tarihi buradan paylaşıyor olurum.

Arkadaşlar bu ayki web seminerim CRM 2011 üzerinde yeni process mimarisi ile ilgili. Katılırsanız sevinirim. CRM 2011 RTM üzerinden anlatacağım.

Konu : Dynamics CRM 2011 – Yeni Workflow ve Dialogs Mimarisi
Konuşmacı : Barış KANLICA
Zaman : 22.03.2011 21:00
Link : http://nedirtv.com/webiner/40

Dynamics CRM 2011 SDK Update V5.0.2

 

MSDN downloads ve MSDN library adreslerinden Microsoft Dynamics CRM SDK Versiyon 5.0.2'i indirebilirsiniz. Yeni versiyonun içerisinde birkaç güncelleme ve iki yeni ek özellik var :

  • Developer Extensions ve Portal Developer Toolkit'i kullanmak için çeşitli kodlar ve dökümantasyonlar
  • Versiyon 4.0'daki gibi Metadata Browser özelliği sağlayan List.aspx

 

Yazgeliştir forumları yenilendi!!

Benim de editör kadrosunda yer aldığım bilgi paylaştıkça artar felsefesiyle yola çıkan yazgelistir.com'un forumları yenilendi.

Yazgeliştir forumları yeni arayüzü, yeni özellikleri ve yeni moderatör kadrosu ile hizmetinizde. 

Forumlarımızda yaptığımız bu köklü değişikliğin temel faydaları,
  • Gönderilere code snippet ve resim ekleme özelliği ile daha fonksiyonel ve anlaşılır bir kullanıcı arayüzü.
  • Sorulara daha hızlı cevap verebilmek ve soruların takip edilebilmesi.
  • Rss ile takip imkanı.
  • Sosyal sitelerde paylaşım imkanı.
  • Daha önceden cevaplanan sorular arasında daha rahat arama yapılabilmesi.
  • Aktif forum kullanıcılarını daha iyi takip ederek editör adaylarını ön plana çıkartmak olacaktır. 

Forumlarımızı ziyaret etmek için http://forum.yazgelistir.com adresini ziyaret edebilir veya Yazgeliştir üzerinden forumlara giriş yapabilirsiniz.