- Katılım
- 15 May 2013
- Konular
- 1,207
- Mesajlar
- 7,321
- Çözüm
- 6
- Online süresi
- 2mo 16d
- Reaksiyon Skoru
- 5,958
- Altın Konu
- 410
- Başarım Puanı
- 349
- MmoLira
- 45,963
- DevLira
- 3
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Apex nedir?
Apex, Salesforce tarafından geliştirilen özel bir dildir. Resmi tanımına göre Apex, geliştiricilerin Force.com API çağrılarıyla birlikte Force.com platform sunucusunda akış ve işlem kontrol ifadelerini yürütmelerine olanak tanıyan, güçlü tipli, nesne yönelimli bir programlama dilidir.
Java benzeri bir sözdizimine sahiptir ve veritabanı saklı prosedürleri gibi çalışır. Geliştiricilerin düğme tıklamaları, ilgili kayıt güncellemeleri ve Visualforce sayfaları dahil olmak üzere çoğu sistem olayına iş mantığı eklemelerini sağlar. Apex kodu, Web servis istekleri ve nesneler üzerindeki tetikleyicilerden başlatılabilir. Apex, Performans Sürümü, Sınırsız Sürüm, Kurumsal Sürüm ve Geliştirici Sürümü'nde bulunur.
Apex'in Bir Dil Olarak Özellikleri
Şimdi Apex'in bir dil olarak özelliklerini ele alalım:
Entegre
Apex, INSERT, UPDATE, DELETE gibi DML işlemlerine ve DML istisna işleme desteğine sahiptir. sObject kayıtlarını döndüren satır içi SOQL ve SOSL sorgu işleme desteği de mevcuttur. sObject, SOQL ve SOSL'yi ileriki bölümlerde detaylı olarak inceleyeceğiz.
Java benzeri sözdizimi ve kolay kullanım
Apex, Java'ya benzer bir sözdizimi kullandığı için kullanımı kolaydır. Örneğin, değişken bildirimi, döngü sözdizimi ve koşullu ifadeler.
Verilerle Güçlü Entegrasyon
Apex, veri odaklıdır ve birden fazla sorgu ve DML ifadesini birlikte yürütmek üzere tasarlanmıştır. Veritabanında birden fazla işlem ifadesi yayınlar.
Güçlü Tipli
Apex, güçlü tipli bir dildir. sObject gibi şema nesnelerine doğrudan referans kullanır ve geçersiz bir referans silinirse veya yanlış veri türündeyse hızla başarısız olur.
Çok Kullanıcılı Ortam
Apex, çok kullanıcılı bir ortamda çalışır. Sonuç olarak, Apex çalışma zamanı motoru, paylaşılan kaynakları tekeline almasını engelleyerek, kontrolsüz kodlara karşı yakından koruma sağlamak üzere tasarlanmıştır. Sınırları ihlal eden herhangi bir kod, anlaşılması kolay hata mesajlarıyla başarısız olur.
Otomatik Yükseltmeler
Apex, Salesforce sürümlerinin bir parçası olarak yükseltilir. Manuel olarak yükseltmemize gerek yoktur.
Kolay Test
Apex, birim test oluşturma ve yürütme için yerleşik destek sağlar; bu destek, ne kadar kodun kapsandığını ve kodunuzun hangi bölümlerinin daha verimli olabileceğini gösteren test sonuçlarını içerir.
Geliştirici Ne Zaman Apex'i Seçmeli?
Apex, önceden oluşturulmuş ve mevcut hazır işlevleri kullanarak karmaşık işlevselliği uygulayamadığımız durumlarda kullanılmalıdır. Aşağıda, Salesforce yapılandırması yerine Apex kullanmamız gereken durumlar verilmiştir.
Apex Uygulamaları
Apex'i şu durumlarda kullanabiliriz:
Diğer sistemleri entegre eden web servisleri oluşturmak.
E-posta gönderimi veya e-posta kurulumu için e-posta servisleri oluşturmak.
Aynı anda birden fazla nesne üzerinde karmaşık doğrulama işlemleri gerçekleştirin ve özel doğrulama uygulamaları uygulayın.
Mevcut iş akışı işlevselliği veya akışları tarafından desteklenmeyen karmaşık iş süreçleri oluşturun.
Özel işlem mantığı (yalnızca tek bir kayıt veya nesneyle değil, tüm işlem boyunca gerçekleşen mantık) oluşturun; örneğin, kayıtları güncellemek için Veritabanı yöntemlerini kullanın.
Bir kayıt değiştirildiğinde bazı mantık işlemleri gerçekleştirin veya tetikleyiciyi harekete geçiren bir olay olduğunda ilgili nesnenin kaydını değiştirin.
Apex'in Çalışma Yapısı
Aşağıdaki şemada gösterildiği gibi (Referans: Salesforce Geliştirici Dokümantasyonu), Apex tamamen talep üzerine Force Platformunda çalışır.
İşlem Akışı
Geliştirici kodu kaydettiğinde ve son kullanıcı Apex kodunu çağıran bir işlem gerçekleştirdiğinde, aşağıda gösterildiği gibi iki işlem dizisi vardır:
Geliştirici İşlemi
Bir geliştirici Apex kodunu yazıp platforma kaydettiğinde, platform uygulama sunucusu önce kodu Apex çalışma zamanı yorumlayıcısı tarafından anlaşılabilecek bir dizi talimata derler ve ardından bu talimatları meta veri olarak kaydeder.
Son Kullanıcı İşlemi
Son kullanıcı bir düğmeye tıklayarak veya bir Visualforce sayfasına erişerek Apex'in yürütülmesini tetiklediğinde, platform uygulama sunucusu derlenmiş talimatları meta verilerden alır ve sonucu döndürmeden önce çalışma zamanı yorumlayıcısından geçirir. Son kullanıcı, standart uygulama platformu isteğine kıyasla yürütme süresinde herhangi bir fark gözlemlemez.
Apex, Salesforce.com'un tescilli dili olduğundan, genel bir programlama dilinin desteklediği bazı özellikleri desteklemez. Apex'in desteklemediği bazı özellikler şunlardır:
Kullanıcı Arayüzünde öğeleri gösteremez.
SFDC tarafından sağlanan standart işlevselliği değiştiremezsiniz ve standart işlevselliğin yürütülmesini engellemek de mümkün değildir.
Diğer dillerde olduğu gibi birden fazla iş parçacığı oluşturmak da mümkün değildir.
Apex Sözdizimini Anlamak
Apex kodu, diğer programlama dillerinden aşina olabileceğimiz birçok şeyi içerir.
Java benzeri bir sözdizimine sahiptir ve veritabanı saklı prosedürleri gibi çalışır. Geliştiricilerin düğme tıklamaları, ilgili kayıt güncellemeleri ve Visualforce sayfaları dahil olmak üzere çoğu sistem olayına iş mantığı eklemelerini sağlar. Apex kodu, Web servis istekleri ve nesneler üzerindeki tetikleyicilerden başlatılabilir. Apex, Performans Sürümü, Sınırsız Sürüm, Kurumsal Sürüm ve Geliştirici Sürümü'nde bulunur.
Apex'in Bir Dil Olarak Özellikleri
Şimdi Apex'in bir dil olarak özelliklerini ele alalım:
Entegre
Apex, INSERT, UPDATE, DELETE gibi DML işlemlerine ve DML istisna işleme desteğine sahiptir. sObject kayıtlarını döndüren satır içi SOQL ve SOSL sorgu işleme desteği de mevcuttur. sObject, SOQL ve SOSL'yi ileriki bölümlerde detaylı olarak inceleyeceğiz.
Java benzeri sözdizimi ve kolay kullanım
Apex, Java'ya benzer bir sözdizimi kullandığı için kullanımı kolaydır. Örneğin, değişken bildirimi, döngü sözdizimi ve koşullu ifadeler.
Verilerle Güçlü Entegrasyon
Apex, veri odaklıdır ve birden fazla sorgu ve DML ifadesini birlikte yürütmek üzere tasarlanmıştır. Veritabanında birden fazla işlem ifadesi yayınlar.
Güçlü Tipli
Apex, güçlü tipli bir dildir. sObject gibi şema nesnelerine doğrudan referans kullanır ve geçersiz bir referans silinirse veya yanlış veri türündeyse hızla başarısız olur.
Çok Kullanıcılı Ortam
Apex, çok kullanıcılı bir ortamda çalışır. Sonuç olarak, Apex çalışma zamanı motoru, paylaşılan kaynakları tekeline almasını engelleyerek, kontrolsüz kodlara karşı yakından koruma sağlamak üzere tasarlanmıştır. Sınırları ihlal eden herhangi bir kod, anlaşılması kolay hata mesajlarıyla başarısız olur.
Otomatik Yükseltmeler
Apex, Salesforce sürümlerinin bir parçası olarak yükseltilir. Manuel olarak yükseltmemize gerek yoktur.
Kolay Test
Apex, birim test oluşturma ve yürütme için yerleşik destek sağlar; bu destek, ne kadar kodun kapsandığını ve kodunuzun hangi bölümlerinin daha verimli olabileceğini gösteren test sonuçlarını içerir.
Geliştirici Ne Zaman Apex'i Seçmeli?
Apex, önceden oluşturulmuş ve mevcut hazır işlevleri kullanarak karmaşık işlevselliği uygulayamadığımız durumlarda kullanılmalıdır. Aşağıda, Salesforce yapılandırması yerine Apex kullanmamız gereken durumlar verilmiştir.
Apex Uygulamaları
Apex'i şu durumlarda kullanabiliriz:
Diğer sistemleri entegre eden web servisleri oluşturmak.
E-posta gönderimi veya e-posta kurulumu için e-posta servisleri oluşturmak.
Aynı anda birden fazla nesne üzerinde karmaşık doğrulama işlemleri gerçekleştirin ve özel doğrulama uygulamaları uygulayın.
Mevcut iş akışı işlevselliği veya akışları tarafından desteklenmeyen karmaşık iş süreçleri oluşturun.
Özel işlem mantığı (yalnızca tek bir kayıt veya nesneyle değil, tüm işlem boyunca gerçekleşen mantık) oluşturun; örneğin, kayıtları güncellemek için Veritabanı yöntemlerini kullanın.
Bir kayıt değiştirildiğinde bazı mantık işlemleri gerçekleştirin veya tetikleyiciyi harekete geçiren bir olay olduğunda ilgili nesnenin kaydını değiştirin.
Apex'in Çalışma Yapısı
Aşağıdaki şemada gösterildiği gibi (Referans: Salesforce Geliştirici Dokümantasyonu), Apex tamamen talep üzerine Force Platformunda çalışır.
İşlem Akışı
Geliştirici kodu kaydettiğinde ve son kullanıcı Apex kodunu çağıran bir işlem gerçekleştirdiğinde, aşağıda gösterildiği gibi iki işlem dizisi vardır:
Geliştirici İşlemi
Bir geliştirici Apex kodunu yazıp platforma kaydettiğinde, platform uygulama sunucusu önce kodu Apex çalışma zamanı yorumlayıcısı tarafından anlaşılabilecek bir dizi talimata derler ve ardından bu talimatları meta veri olarak kaydeder.
Son Kullanıcı İşlemi
Son kullanıcı bir düğmeye tıklayarak veya bir Visualforce sayfasına erişerek Apex'in yürütülmesini tetiklediğinde, platform uygulama sunucusu derlenmiş talimatları meta verilerden alır ve sonucu döndürmeden önce çalışma zamanı yorumlayıcısından geçirir. Son kullanıcı, standart uygulama platformu isteğine kıyasla yürütme süresinde herhangi bir fark gözlemlemez.
Apex, Salesforce.com'un tescilli dili olduğundan, genel bir programlama dilinin desteklediği bazı özellikleri desteklemez. Apex'in desteklemediği bazı özellikler şunlardır:
Kullanıcı Arayüzünde öğeleri gösteremez.
SFDC tarafından sağlanan standart işlevselliği değiştiremezsiniz ve standart işlevselliğin yürütülmesini engellemek de mümkün değildir.
Diğer dillerde olduğu gibi birden fazla iş parçacığı oluşturmak da mümkün değildir.
Apex Sözdizimini Anlamak
Apex kodu, diğer programlama dillerinden aşina olabileceğimiz birçok şeyi içerir.
Değişken Bildirimi
Güçlü tipli bir dil olarak, Apex'te her değişkeni veri türüyle birlikte bildirmelisiniz. Aşağıdaki kodda (aşağıdaki ekran görüntüsü) görüldüğü gibi, lstAcc, Hesap Listesi veri türüyle bildirilmiştir.
SOQL Sorgusu
Bu, Salesforce veritabanından veri almak için kullanılacaktır. Aşağıdaki ekran görüntüsünde gösterilen sorgu, Hesap nesnesinden veri almaktadır.
Döngü İfadesi
Bu döngü ifadesi, bir listeyi veya bir kod parçasını belirli sayıda yinelemek için kullanılır. Aşağıdaki ekran görüntüsünde gösterilen kodda, yineleme sayısı sahip olduğumuz kayıt sayısıyla aynı olacaktır.
Akış Kontrol İfadesi
If ifadesi, bu kodda akış kontrolü için kullanılır. Belirli koşullara bağlı olarak, söz konusu kod parçasının çalıştırılıp çalıştırılmayacağına veya durdurulacağına karar verilir. Örneğin, aşağıda gösterilen kodda, listenin boş olup olmadığı veya kayıt içerip içermediği kontrol edilmektedir.
DML Deyimi
Veritabanındaki kayıtlara ekleme, güncelleme, upsert ve silme işlemlerini gerçekleştirir. Örneğin, aşağıda verilen kod, Hesaplar tablosunu yeni bir alan değeriyle güncellemeye yardımcı olur.










