Senin, 29 Maret 2010

ciri - ciri profesionalisme dibidang IT dan kode etik profesional

Seorang software engineer dituntut untuk konsisten dengan kepentingan publik. Bahkan dalam rangka memenuhi kewajiban kepada client dan perusahaan pun kita dituntut untuk juga memikirkan kepentingan publik. Software Engineer sebagai salah satu bidang yang perannya makin meningkat di IT.

Ciri-ciri seorang profesional di bidang IT adalah :
* Memiliki pengetahuan yang tinggi di bidang TI
* Memiliki ketrampilan yang tinggi di bidang TI
* Memiliki pengetahuan yang luas tentang manusia dan masyarakat, budaya, seni, sejarah dan komunikasi
* Tanggap thd masalah client, faham thd isyu-isyu etis serta tata nilai kilen-nya
* Mampu melakukan pendekatan multidispliner
* Mampu bekerja sama
* Bekerja dibawah disiplin etika
* Mampu mengambil keputusan didasarkan kepada kode etik, bila dihadapkan pada situasi dimana pengambilan keputusan berakibat luas terhadap masyarakat

@ Kode Etik IT Profesional

Kode Etik menekankan agar software engineer (IT profesional) memiliki komitmen yang tinggi untuk menjaga agar profesinya adalah profesi yang bermanfaat bagi masyarakat dan merupakan profesi yang terhormat. Komitmen ini tercermin pada saat seorang software engineer melakukan kegiatannya dalam membangun software, mulai dari melakukan analisa, membuat spesifikasi, membuat design, melakukan coding, testing maupun pemeliharaan software.

Idealnya, setiap bidang profesi memiliki rambu-rambu yang mengatur bagaimana seorang profesional berfikir dan bertindak. Dalam beberapa bidang profesi, seperti kedokteran, jurnalistik, dan hukum, rambu-rambu ini telah disepakati bersama para profesionalnya dan dituangkan ke dalam Kode Etik. Seseorang yang melanggar Kode Etik dinyatakan melakukan malpraktek dan bisa mendapatkan sangsi tergantung kepada kekuatan Kode Etik itu di mata hukum.

Sebagai salah satu bidang profesi, Information Technology (IT) bukan pengecualian, diperlukan rambu-rambu tersebut yang mengatur bagaimana para IT profesional ini melakukan kegiatannya. Sejauh yang saya ketahui, belum ada Kode Etik khusus yang ditujukan kepada IT Profesional di Indonesia. Memang sudah ada beberapa kegiatan yang mengarah ke terbentuknya Kode Etik ini, namun usahanya belum sampai menghasilkan suatu kesepakatan. Dalam tulisan ini, saya ingin memusatkan perhatian kepada Kode Etik yang dibuat oleh IEEE Computer Society dan ACM yang ditujukan khusus kepada Software Engineer sebagai salah satu bidang yang perannya makin meningkat di IT.

Pada setiap kegiatan tersebut, peran software engineer sangat penting, karena ia turut menentukan hasil akhir dari suatu pengembangan system. Dengan kata lain, dia berada dalam posisi untuk berbuat kebaikan atau berbuat yang merugikan orang lain. Untuk itulah pentingnya Kode Etik ini diterapkan oleh setiap individu software engineer.

Kalau kita melihat Kode Etik seperti yang disebutkan di atas, ada lima aktor yang perlu diperhatikan:
@ Publik
@ Client
@ Perusahaan
@ Rekan Kerja
@ Diri Sendiri

Kode Etik tidak berdiri sendiri, perangkat hukum lainnya seperti kontrak kerja harus sama-sama dipenuhi. Dalam kasus pertama dimana terjadi konflik antara Client dan Perusahaan, kita mesti lihat kontraknya. Dokumen kontrak memiliki konsekuensi hukum yang jelas. Tentunya kita ingin memenuhi kontrak tersebut agar tidak kena sangsi hukum.

Jadi dapat disimpulkan bahwa dengan mengetahui kode etik dan ciri- ciri profesioanalisme pada bidang IT maka dapat membantu dalam menyelesaikan suatu masalah, baik yang mudah ataupun yang rumit. Dan sangat bermanfaat dalam dunia tekhnologi informasi untuk kepentingan bersama ataupun untuk diri sendiri. Untuk dapat menyelasaikan suatu masalah di butuhkan seseorang yang dapat menyelesaikan maka harus di pertimbangkan dari segi kode etik profesional tersebut.

Karyawan IT di client mestinya juga mengadopsi Kode Etik tersebut, sehingga bisa terjalin hubungan profesional antara konsultan dengan client. Bertindak fair terhadap kolega juga berlaku bagi karyawan IT di organisasi client dalam memperlakukan vendornya. Apabila dua perusahaan telah sepakat untuk bekerja sama membangun suatu software, maka para profesional IT di kedua perusahaan tersebut harus dapat bekerja sama dengan fair sebagai sesama profesional IT .

Beberapa perlakuan yang tidak fair terhadap kolega, antara lain:
Menganggap kita lebih baik dari rekan kita karena tools yang digunakan. Misalnya, kita yang menggunakan bahasa JAVA lebih baik daripada orang lain yang pakai Visual BASIC.
Kita merasa lebih senior dari orang lain, oleh karena itu kita boleh menganggap yang dikerjakan orang lain lebih jelek dari kita, bahkan tanpa melihat hasil kerjanya terlebih dahulu.
Seorang profesional IT di client merasa lebih tinggi derajatnya daripada profesional IT si vendor sehingga apapun yang disampaikan olehnya lebih benar daripada pendapat profesional IT vendor.

Persaingan yang tidak sehat akan menghasilkan zero-sum game, yaitu kondisi dimana seorang dapat maju dengan cara membuat orang lain mundur. Dengan bertindak fair, dapat dimungkinan dua pihak yang berkompetisi dapat sama-sama maju.

Walaupun Kode Etik di atas belum secara resmi diadopsi oleh asosiasi profesi di Indonesia, namun tidak ada salahnya apabila kita para profesional di bidang Software Engineering mengadopsinya secara pribadi. Selain hal tersebut merupakan bentuk pertanggung-jawaban moral sebagai profesional di bidangnya, mengadopsi kode etik akan mengangkat citra kita ke tingkat yang lebih tinggi.

(http://www.blog.simetri.co.id)

Contoh CyberCrime

Pencurian dan penggunaan account Internet milik orang lain. Salah satu kesulitan dari sebuah ISP (Internet Service Provider) adalah adanya account pelanggan mereka yang “dicuri” dan digunakan secara tidak sah. Berbeda dengan pencurian yang dilakukan secara fisik, “pencurian” account cukup menangkap “userid” dan “password” saja. Hanya informasi yang dicuri. Sementara itu orang yang kecurian tidak merasakan hilangnya “benda” yang dicuri. Pencurian baru terasa efeknya jika informasi ini digunakan oleh yang tidak berhak. Akibat dari pencurian ini, penggunan dibebani biaya penggunaan acocunt tersebut. Kasus ini banyak terjadi di ISP. Namun yang pernah diangkat adalah penggunaan account curian oleh dua Warnet di Bandung.

Pencurian dan penggunaan account Internet milik orang lain. Salah satu kesulitan dari sebuah ISP (Internet Service Provider) adalah adanya account pelanggan mereka yang “dicuri” dan digunakan secara tidak sah. Berbeda dengan pencurian yang dilakukan secara fisik, “pencurian” account cukup menangkap “userid” dan “password” saja. Hanya informasi yang dicuri. Sementara itu orang yang kecurian tidak merasakan hilangnya “benda” yang dicuri. Pencurian baru terasa efeknya jika informasi ini digunakan oleh yang tidak berhak. Akibat dari pencurian ini, penggunan dibebani biaya penggunaan acocunt tersebut. Kasus ini banyak terjadi di ISP. Namun yang pernah diangkat adalah penggunaan account curian oleh dua Warnet di Bandung.

Membajak situs web. Salah satu kegiatan yang sering dilakukan oleh cracker adalah mengubah halaman web, yang dikenal dengan istilah deface. Pembajakan dapat dilakukan dengan mengeksploitasi lubang keamanan. Sekitar 4 bulan yang lalu, statistik di Indonesia menunjukkan satu (1) situs web dibajak setiap harinya. Hukum apa yang dapat digunakan untuk menjerat cracker ini?

Probing dan port scanning. Salah satu langkah yang dilakukan cracker sebelum masuk ke server yang ditargetkan adalah melakukan pengintaian. Cara yang dilakukan adalah dengan melakukan “port scanning” atau “probing” untuk melihat servis-servis apa saja yang tersedia di server target. Sebagai contoh, hasil scanning dapat menunjukkan bahwa server target menjalankan program web server Apache, mail server Sendmail, dan seterusnya. Analogi hal ini dengan dunia nyata adalah dengan melihat-lihat apakah pintu rumah anda terkunci, merek kunci yang digunakan, jendela mana yang terbuka, apakah pagar terkunci (menggunakan firewall atau tidak) dan seterusnya. Yang bersangkutan memang belum melakukan kegiatan pencurian atau penyerangan, akan tetapi kegiatan yang dilakukan sudah mencurigakan. Apakah hal ini dapat ditolerir (dikatakan sebagai tidak bersahabat atau unfriendly saja) ataukah sudah dalam batas yang tidak dapat dibenarkan sehingga dapat dianggap sebagai kejahatan?

Membajak situs web. Salah satu kegiatan yang sering dilakukan oleh cracker adalah mengubah halaman web, yang dikenal dengan istilah deface. Pembajakan dapat dilakukan dengan mengeksploitasi lubang keamanan. Sekitar 4 bulan yang lalu, statistik di Indonesia menunjukkan satu (1) situs web dibajak setiap harinya. Hukum apa yang dapat digunakan untuk menjerat cracker ini?

Probing dan port scanning. Salah satu langkah yang dilakukan cracker sebelum masuk ke server yang ditargetkan adalah melakukan pengintaian. Cara yang dilakukan adalah dengan melakukan “port scanning” atau “probing” untuk melihat servis-servis apa saja yang tersedia di server target. Sebagai contoh, hasil scanning dapat menunjukkan bahwa server target menjalankan program web server Apache, mail server Sendmail, dan seterusnya. Analogi hal ini dengan dunia nyata adalah dengan melihat-lihat apakah pintu rumah anda terkunci, merek kunci yang digunakan, jendela mana yang terbuka, apakah pagar terkunci (menggunakan firewall atau tidak) dan seterusnya. Yang bersangkutan memang belum melakukan kegiatan pencurian atau penyerangan, akan tetapi kegiatan yang dilakukan sudah mencurigakan. Apakah hal ini dapat ditolerir (dikatakan sebagai tidak bersahabat atau unfriendly saja) ataukah sudah dalam batas yang tidak dapat dibenarkan sehingga dapat dianggap sebagai kejahatan?

Cybercrime

Cybercrime adalah tindak criminal yang dilakkukan dengan menggunakan teknologi computer sebagai alat kejahatan utama. Cybercrime merupakan kejahatan yang memanfaatkan perkembangan teknologi computer khusunya internet. Cybercrime didefinisikan sebagai perbuatan melanggar hukum yang memanfaatkan teknologi computer yang berbasasis pada kecanggihan perkembangan teknologi internet.

Profesional

Seorang profesional adalah seseorang yang menawarkan jasa atau layanan sesuai dengan protokol dan peraturan dalam bidang yang dijalaninya dan menerima gaji sebagai upah atas jasanya. Orang tersebut juga merupakan anggota suatu entitas atau organisasi yang didirikan seusai dengan hukum di sebuah negara atau wilayah. Meskipun begitu, seringkali seseorang yang merupakan ahli dalam suatu bidang juga disebut "profesional" dalam bidangnya meskipun bukan merupakan anggota sebuah entitas yang didirikan dengan sah. Sebagai contoh, dalam dunia olahraga terdapat olahragawan profesional yang merupakan kebalikan dari olahragawan amatir yang bukan berpartisipasi dalam sebuah turnamen/kompetisi demi uang.
(http://id.wikipedia.org/wiki/Profesional)

Seorang professional adalah seseorang yang gairah kerjanya sangat mengagumkan. Ia adalah seorang yang realistis, yang menyadari kemungkinannya membuat kesalahan. Akan tetapi ia cukup bijaksana pula untuk tidak membuat kesalahan yang sama sampai dua kali.

Seorang profesional adalah orang yang cukup jujur mengakui kegagalannya, tetapi juga mampu mengatasi rasa putus asanya, dan cukup tabah untuk mencoba lagi usahanya sampai berulang kali. Ia memiliki kemampuan untuk membedakan mana yang penting dan mana yang tidak penting. Akan tetapi cukup bijaksana untuk menanggulangi segala kesulitan yang timbul.

Seorang profesional adalah seorang tukang khayal. Sekalipun angan-angannya melambung tinggi, tetapi kakinya harus tetap berpijak di atas tanah. Ia memperhatikan sampai soal-soal yang kecil, akan tetapi menolak soal-soal kecil itu mempengaruhi pikirannya sehingga menjadi cemas. Ia tahu caranya memimpin tanpa bertindak sebagai diktator, tetapi tahu pula mengikuti tanpa kehilangan kewibawaannya. Pada saat ia memimpin, ia memperkembangkan bibit-bibit kepemimpinan kepada bawahannya; sedangkan pada saat ia bekerja, ia memperlihatkan contoh bekerja yang baik bagi bawahannya. Ia tidak menunggu sampai ada orang lain mendorong dia melakukan sesuatu, sebab ia tahu mengambil prakarsa sendiri.

Seorang profesional itu penuh daya cipta, tetapi tidak eksentrik. Ia berani mencoba sesuatu, tetapi tidak pula sembrono. Ia mengabdikan diri penuh, tetapi tidak pula fanatik.Seorang profesional adalah seorang yang senantiasa merampungkan pekerjaannya sampai berhasil.

(http://www.indonesiaindonesia.com/f/42930-arti-profesional/ )

Etika

Etika (Yunani Kuno: "ethikos", berarti "timbul dari kebiasaan") adalah cabang utama filsafat yang mempelajari nilai atau kualitas yang menjadi studi mengenai standar dan penilaian moral. Etika mencakup analisis dan penerapan konsep seperti benar, salah, baik, buruk, dan tanggung jawab.

Etika terbagi menjadi tiga bagian utama: meta-etika (studi konsep etika), etika normatif (studi penentuan nilai etika), dan etika terapan (studi penggunaan nilai-nilai etika).
Dalam pergaulan hidup bermasyarakat, bernegara hingga pergaulan hidup tingkat internasional di perlukan suatu system yang mengatur bagaimana seharusnya manusia bergaul. Sistem pengaturan pergaulan tersebut menjadi saling menghormati dan dikenal dengan sebutan sopan santun, tata krama, protokoler dan lain-lain.
Maksud pedoman pergaulan tidak lain untuk menjaga kepentingan masing-masing yang terlibat agar mereka senang, tenang, tentram, terlindung tanpa merugikan kepentingannya serta terjamin agar perbuatannya yang tengah dijalankan sesuai dengan adat kebiasaan yang berlaku dan tidak bertentangan dengan hak-hak asasi umumnya. Hal itulah yang mendasari tumbuh kembangnya etika di masyarakat kita.
Menurut para ahli maka etika tidak lain adalah aturan prilaku, adat kebiasaan manusia dalam pergaulan antara sesamanya dan menegaskan mana yang benar dan mana yang buruk. Perkataan etika atau lazim juga disebut etik, berasal dari kata Yunani ETHOS yang berarti norma-norma, nilai-nilai, kaidah-kaidah dan ukuran-ukuran bagi tingkah laku manusia yang baik.
Etika dalam perkembangannya sangat mempengaruhi kehidupan manusia. Etika memberi manusia orientasi bagaimana ia menjalani hidupnya melalui rangkaian tindakan sehari-hari. Itu berarti etika membantu manusia untuk mengambil sikap dan bertindak secara tepat dalam menjalani hidup ini. Etika pada akhirnya membantu kitauntuk mengambil keputusan tentang tindakan apa yang perlu kita lakukan dan yangpelru kita pahami bersama bahwa etika ini dapat diterapkan dalam segala aspek atau sisi kehidupan kita, dengan demikian etika ini dapat dibagi menjadi beberapa bagian sesuai dengan aspek atau sisi kehidupan manusianya.
(http://www.wikipedia.com/document_downloads/8365104?extension=doc )

Senin, 28 Desember 2009

JCP AMI-C

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.

sebuah platform, JAVA terdiri atas 2 bagian utama, meliputi :
• Java Virtual Machine (JVM)
Java Virtual Machine merupakan sebuah spesifikasi untuk sebuah komputer abstrak. JVM terdiri dari sebuah kelas pemanggil dan sebuah interpreter Java yang mengeksekusi kode arsitektur netral. Kelas pemanggil memanggil file API untuk dieksekusi oleh interpreter Java. Dengan kata lain JVM adalah sebagai perantara antara program yang akan dijalankan dan sistem operasi yang sedang digunakan.
• Java Application Programming Interface (JAVA API)
Java API merupakan komponen-komponen dan kelas JAVA yang sudah jadi, yang memiliki berbagai kemampuan. Kemampuan untuk menangani objek, string, angka, dsb. Java API terdiri dari tiga bagian utama:
1. Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop dan applets dengan bahasa dasar yang mendukung grafis, keamanan, konektivitas basis data dan jaringan.
2. Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi serverdengan mendukung untuk basis data.
3. Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, komputer genggam dan pager.
Teknologi java semakin berkembang, Sun Microsystem memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK dan JRE versi 1.2. Pada Java 2 ini, java dibagi menjadi 3 kategori:
• Java 2 Standart Edition (J2SE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer)
• Java 2 Enterprise Edition (J2EE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada lingkungan entriprise dengan menambahkan fungsionalitas-fungsionalitas java semacam EJB (Enterprise Java Bean), Java CORBA, Servlet dan JSP serta Java XML (Extensible Markup Language)
• Java 2 Micro Edition (J2ME)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi java pada handled devices atau perangkat-perangkat semacam handphone, Palm,PDA, dan Pocket PC. J2ME dirancang untuk dapat menjalankan program Java pada perangkat-perangkat semacam handphone dan PDA, yang memiliki karakteristik yang berbeda dengan sebuah komputer biasa, misalnya kecilnya jumlah memori pada handphone dan PDA. J2ME terdiri atas komponen-komponen sebagai berikut Java Virtual Machine (JVM) dan Java API (Application Programming Interface) serta Tools lain untuk pengembangan aplikasi Java semacam emulator Java Phone dan emulator Motorolla.
PROSES DARI KOMUNITAS JAVA (JAVA COMMUNITY PROCESS (JCP)
Platform yang ada pada JAVA dikembangkan oleh yang namanya Java Community Process (JCP). JCP didirikan pada tahun 1998, merupakan suatu proses formal yang memungkinkan pihak-pihak yang tertarik untuk terlibat dalam mengembangkan versi dan fitur dari platform JAVA tersebut. Di dalam JCP terdapat yang namanya Java Specification Request’s atau JSRs. JSRs adalah kumpulan dokumen formal yang menggambarkan spesifikasi dan teknologi yang diusulkan oleh orang-orang yang terlibat dalam JCP untuk melakukan penambahan fitur-fitur yang terdapat pada platform JAVA tersebut.
Pada Spesifikasi untuk J2SE, J2EE dan J2ME perkembangannya dibawah pengawasan Java Community Process (JCP). Spesifikasi yang dihasilkan adalah Java Specification Request (JSR). JCP terdiri dari para ahli dari berbagai perusahaan yang tergabung untuk membentuk Spesification. JSR ini melalui beberapa tahap pada JCP sebelum selesai. Setiap JSR diberi nomor.

http://www.total.or.id/

http://gallery20.web.id/blog/2009/11/jcp-java-community-process/

OSGI

OSGI adalah sebuah interface pemrograman standar terbuka. The OSGI Alliance (sebelumnya dikenal sebagai Open Services Gateway inisiatif, sekarang nama kuno) adalah sebuah organisasi standar terbuka yang didirikan pada Maret 1999. Aliansi dan anggota – anggotanya telah ditentukan sebuah layanan berbasis Java platform yang dapat dikelola dari jarak jauh.Spesifikasi OSGI yang dikembangkan oleh para anggota dalam proses terbuka dan tersedia untuk umum secara gratis di bawah Lisensi Spesifikasi OSGI. OSGI Alliance yang memiliki program kepatuhan yang hanya terbuka untuk anggota. Pada Oktober 2009, daftar bersertifikat OSGI implementasi berisi lima entri.

Manfaat dalam penerapan OSGI ini antara lain :
* Mengurangi Kompleksitas (Reduced Complexity) – Mengembangkan dengan teknologi OSGi berarti mengembangkan bundel: komponen OSGi. Bundel adalah modul. Mereka menyembunyikan internal dari bundel lain dan berkomunikasi melalui layanan didefinisikan dengan baik. Menyembunyikan internals berarti lebih banyak kebebasan untuk berubah nanti. Hal ini tidak hanya mengurangi jumlah bug, itu juga membuat kumpulan sederhana untuk berkembang karena bundel ukuran benar menerapkan sepotong fungsionalitas melalui interface didefinisikan dengan baik. Ada sebuah blog menarik yang menjelaskan teknologi OSGi apa yang mereka lakukan bagi proses pembangunan.

* 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 juga menjadi tersedia sebagai bundel siap pakai.

* 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 lebihy daripada yang telah dilaksanakan selama satu solusi khusus.

* 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.

* 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.

* 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.

* 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.

* 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)

Komponen inti dari Spesifikasi OSGi adalah Framework OSGi. Framework menyediakan lingkungan standar untuk aplikasi (disebut bundel).

Layer-layer OSGI :
* 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)

* Siklus Hidup (Life Cycle)

* 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 Java.

http://uriflabamba.blogspot.com/