OLE Otomasyonu

Microsoft Windows uygulama programlamasında, OLE Otomasyonu (daha sonra basitçe Otomasyon olarak yeniden adlandırıldı[1][2]), Microsoft tarafından oluşturulan süreçler arası bir iletişim mekanizmasıdır. Başlangıçta Visual Basic olan komut dosyası dilleri tarafından kullanılması amaçlanan Bileşen Nesne Modeli'nin (COM) bir alt kümesine dayanmaktadır, ancak şimdi Windows'ta birkaç dil tarafından kullanılmaktadır. IDispatch arabirimini uygulamak için tüm otomasyon nesneleri gereklidir. Otomasyon denetleyicileri adı verilen uygulamaların, diğer uygulamalar tarafından dışa aktarılan paylaşılan otomasyon nesnelerine erişebildiği ve bunları değiştirebildiği (yani özelliklerini ayarlayabildiği veya yöntemleri çağırabildiği) bir altyapı sağlamaktadır.[3] Uygulamaların birbirini kontrol etmesi için daha eski bir mekanizma olan Dinamik Veri Değişimi'nin (DDE) yerini almaktadır. DDE'de olduğu gibi, OLE Otomasyonunda otomasyon denetleyicisi "istemci"dir ve otomasyon nesnelerini dışa aktaran uygulama "sunucu"dur.

Adının aksine, bazı Otomasyon nesneleri OLE ortamlarında kullanılabilse de, otomasyon nesneleri mutlaka Microsoft OLE kullanmaz. Karışıklığın kökleri, daha önce aşağı yukarı COM ile eşanlamlı olan Microsoft'un daha önceki OLE tanımında yatmaktadır.

Avantajlar ve sınırlamalar

Birlikte çalışabilirliği sağlamak için otomasyon arabirimleri, tüm COM türlerinin bir alt kümesini kullanacak şekilde sınırlandırılmıştır.[4][5] Özellikle, otomasyon arabirimleri, ham COM dizileri yerine SAFEARRAY kullanmalıdır.

Ancak otomasyonla uyumlu COM sunucuları, yerleşik OLE sıralama uygulamasına güvenebilmektedir.[6] Bu, işlem dışı sıralama için ek proxy/saplama projelerine olan ihtiyacı ortadan kaldırmaktadır.

Kullanım şekli

Otomasyon, komut dosyası oluşturma kolaylığı göz önünde bulundurularak tasarlanmıştır. Bu nedenle denetleyiciler genellikle son kullanıcılara Visual Basic for Applications gibi diller sağlayarak, komut dosyaları aracılığıyla otomasyon nesnelerini kontrol etmelerine olanak tanımaktadır. Otomasyon nesneleri genellikle geliştirmeyi basitleştirmek için C++[7] özniteliklerinin kullanılabileceği C++ gibi geleneksel dillerde yazılmaktadır. Visual Basic ve Borland Delphi gibi diller ayrıca temel uygulamanın karmaşıklığını gizleyen Otomasyon için uygun bir sözdizimi sağlamaktadır.[8]

Tür kitaplıkları

Bir uygulamayı otomatikleştirmek için, bir otomasyon denetleyicisinin geliştiricisi, etkinleştirme nesnelerini dışa aktaran hedef uygulama tarafından kullanılan nesne modelini bilmelidir.[9] Bu, hedef uygulamanın geliştiricisinin nesne modelini herkese açık olarak belgelemesini gerektirmektedir. Hedef uygulamanın nesne modeli bilgisi olmadan otomasyon kontrolörlerinin "zordan imkansıza"[10] geliştirilmesidir. Bu komplikasyonlar nedeniyle, Otomasyon bileşenlerine genellikle sınıflar, arabirimler ve bir nesne kitaplığı tarafından sunulan diğer özellikler hakkında meta veriler içeren tür kitaplıkları sağlanmaktadır. Arayüzler, Microsoft Arayüz Tanımlama Dili'nde açıklanmıştır. Tür kitaplıkları, Microsoft OLE/COM Nesne Görüntüleyici (oleview.exe, Microsoft Platform SDK'nın bir parçası) veya Visual Basic'teki Nesne Tarayıcı (sürüm 6'ya kadar) ve Visual Studio .NET gibi çeşitli araçlar kullanılarak görüntülenebilmektedir. Tür kitaplıkları, COM ile Microsoft .NET ve Java gibi diğer platformlar arasında birlikte çalışmak için Proxy kalıbı/saplama kodu oluşturmak için kullanılmaktadır. Java yerleşik COM desteğinden yoksun olsa da, JACOB[11] ve jSegue gibi araç setleri, tür kitaplıklarından proxy kaynak kodu (iki bölümden, bir dizi Java sınıfından ve bir Java Yerel Arabirim DLL'si için bir C++ kaynağından oluşur) oluşturabilmektedir. Bu çözümler yalnızca Windows'ta çalışmaktadır.

Microsoft, Microsoft Office'teki[12] tüm uygulamaların nesne modelini herkese açık olarak belgelemiştir ve diğer bazı yazılım geliştiriciler de uygulamalarının nesne modellerini belgelemiştir. Nesne modelleri, ODL'de açıklanan arayüzleri ile tip kitaplıkları olarak otomasyon kontrolörlerine sunulmaktadır

Dil desteği

Otomasyon, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere çeşitli diller için mevcuttur:

  • ABAP
  • C
  • C++
  • C#
  • Visual Basic veuygulamalar için Visual Basic
  • dBASE (via OleAutoClient class)
  • Delphi[13]
  • Microsoft .NET dilleri[14]
  • APL
  • Java
  • JScript[9] and VBScript
  • Open Object Rexx[15]
  • Perl[16]
  • PHP[17]
  • PowerBuilder
  • Python[18][19]
  • Ruby programlama dili
  • Tcl[20]
  • Visual DataFlex
  • WinBatch[21]

Ayrıca bakılabilir

  • ActiveX
  • Active Scripting
  • Object Linking and Embedding (OLE)
  • Component Object Model (COM)

Ek bilgiler

  • Microsoft Corporation (December 1993). OLE 2 Programmer's Reference: Creating Programmable Applications with OLE Automation v. 2. Programmer's Reference Library. Microsoft Press. ISBN 978-1-55615-629-8. 
  • Kraig Brockschmidt (1995). Inside OLE. Microsoft Press. 
  • Microsoft Corporation (1996). OLE Automation Programmer's Reference. Programmer's Reference Library. Microsoft Press. ISBN 978-1-55615-851-3. 
  • Microsoft Corporation (1999). Microsoft Office 2000 Visual Basic for Applications Language Reference. Microsoft Press. ISBN 978-1-57231-955-4.  — full printed documentation of the object model of Microsoft Office

Ek bağlantılar

  • OLE Automation OLE'nin uygulanmasına giriş ve sorunlar hakkında genel makale.
  • "VOLE - A Neat C++ COM/Automation Driver 20 Ocak 2018 tarihinde Wayback Machine sitesinde arşivlendi." — IDispatch'i doğrudan çalıştırmanız gerektiğinde kullanım için açık kaynaklı, derleyiciden bağımsız bir C COM Otomasyonu sürücü kitaplığı.

Kaynakça

  1. ^ Microsoft Corporation. "Automation (MFC)". MSDN. 18 Şubat 2008 tarihinde kaynağından arşivlendi. 
  2. ^ KruJ.; Wingo, Scott; Shepherd, George. "Chapter 25: Automation". Programming Microsoft Visual C++ 6.0 (5.5yıl=1998 bas.). Redmond, WA: Microsoft Press. ISBN 978-1-57231-857-1. 
  3. ^ Gordon McComb (1997). "Using OLE Automation to Control WordPerfect". 15 Ağustos 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Temmuz 2006.  — McComb describes how to use OLE Automation instead of DDE to control WordPerfect
  4. ^ Microsoft MSDN: oleautomation attribute 13 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
  5. ^ Microsoft MSDN: Automation-Compatible Types 11 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
  6. ^ Microsoft MSDN: Marshaling Details (COM) Type Library Marshaling community additions 9 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
  7. ^ Chris Oakley. "OLE Automation for C++ programmers". 24 Haziran 2012 tarihinde kaynağından arşivlendi. 
  8. ^ MSDN Magazine: C++ Attributes: Make COM Programming a Breeze with New Feature in Visual Studio .NET 19 Ocak 2015 tarihinde Wayback Machine sitesinde arşivlendi.
  9. ^ a b Yehuda Shiran and Tomer Shiran. "OLE Automation in JavaScript". WebReference. 10 Mayıs 2000 tarihinde kaynağından arşivlendi.  — despite the title, the article discusses JScript rather than JavaScript
  10. ^ Bruce Armstrong (16 Ocak 2006). "OLE — Extending the Capabilities of PowerBuilder (Part 2)". PowerBuilder Developers' Journal. 12 (11). 19 Şubat 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Temmuz 2021. 
  11. ^ "j-Interop Java COM interoperability from any platform". 1 Şubat 2009 tarihinde kaynağından arşivlendi. 
  12. ^ "How to find and use Office object model documentation". KnowledgeBase. Microsoft Corporation. 18 Şubat 2008 tarihinde kaynağından arşivlendi. 
  13. ^ "OLE Delph kullanarak otomasyoni". About.com. 9 Kasım 2005 tarihinde kaynağından arşivlendi. 
  14. ^ Kaynak hatası: Geçersiz <ref> etiketi; interop isimli refler için metin sağlanmadı (Bkz: Kaynak gösterme)
  15. ^ "Open Object Rexx". 7 Şubat 2005 tarihinde kaynağından arşivlendi. 
  16. ^ Jan Dubois (Yaz 1998). "Win32::OLE". The Perl Journal. 3 (2). 5 Mayıs 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Temmuz 2021. 
  17. ^ The PHP Group (25 Temmuz 2006). "PHP: COM and .Net (Windows)". 27 Ocak 2001 tarihinde kaynağından arşivlendi. 
  18. ^ Mark Hammond. "Python for Windows Extensions". 3 Ağustos 2003 tarihinde kaynağından arşivlendi. 
  19. ^ Sourceforge. "Comtypes Python package". 23 Ekim 2004 tarihinde kaynağından arşivlendi. 
  20. ^ Tcl programmers. "OLE from a Tcl perspective". 15 Haziran 2011 tarihinde kaynağından arşivlendi. 
  21. ^ Stan Littlefield. "OLE TUTORIAL WINBATCH OLE PROGRAMMING". 11 Temmuz 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Nisan 2022. 
  • g
  • t
  • d
Yönetim
araçları
Uygulamalar
Kabuk
Hizmetler
  • Arka Plan Akıllı Aktarım Hizmeti
  • Gölge Kopya
  • Görev Zamanlayıcısı
  • Hata Bildirimi
  • Hizmet Denetimi Yöneticisi
  • Kablosuz Sıfır Yapılandırma
  • Ortak Günlük Dosya Sistemi
  • Multimedya Sınıf Zamanlayıcısı Hizmeti
Dosya sistemleri
  • CDFS
  • DFS
  • exFAT
  • IFS
  • FAT
  • NTFS
    • sabit bağlantı
    • bağlantılar
    • bağlama noktası
    • yeniden ayrıştırma noktası
    • TxF
    • EFS
  • ReFS
  • UDF
Sunucu
  • Active Directory
  • Active DRM Services
  • Ağ Erişim Koruması
  • Dağıtılmış İşlem Düzenleyicisi
  • DFS Çoğaltma
  • DNS
  • Etki alanları
  • Gezici kullanıcı profilleri
  • Grup İlkesi
  • Hyper-V
  • IIS
  • Klasör yeniden yönlendirme
  • MSMQ
  • PWS
  • SharePoint
  • Sistem Kaynağı Yöneticisi
  • Sunucu Çekirdeği
  • Unix için Yazdırma Hizmetleri
  • Uzak Masaüstü Hizmetleri
  • Uzaktan Değişiklikleri Sıkıştırma
  • Uzaktan Yükleme Hizmetleri
  • Windows Dağıtım Hizmetleri
  • Windows Medya Hizmetleri
  • WSUS
Mimari
  • Windows NT mimarisi
  • Başlangıç işlemi
    • NT
    • NT 6
  • CSRSS
  • Çekirdek İşlem Yöneticisi
  • G/Ç istek paketi
  • Gelişmiş Yazma Filtresi
  • Gölge Kopya
  • Görüntüleme Biçimi
  • Grafik Cihaz Arabirimi
  • Güvenlik Hesabı Yöneticisi
  • hal.dll
  • Kayıt Defteri
  • Kaynak Koruması
  • LSASS
  • Mantıksal Disk Yöneticisi
  • Masaüstü Pencere Yöneticisi
  • Kitaplık dosyaları
  • MinWin
  • Nesne Yöneticisi
  • NTLDR
  • Ntoskrnl.exe
  • Open XML Kağıt Belirtimi
  • Sistem Boşta İşlemi
  • SMSS
  • Sunucu İleti Bloğu
  • Taşınabilir Yürütülebilir
  • USER
  • WHEA
  • Win32 konsolu
  • Winlogon
  • WinUSB
Güvenlik
  • Aile Koruması
  • AppLocker
  • BitLocker
  • Çekirdek Düzeltme Eki Koruması
  • Güvenlik ve Bakım
  • Kimlik Bilgileri Bütünlük Denetimi
  • Kimlik Bilgisi Koruyucusu
  • Korumalı Ortam Yolu
  • Kullanıcı Arabirimi Ayrıcalık Yalıtımı
  • Kullanıcı Hesabı Denetimi
  • Veri Yürütme Engellemesi
  • Windows Defender
  • Windows Güvenlik Duvarı
Uyumluluk
  • COMMAND.COM
  • Linux için Windows Alt Sistemi
  • Sanal DOS makinesi
  • Windows on Windows
  • WoW64
API
Oyunlar
  • Solitaire Collection
Artık
desteklenmeyenler
Oyunlar
  • Tinker
Uygulamalar
Diğerleri
  • Dosya Koruması
  • HPFS
  • Interix
  • Medya Denetim Arabirimi
  • POSIX alt sistemi
  • ScanDisk
  • UNIX için Windows Hizmetleri
  • Video for Windows
  • Windows SideShow
  • Windows Sistem Değerlendirme Aracı
  • Windows To Go
  • WinFS
  • Yeni Nesil Güvenli Bilgi İşlem Tabanı
Mağaza'ya aktarılanlar
  • DVD Oynatıcı
  • Hover!
  • Solitaire
  • Mahjong
  • Mayın Tarlası
Kullanımdışılar