XMC: xmRepository

xmRepository berfungsi untuk mengakses System Repository.

  • LoadTemplate (string $TemplateName, string $TemplateData) : string
  • LoadSQL (string $SQLName, SubAtomic $SubAtomic, Array $ExtraData) : string
<?php


$myData = array ("myData" => "myValue");
$content = \xmRepository::LoadTemplate ("path\\myTemplate", $myData);

$obj = \xmUser::SubAtomic("\\atomic\my\\Object");
$content = \xmRepository::LoadSQL ("path\\mySQL", $obj, $myData);

?>

PHP 7.0

Setelah sekian lama PHP ditunding sebagai bahasa scripting yang lambat diantara bahasa pemrograman kelasnya (seperti: Perl, Python dan Ruby), lahirnya PHP 7.0 memberikan harapan baru bagi kelangsungan penggunaan PHP.

PHP 7.0 merupakan terobosan yang sangat fenomenal.  Tidak saja menunjukkan kinerja yang luar biasa, tetapi juga memberikan fundamental bagaimana seharusnya PHP dipergunakan.

PHP 7.0 telah memberikan penegasan bagaimana sebuah syntax seharusnya dipergunakan, oleh sebab itu opini lama yang menyatakan PHP sebagai bahasa yang berantakan, perlahan - lahan dapat disingkirkan.

Beberapa hal yang didapatkan ketika mencoba migrasi PHP 7.0 adalah:
  1. PHP 7.0 memberikan peningkatan performa dua kali lipat dari versi sebelumnya, PHP 5.6.
  2. Terdapat beberapa adaptasi script untuk dapat menggunakan PHP 7.0.
  3. PHP 7.0 disarankan untuk melakukan deklarasi tipe data.
  4. PHP 7.0 mendukung pengembangan yang lebih kompleks.  Untuk itu penggunaan namespace dan OOP sangatlah diperlukan.

XMC: External Library

Semua external library diletakkan pada Package Repository / External.
Untuk mempercepat akses, bagian ini dapat digantikan dengna menggunakan CDN.

External Library harus mempertahankan bentuk original filenya.

Linux Server: Memilih Distribution Yang Tepat

Lahirnya berbagai distribusi Linux memunculkan berbagai perdebatan panjang atas distribusi mana yang paling unggul.  Menimbang kemajuan teknologi perangkat keras yang ada sekarang, sebenarnya keunggulan dari sisi kinerja tidaklah jauh berbeda.  Bila ada distribusi Linux yang mengklaim distribusinya memiliki kinerja yang paling baik, hal tersebut dapat dengan mudah dengan mengubah beberapa konfigurasinya baik perangkat keras mau pun perangkat lunaknya.

Munculnya distribusi ini lebih disebabkan oleh fungsi awal dari masing - masing distribusi.  Seperti contohnya:

  • Debian muncul dengan tujuan untuk menyediakan sistem operasi yang sederhana dan stabil.  
  • Ubuntu muncul, dengan menitik beratkan pada lambatnya Debian untuk mengadopsi teknologi baru.
  • Linux Mint muncul dengan menitik beratkan Debian untuk desktop komputer yang lebih responsive, menyerupai Microsoft Windows atau pun Mac OS.
  • Fedora Core, muncul dengan tujuan menyediakan sistem operasi yang berskala enterprise .
  • Red Hat, muncul dengan tujuan memberikan rasa Fedora Core dengan dukungan resmi perusahaan.
  • Centos, muncul sebagai Red Hat yang didukung oleh komunitas.
Semua Linux menggunakan Kernel yang sama, inilah sebabnya kinerjanya tidak akan berbeda jauh.  Oleh sebab itu, memilih sebuah Linux Distribution harus dilihat dari kebutuhan dan sumber daya yang ada.

Ketika kita ingin membangun mesin berskala enterprise, kita dapat memilih Fedora Core, Red Hat atau pun Centos.  Ini tidak berarti kita tidak dapat membangun mesin enterprise dengan Debian, hanya saja, dengan Debian, kita perlu menginstall fitur enterprisenya secara terpisah, seperti contohnya SELinux.

Ketika kita ingin memiliki dukungan profesional atas mesin yang kita miliki, pergunakanlah distribusi linux yang menawarkan dukungan ini, seperti Ubuntu dan Red Hat.  Namun apa bila kita lebih memilih dukungan dalam bentuk komunitas: Debian, Fedora Core dan Centos adalah pilihannya.

Linux Centos

Centos merupakan de facto distributor linux yang populer dikalangan enterprise.  Salah satu alasan utamanya adalah SELinux yang diadopsi oleh Centos.

Centos merupakan turunan dari Red Hat, sementara Red Hat merupakan turunan dari Fedora Core. Oleh sebab itu ketiga distribution ini memiliki banyak persamaan.  Perbedaan utama dari Red Hat dan Centos adalah Centos didukung oleh komunitas, sementara Red Hat didukung oleh sebuah perusahaan.  Oleh sebab itu keputusan untuk memakai Centos atau Red Had tergantung dari jenis dukungan yang kita ingin dapatkan.

Centos, seperti halnya Red Hat dan Fedora Core, kaya akan fitur - fitur keamanan yang dibutuhkan sebuah perusahaan.  Ini tidaklah berarti Linux distribution lain tidak aman.  Hanya saja Centos telah didesign untuk kebutuhan enterprise (dengan SELinux terinstall secara default).

Ini juga mengartikan proses konfigurasi Centos sedikit lebih sulit, terlebih dibandingkan dengan Debian dan turunannya (Debian tidak memasukkan SELinux sebagai paket default-nya).

Kelebihan Centos:

  • Mengadopsi security yang lebih ketat.
  • Cocok untuk mesin berkelas enterprise.
Kekurangan:

  • Tidak mendukung semua perangkat keras, terlebih mesin lama.
  • Proses konfigurasinya yang komples.

Linux Ubuntu

Sebagai salah satu turunan Debian, segala fitur yang terdapat pada Ubuntu tidak jauh berbeda dengan Debian.  Salah satu faktor yang dapat dijadikan perhitungan untuk menggunakan Ubuntu adalah Support yang diberikannya.  Bila kita memiliki server yang bersifat komersial, kita dapat membeli support dari Canonical untuk menghadapi segala masalah.

Keunggulan Ubuntu adalah hampir semua fitur Channel Testing dan Unstable pada Debian diadopsi oleh Ubuntu.  Ini menjadikan Ubuntu unggul dalam penggunaan teknologi terbaru.  Dengan support dari Canonical, ada jaminan dari pengguna Ubuntu apabila terdapat permasalahan yang muncul dikemudian hari.

Kelebihan Ubuntu:

  • Ubuntu cepat mengadopsi teknologi baru.
  • Latar belakang Ubuntu yang didukung oleh Canonical, menjadikan Ubuntu responsif menghadapi segala permasalahan yang muncul.
  • Canonical menawarkan jasa troubleshooting yang responsif dan profesional apa bila perusahaan membutuhkan.
Kekurangan Ubuntu:
  • Sistem support yang diberikan bervariasi, kita harus cermat memilih jenis support yang ditawarkan. LTS 5 tahun.  
  • Mesin yang menggunakan Ubuntu harus mengikuti versi Ubuntunya secara konsisten.  Apa bila telah melewati masa supportnya, mesin harus di install ulang (tidak dapat lagi di upgrade).
  • Hanya mendukung mesin / perangkat dengan kategori baru.  Namun, apabila kita memiliki support dari Canonical, mereka dapat memberikan dukungan extra terhadap beberapa masalah kita.
Kesimpulan menggunakan Ubuntu adalah apa bila kita ingin selalu dapat menggunakan teknologi terbaru, Ubuntu adalah pilihannya.

XMC: xmDB Object

xmDB adalah object yang menangani koneksi database dalam sistem.

Method:

  • public static function SQL(string $SQL) : Dataset
  • public static function Fetch (Dataset $RS, $Mode=MYSQLI_ASSOC)
  • public static function Count (Dataset $RS) : int
  • public static function GetID() : int
  • public static function RowAffected() : int
Contoh penggunaannya :
<?php

$SQL = "select myString, myInt, myDate, myDecimal from myTable";
$rs = \xmDB::SQL ($SQL);
while ($row ==\xmDB::Fetch($rs))
{
    $varString = xmDB::RowString($row, "myString");
    $varString = xmDB::RowInteger($row, "myInt");
    $varDate = xmDB::RowDate($row, "myDate");
    $varDecimal = xmDB::RowDecimal($row, "myDecimal");
}

$SQL = "insert into myData (id, name) values (1, 'test')";
\xmDB::SQL ($SQL);

?>

XMC: xmUser Object (Replaced by xmSession)

xmUser adalah object yang menyimpan data dari user yang sedang melakukan akses ke dalam sistem.

Method:
  • static function SubAtomic($AtomicName, $Collection = false) : xmSubAtomic 
  • static function LoadSubAtomic(string $SubAtomicName) : void