NPM : 16110893
NAMA : TIDAR KUSUMANINGRUM
KELAS : 4KA28
Pengertian OSGI (Open Service
Gateway Initiative)
OSGI (Open Service Gateway
Initiative) adalah sebuah rencana industri untuk cara standar
untukmenghubungkan perangkat seperti perangkat rumah tangga dan sistem keamanan
ke Internet.OSGI berencana menentukan program aplikasi antarmuka (API) untuk
pemrogrammenggunakan, untuk memungkinkan komunikasi dan kontrol antara penyedia
layanan danperangkat di dalam rumah atau usaha kecil jaringan. OSGI API akan
dibangun pada bahasapemrograman Java. Program java pada umumnya dapat berjalan
pada platform sistem operasikomputer.
Manfaat OSGI
1. Mengurangi Kompleksitas
(Reduced Complexity)
Mengembangkan dengan teknologi OSGi
berarti mengembangkan bundel: komponenOSGi. Bundel adalah modul. Mereka
menyembunyikan internal dari bundel lain danberkomunikasi melalui layanan
didefinisikan dengan baik. Menyembunyikan internals berartilebih banyak
kebebasan untuk berubah nanti. Hal ini tidak hanya mengurangi jumlah bug,
itu juga membuat kumpulan sederhana untuk berkembang karena bundel ukuran
benarmenerapkan sepotong fungsionalitas melalui interface didefinisikan dengan
baik. Ada sebuahblog menarik yang menjelaskan teknologi OSGi apa yang mereka
lakukan bagi prosespembangunan
2. Reuse
Para model komponen OSGi membuatnya
sangat mudah untuk menggunakan banyak komponen pihak ketiga dalam suatu
aplikasi. Peningkatan jumlah proyek-proyek sumber terbuka memberikan JAR’s
mereka siap dibuat untuk OSGi. Namun, perpustakaan komersial jugamenjadi
tersedia sebagai bundel siap pakai.
3. Real World
OSGI kerangka kerja yang dinamis.
Ini dapat memperbarui bundel on the fly dan pelayanan yang datang dan pergi.
Ini dapat menghemat dalam penulisan kode dan juga menyediakan visibilitas
global, debugging tools, dan fungsionalitas lebih daripada yang telah
dilaksanakan selama satu solusi khusus.
4. Easy Deployment
Teknologi OSGi bukan hanya sebuah
standard untuk komponen, tapi juga menentukan bagaimana komponen diinstal dan
dikelola. API telah digunakan oleh banyak berkas untuk menyediakan sebuah agen
manajemen. Agen manajemen ini bisa sesederhana sebagai perintah shell, TR-69
sebuah protokol manajemen pengemudi, OMA DM protokol sopir, komputasi awan
antarmuka untuk Amazon EC2, atau IBM Tivoli sistem manajemen. Manajemen standar
API membuatnya sangat mudah untuk mengintegrasikan teknologi OSGi dalam sistem
yang ada dan masa depan.
5. Dynamic Updates
Model komponen OSGi adalah model
dinamis. Kumpulan dapat diinstal, mulai, berhenti,diperbarui, dan dihapus tanpa
menurunkan keseluruhan sistem. Banyak pengembang Java tidak percaya ini dapat
dilakukan pada awalnya oleh karena itu tidak digunakan dalam produksi.Namun,
setelah menggunakan ini dalam pembangunan selama beberapa waktu, sebagian besar
mulai menyadari bahwa itu benar-benar bekerja dan secara signifikan mengurangi
waktu penyebaran.
6. Simple
The OSGi API sangat sederhana. API
inti hanya terdiri dari satu paket dan kurang dari 30 kelas / interface. API
inti ini cukup untuk menulis kumpulan, menginstalnya, start, stop, update,dan
menghapus mereka dan mencakup semua pendengar dan keamanan kelas.
7. Kecil (Small)
The OSGi Release 4 Framework dapat
diimplementasikan kedalam JAR 300KB. Ini adalah overhead kecil untuk jumlah
fungsi yang ditambahkan ke salah satu aplikasi dengan memasukkan OSGi. Oleh
karena itu OSGi berjalan pada berbagai macam perangkat: dari sangat kecil,
kecil, dan untuk mainframe. Hanya meminta Java VM minimal untuk menjalankan dan
menambahkan sangat sedikit di atasnya.
8. Cepat (Fast)
Salah satu tanggung jawab utama
dari Framework OSGi memuat kelas-kelas dari bundel.Di Java
tradisional, JARs benar-benar terlihat dan ditempatkan pada daftar linear.
Pencarian sebuah kelas memerlukan pencarian melalui daftar ini. Sebaliknya, pra-kabel
OSGi bundel dan tahu persis untuk setiap bundel bundel yang menyediakan kelas.
Kurangnya pencarian yang signifikan faktor mempercepat saat startup.
Teknologi OSGi meliputi :
• The Problem (Permasalahan)
• The Solution (Pemecahan Masalah)
• The Framework (Kerangka Kerja)
• Standard Services (Pelayanan Standard)
• Framework Services (Pelayanan Kerangka Kerja)
• System Services (Pelayanan Sistem)
• Protocol Services (Pelayanan Protokol)
• Miscellaneous Services (Bermacam-macam pelayanan)
• Conclusion (Kesimpulan)
• The Solution (Pemecahan Masalah)
• The Framework (Kerangka Kerja)
• Standard Services (Pelayanan Standard)
• Framework Services (Pelayanan Kerangka Kerja)
• System Services (Pelayanan Sistem)
• Protocol Services (Pelayanan Protokol)
• Miscellaneous Services (Bermacam-macam pelayanan)
• Conclusion (Kesimpulan)
Framework OSGi :
Komponen inti dari Spesifikasi OSGi
adalah Framework OSGi. Framework menyediakan lingkungan standar untuk aplikasi
(disebut bundel).
Layer-layer OSGI
· Bundels – komponen OSGi yang
dibuat oleh pengembang
· Services – Layanan bundel
menghubungkan lapisan dalam cara yang dinamis dengan menawarkan
menerbitkan-menemukan-model mengikat Jawa lama untuk menikmati objek.
· Life Cycle – The API untuk
instalasi, start, stop, update, dan menghapus bundel.
· Modules – Lapisan yang
mendefinisikan bagaimana sebuah bundel dapat mengimpor dan mengekspor kode.
· Security (Keamanan) – Lapisan yang
menangani aspek keamanan.
· Execution Environment (Eksekusi
Lingkungan) – Menetapkan metode dan kelas-kelas apa saja yang tersedia dalam
platform tertentu.
Penjelasan:
- Bundel
Kumpulan jar normal komponen dengan nyata tambahan header. Sebuah bundel adalah sekelompok kelas Java dan sumber daya tambahan yang dilengkapi dengan rincian file pada MANIFEST.MF nyata semua isinya, serta layanan tambahan yang diperlukan untuk memberikan kelompok termasuk kelas Java perilaku yang lebih canggih, dengan tingkat deeming seluruh agregat sebuah komponen.
- Layanan
Layanan yang menghubungkan lapisan bundel dalam cara yang dinamis dengan menawarkan, menerbitkan dan menemukan model dapat mengikat Java lama untuk menikmati objek (POJO). Siklus hidup menambahkan lapisan bundel dinamis yang dapat diinstal, mulai, berhenti, diperbarui dan dihapus. Buntalan bergantung pada lapisan modul untuk kelas loading tetapi menambahkan API untuk mengatur modul – modul dalam run time. Memperkenalkan lapisan siklus hidup dinamika yang biasanya bukan bagian dari aplikasi. Mekanisme ketergantungan luas digunakan untuk menjamin operasi yang benar dari lingkungan.
- Layanan Registrasi (Services-Registry)
API untuk manajemen jasa (ServiceRegistration,
ServiceTracker dan ServiceReference). OSGi Alliance yang telah ditentukan
banyak layanan. Layanan yang ditentukan oleh antarmuka Java. Kumpulan dapat
mengimplementasikan antarmuka ini dan mendaftarkan layanan dengan Layanan
Registri. Layanan klien dapat menemukannya di registri, atau bereaksi ketika
muncul atau menghilang.
- Siklus Hidup (Life-Cycle)
API untuk manajemen siklus hidup
untuk (instal, start, stop, update, dan uninstall) bundel.
- Modul
Lapisan yang mendefinisikan enkapsulasi dan deklarasi dependensi (bagaimana sebuah bungkusan dapat mengimpor dan mengekspor kode).
- Keamanan
Layer yang menangani aspek keamanan dengan membatasi fungsionalitas bundel untuk pra didefinisikan kemampuan.
- Pelaksanaan Lingkungan
Mendefinisikan metode dan kelas apa
yang tersedia dalam platform tertentu. Tidak ada daftar tetap eksekusi
lingkungan, karena dapat berubah sebagai Java Community Process menciptakan
versi baru dan edisi Jawa. Namun, set berikut saat ini didukung oleh sebagian
besar OSGI implementasi.
Implementasi OSGI
Teknologi Osgi sudah sangat banyak
dikembangkan untuk berbagai macam keperluan dalamsehari hari maupun di bidang
teknologi informasi dan industry serta di bidang ilmu komputer.
1. Dalam kehidupan sehari-hari
Dikembangkan untuk mengendalikan
alat-alat elektronik dalam rumah tangga dengan internet. Yaitu dengan
menghubungkan berbagai framework OSGI ini untuk mengendalikan alat-alat rumah
tangga yang bersifat elektronik. Hal ini dilakukan dengan berbagai protocol
network yaitu Bluetooth, uPnP, HAVi, dan X10. Dengan bantuan Jini dan standart
OSGI dari sun microsistem yaitu Java Embedded Server. Teknologi ini dinamakan
home network dan jinni adalah salah satu standart untuk pembuatan home nerwork
yang berbasis java.
2. Teknologi dan industry
Dalam hal ini pengembangan OSGI
dalam Teknologi dan industri adalah untuk otomatisasi industri. Seperti
otomatisnya system dalam gudang yang dapat meminta dalam PPIC untuk
mengadakan bahan baku, dan masih banyak yang lain.
3. Ilmu Komputer
Dalam ilmu Komputer ini sangat
banyak pengembang yang memanfaatkan teknologi OSGI ini. Dari surfing di
internet banyak yang mengulas tentang Pemrograman Java yang mengapdopsi
teknologi osgi ini. Salah satu contoh adalah knopflerfish merupakan framework
untuk melakukan OSGI didalam program Java. Dan juga eclipse IDE merupakan OSGI
frameworkyang dikembangkan oleh eclipse dan berbasis GUI. Dan masih banyak juga
dalam server serta program-program lain yang mengembangkan teknologi OSGI ini.
Kolaborasi
Antar-Muka Otomotif Multimedia
Kolaborasi antar-muka otomatif
multimedia merupakan sebuah hubungan antara multimedia yang ada dengan
interface/antarmuka dalam dunia transportasi(menurut saya sendiri). Mengapa
demikian ? Karena pada pengertian pola dasar kata tersebut mengarah pada
kolaborasi yang artinya adalah hubungan atau sebuah penggabungan. Lalu terdapat
kata otomotif yang berarti sebuah ilmu yang mempelejari tetntang alat-alat
transportasi darat yang menggunakan mesin(wikipedia) dan terdapat pula kata
antar-muka yang berarti sebuah interaksi pengguna. Maka dapat disimpulkan bahwa
Kolaborasi antar-muka otomatif multimedia adalah segala hal yang berhubungan
dengan interface/antarmuka & multimedia dalam dunia transportasi.
Kolaborasi Antarmuka otomotif
multimedia adalah sebuah organisasi yang dibentuk untuk menetapkan standarisasi
yang digunakan untuk mengatur bagaimana perangkat elektronik dapat bekerja
seperti komputer & alat komunikasi pada kendaraan, sehingga alat-alat
elektronik tersebut dapat bekerja dengan baik dan sesuai dengan kendaraan.
Karena belum tentu alat-alat elektronik tersebut sesuai(compatible) dengan
setiap kendaraan(mobil) oleh karena itu diperlukan standar agar perangkat
elektronik tersebut tidak mengganggu kerja sistem mobil.
Dengan begitu pengguna kendaraan
akan menggunakan sebuah sistem komputer di kendaraan yang sudah di lengkapi
dengan teknologi ini, seperti penggunaan GPS atau hal semacamnya yang
berhubungan dengan teknologi.
1. Sejarah AMIC
Dalam bahasa Inggris dikenal dengan
The Automotive Multimedia Interface Kolaborasi (AMIC) didirikan pada Oktober
1998 dengan tujuan untuk mengembangkan serangkaian spesifikasi umum untuk
multimedia interface ke sistem elektronik kendaraan bermotor untuk
mengakomodasi berbagai berbasis komputer perangkat elektronik di dalam
kendaraan. Inisiatif ini-yang pendiri Daimler-Chrysler, Ford, General Motors,
Renault dan Toyota – sekarang kelompok semua auto utama pembuat, dan dengan
demikian menyediakan kesempatan strategis baru untuk mencapai suatu set umum
industri mobil.
Untuk berbagai alasan, kendaraan
telah tertinggal di belakang rumah dan perangkat komputasi mobile ketika datang
ke alat produktivitas dan multimedia. Keamanan, kehandalan, biaya, dan desain
waktu memiliki semua faktor dalam produsen mobil ‘menunda penerimaan teknologi
baru. Makalah membahas otomotif standar untuk antarmuka multimedia. Organisasi
seperti Otomotif Kolaborasi Multimedia Interface (AMI-C) memiliki kesempatan
untuk menjadi kekuatan pendorong di belakang upaya standardisasi.
2. Arsitektur Kolaborasi Antarmuka Otomotif Multimedia
- AMI-C 3023 Power Management Specification
- AMI-C 3013 Power Management Architecture
- AMI-C 2002 1.0.2 Common Message Set Power Management
- AMI-C 3034 Power Management Test Documents
- AMI-C 4001 Revision Physical Speci .cation.
3. Struktural Kolaborasi Antarmuka
Otomotif Multimedia
Automotive Multimedia Interface
Kolaborasi (AMIC) mengatakan akan menjadi tuan rumah tiga update internasional
briefing untuk menjadi pemasok otomotif, komputer dan teknologi tinggi industri
elektronik. Briefing akan diadakan 23 Februari di Frankfurt, Jerman; Februari
29 di Tokyo; dan Maret 9 di Detroit.
“AMIC telah membuat suatu kemajuan
yang signifikan dalam satu tahun terakhir ini dalam menyelesaikan struktur
organisasi dan mencapai kesepakatan mengenai persyaratan yang diperlukan untuk
hardware dan software baik di masa depan mobil dan truk,” Jurubicara AMIC Dave
Acton berkata, “Dan sekarang sudah saatnya bagi kita untuk bertemu dengan
pemasok dan mereka yang tertarik untuk menjadi pemasok untuk memastikan kami
pindah ke tahap berikutnya pembangunan kita bersama-sama. “
Acton menekankan bahwa AMIC terbuka
untuk semua pemasok yang tertarik bisnis elektronik. AMIC dibentuk pada bulan
September l998 dan saat ini dipimpin oleh 12 produsen otomotif dan anak
perusahaan yang meliputi: BMW, DaimlerChrysler, Ford, Fiat, General Motors,
Honda, Mitsubishi, Nissan, PSA / Peugeot-Citroen, Renault, Toyota, dan VW.
Seorang juru bicara mengatakan kelompok AMIC berencana untuk mendirikan sebuah
kantor di San Francisco di masa depan.
4. Fungsional Kolaborasi Antarmuka Otomotif Multimedia
Tujuan utamanya adalah untuk:
4. Fungsional Kolaborasi Antarmuka Otomotif Multimedia
Tujuan utamanya adalah untuk:
- Menyediakan interface standar untuk memungkinkan pengendara mobil untuk menggunakan berbagai media, komputer dan perangkat komunikasi - dari sistem navigasi dan hands-free telepon selular, melalui manusia maju / mesin sistem antarmuka, termasuk pengenalan suara dan sintesis, untuk dipersembahkan komunikasi jarak dekat ( DSRC) sistem untuk kendaraan untuk infrastruktur komunikasi dan sistem mobil seperti airbag, pintu kunci dan diagnostik input / output.
- Meningkatkan pilihan dan mengurangi keusangan sistem elektronik kendaraan.
- Memotong biaya keseluruhan informasi kendaraan dan peralatan hiburan dengan meningkatkan ukuran pasar yang efektif dan memperpendek waktu pengembangan - industri otomotif efektif terdiri dari banyak pasar yang kecil karena setiap platform kendaraan sering mengandung berbagai adat-mengembangkan komponen dan platform yang khas hanya sekitar 50.000 unit.
- Menawarkan standar terbuka dan spesifikasi untuk informasi interface dalam kendaraan dan antara kendaraan dan dunia luar.
Proses
Komunitas Java (Java Community Process JCP)
Java
Community Process (JCP) Program Management Office (PMO) sangat tertarik untuk
mengumumkan upgrade ke jcp.org baru-baru ini meluncurkan situs web. Setelah web
rumah masyarakat benar-benar dirombak dan dirilis pada bulan Juni 2009, bekerja
terus di belakang layar untuk menambah, meningkatkan, dan memperbaiki fungsi
dan kegunaannya. Anggota PMO berfungsi sebagai tim proyek untuk mendefinisikan
dan menyelesaikan pekerjaan.
Program yang JCP komunitas pengguna telah membantu dalam memberikan umpan balik pada situs web. Banyak fitur baru dan perbaikan bug pada awalnya diusulkan atau diidentifikasi oleh pengguna. Beberapa implementasi tersebut akan segera jelas. Sebagai contoh, semua wiki dan papan sekarang mencakup satu cara bagi pengguna untuk memberikan pendapat mereka yang cepat konten dengan menghadiahi setiap item dengan nilai, dengan memilih jumlah bintang tertentu. Selain itu, semua papan diskusi publik dan wiki termasuk RSS tombol untuk memungkinkan pengguna untuk berlangganan pembaruan konten. Karena pengaturan keamanan dan persyaratan browser, RSS feed fitur ini hanya bekerja jika SSL diaktifkan. Misalnya, fitur RSS melakukan kerja dengan Firefox.
Berbagai bug telah diperbaiki dan navigasi juga telah diperbarui untuk mengatur informasi yang tersedia. Ini adalah langkah inkremental lain sepanjang perjalanan untuk meningkatkan jcp.org. Dalam bulan-bulan mendatang, sebagai masyarakat terus menyarankan perubahan dan perangkat tambahan, upaya akan terus memperbaiki situs. Semua umpan menyimpan program dan JCP jcp.org bergerak maju dan ke atas.
VIRTUAL MACHINE
Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau system operasi, yang tidak ada secara fisik tetapi dijalankan dalam environment lain. Dalam konteks ini, VM disebut “guest” sementara environment yang menjalankannya disebut “host”. Ide dasar dari virtual machine adalah mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing environment menjalankan komputernya [terpisah] sendiri.VM muncul karena adanya keinginan untuk menjalankan banyak sistem operasi pada satu komputer.Teknologi virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak terdahulu.
Salah
satu penerapan penting dari teknologi VM adalah integrasi lintas platform.
Beberapa penerapan lainnya yang penting adalah :
• Konsolidasi server.
Jika beberapa server menjalankan aplikasi yang hanya memakan sedikit sumber daya, VM dapat digunakan untuk menggabungkan aplikasi-aplikasi tersebut sehingga berjalan pada satu server saja, walaupun aplikasi tersebut memerlukan sistem operasi yang berbeda-beda.
• Otomasi dan konsolidasi lingkungan pengembangan dan testing.
Setiap VM dapat berperan sebagai lingkungan yang berbeda, ini memudahkan pengembang sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
• Menjalankan perangkat lunak terdahulu.
Sistem operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih baru.
• Memudahkan recovery sistem.
Solusi virtualisasi dapat dipakai untuk rencana recovery sistem yang memerlukan portabilitas dan fleksibilitas antar platform.
• Demonstrasi perangkat lunak.
Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan secara cepat.
- Kelebihan Virtual Machine (VM)
Teknologi VM memiliki beberapa keunggulan, antara lain :
• Hal keamanan.
VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu dengan meniadakan pembagian sumber daya secara langsung, sehingga tidak ada masalah proteksi dalam VM. Sistem VM adalah kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi. Dengan VM, jika terdapat suatu perubahan pada satu bagian dari mesin, maka dijamin tidak akan mengubah komponen lainnya.
• Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual Machine (VM).
Tiap-tiap bagian mengirim informasi melalui jaringan komunikasi virtual. Sekali lagi, jaringan dimodelkan setelah komunikasi fisik jaringan diimplementasikan pada perangkat lunak.
- Kekurangan Virtual Machine (VM)
Beberapa kesulitan utama dari konsep VM, diantaranya adalah :
• Sistem penyimpanan.
Sebagai contoh kesulitan dalam sistem penyimpanan adalah sebagai berikut: Andaikan kita mempunyai suatu mesin yang memiliki 3 disk drive namun ingin mendukung 7 VM. Keadaan ini jelas tidak memungkinkan bagi kita untuk dapat mengalokasikan setiap disk drive untuk tiap VM, karena perangkat lunak untuk mesin virtual sendiri akan membutuhkan ruang disk secara substansial untuk menyediakan memori virtual dan spooling. Solusinya adalah dengan menyediakan disk virtual atau yang dikenal pula dengan minidisk, dimana ukuran daya penyimpanannya identik dengan ukuran sebenarnya. Dengan demikian, pendekatan VM juga menyediakan sebuah antarmuka yang identik dengan perangkat keras yang mendasari.
• Pengimplementasian sulit.
Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
APIs
Sebuah
application programming interface (API) adalah antarmuka bahwa sebuah program
perangkat lunak alat untuk memungkinkan perangkat lunak lain untuk berinteraksi
dengan itu, banyak cara yang sama seperti perangkat lunak mungkin akan
mengimplementasikan antarmuka pengguna untuk memungkinkan manusia untuk menggunakannya.
API dilaksanakan oleh aplikasi, perpustakaan dan sistem operasi untuk
menentukan bagaimana perangkat lunak lain dapat membuat panggilan ke atau
layanan permintaan dari mereka. Sebuah API menentukan kosa kata dan konvensi
memanggil para pemrogram harus mempekerjakan untuk menggunakan layanan . Ini
mungkin termasuk spesifikasi untuk rutinitas, struktur data, kelas objek, dan
protokol yang digunakan untuk berkomunikasi antara konsumen dan pelaksana API.
· Fitur
API adalah sebuah abstraksi. Perangkat lunak yang menyediakan fungsionalitas
yang dijelaskan oleh API dikatakan sebuah implementasi dari API.
API
dapat Tergantung pada bahasa, yaitu hanya tersedia dalam bahasa pemrograman
tertentu, dengan menggunakan sintaks dan unsur-unsur bahasa itu untuk membuat
API nyaman untuk digunakan dalam konteks ini. Bahasa-independen, yaitu ditulis
dengan cara yang berarti dapat dipanggil dari beberapa bahasa pemrograman. Ini
adalah fitur yang diinginkan untuk layanan-gaya API yang tidak terikat pada suatu
proses atau sistem dan dapat diberikan sebagai remote procedure calls atau
layanan web. Sebagai contoh, sebuah website yang memungkinkan pengguna untuk
memeriksa restoran lokal mampu lapisan tinjauan di atas peta mereka diambil
dari Google Maps, karena Google Maps API yang memiliki memungkinkan hal
ituGoogle Maps 'API mengontrol informasi apa pihak ketiga situs bisa ambil, dan
apa yang bisa dilakukan dengan itu. "API" dapat digunakan untuk
mengacu ke antarmuka lengkap, satu fungsi, atau bahkan satu set berbagai API
yang disediakan oleh sebuah organisasi. Dengan demikian, cakupan makna biasanya
ditentukan oleh orang atau dokumen yang mengkomunikasikan informasi.
· Web
API Ketika digunakan dalam konteks pengembangan web, biasanya sebuah API yang didefinisikan
set Hypertext Transfer Protocol (HTTP) pesan permintaan bersama dengan definisi
respon struktur pesan, biasanya dinyatakan dalam sebuah Sementara "Web
API" secara virtual sinonim untuk layanan web, tren baru-baru ini (yang
disebut Web 2.0) telah bergerak jauh dari Simple Object Access Protocol (SOAP)
layanan berbasis lebih langsung terhadap Negara Representasi Transfer (REST)
gaya komunikasi. Web API memungkinkan kombinasi dari berbagai layanan ke
aplikasi baru yang dikenal sebagai mashup.
· Implementasi
POSIX standard mendefinisikan sebuah API yang memungkinkan berbagai fungsi
komputasi umum harus ditulis sedemikian rupa sehingga mereka dapat beroperasi
pada banyak sistem yang berbeda (Mac OS X dan berbagai Berkeley Software
Distribusi (BSD) mengimplementasikan interface ini), namun, dengan menggunakan
ini memerlukan kompilasi ulang untuk setiap platform. API yang kompatibel, di
sisi lain, memungkinkan dikompilasi kode obyek untuk berfungsi tanpa perubahan
apapun, pada pelaksanaan sistem apapun yang API. Hal ini menguntungkan kedua
penyedia perangkat lunak (di mana mereka dapat mendistribusikan perangkat lunak
yang ada pada sistem baru tanpa memproduksi / mendistribusikan upgrade) dan
pengguna (di mana mereka mungkin lebih tua menginstal perangkat lunak pada
sistem baru mereka tanpa membeli upgrade), meskipun hal ini memerlukan berbagai
perangkat lunak secara umum pelaksanaan perpustakaan API diperlukan juga.
Microsoft telah
menunjukkan komitmen untuk API yang kompatibel ke belakang, terutama di dalam
Windows API (Win32) perpustakaan, seperti aplikasi yang lebih tua dapat
berjalan di Windows versi yang lebih baru menggunakan pengaturan khusus
eksekusi yang disebut "Compatibility Mode" . Apple Inc telah
menunjukkan kecenderungan yang kurang perhatian ini, memecah kompatibilitas
atau mengimplementasikan dalam sebuah API yang lebih lambat "mode
emulasi"; ini memungkinkan kebebasan lebih besar dalam pembangunan, pada
biaya pembuatan perangkat lunak yang lebih tua usang. Antara Unix-seperti sistem
operasi, ada banyak terkait tetapi tidak sesuai sistem operasi berjalan pada
platform hardware yang umum (khususnya Intel 80386 sistem yang kompatibel).
Sudah ada beberapa usaha untuk standarisasi API vendor perangkat lunak sehingga
dapat mendistribusikan satu aplikasi binari untuk semua sistem ini, namun
sampai saat ini, tidak satu pun telah bertemu dengan banyak keberhasilan. Linux
Standard Base adalah berusaha untuk melakukan hal ini untuk Linux platform,
sementara banyak dari beragam Unix BSD (FreeBSD, NetBSD, OpenBSD) menerapkan
berbagai tingkat kompatibilitas API untuk kedua backward compatibility
(memungkinkan program yang ditulis untuk versi lama untuk berjalan di
distribusi baru sistem) dan lintas-platform kompatibilitas (memungkinkan eksekusi
kode asing tanpa mengkompilasi ulang).
Sumber: