Gelen bilgi işlem , bir uygulama programlama arabirimi veya uygulama programlama arabirimi (genellikle olarak anılacaktır API için uygulama programlama arayüzü bir standardize kümesi ise) sınıfları , yöntemlerin , fonksiyonlar, ve sabitler olarak hizmet veren cephesi geçtiği yazılım teklifler hizmetler, diğer yazılım. Bir yazılım kitaplığı veya bir web hizmeti tarafından sunulur ve çoğunlukla tüketici programlarının sağlayıcı programının işlevselliğini nasıl kullanabileceğini belirten bir açıklama ile birlikte sunulur .
Daha genel olarak, bir BT kuruluşunun bir üçüncü taraf sistemiyle veya bu sistem üzerinde hareket etmeye çalıştığı andan itibaren API'den bahsederiz ve bu etkileşim, üçüncü taraf sistemi tarafından tanımlanan erişim kısıtlamalarına saygı duyulurken standart bir şekilde gerçekleşir. Üçüncü taraf sisteminin "bir API'yi açığa çıkardığı" söylenir. Bu nedenle, bir işlevin imzası, bir URL , bir RPC ... gibi çeşitli şeyler bazen kendi başlarına API'ler (veya mikro API'ler) olarak kabul edilir.
Çağdaş yazılım endüstrisinde, bilgisayar uygulamaları birçok programlama arabiriminden yararlanır, çünkü programlama üçüncü taraf yazılımlar tarafından sağlanan işlevsel tuğlaları yeniden kullanarak yapılır . Montaj yoluyla bu yapı, programcının programlama arabirimine bağlı olarak diğer yazılımlarla nasıl etkileşime gireceğini bilmesini gerektirir. Programcının üçüncü şahıs yazılımının dahili mantığının ayrıntılarını bilmesine gerek yoktur ve bu mutlaka satıcı tarafından belgelenmez. Söz konusu üçüncü taraf sistemini kullanmak için gerçekten yalnızca API'ye ihtiyaç vardır.
Gibi Yazılım işletim sistemleri , veri tabanı yönetim sistemleri , programlama dili veya uygulama sunucuları bir veya birden fazla arayüz (ler) programlama sayılabilir.
Bir programlama arayüzü, bir yazılımın diğer yazılımlara hizmet sağladığı, açıkça sınırlandırılmış bir cephedir. Amaç, uygulamanın ayrıntılarını gizleyerek işlevselliğe bir ağ geçidi sağlamaktır. Bir programlama arabirimi sınıflardan , yöntemlerden veya işlevlerden , veri türlerinden ve sabitlerden oluşabilir . Çoğu zaman, bir programlama arabirimi, çalışmasını göz ardı ederek bir bilgisayar sorununa çözüm sağlayan bir yazılım kitaplığı tarafından uygulanır .
Programlama arabiriminin açıklaması, yazılımın sunduğu işlevselliği vurgulayarak ve çalışmasının ayrıntılarını gizleyerek istemcilerin yazılımla nasıl etkileşime girebileceğini belirtir. Bir programlama arayüzü birçok programda kullanılabilir ve daha sonra uygulamalara dahil edilebilecek işlevsellik parçaları sağlayan bir yapı seti olarak hizmet eder. Programcılar, diğer programcılar için, bilgisayar endüstrisi için, bazen de kendi ihtiyaçları için programlama arayüzleri oluştururlar.
Programlama arayüzlerinin oluşturulması ve kullanılması, çağdaş programlamanın temel bir konusudur. Bir uygulama tipik olarak, kendileri diğer programlama arayüzlerini kullanabilen yazılım kitaplıkları tarafından uygulanan birçok programlama arayüzünü kullanır.
In hizmet odaklı mimari, uygulamalar tarafından uygulanan programlama arayüzleri aracılığıyla yazılım tarafından sunulan üçüncü taraf işlevleri bağlı olabilir web hizmetleri .
Programlama arayüzleri, yazılım geliştirme ekiplerinin işbirliği ve uzmanlaşması yoluyla zamandan tasarruf sağlar. Örneğin bugün Hiç kimse bir bilgisayar uygulaması için ev yapımı bir DBMS yazmıyor . Programcılar, bu tür ürünlerde uzmanlaşmış şirketler tarafından sağlanan mevcut hazır DBMS'leri yeniden kullanır ve uygulamalarına özgü mantığa odaklanır. Bu nedenle birçok altyapı ürünü çerçeveler veya kitaplıklar biçiminde mevcuttur .
Bir programlama arayüzü, örneğin bir programın , programı barındıran işletim sistemi tarafından sunulan hizmetlere erişmesine izin verir . Soket arabirimi , bir programın işletim sisteminin ağ katmanının olanaklarından yararlanmasına izin veren bir programlama arabiriminin klasik bir örneğidir.
En ünlü arayüzlerden biri Windows API'dir . Programcıların Windows işletim sistemleri için uygulamalar oluşturmasına izin veren, C programlama dilinde (Windows öncelikle C, özellikle çekirdek ve bazı C ++ ile yazılmıştır) işlevler, veri türleri ve sabitler topluluğudur. Dosyaları, süreçleri, ağlar üzerinden iletişim kurma ve grafik arayüzleri işleme imkanı sunar .
Çağdaş yazılım endüstrisinde bilgisayar uygulamaları, işletim sistemi , standart kitaplıklar veya uygulama sunucuları gibi birçok üçüncü taraf yazılımı kullanır . Bu ürünlerin her birinin kendi programlama arayüzü vardır. Bu nedenle, bu tür ürünlerin geliştirilmesine dahil olan her programcı, bilinçli veya bilinçsiz olarak , programlama arayüzleri işine dahil olur . İş açısından, bir programlama arayüzü, bir özellik sağlayıcının teklifini, sunduğu özellikleri ve herhangi bir sınırlamayı açıkladığı bir sözleşmedir.
Yazılımı birleştirerek inşa etmek, oluşturucunun parçaların birbirleriyle nasıl etkileşime girdiğini bilmesini gerektirir. Montajı yapan kişinin, programlama arayüzünü bildiği sürece, bir parçanın iç mekanizmalarının tüm ayrıntılarını bilmesine gerek yoktur. Programlama arabirimi, bir programcının bir üçüncü taraf yazılımı kullanabilmesi için bilmesi gereken minimum düzeydedir. Bir fonksiyon için, bunun adı, parametreler ve sonucun tipi ve fonksiyonun gözlemlenebilir etkileridir.
Bir programlama arabirimi, düzenli olarak geliştirilen sıradan bir yazılım ürünü olarak piyasada dağıtılmaktadır. Programlama arayüzü aracılığıyla kullanılabilen işlevlerin uygulanması, cephenin sözleşmeye uygunluğunu korurken periyodik olarak değişebilir.
Programlama arayüzlerinin birkaç işlevi olabilir. Örneğin, Java EE'de aşağıdaki işlevleri buluruz:
API'ler, diğer API'lere erişimi basitleştirmek için kullanılabilir
Programlama arayüzleri metadata taşıyabilir .
Yönetim API'si bir olan disiplin , bir araç API yönetimi , yardım için tasarlanmış bir BT çözüm örgütleri , şirketler faaliyet gösteren ve tehlikeye atmadan en iyi API yayımlamak bilgi sistemi . Dahili ve harici hizmetleri güvenli bir şekilde birbirine bağlamanın bir yoludur. Ayrıca API Yönetimi , API'lerine yapılan erişim isteklerinde belirli bir görünürlük elde edilmesini sağlar. Bu, açıkta kalan API'lerin güvenliğini sağlar, yaşam döngülerinin yönetimini kolaylaştırır, API tüketimini kontrol etmeye yardımcı olur ve sözleşmeleri izlemek için raporlama araçları sağlar. Yönetim API Resources'ın yaratılmasını ima kullanıcı desteği tanımlar ve API belgelemek.
"Bir API ( Uygulama Programlama Arayüzü ) […]"