UTS EAI
MOHAMMAD RIDLO
4117094 E


Enterprise Application Integration


EAI atau Enterprise Application Integration merupakan sharing data dan bisnis proses yang tidak terbatas antara aplikasi dan sumber data yang saling terkoneksi. Alasan penggunaan EAI adalah untuk memenuhi permintaan perusahaan untuk sharing data dan bisnis proses tanpa melakukan perubahan aplikasi maupun struktur data. Dalam menerapkan EAI, dibutuhkan seseorang yang benar-benar memahami bisnis proses dalam suatu organisasi, karena tidak semua organisasi memiliki sistem yang sama dan tentu memiliki permasalahan yang berbeda.

Metode
Metode dalam melakukan integrasi aplikasi dapat menggunakan empat metode, antara lain data level, application interface level, method level, dan user interface level.

  • Data Level
Metode ini merupakan suatu proses, teknik dan teknologi yang memungkinkan perpindahan data melalui data store/ database system. Metode ini melakukan ekstraksi data dari satu sistem database, lalu memproses data tersebut jika diperlukan, dan melakukan updating pada sistem database yang lain. Data Level EAI digunakan ketika aplikasi tidak menyediakan APIs atau client interfaces. Dalam melakukan metode data level EAI, dibutuhkan pemahaman yang baik terkatir operasional bisnis yang mungkin dapat mempengaruhi application’s data model. Kelebihan dalam metode ini adalah dapat meminimalisir biaya dan tidak mengubah code aplikasi. Infrasturktur yang dapat digunakan dalam metode ini antara lain Distributed DBMS dan ETL Tools dan contoh proyeknya akan dipublish di postingan selanjutnya.

  • Application Interface Level
Dalam menerapkan metode ini, seorang developers dapat menggabungkan (bundle) banyak application secara bersama dan  melakukan sharing logika bisnis dan informasi. Beberapa packaged application yang sering digunakan antara lain, SAP, PeopleSoft, Baan, dan lain-lain). Metode ini menggunakan interface untuk mengakses proses dan data, mengekstraksi informasinya, dan meletakkannya ke dalam suatu format yang dapat dimengerti oleh target aplikasi dan mengirimkan informasinya. Infrastruktur yang dapat digunakan pada metode ini adalah API (Application Programming Interface), dan contoh proyek akan dipublish di postingan selanjutnya.

  • Method Level
Pada umumnya, metode ini digunakan ketika masing-masing aplikasi yang akan diintegrasikan memiliki kesamaaan functional methods. Misalkan suatu metode unuk melakukan update customer record dapat diakses oleh berbagai macam aplikasi dan aplikasi tersebut dapat mengakses metode tersebut tanpa melakukan penulisan ulang (rewrite) masing-masing metode tersebut. Contoh penerapannya adalah distributed component atau CORBA. Infrastruktur yang dapat digunakan pada metode ini adalah distributed object/ component framework
.
  • User Interface Level
Metode ini menggabungkan aplikasi dengan menggunakan user interface (UI) mereka sebagai common point dalam integrasi atau biasa disebut screen scraping. Metode ini digunakan ketika suatu sistem tidak memungkinkan untuk dilakukan integrasi melalui data level, aplikasi level maupun method level. Selain itu, metode ini juga dapat digunakan ketika business logic tertanam dalam user interfacenya. Infratruktur yang dapat digunakan dalam metode ini adalah screen scraper.




XML (eXtensible Markup Language) adalah sebuah bahasa markup seperti HTML yang didesain untuk menyimpan dan mengantarkan data.


XML diterapkan pada banyak aspek pengembangan Web, yang biasa digunakan dalam menyederhanakan penyimpanan dan berbagi data.

Data XML dipisahkan dari HTML
Jika Anda perlu untuk menampilkan data dinamis dalam dokumen HTML, maka setiap kali perubahan data akan mengambil banyak waktu untuk mengedit HTML.

Dengan XML, data dapat disimpan dalam file XML terpisah. Jadi Anda dapat berkonsentrasi pada menggunakan HTML layout / CSS dan layar, dan pastikan untuk mengubah data yang mendasari tidak lagi perlu membuat perubahan ke HTML.

Dengan menggunakan beberapa baris kode JavaScript, Anda dapat membaca file XML eksternal dan memperbarui konten data halaman Anda.

XML menyederhanakan berbagi data
Dalam dunia nyata, sistem komputer dan data menggunakan format yang tidak kompatibel untuk menyimpan data.

Data XML disimpan dalam format teks biasa, sehingga memberikan perangkat lunak independen dan hardware untuk metode penyimpanan data . Hal ini memungkinkan untuk membuat aplikasi yang berbeda dapat berbagi data lebih mudah.

XML menyederhanakan transmisi data . Untuk pengembang, termasuk salah satu yang paling tantangan memakan waktu telah antara sistem yang tidak kompatibel di Internet untuk pertukaran data . Karena data dapat dibaca oleh berbagai aplikasi yang tidak kompatibel untuk pertukaran data XML untuk mengurangi kompleksitas ini.

XML menyederhanakan perubahan platform yang meng-upgrade ke sistem baru (hardware atau software platform), itu selalu sangat memakan waktu. Harus dikonversi ke sejumlah besar data, data tidak cocok sering hilang.

XML data disimpan dalam format teks. Hal ini membuat XML tanpa kehilangan data, lebih mudah untuk memperluas atau upgrade ke sistem operasi baru, aplikasi baru atau browser baru.

XML membuat data Anda lebih berguna
aplikasi yang berbeda dapat mengakses data Anda, tidak hanya di halaman HTML juga dapat diakses dari sumber data XML.

Melalui XML, data Anda yang tersedia untuk berbagai perangkat membaca (komputer genggam, peralatan suara, pembaca berita, dll), tetapi juga untuk orang buta atau lainnya cacat.

XML digunakan untuk membuat bahasa baru Internet, banyak bahasa Internet baru diciptakan dengan XML.

Berikut adalah beberapa contoh :
  • XHTML
  • WSDL digunakan untuk menggambarkan layanan Web yang tersedia
  • Sebagai perangkat genggam WAP bahasa markup dan WML
  • feed berita RSS untuk bahasa
  • Deskripsi RDF dan OWL ontologi dan modal


Web services adalah mekanisme komunikasi dua aplikasi/mesin terlepas dari arsitektur dan teknologi yang digarisbawahi.
Layanan web memiliki antarmuka, yang menyembunyikan detail implementasi sehingga dapat digunakan secara terpisah dari platform perangkat keras atau perangkat lunak yang digunakannya, dan secara terpisah dari bahasa pemrograman yang digunakan.


JSON (JavaScript Object Notation) adalah sebuah format data yang digunakan untuk pertukaran dan penyimpanan data.
JSON merupakan bagian (subset) dari Javascript. JSON bisa dibaca dengan berbagai macam bahasa pemrograman seperti C, C++, C#, Java, Javascript Perl, Python, dan banyak lagi.
Hal ini membuat JSON menjadi bahasa yang ideal untuk perturakan data antar aplikasi.

Kalau dibandingkan dengan XML, JSON lebih sederhana dan mudah dibaca













Contohnya seperti ini :
{
    "name": "Dian",
    "hobbies": ["Coding", "Blogging", "Drawing"]
}
Dan untuk objek contohnya seperti ini :
{
    "name": "ridoganteng",
    "url": "https://www.ridoganteng.com",    "rank": 1,
    "socialmedia": {
        "facebook": "ridoganteng",        "twitter": "ridoganteng",        "instagram": "ridoganteng",        "youtube": "ridoganteng",        "github": "ridoganteng"    }
}

API (Application Programming Interface) yang memungkinkan para developer untuk menintergrasikannya menjadi dua bagian dari aplikasi atau dengan aplikasi yang berbeda secara bersamaan.
API ini terdiri dari berbagai elemen pendukung seperti function, protocols, dan tools lainnya yang memungkinkan para developer untuk membuat aplikasi mereka masing-masing. Tujuan dari penggunaan API adalah untuk mempercepat proses development dengan menyediakan function secara terpisah, sehingga para developer tidak perlu lagi membuat fitur yang serupa. Penerapan API ini akan sangat terasa jika fitur yang diinginkan sudah sangat kompleks. Hal tersebut tentu saja akan membutuhkan waktu untuk membuat yang serupa dengannya. Misalnya, integrasi dengan payment gateway. Ada beberapa jenis sistem API yang dapat digunakan, termasuk sistem operasi, library, dan web.
Contoh Implementasi API : Web API
Dalam implementasinya, wujud dari API sangat beragam. Kita akan ambil satu contoh API, yaitu Web API. Sesuai dengan namanya, Web API (ada juga yang menyebutnya Web Services) adalah sebuah API yang dibangun di atas teknologi web.
Web API dapat dikonsumsi oleh berbagai macam aplikasi lain dengan menggunakan protokol standar HTTP, misal: aplikasi web, mobile, desktop, wearable dan lain sebagainya. Terlepas dari apapun teknologi yang digunakan, semua aplikasi tersebut dapat mengakses dan memanipulasi data dari server (jika memiliki izin tentunya) yang sama melalui API (dan tentunya dengan memenuhi standar-standar yang telah ditentukan oleh API tersebut).
Dengan memanfaatkan API, sebum server tidak perlu memikirkan siapa client yang meminta layanan dan bagaimana cara untuk melayani client yang spesifik tersebut (begitu pula sebaliknya, client pun tidak mau tahu apa yang dikerjakan oleh server asalkan mendapatkan layanan yang diminta). Server hanya perlu mematuhi aturan API dan begitu pula halnya dengan client. Akan sangat merepotkan jika harus melayani sejumlah client dengan teknologi yang berbeda-beda bukan ? Bayangkan jika tidak ada colokan dalam dunia kelistrikan, bayangkan jika dalam suatu restoran tidak terdapat menu .







SEKIAN dan Terimakasih :)