SharePoint Embedded ile Kurumsal Uygulama Mimarisi
Bir uygulamayı geliştirme ortamından üretime taşırken ölçeklenebilirlik, güvenilirlik ve yönetilebilirlik tarafında net rakamlar gerekiyor. Microsoft 365 Developer Blog’da yayımlanan güncellemeler, SharePoint Embedded üzerinde kurumsal uygulama kuranlara bu üç başlıkta daha somut referans noktaları veriyor: kapasite limitleri, throttling davranışı, kimlik doğrulama/yetkilendirme seçenekleri ve Office ortak yazarlık (co-authoring) entegrasyonu. Aşağıda bu güncellemelerin mimari kararlarınızı nasıl etkilediğini derledim.
Ölçek planlaması: container stratejisi ve limitler
Microsoft, container stratejisi ve metadata stratejisi dokümantasyonunu kiracı genelinde paylaşılan site ve container tavanını hesaba katacak şekilde güncelledi. Planlama yaparken dayanılacak temel çizgi artık daha belirgin.
Container tasarımında temel soru, container’ları hangi eksende böleceğiniz. Kaynakta iki örnek yaklaşım veriliyor:
- Müşteri başına container: Birden fazla istemciye hizmet veren uygulamalarda izolasyon ve ölçek için doğal bir sınır.
- Aktivite başına container: Line-of-business uygulamalarında iş sürecine göre bölümleme.
Bir kiracıdaki container’lar, SharePoint limitlerindeki “sites per organization” sayısına dahil ediliyor. Yayın tarihi itibarıyla bu limit kiracı başına 2 milyon site ve container. Microsoft, üretime çıkmadan önce güncel limitlerin doğrulanmasını öneriyor; belirli bir tüketici kiracıda bu sınırı aşacak bir tasarım söz konusuysa ölçekleme seçeneklerini görüşmek üzere bir Microsoft temsilcisiyle iletişime geçilmesi tavsiye ediliyor.
Aranabilir sütunlar ve metadata
İçeriği daha fazla parametreyle bulmak isteyenler için aranabilir sütun limiti container başına 40 aranabilir sütuna yükseltildi (yayın tarihindeki değer). Bu sütunlarla arama dizini üzerinden ve KQL ile sorgulama yapabiliyorsunuz.
Anahtar kelime araması gerektiğinde Microsoft Graph içindeki Microsoft Search kullanılabiliyor. Arama, oturum açmış kullanıcının bağlamında çalışıyor, sonuçlar da kullanıcının erişebildiği içerikle sınırlanıyor (trimming). Uygulamanızın, dönen container veya dosyaları açabilmesi için ilgili container type’a erişimi de bulunmalı.
Dosyalar üzerinde yapılandırılmış alanlara ihtiyaç duyduğunuzda metadata devreye giriyor. Metadata, fileStorageContainer üzerinde sütun olarak, container drive’ının öğelerinde ise alan değeri olarak saklanıyor. Önce container üzerinde sütunu oluşturur, sonra dosyalara alan değerlerini yazarsınız.
Yük altında güvenilirlik: resource unit limitleri ve throttling
SharePoint Embedded, belge yönetiminde SharePoint Online uygulamalarına kıyasla daha yüksek throughput ve hacim gereksinimlerini karşılayacak şekilde tasarlandı. Kaynakta paylaşılan rakamlar şöyle:
| Senaryo | API limiti (uygulama/kiracı başına, dakikada) |
|---|---|
| SharePoint Embedded | 12.000 resource unit |
| 1.000 lisansa kadar SharePoint kiracısı | 1.250 resource unit |
Varsayılan limit, 1.000 lisansa kadar olan bir SharePoint kiracısına göre 9,6 kata kadar daha yüksek. Kaynaktaki grafikte yer alan saniye başına istek (req/s) hesapları, istek başına yaklaşık 2 resource unit’lik bir planlama varsayımına dayanıyor; gerçek değer çağırdığınız API’lere ve bunların resource unit maliyetine göre değişiyor. Belirtilen tüm limitler yayın tarihine ait ve değişebilir, üretim öncesi doğrulanması gerekiyor.
Throttling’e karşı tasarım
Uygulamanız servis limitlerine yaklaştığında throttling devreye girebiliyor. Yeni throttling rehberliğinde öne çıkan ilkeler şunlar:
- Yavaşlama sinyallerini (429/503) kalıcı hata değil, geçici baskı göstergesi olarak ele alın.
Retry-Afterdeğerine uyun, servisin belirttiği süre kadar bekleyin.- Dönen Rate Limit header’larıyla kalan kapasiteyi ölçün.
- Backoff ile birkaç kez yeniden deneyin, sonra durun.
- Yükü artırmak yerine paralel çağrı sayısını düşürün.
- Kullanımı uygulama, kiracı, kullanıcı ve container düzeyinde takip edin.
Throttling olasılığını azaltmak için izin ağırlıklı (permission-heavy) operasyonları seyreltmek ve yükü birden fazla container’a dağıtmak öneriliyor. İstek oranlarını, yanıt kodlarını ve gecikmeyi izlemek de performans tasarımının parçası.
Yeniden deneme mantığınız şu davranışları kapsamalı: HTTP 429 ve 503 kodlarını algılamak, Retry-After header’ını okumak, belirtilen süre kadar beklemek, throttling sonrası eşzamanlılığı düşürmek, anlık yeniden deneme döngülerinden kaçınmak ve bekleme süresi bittiğinde toplu istek sıçraması yaratmamak.
Kimlik doğrulama ve yetkilendirme ile yönetişim
Microsoft’un genel yaklaşımı gereksiz “ek” izinlerden kaçınmak yönünde; bu yüzden açık kimlik desteğine ve daha dar kapsamlı Graph izinlerine doğru bir yönelim var.
Service principal’lar, kimlik doğrulamayı uygulama mimarinize göre yapılandırmanıza imkan tanıyor. SharePoint Embedded artık Microsoft Entra service principal türlerini, bu kapsamda Entra ID ve Microsoft 365 güvenlik gruplarını destekliyor.
Uygulamalar bir Entra ID uygulama kaydıyla başlıyor, container’lar ile içerikleriyle Graph üzerinden etkileşime geçiyor. İki mod var: oturum açmış kullanıcı adına çalışan delegated access ve kullanıcısız çalışan app-only access. Microsoft mümkün olan her yerde delegated access kullanılmasını öneriyor; eylemler böylece bireysel kullanıcıyla ilişkilendirilebiliyor, güvenlik ve hesap verebilirlik de buna dayanıyor.
Daha dar Graph izinleri
En az ayrıcalık (least privilege) ilkesine uymak için SharePoint Embedded daha hedefli Microsoft Graph izinlerini destekliyor. Kaynakta verilen örnek, dosya önizleme gibi işlemlerde geniş kapsamlı Files.Read.All yerine FileStorageContainer.Selected izninin kullanılması. Uygulamanızın erişebileceği içerik üzerinde böylece daha fazla kontrolünüz oluyor.
Office co-authoring’i sıfırdan yazmadan eklemek
Uygulamanız dosya saklıyor ve kullanıcılar belge düzenlemek istiyorsa kendi işbirliği motorunuzu geliştirmeniz gerekmiyor. SharePoint Embedded, Word, Excel ve PowerPoint dosyalarını gerçek zamanlı ortak yazarlık için açmanıza olanak tanıyor; arkada Microsoft 365’in kullandığı Office servisi çalışıyor.
Bu yığınla birlikte gelenler:
- Office for the web ve Office masaüstü istemcilerinde gerçek zamanlı co-authoring.
- Word, Excel ve PowerPoint dosyaları için AutoSave.
- Otomatik sürüm geçmişi; kullanıcılar önceki sürümleri karşılaştırabilir ve geri yükleyebilir.
- Paylaşılabilir bağlantılarla paylaşım ve lisanslı kullanıcılar için yorumlarda @mentions.
- Kiracı/yönetici yapılandırmasına bağlı erişim düzeyleri: Anyone, People in your organization, Specific people ve People with existing access.
Dosyaları yeni bir sekmede veya pencerede Office for the web’de ya da Office masaüstü istemcilerinde açtırabilirsiniz. Uygulama içinde satır içi görüntüleme gerekiyorsa salt okunur preview gömmek de mümkün.
Görüntüleyicinin desteklemediği içerik türleri için yeni container type ayarı UrlTemplate devreye giriyor. Bu ayarla kullanıcıları belirli bir URL’ye yönlendirebilir veya uygulamanıza geri döndürebilirsiniz; kaynakta verilen örnek, kullanıcıyı bir indirme aksiyonuna yönlendirmek.
Geliştirmeye nasıl başlanır
Kaynakta üç başlangıç yolu öne çıkıyor:
- SharePoint Embedded MCP server (preview): Kaynakları doğal dille sağlamak ve yönetmek için bir coding agent içinde kullanılıyor. Örneğin “create a container type for my app” gibi bir ifade yazdığınızda AI istemcisi sunucunun araçlarını çağırıyor. Desteklenen istemciler arasında Visual Studio Code veya CLI üzerinde GitHub Copilot, Claude Desktop, Cursor ve Azure AI Foundry yer alıyor.
- SharePoint Embedded Visual Studio Code eklentisi: Container type oluşturma, sahip uygulamayı ve faturalandırmayı yapılandırma, container type kaydı, container oluşturma ve örnek uygulama yükleme adımlarını editör içinde rehberli bir akışla yapmanızı sağlıyor.
- Güncellenmiş dokümantasyon merkezi: Hem insanlar hem de AI agent’lar için daha okunabilir olacak şekilde yeniden düzenlenmiş; agentic araçlarınız için grounding kaynağı olarak kullanılabiliyor.
Dokümantasyon merkezi, SharePoint Embedded’ı değerlendirme, geliştirme, işletme ve yönetme görevleri etrafında kurgulanmış:
- Plan: Mimari, faturalandırma, güvenlik, limitler
- Build: Quickstart, Model Context Protocol (MCP), kimlik doğrulama, container’lar, dosyalar
- Publish: Müşteri onboarding’i ve faturalandırma
- Administer: Uygulamaların kurulumu ve yönetimi
- Govern: Güvenlik ve uyumluluk kontrolleri
Kısa değerlendirme
Güncellemeler SharePoint Embedded’ı bir “dosya depolama API’si” olmaktan çıkarıp kurumsal uygulamaların altyapı katmanına yaklaştırıyor. Limitlerin açıkça yayımlanmasıyla mimari kararları tahmine değil sayıya dayandırabiliyorsunuz, throttling rehberliği de dayanıklılık mantığını baştan tasarlamayı kolaylaştırıyor. İzin tarafında FileStorageContainer.Selected gibi dar kapsamlı izinlerin desteklenmesi, güvenlik incelemelerinden geçmesi gereken projelerde doğrudan işe yarayacak bir değişiklik. Sayısal limitlerin hepsi yayın tarihine ait; üretime çıkmadan önce doğrulanması gerekiyor.
Kaynaklar ve İleri Okuma
- Develop enterprise-grade apps with SharePoint Embedded — Steve Pucelik, Microsoft 365 Developer Blog
- SharePoint Embedded Visual Studio Code eklentisi (Marketplace)
- SharePoint Embedded benimseme kaynakları
- Microsoft 365 Developer Blog
- SharePoint Embedded ile Vektör Veritabanısız AI Uygulaması







0 comments