Selasa, 29 Juni 2010

Arsitektur Magento Commerce


Arsitektur MagentoMagento Commerce adalah perangkat lunak eCommerce open source yang sangat fleksibel namun cukup kompleks untuk dipahami. Posting ini akan mengetengahkan arsitektur Magento Commerce bagi para calon pemilik toko online yang tertarik untuk memahaminya. Dengan mengerti arsitektur Magento Commece, pemilik toko online akan lebih mudah memahami fitur-fitur administrasi dan lebih efektif melakukan tugas-tugas administrasi dalam Magento Commerce.

Website, Store, dan Store View

Fleksibilitas Magento Commerce tercermin pada kemampuannya untuk memiliki banyak Website (situs), Store (toko), dan Store View dengan hanya meng-instal satu paket (codebase) Magento Commerce dan satu database yang menyimpan data-data Magento Commerce. Dengan kata lain jika kita menggunakan web hosting, kita cukup menyewa satu paket hosting saja untuk bisa memiliki banyak Website, Store, dan Store View. Gambar berikut ini menunjukkan hubungan hirarki antara ketiga elemen tersebut:

Hubungan antara Website, Store, dan Store View

Website (Situs)

Website adalah nama beserta kavling kita di internet. Website terdiri atas nama domain yang menunjukkan alamat kita, dan web hosting yang menunjukkan kavling kita. Contoh jika kita ingin punya toko online yang bernama www.toko-baju.com, kita mesti punya website yang bisa diakses melalui browser dengan alamat http://www.toko-baju.com. Satu instalasi Magento Commerce bisa ‘dimiliki’ oleh banyak Website. Dalam gambar di atas terlihat bahwa kita punya dua website yaitu:

  • www.toko-baju.com
  • www.toko-sepatu.com

Store (Toko)

Store adalah nama toko online kita. Biasanya, dalam satu paket eCommerce, satu website mewakili satu toko online. Dalam Magento Commerce, satu Website bisa terdiri atas banyak toko online. Dalam contoh gambar di atas, Website www.toko-baju.com terdiri atas dua toko online yaitu:

  • Toko Baju Dewasa
  • Toko Baju Anak

Sedangkan Website www.toko-sepeda.com hanya terdiri atas satu toko online, yaitu Toko Sepeda. Kebanyakan instalasi Magento Commerce hanya terdiri atas satu toko online untuk setiap Website.

Store View

Store View adalah satu konsep dalam Magento Commerce yang menunjukkan bahwa satu toko online (Store) bisa memiliki lebih dari satu view. Store View kebanyakan digunakan untuk membuat bahasa yang berbeda untuk setiap toko online. Misalnya dalam gambar di atas diperlihatkan bahwa Toko Baju Dewasa dan Toko Baju Anak masing-masing mempunyai dua Store View, yaitu Bahasa Indonesia dan English. Masing-masing Store View mewakili toko online yang sama, hanya saja bahasa yang digunakan berbeda, satu untuk toko online berbahasa Indonesia, dan satunya lagi berbahasa Inggris.

Bagi kebanyakan toko online, konfigurasi yang biasa dilakukan adalah satu Website, satu Store, dan satu Store View. Konfigurasi ini juga yang termudah untuk dilakukan dalam Magento Commerce. Namun, bagi pemilik toko online sangat penting mengerti tentang konsep Website, Store, dan Store View dalam Magento Commerce untuk memahami setiap setting-an dalam layar administrasi. Setting-an Magento Commerce bisa memiliki cakupan yang bisa berisi salah satu dari tiga elemen di atas.

Gambar berikut ini memberikan contoh penerapan dari konsep Website, Store, dan Store View. Layar pada gambar tersebut menunjukkan isian form atribut dari sebuah produk dalam Magento Commerce.

Cakupan atribut produk dalam Magento Commerce

Perhatikan bagian yang diberi kotak dalam gambar di atas. Setiap atribut dari sebuah produk dalam Magento Commerce bisa memiliki cakupan [Global], [Website], dan [Store View]. Cakupan [Global] berarti nilai dari atribut tersebut adalah sama di semua Website, Store, dan Store View. Cakupan [Website] berarti untuk produk yang sama, nilai atribut tersebut bisa berbeda untuk Website yang berbeda. Demikian pula untuk cakupan [Store View], yang memperbolehkan perbedaan nilai atribut untuk setiap Store View.

Arsitektur Magento Commerce

Dalam bagian ini saya akan membahas arsitektur Magento Commerce dengan tujuan agar kita mengerti elemen dan terminologi yang dipakai, sehingga memudahkan kita dalam membangun sebuah toko online berbasis Magento Commerce.

Core (Inti)

Core (Inti) adalah mesin-nya Magento Commerce. Bentuknya adalah kode-kode program yang dibuat oleh tim developer Magento Commerce. Core terdapat dalam unduhan paket Magento Commerce, dan akan menjadi berkas-berkas program pada saat di-instal ke server.

Core berfungsi untuk menjalankan hampir semua fungsi dan fitur utama Magento Commerce. Oleh karena versi Magento Commerce terus berkembang, sangat memungkinkan sekali Core akan mengalami perubahan dari versi ke versi. Oleh karena itu kita tidak direkomendasikan untuk mengubahnya walaupun hanya sebagian, karena perubahan kita mungkin akan ditimpa pada saat kita melakukan penggantian versi Magento Commerce ke yang lebih baru.

Extension (Tambahan)

Extension (Tambahan), sesuai dengan namanya, adalah paket yang berisi fitur dan fungsi tambahan di luar fungsi utama Magento Commerce yang terdapat dalam Core. Walaupun fitur Core Magento Commerce sudah mencukupi untuk ber-jualan online, namun ia tidak akan bisa memenuhi semua kebutuhan pemilik toko online yang beraneka ragam. Dengan adanya Extension, Magento Commerce menjadi bersifat fleksibel untuk memenuhi setiap kebutuhan.

Konsep Extension ini memungkinkan seorang pemilik toko online memiliki program sendiri yang sesuai dengan kebutuhan toko online-nya tanpa khawatir programnya akan ditimpa pada saat mengganti versi Core Magento Commerce ke yang lebih baru. Arsitektur Magento Commerce memisahkan antara program Core dan Extension sehingga perubahan salah satu program tersebut secara fisik tidak akan berpengaruh terhadap program yang lain.

Terdapat tiga tipe Extension dalam Magento Commerce, yaitu:

  • Local

    Local adalah Extension yang disediakan oleh developer pembuat Magento Commerce.

  • Community (Komunitas)

    Community adalah Extension yang dibuat oleh developer lain dan bisa dipakai gratis oleh semua pemilik toko online Magento Commerce.

  • Commercial (Komersil)

    Commercial adalah Extension yang dibuat oleh developer lain dan dijual (untuk memperoleh profit) kepada para pemilik toko online Magento Commerce yang berminat membelinya.

Module (Modul)

Istilah Module mungkin sudah familiar bagi Anda yang pernah memakai paket eCommerce atau CMS produk lain. Module adalah Extension dalam Magento Commerce yang berfungsi untuk melakukan fungsi tertentu. Contohnya adalah modul pengiriman order khusus Indonesia, atau modul pembayaran melalui bank khusus Indonesia.

Interface, Theme, Layout, Template, dan Skin

Interface, Theme, Layout, Template, dan Skin dalam Magento Commerce adalah elemen-elemen yang mendefinisikan tampilan visual toko online. Dengan elemen-elemen tersebut, tampilan Magento Commerce bisa dibuat se-fleksibel mungkin dengan cara menerapkan elemen-elemen yang berbeda sesuai dengan kebutuhan.

Gambar berikut ini menunjukkan hubungan hirarki elemen-elemen tersebut:

Hubungan hirarki antara Interface, Theme, Layout, Template, dan Skin

Interface

Interface adalah kumpulan Theme yang berfungsi mendefinisikan tampilan dan interaksi layar dalam Magento Commerce.

Theme

Theme adalah kumpulan Layout, Template, dan Skin yang mendefinisikan tampilan dan interaksi layar dalam Magento Commerce.

Magento Commerce memiliki fitur untuk menjalankan dua Theme yang berbeda pada saat yang bersamaan. Berdasarkan fitur ini, Magento Commerce mendefinisikan dua jenis Theme:

  • Default Theme, merupakan Theme yang harus ada dalam semua Interface. Theme ini harus memiliki kombinasi lengkap dari Layout, Template, dan Skin yang dibutuhkan agar kita bisa menjalankan toko online Magento Commerce tanpa error.
  • Non-Default Theme, merupakan Theme tambahan yang dibuat sesuai keperluan. Pemakaian Theme ini biasanya per musim jualan tertentu. Misalnya pada saat musim jualan Lebaran, kita bisa membuat Non-Default Theme yang bernuansa suasana Lebaran.
Layout

Layout berbentuk berkas XML yang mendefinisikan struktur blok dari sebuah halaman dalam Magento Commerce. Layout juga bisa memberikan informasi meta dan encoding pada sebuah halaman. Layout diterapkan per modul, dimana setiap modul memiliki Layout yang berbeda.

Template

Template berbentuk PHTML, yaitu kombinasi antara (X)HTML dan skrip PHP yang berguna untuk menjalankan logic tertentu yang berhubungan dengan aspek visual dari fitur Magento Commerce.

Skin

Skin adalah blok yang berisi kumpulan definisi CSS, gambar, dan javascript yang melengkapi (X)HTML pada sebuah Template.

Block (Blok)

Block adalah cara Magento Commerce merepresentasikan fungsi sebagai satu kesatuan modular yang bisa diatur baik secara visual maupun fungsional. Terdapat dua jenis Block yang bekerja sama satu dengan yang lain dalam membentuk hasil keluaran visual. Kedua jenis Block tersebut adalah:

  • Block struktural

    Block jenis ini mendefinisikan area-area sebuah halaman secara struktural, seperti misalnya header, kolom kiri, kolom utama, dan footer. Gambar berikut ini adalah contoh Block struktural pada sebuah halaman:

    Contoh Block struktural

  • Block fungsional

    Block jenis ini mendefinisikan area tertentu sebagai satu area fungsional pada sebuah halaman. Misalnya pada header kita bisa menampilkan Block yang kita namakan Site Navigation yang akan diisi dengan HTML yang menampilkan menu untuk pelanggan dalam melakukan navigasi terhadap toko online. Gambar berikut ini menampilkan contoh Block fungsional pada sebuah halaman:

    Contoh Block fungsional

Kesimpulan

Sebagai pemilik toko online sebaiknya kita mengerti elemen-elemen Magento Commerce berupa Website, Store, dan Store View, serta hubungan hirarki antara ketiga elemen tersebut. Kita juga perlu mengerti terminologi dalam arsitektur Magento Commerce berupa Core, Extension, Module, Interface, Theme, Layout, Skin, dan Block. Dengan mengerti arsitektur Magento Commerce kita akan lebih mudah memahaminya, dan lebih efektif dalam membangun sebuah toko online yang dijalankan oleh Magento Commerce.

Tidak ada komentar:

Posting Komentar

Terima kasih sudah berkunjung. Jangan lupa tinggalkan komentar Anda, agar blog.sihery.com semakin segar dan bermanfaat.