Sabtu, 30 Maret 2013

ETIKA DAN PROFESIONALISME TSI 4KA09

1. Etika pada Teknologi Sistem Informasi 

Etika itu sendiri adalah Ilmu yang membahas perbuatan baik dan perbuatan buruk manusia sejauh yang dapat dipahami oleh pikiran manusia. Jadi, menurut saya Etika pada Teknologi Informasi itu sendiri adalah menggunaka Teknologi Informasi dengan sebaik-baiknya tanpa harus menyimpang dari kode etik itu sendiri. 
Adapun dari sumber yang saya baca tujuan pokok dari rumusan etika yang dituangkan dalam kode etik (Code of conduct) profesi adalah:
1. Standarstandar etika menjelaskan dan menetapkan tanggung jawab terhadap klien, institusi, dan masyarakat pada umumnya
2. Standarstandar etika membantu tenaga ahli profesi dalam menentukan apa yang harus mereka perbuat kalau mereka menghadapi dilemadilema etika dalam pekerjaan
3. Standarstandar etika membiarkan profesi menjaga reputasi atau nama dan fungsifungsi profesi dalam masyarakat melawan kelakuankelakuan yang jahat dari anggotaanggota tertentu
4. Standarstandar etika mencerminkan / membayangkan pengharapan moralmoral dari komunitas, dengan demikian standarstandar etika menjamin bahwa para Diadopsi dari materi kuliah Etika & Profesi Teknik Informatika oleh Dr. Budi Hermana. 9 anggota profesi akan menaati kitab UU etika (kode etik) profesi dalam pelayanannya
5. Standarstandar etika merupakan dasar untuk menjaga kelakuan dan integritas atau kejujuran dari tenaga ahli profesi
6. Perlu diketahui bahwa kode etik profesi adalah tidak sama dengan hukum (atau undangundang). Seorang ahli profesi yang melanggar kode etik profesi akan menerima sangsi atau denda dari induk organisasi profesinya.

2. Terdapat etika pada Teknologi Sistem Informasi yang dilakukan oleh :
  • Pengguna
Merupakan etika dari semua elemen di dalam suatu lingkungan kerja yang akan menggunakan TSI. Pengguna yang ada di lingkungan kerja harus bertanggung jawab untuk mengimplemetasikan etika dan profesionalisme TSI untuk menghindari isu-isu etika.
Etika dan moral mendapat perhatian yang lebih dalam menggunakan TIK, terutama dalam perangkat lunak (software).
Masalah software kaitannya adalah masalah hakikat dan kekuatan hukum kepemilikan dalam menciptakan suatu kepemilikan, suatu hasil karya baru maka perlu adanya perlindungan hukum dari pembajakan maupun illegalitas.
Etika yang harus dilakukan oleh pengguna teknologi system informasi menghormati hak cipta orang lain dalam hal penggunaan teknologi informasi, tidak merugikan orang lain dan sebagainya.

  • Pengelola

Merupakan etika dalam hal harus mampu memberikan informasi yang benar, tepat, dan dapat bertanggung jawab atas informasi yang disampaikan karena merupakan bahan referensi dalam membuat keputusan. Ketidak akurasian informasi dapat menimbulkan hal yang merugikan diri sendiri maupun orang lain. Sebagai pengelola teknologi system informasi harus melaksanakan tugasnya sebagai pengelola dan tidak menyimpang dari ketentuan yang telah ditetapkan. Menjaga kerahasiaan yang dikelolanya.

  • Pembuat

Merupakan etika dalam hal harus menghargai hak cipta, yaitu hak yang dijamin oleh kekuatan hukum yang melarang penduplikasian kekayaan intelektual tanpa izin yang berhak. Pembuat dalam hal merancang suatu teknologi informasi harus memperhatikan etika TSI. Tidak menjadi mengambil ide/info dari orang lain secara illegal.


3. Contoh dalam kehidupan sehari-hari tentang pelanggaran etika dalam Teknologi Sistem Informasi
Cyber Crime

Seiring dengan perkembangan jaman banyak cara yang dilakukan dalam kejahatan di dunia maya atau Cybercrime. pengertian dari cybercrime itu sendiri adalah tidak criminal yang dilakukan 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. Tapi jangan takut karena kejahatan jenis ini juga bisa meninggalkan jejak yang sangat membantu para penyidik. Berikut saya akan memaparkan beberapa kasus yang terjadi dalam dunia maya.
Pengertian Cybercrime merupakan bentuk-bentuk kejahatan yang ditimbulkan karena pemanfaatan teknologi internet atau dapat didefinisikan sebagai perbuatan melawan hukum yang dilakukan dengan menggunakan internet yang berbasis pada kecanggihan teknologi computer dan telekomunikasi.
Penipuan
kejahatan yang sekarang lagi marak di dunia maya, adalah penipuan. penipuan dalam bentuk transaksi jual beli barang dan jasa. modus operandi penipu online ini pun dilakukan dengan berbagai cara, ada yang menjual melalui milis, melalui forum, melalui mini iklan, text-ad. dengan mengaku berada di kota yang berbeda dengan calon mangsanya, mereka memancing kelemahan dari para calon ‘pembeli’ yang tidak sadar mereka sudah terjebak.
Modus : Orang yang melakukan transaksi pembelian gadget dengan seseorang yang dikenal melalui milis tersebut dan ternyata setelah pembayaran (transfer) dilakukan, barang yang datang ternyata bukan gadget yang dimaksud, ternyata paketnya berisi lembaran brosur paket investasi.
di forum kaskus, untuk mengatasi kejahatan penipuan, mereka membuat sebuah ‘jembatan’ yang memperantarai pembeli dan penjual. walaupun saya tidak tahu detailnya bagaimana, tampaknya cara seperti ini lumayan ampuh untuk mencegah penipuan yang dimaksud. karena pembeli dan penjual tampaknya divalidasi sehingga kebedaan mereka di dunia nyata ada nyatanya.
sayangnya beberapa orang yang sudah tertipu, jarang ada yang melaporkan ke polisi. padahal polisi sudah mempunyai divisi khusus cyber crime untuk menangani masalah ini. semata-mata karena mereka takut harus mengeluarkan uang hanya untuk melaporkan kejahatan. kalau begitu, mungkin silahkan mencoba form pelaporan yang tersedia di website divisi khusus tersebut di http://www.cyber-poldametro.net/Indonesia/Laporan.asp
pelanggulangan : jika kita akan melakukan sebuah transaksi jual beli di internet, kita harus teliti apakah penjual/pembeli bisa dipercaya atau tidak.

Spyware
Sesuai dengan namanya, spy yang berarti mata-mata dan ware yang berarti program, maka spyware yang masuk dalam katagori malicious software ini, memang dibuat agar bisa memata-matai komputer yang kita gunakan. Tentu saja, sesuai dengan karakter dan sifat mata-mata, semua itu dilakukan tanpa sepengetahuan si empunya. Setelah memperoleh data dari hasil monitoring, nantinya spyware akan melaporkan aktivitas yang terjadi pada PC tersebut kepada pihak ketiga atau si pembuatspyware.
Spyware awalnya tidak berbahaya karena tidak merusak data seperti halnya yang dilakukan virus. Berbeda dengan virus atau worm, spyware tidak berkembang biak dan tidak menyebarkan diri ke PC lainnya dalam jaringan yang sama .
Modus : perkembangan teknologi dan kecanggihan akal manusia, spyware yang semula hanya berwujud iklan atau banner dengan maksud untuk mendapatkan profit semata, sekarang berubah menjadi salah satu media yang merusak, bahkan cenderung merugikan.

Sumber:
mkusuma.staff.gunadarma.ac.id

Senin, 21 Januari 2013

Tugas Softskill OSGI, AMIC, dan JCP "Januari"


Open Services Gateway Initiative (OSGi)

OSGi merupakan suatu layanan untuk membuka jembatan dari berbagai jalan. Maksudnya adalah OSGi merupakan suatu teknologi dimana dapat menggabungkan berbagai fungsi dalam satu tujuan atau aplikasi atau suatu cara untuk menggabungkan berbagai bagian-bagian dimana bagian-bagian tersebut telah menjadi sebuah aplikasi yang dapat digunakan dengan berbagai macam kegunaan. Sebenarnya teknologi ini berawal dari suatu pemikiran bagaimana cara mengubah program tanpa membongkar coding. Kemudian dari sanalah teknologi ini mulai dikembangkan dalam bahasa pemrograman mulai dari instalasi, jalannya program, update dan sampai uninstall tanpa perlu memperbarui coding. Manfaat dalam penerapan OSGi ini adalah:

• Programmer dapat mengupdate atau mengupgrade codingnya dengan mudah. Misalnya programmer membuat aplikasi dimana terdapat bug yang harus ditambal, programmer ini tidak perlu melakukan pengkodingan ulang dan mengganti aplikasi yang lama dengan aplikasi baru yang memakan waktu dan biaya yang besar untuk menambalnya (patching). Seperti cara inject (suntik) ke dalam program yang telah dibuat. Dan ini tidak merubah struktur program dan kinerja program tersebut.
• Dengan teknologi OSGi dapat menyatukan berbagai fungsi di dalam aplikasi. Misalnya seperti plug-in yang dapat menambahkan fungsi dalam aplikasi.
• Mudah dalam penerapan, terutama bagi tim yang membuat aplikasi tentunya tugas mereka berbeda. Ada yang membuat desain antar muka atau GUI, ada yang membuat coding jalan softwarenya, ada yang membuat keamanannya, dan lain sebagainya. Nah dari semua coding yang telah dibuat ini kita dapat satukan dengan dan dibungkus dari komponen-komponen OSGi ini.
• Efisiensi biaya, dalam hal ini untuk pengembangan sebuah software dapat menekan biaya yang dikeluarkan dalam pemeliharaan software.

Implementasi OSGi
Teknologi OSGi sudah sangat banyak dikembangkan untuk berbagai macam keperluan dalam sehari hari maupun di bidang teknologi informasi dan industri serta di bidang ilmu komputer.
• 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 microsystem yaitu Java Embedded Server. Teknologi ini dinamakan home network dan Jini adalah salah satu standart untuk pembuatan home network yang berbasis Java.
• Teknologi dan industri
Dalam hal ini pengembangan OSGi dalam teknologi dan industri adalah untuk otomatisasi industri. Seperti otomatisnya sistem dalam gudang yang dapat meminta dalam PPIC untuk mengadakan bahan baku, dan masih banyak yang lain.
• 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 framework yang dikembangkan oleh eclipse dan berbasis GUI. Dan masih banyak juga dalam server serta program-program lain yang mengembangkan teknologi OSGi ini.

Adapun siklus hidup OSGi yang digambarkan dibawah ini:

Sedangkan Sistem Layer OSGi, sebagai berikut:


*sumber*

Arsitektur OSGi
Teknologi OSGi adalah seperangkat spesifikasi yang mendefinisikan sistem komponen dinamis untuk Java. Spesifikasi ini memungkinkan suatu model pengembangan aplikasi dimana terdiri dari banyak perbedaan komponen. Spesifikasi yang memungkinkan komponen OSGi untuk menyembunyikan implementasi dari komponen lain saat berkomunikasi melalui layanan, yang merupakan objek yang secara khusus dibagi antar komponen.
OSGi adalah teknologi pertama yang benar-benar berhasil dengan sistem komponen yang memecahkan banyak masalah nyata dalam pengembangan perangkat lunak. Teknologi OSGi diciptakan untuk sebuah lingkungan perangkat lunak kolaboratif.






Struktur OSGi
Struktur OSGi digambarkan melalui model layar (layer) yang berlapis-lapis, sebagai berikut:



Spesifikasi OSGi
Spesifikasi OSGi membutuhkan referensi spesifikasi implementasi untuk masing-masing aspek. Namun, karena spesifikasi pertama selalu ada perusahaan komersial yang telah menerapkan spesifikasi serta implementasi open source. Saat ini, terdapat 4 open source implementasi dari kerangka dan terlalu banyak untuk menghitung implementasi dari layanan OSGi. Industri perangkat lunak yang terbuka telah menemukan teknologi OSGi dan semakin banyak proyek artefak menyampaikan sebagai kumpulan.

Spesifikasi OSGi secara matang dan komprehensif memberikan model komponen yang sangat efektif melalui API. Mengkonversi monolitik atau plugin yang ditanam untuk sistem berbasis OSGi hampir selalu memberikan peningkatan besar dalam keseluruhan proses pengembangan software.

OSGi spesifikasi yang dimulai pada tahun 1998 dan ditujukan untuk pasar otomatisasi rumah, berusaha untuk memecahkan masalah dan bagaimana membangun aplikasi dari komponen-komponen independen. Dalam dekade terakhir ini, industri perangkat lunak secara mendasar berubah karena ledakan di proyek sumber terbuka. Sepuluh tahun yang lalu, aplikasi sebagian besar terdiri atas kode yang ditulis secara khusus. Hari ini, sebagian besar sebagian besar perangkat lunak open source pengkabelan atas artefak yang sering tidak dirancang untuk bekerja bersama-sama. Ini adalah masalah yang sesuai dengan OSGi yang dirancang untuk memecahkannya. Banyak proyek mengadopsi spesifikasi OSGi karena mereka melihat bahwa OSGi dapat berfokus pada masalah nyata dan tidak terlalu khawatir tentang infrastruktur, serta menjadi lebih mudah untuk digunakan dalam proyek lainnya.


Arsitektur  

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

             AMI-C adalah organisasi global yang mewakili mayoritas dunia produksi kendaraan. AMI-C adalah mengembangkan dan standarisasi yang umum multimedia dan telematika otomotif antarmuka untuk kendaraan jaringan komunikasi. Organization of motor vehicle manufactures created to facilitate the development and standardization of automotive multimedia interfaces to motor vehicle communication networks.– Specifications for physical network interfaces, network protocols and In-vehicle software interfaces (telematics and local) :

• Release 2 specifications due Dec. 2002
• Characteristic
• Vehicle control: Low-speed wired communication
• Information system: High-speed wired communication

The Otomotif Multimedia Interface Kolaborasi (AMI-C) mengumumkan di seluruh dunia cipta penugasan dari 1394 spesifikasi teknis otomotif ke Trade Association 1394 AMI-C berikut dokumen sekarang milik 1394TA:

•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

Fungsional Dan Struktur
Fungsional dari AMIC (Automotive Multimedia Interface Collaboration)
 Kolaborasi antar muka ototmotif multimedia adalah sebuah organisasi yang dibentuk untuk menciptakan standarisasi  dunia yang digunakan dalam mengatur bagaimana sebuah perangkat elektronik dapat bekerja. Contoh Komputer  dan alat komunikasi kendaraan atau computer dan radio dalam mobil. Satiap alat elektronik itu harus dapat bekerja dengan selaras sehingga kendaraan dapat lebih handal.

Setiap perangkat elektronik yang dipasang belum tentu cocok dengan setiap kendaraan. Perangkat elektronik atau multimedia bisa saja mengganggu sistem keselamatan dan system-sistem lain di dalam kendaraan. Itulah kenapa perlu dibentuk standarisasi kolaborasi antarmuka multimedia.

Automotive Multimedia Interface Collaboration (AMI-C) sudah memiliki anggota : Fiat, Ford, General Motors, Honda, Mitsubishi, Nissan, PSA Peugeot-Citroen, Renault. AMI-C mengembangkan dan men-standarisasi antarmuka multimedia dan telematika otomotif yang umum untuk jaringan komunikasi kendaraan. Dan 40 pemasok elektronik mendaftarkan diri untuk menulis standar. Mereka berpendapat untuk menulis standar diperlukan waktu selama 2 tahun. Tapi dua tahun adalah masa di telematika. Penyelenggara elektronik, ponsel, komputer dan peralatan video yang akan menggunakan koneksi dapat melewati beberapa generasi dalam waktu itu.

Standar-standar akan memungkinkan sebuah pasar plug-and-play global untuk perangkat elektronik yang akan dipasang di kendaraan dengan kemudahan yang sama dengan melampirkan pheriperal komputer pribadi.

Tujuan dari AMIC ini antara lain 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.


Java dikembangkan mengacu pada standar yang ditentukan oleh komite didalam JCP (Java Community Process). Spesifikasi Java tidak sekedar fondasi VMnya, tetapi menyangkut hampir semua aspek, mulai dari mekanisme mengakses devices I/O, komponen pertukaran objek, sampai pengembangan container. JCP merupakan badan yang bertanggung jawab terhadap standar teknologi Java.

Virtual Machine
Sebuah mesin virtual (VM) adalah sebuah perangkat lunak implementasi sebuah mesin (misalnya komputer) yang melaksanakan program-program seperti mesin fisik. Sebuah mesin virtual pada awalnya ditentukan oleh Popek dan Goldberg sebagai "yang efisien, terisolasi duplikat dari mesin yang nyata". Saat menggunakan mesin virtual yang mencakup tidak memiliki surat-menyurat langsung ke perangkat keras yang nyata.
Mesin virtual dipisahkan ke dalam dua kategori utama, berdasarkan tingkat penggunaan dan korespondensi untuk mesin nyata. Sebuah sistem mesin virtual yang lengkap menyediakan platform sistem yang mendukung pelaksanaan lengkap sistem operasi (OS). Sebaliknya, mesin virtual sebuah proses yang dirancang untuk menjalankan sebuah program, yang berarti bahwa ia mendukung satu proses. Karakteristik penting dari sebuah mesin virtual yang berjalan di dalam perangkat lunak adalah terbatas pada sumber daya dan abstraksi yang disediakan oleh mesin virtual tidak dapat keluar dari dunia virtual.
Contoh: Suatu program yang ditulis dalam Java menerima jasa dari Java Runtime Environment (JRE) perangkat lunak dengan mengeluarkan perintah untuk, dan menerima hasil yang diharapkan dari, perangkat lunak Java. Dengan memberikan layanan ini untuk program tersebut, perangkat lunak Java bertindak sebagai "mesin virtual", menggantikan sistem operasi atau hardware untuk program yang biasanya akan disesuaikan.
• Sistem virtual machines
Sistem mesin virtual (kadang-kadang disebut mesin virtual hardware) memungkinkan pembagian yang mendasari sumber daya mesin fisik antara mesin virtual yang berbeda, masing-masing berjalan sendiri sistem operasi. Lapisan perangkat lunak yang menyediakan virtualisasi ini disebut mesin virtual monitor atau hypervisor. Sebuah hypervisor dapat berjalan di hardware yang telanjang (Tipe 1 atau pribumi VM) atau di atas sistem operasi (Tipe 2 atau host VM).
Keuntungan utama dari sistem VMS adalah:
• beberapa OS lingkungan dapat hidup berdampingan pada komputer yang sama, dalam isolasi kuat satu sama lain
• mesin virtual dapat memberikan set instruksi arsitektur (ISA) yang agak berbeda dari mesin yang sebenarnya
• aplikasi provisioning, pemeliharaan, tingkat ketersediaan dan pemulihan bencana
Kerugian utama dari sistem VMS adalah:
• mesin virtual kurang efisien daripada mesin nyata karena secara tidak langsung mengakses perangkat keras
Beberapa VMS masing-masing berjalan sistem operasi mereka sendiri (yang disebut sistem operasi tamu) yang sering digunakan di server konsolidasi, di mana layanan yang berbeda yang digunakan untuk menjalankan mesin individu untuk menghindari gangguan yang terpisah, bukan berjalan di VMS pada mesin fisik yang sama. Penggunaan ini sering disebut-kualitas dari layanan-isolasi (QoS isolasi).
Keinginan untuk menjalankan beberapa sistem operasi adalah motivasi asli untuk mesin virtual, seperti time-sharing memungkinkan satu komputer di antara beberapa single-tasking OS. Teknik ini memerlukan proses untuk berbagi sumber daya CPU antara sistem operasi tamu dan memori virtualisasi untuk berbagi memori pada host.
OS tamu tidak harus sama, sehingga memungkinkan untuk menjalankan OS yang berbeda pada komputer yang sama (misalnya, Microsoft Windows dan Linux, atau versi lama dari sistem operasi untuk mendukung perangkat lunak yang belum porting ke versi terbaru). Penggunaan mesin virtual untuk mendukung OS tamu yang berbeda menjadi populer di embedded system; tipikal digunakan adalah untuk mendukung real-time sistem operasi pada saat yang sama sebagai OS tingkat tinggi seperti Linux atau Windows.
Penggunaan lainnya adalah untuk sandbox sebuah OS yang tidak dipercaya, mungkin karena itu adalah sebuah sistem dalam pengembangan. Mesin virtual memiliki keuntungan untuk OS lain pembangunan, termasuk akses debugging yang lebih baik dan lebih cepat reboot.
Teknik alternatif seperti Solaris Zones menyediakan tingkat isolasi dalam satu sistem operasi. Ini tidak memiliki isolasi selengkap sebagai VM. Sebuah kernel mengeksploitasi dalam suatu sistem dengan beberapa zona akan mempengaruhi semua zona. Mencapai tujuan yang sama dalam implementasi mesin virtual akan membutuhkan mengeksploitasi kelemahan dalam hypervisor. Sebuah hypervisor biasanya memiliki lebih kecil "serangan permukaan" dari sebuah sistem operasi yang lengkap, membuat ini lebih menantang. Lebih lanjut, sebuah kernel mengeksploitasi tamu di VM tidak akan mempengaruhi VMS lain pada host, seperti gangguan yang sukses menjadi satu zona belum tentu mempengaruhi zona lain. Zona tidak mesin virtual, tetapi contoh "virtualisasi sistem operasi". Ini termasuk lain "lingkungan virtual" (juga disebut "virtual server") seperti Virtuozzo, FreeBSD penjara, Linux-VServer, chroot penjara, dan OpenVZ. Ini memberikan beberapa bentuk rangkuman proses dalam sebuah sistem operasi. Teknologi ini memiliki keunggulan sumber daya yang lebih efisien daripada virtualisasi penuh dan memiliki lebih baik observability menjadi beberapa tamu secara simultan; yang merugikan adalah bahwa, pada umumnya, mereka hanya dapat menjalankan satu sistem operasi dan satu versi / patch tingkat sistem operasi bahwa -- jadi, misalnya, mereka tidak dapat digunakan untuk menjalankan dua aplikasi, salah satu yang hanya mendukung versi OS yang lebih baru dan yang lain hanya mendukung versi OS yang lebih lama pada hardware yang sama. However, Sun Microsystems has enhanced Solaris Zones to allow some zones to behave like Solaris 8 or Solaris 9 systems by adding a system call translator. Namun, Sun Microsystems telah meningkatkan Solaris Zones untuk memungkinkan beberapa zona untuk berperilaku seperti Solaris 8 atau Solaris 9 sistem dengan menambahkan system call penerjemah.
• Proses mesin virtual
Sebuah proses VM, kadang-kadang disebut aplikasi mesin virtual, berjalan sebagai aplikasi biasa di dalam sebuah OS dan mendukung proses tunggal. Hal ini tercipta ketika proses itu dimulai dan hancur ketika keluar. Tujuannya adalah untuk menyediakan sebuah platform-independen lingkungan pemrograman yang abstrak pergi rincian perangkat keras yang mendasarinya atau sistem operasi, dan memungkinkan sebuah program untuk mengeksekusi dengan cara yang sama pada platform apapun.
Sebuah proses VM memberikan abstraksi tingkat tinggi - yaitu yang tinggi tingkat bahasa pemrograman (dibandingkan dengan tingkat rendah ISA abstraksi dari sistem VM). VMS proses diimplementasikan menggunakan interpreter; kinerja yang sebanding dengan bahasa pemrograman terkompilasi dicapai dengan menggunakan just-in-time compilation .
Jenis VM ini telah menjadi populer dengan bahasa pemrograman Java, yang diimplementasikan menggunakan mesin virtual Java. Contoh lain termasuk Bayan mesin virtual, yang berfungsi sebagai lapisan abstraksi selama beberapa ditafsirkan lanugages, dan. NET Framework, yang berjalan pada sebuah VM yang disebut Common Language Runtime.
Suatu kasus khusus VMS adalah proses sistem yang abstrak atas mekanisme komunikasi yang (berpotensi heterogen) komputer cluster. Seperti VM tidak terdiri dari sebuah proses tunggal, tetapi satu proses per mesin fisik di cluster. Mereka dirancang untuk memudahkan tugas pemrograman aplikasi paralel dengan membiarkan programmer fokus pada algoritma daripada mekanisme komunikasi yang disediakan oleh interkoneksi dan OS. Mereka tidak menyembunyikan fakta bahwa terjadi komunikasi, dan dengan demikian tidak berusaha untuk menyajikan cluster sebagai satu mesin paralel.
Tidak seperti proses lain VMS, sistem ini tidak menyediakan bahasa pemrograman tertentu, tetapi tertanam dalam bahasa yang ada; biasanya sistem seperti menyediakan binding untuk beberapa bahasa (misalnya, C dan FORTRAN). Examples are PVM ( Parallel Virtual Machine ) and MPI ( Message Passing Interface ). Contohnya adalah PVM (Paralel Virtual Machine) dan MPI (Message Passing Interface). Mereka tidak ketat mesin virtual, sebagai aplikasi yang berjalan di atas masih memiliki akses ke semua layanan OS, dan karena itu tidak terbatas pada model sistem yang disediakan oleh "VM".


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 :

Selasa, 27 November 2012

Middleware Telematika


Middleware Telematika
Middleware didefinisikan sebagai sebuah aplikasi yang secara logic berada diantara lapisan aplikasi (application layer) dan lapisan data dari sebuah arsitektur layer-layer TCP/IP [1]. Middleware bisa juga disebut protokol. Protokol komunikasi middleware mendukung layanan komunikasi aras tinggi.

Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada di sistim operasi. Adapun fungsi dari middleware adalah:

  • Menyediakan lingkungan pemrograman aplilasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi .
  • Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi.
  • Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam hal: networking, security, database, user interface, dan system administration.
Database middleware adalah salah satu jenis middleware disamping message-oriented middleware, object-oriented middleware, remote procedure call, dan transaction processing monitor.

 Tujuan Umum Middleware Telematika:
● Middleware adalah S/W penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan.
● Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda
● Middleware yang paling banyak dipublikasikan :
  • Open Software Foundation’s Distributed Computing Environment (DCE),
  • Object Management Group’s Common Object Request Broker Architecture (CORBA),
  • Microsoft’s COM/DCOM (Component Object Model)
Lingkungan Komputasi Dari Middleware Telematika :
Definisi Lingkungan komputasi
Lingkungan Komputasi : Suatu lingkungan di mana sistem komputer digunakan. Lingkungan komputasi dapat dikelompokkan menjadi empat jenis yaitu :
1.         Komputasi tradisional,
2.         Komputasi berbasis jaringan,
3.         Komputasi embedded,
4.         Komputasi grid.

Pada awalnya komputasi tradisional hanya meliputi penggunaan komputer meja ( desktop ) untuk pemakaian pribadi di kantor atau di rumah. Namun, seiring dengan perkembangan teknologi maka komputasi tradisional sekarang sudah meliputi penggunaan teknologi jaringan yang diterapkan mulai dari desktop hingga sistem genggam. Perubahan yang begitu drastis ini membuat batas antara komputasi tradisional dan komputasi berbasis jaringan sudah tidak jelas lagi.

Lingkungan komputasi itu sendiri bisa diklasifikasikan berdasarkan cara data dan instruksi programnya dihubungkan yang terdiri atas empat kategori berikut ini :
1.         Single instruction stream-single data stream (SISD) : Satu prosesor dan biasa juga disebut komputer sekuensial
2.         Single instruction stream-multiple data stream (SIMD) : Setiap prosesor memiliki memori lokal dan duplikasi program yang sama sehingga masing-masing prosesor akan mengeksekusi instruksi/program yang sama
3.         Multiple instruction stream-single data stream (MISD) : Data yang ada di common memory akan dimanipulasi secara bersamaan oleh semua prosesor
4.         Multiple instruction stream-multiple data stream (MIMD) : Setiap prosesor memiliki kontrol unit, memori lokal serta memori bersama (shared memory) yang mendukung proses paralelisasi dari sisi data dan instruksi.


Kebutuhan Middleware
Middleware adalah software yang dirancang untuk mendukung pengembangan sistem tersebar dengan memungkinkan aplikasi yang sebelumnya terisolasi untuk saling berhubungan. Dengan bantuan middleware, data yang sama dapat digunakan oleh customer service, akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Middleware dapat juga berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data yang dapat mereka proses.

Middleware tersedia untuk berbagai platform, dengan berbagai jenis. Jenis middleware yang umum dikembangkan saat ini dapat dikelompokkan dalam lima kategori besar, salah satunya adalah homegrown, yang dikembangkan khusus untuk kebutuhan internal organisasi, model RPC/ORB (Remote Procedure Call/Object Request Broker), Pub/Sub (Publication/Subscription), Message Queuing, dan TP (Transaction Processing) Monitor.

Di Linux, banyak perusahaan besar seperti IBM, BEA, dan Schlumberger yang sedang dan sudah mengerjakan berbagai sistem middleware. Salah satu produk middleware IBM untuk
platform Linux adalah BlueDrekar™. BlueDrekar™ adalah middleware berbasis spesifikasi Bluetooth™ untuk koneksi peralatan wireless di lingkungan rumah dan kantor. Produk middleware ini menyediakan protocol stack dan berbagai API (Application Programming Interfaces) yang dibutuhkan aplikasi berbasis jaringan. Diharapkan adanya BlueDrekar™ di Linux ini akan mempercepat pertumbuhan aplikasi dan peralatan berbasis Bluetooth™.
Contoh lain, BEA Tuxedo™ dari BEA System, sebuah middleware transaction processing monitor yang juga mendukung model ORB, tersedia untuk berbagai platform, termasuk RedHat Linux. BEA Tuxedo memungkinkan kombinasi pengembangan aplikasi dengan model CORBA dan ATMI (Application-to-Transaction Monitor Interface). Sebuah aplikasi yang dibuat untuk Tuxedo dapat berjalan pada platform apapun yang ditunjang oleh BEA tanpa perlu modifikasi
dalam kode aplikasinya.

Dalam bidang kartu magnetis (smart cards), Schlumberger adalah salah satu pengembang dan produsen CAC (Common Access Card) dan middleware CAC-nya. Produk middleware ini yang diberi nama CACTUS (Common Access Card Trusted User Suite), dapat berjalan di atas Linux. memberi kemampuan koneksi pada level aplikasi ke kartu magnetis dan fungsi-fungsi kriptografis.

ShaoLin Aptus adalah sebuah middleware untuk Linux, yang mengubah jaringan PC menjadi sebuah arsitektur jaringan komputer yang bersifat 'fit client'. Produk yang memenangkan 'IT Excellence Awards 2002' di Hong Kong ini, mengembangkan konsep ' t h i n c l i e nt' dengan memperbolehkan komputasi berbasis client. Shaolin Aptus membuat banyak klien dapat menggunakan sistem operasi dan aplikasi yang tersimpan di server melalui LAN secara transparan.

Saat ini, hampir seluruh aplikasi terdistribusi dibangun dengan menggunakan middleware. Masih menurut IDC, perkembangan segmen middleware terbesar akan terjadi dalam alat yang membantu sistem manajemen bisnis. Hal ini terjadi untuk memenuhi permintaan akan integrasi
aplikasi yang lebih baik. Linux, didukung oleh bermacam produk middleware, memberikan pilihan sistem operasi dan middleware yang stabil, dengan harga yang bersaing.

Tipe Layanan Middleware:

1. Layanan Sistem Terdistribusi,
  • Komunikasi kritis, program-to-program, dan layanan manajemen data.
  • RPC, MOM (Message Oriented Middleware) dan ORB.
2. Layanan Application,
  • Akses ke layanan terdistribusi dan jaringan
  • Yang termasuk : TP (transaction processing) monitor dan layanan database, seperti Structured Query Language (SQL).
3. Layanan Manajemen Middleware,
  • Memungkinkan aplikasi dan fungsi dimonitor secara terus menerus untuk menyakinkan unjuk kerja yang optimal pada lingkungan terdistribusi lingkungan komputasi.
Prinsip Dasar :
  • Memungkinkan program yang sama dapat dijalankan pada platform apapun tanpa modifikasi
  • Halaman HTML ditulis dalam JavaScript yang dapat dijalankan pada web browser yang mendukung JavaScript.
  • Aplikasi Java dan applet dijalankan oleh suatu Java Virtual Machine, yang dapat dibuat untuk berbagai sistem operasi
Browser dan Java meniadakan kebutuhan platform tunggal kebutuhan middleware

Menyediakan kumpulan fungsi API (Application Programming Interfaces) yang lebih tinggi
daripada API yang disediakan sistem operasi dan layanan jaringan yang memungkinkan suatu
aplikasi dapat :
  • Mengalokasikan suatu layanan secara transparan pada jaringan,
  • Menyediakan interaksi dengan aplikasi atau layanan lain
  • Tidak tergantung dari layanan jaringan
  • Handal dan mampu memberikan suatu layanan
  • Diperluas (dikembangkan) kapasitasnya tanpa “Middleware” di samping pembangunan aplikasi adalah medan pertempuran untuk perjuangan yang besar dalam industri perkomputeran. Untuk menyatukan komponen yang berselerak, Microsoft mahu pengguna menggunakan teknologinya.

Contoh Middleware
Berikut ini merupakan contoh-contoh perangkat lunak dari middleware : 
·         Java’s: Remote Procedure Call
·         Object Management Group’s:
            Common Object Request Broker Architecture (CORBA)
·         Microsoft’s COM/DCOM (Component Object Model) :
            Also .NET Remoting 
·         ActiveX controls (in-process COM components)

Manajemen data telematika
Manajemen data telematika merupakan istilah dari arsitektur mengacu pada desain sebuah aplikasi, atau dimana komponen yang membentuk suatu system yang ditempatkan dan bagaimana mereka berkomunikasi sedangkan
manajemen telematika yaitu arsitektur client-server, arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan

Karakteristik dari client server itu sendiri adalah
karakteristik yaitu :

1.Servis (layanan)
~ Hubungan antara proses yang berjalan pada mesin yang berbeda
~ Pemisahan fungsi berdasarkan ide layanannya.
~ Server sebagai provider, client sebagai konsumen

2.Sharing resources (sumber daya)
~ Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.

3.Asymmetrical protocol (protokol yang tidak simetris )
~ Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client.

4.Transparansi lokasi
~ Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.

5.Mix-and-Match
~Perbedaan server client platforms

6.Pesan berbasiskan komunikasi
~ Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.

7.Pemisahan interface dan implementasi
~ Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.

Manajemen Data Sisi Client
1.1 Mobile Aplications

Karena mobilitas orang yang terus meningkat, sehingga membutuhkan aplikasi destop tradisional yang berjalan di perangkat mobile. Email, Address Book dan Calendering merupakan yang banyak digunakan di aplikasi mobile oleh konsumen dan pekerja informasi. Namun aplikasi ini masih sangat sederhana.Perangkat seperti perangkat keras (pemrosesan dan kapasitas memori) kemajuan,pengguna akan menuntut kemampuan lebih kaya dalam aplikasi ini. Sebagai contoh, perhatikan aplikasi Kalender yang kaya - dengan dukungan untuk memeriksa dan jadwal janji dan pertemuan, berbagi kalender berkolaborasi di seluruh pekerja, memadukan kalender dengan aplikasi lain, dan seterusnya. Dalam perusahaan ruang, personil penjualan ponsel akan memerlukan aplikasi CRM yang berjalan pada perangkat mobile mereka,layanan di perusahaan tersebut akan memerlukan kemampuan untuk memeriksa spesifikasi produk dan melakukan on-line pemesanan dari perangkat mobile.
Berikut ini adalah daftar dari beberapa perwakilan skenario aplikasi mobile. Ini adalah contoh-contoh nyata yang diambil dari Microsoft SQL Server Compact pelanggan Edisi skenario, tetapi berlaku untuk setiap ponsel DBMS.

Route delivery management : Drivers mendapatkan data rute sehari-hari yang disinkronkan ke perangkat mobile.Handphone DMBS menyediakan toko data lokal pada perangkat dan data yang akan disinkronkan dengan
sumber data backend

Utilities consumption reading : Solusi menyediakan kemampuan untuk membaca Minyak, Air, Gas dan Listrik meter. Staf lapangan menggunakan Pocket PC untuk menangkap bacaan meteran dan perusahaan yang tertarik  dalam membuat aplikasi yang tersedia melalui ponsel pintar juga.

Mobile CRM : Handphone CRM menyediakan solusi CRM pada perangkat.Solusi biasanya mengintegrasikan ke aplikasi ERP lainnya. DBMS menyediakan penyimpanan data lokal dan sinkronisasi data (replikasi) Mekanisme replikasi bekerja melalui berbagai alat transportasi (misalnya WiFi, Bluetooth, GPRS, 3G, dll).

Sensor Database : Data yang dikumpulkan oleh perangkat sensor disimpan dalam DBMS lokal pada perangkat. Seperti mobile sistem DBMS harus beroperasi pada konfigurasi yang sangat terbatas (misalnya kekuasaan yang rendah, memori kecil, NVRAM). Perangkat sensor biasanya ditempatkan di lokasi terpencil dan dimonitor dari sebuah situs pusat. Memerlukan pemantauan data dari DBMSs individu untuk menjadi queried dan agregat. Jaringan Sensor DBMSs bentuk jaringan sensor yang DBMSs federasi queryable dari pusat situs.

1.2 Embedded Applications

Sebagian besar aplikasi mobile adalah aplikasi embedded dan biasanya mid-tier aplikasi yang embedded dan embedded menanamkan sebuah sistem database (cache) untuk  kinerja dan pengelolaan. . Juga, kebanyakan aplikasi low-end merupakan embedded, misalnya Microsoft Access. Ini  aplikasi diatur sendiri, self-host, dan sangat portabel. 
Berikut adalah beberapa contoh aplikasi embedded database .

Desktop Media applications : Windows Vista home entertainment terintegrasi ke PC. Ini memberikan mudah dan cara yang ampuh untuk mengelola hiburan digital - foto, musik, TV, film, video, radio, dll SQL  CE DBMS digunakan sebagai embedded sistem database untuk menyimpan data media ini misalnya Informasi daftar TV disimpan.

Line of Business applications : aplikasi LOB Typical multi-tier adalah aplikasi dimana data di back-end sumber data cenderung authoritative Data di-cache di tengah-tier sebagai referensi data dan logika aplikasi  dijalankan di atasnya. Data referensi ini biasanya terintegrasi dari beberapa backend data / aplikasi sumber, ditransformasikan ke dalam format yang sesuai untuk logika aplikasi untuk memproses secara efisien, dan membawa dekat dengan aplikasi  pada pertengahan-tier

Stream processing : Dalam stream processing engine, data diproses seperti kedatangan data dan sebelum disimpan. Di memori sistem embedded DBMS dapat digunakan untuk stream processing engines.

Sistem Manajemen Database

Apakah yang dimaksud dengan sistem manajemen database? (Database Management System=DBMS).
Sistem manajemen database adalah sistem berbasis komputer untuk mendefinisikan, membuat, memanipulasi, mengawasi, mengatur, dan menggunakan database. Sebuah database adalah kumpulan dari integrasi data yang terorganisir seperti byte, ruas, rekod, dan file. DBMS menggantikan sistem manajemen file lama dan dengan demikian meningkatkan integritas data dan kemandirian, serta mengurangi pemborosan data.

sumber: