IT Department Point Of View

Software-software Affordable App dikembangkan dengan menggunakan teknologi yang sudah teruji dan banyak digunakan oleh aplikasi berskala besar. Penggunaan operating system, bahasa pemrograman, framework, database, dan webserver yang semuanya open source merupakan pilihan yang tepat karena sudah terbukti dan teruji oleh banyak kalangan TI di seluruh dunia.


Detailnya seperti berikut ini:
Server Operating System : Linux (open source)
Programming Language : PHP (Open Source),
HTML5 (Open Standard),
CSS3 (Open Standard),
Javascript (Open Standard)
Framework : Yii2 (Open Source),
jQuery & jQueryUI (Open Standard),
Twitter Bootstrap (Open Standard)
Database Server : PostgreSQL (open source),
atau MySQL (open source),
atau MariaDB (open source)
Web Server : Apache (open source),
atau NginX (open source)
User Operating System : Linux (open source),
Windows,
Android (open source),
IOS
Application Interface
(Web Browser)
: Firefox (open source),
Google Chrome (open source),
Internet Explorer,
Safari,
Opera

Operating System:
Linux dengan versi distro terbaru dipilih sebagai host untuk software-software Affordable App dengan harapan mampu menangani pekerjaan 24 jam sehari, load yang tinggi, dan rata-rata pengguna sebanyak ratusan orang secara paralel. Pemilihan host harus didasarkan pada beberapa pertimbangan, yaitu: virus resistant, near zero maintenance, human resource high availability, kompatibilitas dengan hardware. Semua pertimbangan tersebut telah dibuktikan Linux, baik sebagai server skala kecil maupun super komputer. Nilai plus lain yang dimiliki Linux dibandingkan dengan operating system lainnya adalah: free dan open source, serta dukungan luas dari komunitas open source dunia.

Programming Language:
Bahasa pemrograman PHP digunakan untuk pembuatan aplikasi ini. PHP sendiri adalah bahasa yang dikenal luas di dunia dan dominan digunakan pada aplikasi berbasis web. PHP telah mengalami perkembangan yang pesat. Berikut ini hal-hal yang menjadi dasar pertimbangan yaitu:

  • fast learning curve. PHP adalah bahasa yang mudah dipelajari. Sudah sejak lama PHP menjadi bagian dari kurikulum TI di banyak universitas di Indonesia. Saat ini sangat mudah mencari programmer yang mengerti PHP. Untuk memahami PHP hanya membutuhkan waktu yang singkat. Bahkan banyak masyarakat umum yang mempelajari PHP tanpa melalui pendidikan formal.
  • Rapid Application Development. PHP adalah interpreted language. Bahasa pemrograman yang bersifat compiled language harus melalui tahap kompilasi/compiling agar source code dapat dieksekusi. Pada aplikasi yang kompleks, proses kompilasi ini membutuhkan waktu yang lama. Sebagai interpreted language, PHP tidak melalui proses kompilasi, sehingga waktu yang dibutuhkan untuk pengembangan relatif singkat.
  • Kelengkapan fitur. Sebagai bahasa pemrograman web, PHP telah lengkap dengan semua keperluan yang dibutuhkan untuk aplikasi web. Seiring dengan waktu, PHP selalu menambahkan fitur baru, baik hasil adopsi dari bahasa pemrograman lain ataupun fitur unik yang hanya ada pada PHP saja. Saat ini PHP bukan hanya sebagai kumpulan tools, tetapi sudah menjadi sebuah bahasa pemrograman sejati yang setara dengan bahasa pemrograman handal lainnya. Beberapa hal yang dimiliki PHP sehingga layak dikategorikan sebagai bahasa pemrograman sejati adalah: Syntax yang konsisten, konsep object oriented yang relevan, kemampuan untuk menerapkan design pattern.
  • Skalabilitas dan reliabilitas. Sudah bukan rahasia umum lagi bahwa beberapa website paling populer di dunia seperti Facebook dan Wikipedia menggunakan PHP. Kedua website tersebut menempati peringkat 10 besar. Jumlah hit perhari mereka mencapai milyaran. Jarang sekali (atau mungkin tidak pernah) terdengar kabar bahwa kedua website tersebut mengalami down time yang cukup lama (lebih dari 10 menit). Atau mungkin kabar tentang akses kedua website tersebut sangat lambat dan disebabkan oleh server mereka (bukan karena keterbatasan bandwitch atau masalah jaringan lokal). Hal ini menandakan bahwa PHP mampu melayani load yang sangat-sangat tinggi.
  • Security. Saat ini security bukan isu yang relevan lagi. Permasalahan security akan tetap ada sampai kapanpun, tetapi bukan eksklusif hanya pada PHP saja. Semua bahasa pemrograman memiliki isu security. Semua celah security sudah ditutup oleh PHP. Penyebab utama masalahan security terbuka lebar adalah pengembang software. Pengembang software manapun punya potensi membuka celah, apapun bahasa pemrograman yang mereka gunakan. Secanggih apapun bahasa pemrogramannya, bila masalah ini berasal dari pengembang, bahasa pemrograman tersebut tidak akan mampu menolong.

Database Server:
PostgreSQL, MySQL, atau MariaDB di gunakan sebagai database server. Software-software yang dikembangkan oleh Affordable App tidak memaksakan Institusi untuk menggunakan suatu database. Adakalanya institusi telah memiliki database/aplikasi yang sedang running. Pada database tersebut terdapat data-data yang sangat dibutuhkan, dan akan membutuhkan effort yang sangat besar bila dikonversi dengan database lain. Affordable App menawarkan salah satu dari ketiga database tersebut sebagai opsi yang dapat dipilih oleh institusi sesuai dengan kondisi masing-masing. Ketiga database tersebut adalah database open source dengan fitur yang lengkap dan digunakan secara luas oleh kalangan IT di seluruh dunia.

Web Server:
Web server Apache atau NginX digunakan karena sudah bertahun-tahun dikenal dan digunakan oleh semua kalangan di dunia internet dan enterprise karena banyaknya keunggulan yang dirasakan dibanding web server lainnya, berikut beberapa hal yang menjadi pertimbangan adalah maturity level, kompatibilitas, kelengkapan fitur, backup, scalable, serta free dan open source.

Framework:
Affordable App berusaha untuk mengimplementasikan pakem-pakem teknologi yang up to date dan populer. Berdasarkan motivasi ini, maka digunakanlah Yii-2, jQuery, dan beberapa plugin jQuery. Hal ini berdasar beberapa pertimbangan berikut:

  • Easy to develop. Framework-framework tersebut berada pada middle level, yang artinya tidak terlalu canggih/kompleks, tetapi juga tidak terlalu mudah. Kompleksitas mencerminkan besarnya effort yang dilakukan untuk mencapai hasil yang diinginkan. Semakin kompleks framework, semakin sulit untuk di-develop. Bertolak belakang dengan kompleksitas, kemudahan mencerminkan besarnya effort yang dilakukan untuk me-maintain source code. Semakin mudah framework, semakin sulit untuk di-maintain.
  • Easy to update: Semua framework tersebut sudah terintegrasi dengan dependency tool, sehingga mengurangi resiko dependency error yang sering terjadi saat proses upgrade manual.
  • Low hardware requirement: Tidak membutuhkan spesifikasi perangkat keras client yang tinggi karena cukup menggunakan browser maka aplikasi dapat dipakai.
  • Security Oriented: bila menggunakan protokol HTTPS maka setiap koneksi akan di encrypt sehingga tidak memungkinkan adanya data yang dapat di baca selain oleh yang berhak.
  • Low bandwidth usage: Karena protokol http umumnya tidak membutuhkan koneksi yang terus menerus maka otomatis bandwidth yang terpakai lebih hemat yang berakibat pada meningkatnya kecepatan akses dan bertambahnya skala kemampuan pengguna aplikasi.

Availability:
Untuk menjamin tingkat ketersediaan system aplikasi yang tinggi untuk digunakan oleh client maka server di desain dengan memanfaatkan system online database dan server replication. Jadi Server ke dua akan dapat berfungsi optimal bila ada keadaan darurat yang memaksa server utama untuk stop. Untuk lebih jelasnya dapat di lihat pada system security seperti sudah di jelaskan di atas.

Data Backup:
Selain memanfaat kan online replication, backup database secara batch atau periodik juga dilakukan. Proses ini dapat dilakukan pada waktu tertentu dimana tidak terdapat Peak atau high load. Hasil dari proses ini adalah berupa file yang nantinya dapat di simpan pada media yang aman.

Copyright of Software Manajemen Rumah Sakit.