Java

Wednesday, April 24, 2019


Para pengembang aplikasi seharusnya tidak asing lagi dengan istilah JBoss. JBoss merupakan produk middleware dari Red Hat. Produk JBoss ini pun bermacam-macam ada JBoss Enterprise Aplication Platform (EAP), JBoss Enterprise-class Web Server (EWS), JBoss Data Grid, JBoss Operations Network, dan masih ada beberapa produk lainnya.
Dari berbagai produk tersebut, terdapat sebuah produk yang sekarang cukup menonjol dibandingkan yang lain yakni Red Hat JBOSS Fuse. Redhat JBoss Fuse merupakan sebuah platform integrasi yang agile, lightweightserta modern yang merobohkan batas pada data center tradisional. Sebuah solusi hybrid yang menghubungkan seluruh asset perusahaan, sambil membuat dan menyusun microservice dengan pola integrasi berkelas enterprise, dan mendukung arsitektur microservice yang modern, Red Hat JBoss Fuse merangkul teknologi container untuk meningkatkan performa DevOps.
Red Hat JBoss Fuse membuat para developer menggunakan pendekatan yang agile ketika melakukan development sebuah solusi. Dengan membangun dan menyusun microservice, Fuse dapat mendistribusikan sistem  yang di deploy dan fokus kepada mengembangkan service dan sumber daya manusia

Berikut adalah fitur-fitur dari JBoss Fuse:
  1. Integrasi yang fokus pada Camel-base
Memanfaatkan Apache Camel, dengan lebih dari 160 komponen yang sudah dibuat. Menyebabkan memiliki kemampuan adopsi Smart endpoint dan simple pipeline yang menyebabkan memiliki fitur yang lengkap, gampang digunakan serta framework yang merangkul pola integrasi enterprise sehingga memberikan solusi integrasi yang lebih cepat.

  1. NOT JUST ESB
Menjauh dari integrasi sistem yang tradisional serta monolithic, JBoss Fuse membuat developer dapat membangun jalur yang di modulisasi ringan untuk isolasi dari kegagalan dengan dampak yang kecil dan melakukan perbaikan relatif cepat.

  1. Pendahuluan API
Melakukan pembangunan arsitektur berbasis API dengan Red Hat JBoss Fuse sangatlah mudah. JBoss Fuse memilki intuisi dan mudah di konfigurasi menggunakan Camel REST. Untuk kedepannya, developer dapat mendesign dengan API dari REST menggunakan teknologi Swagger untuk kolaborasi lebih baik. Opsi management pada Red Hat 3Scale API, mengurus keamanan serta performa API, dan juga Billing.

  1. Developer experience yang lebih baik
Membuat developer fokus terhadap apa saja yang penting, yakni integrasi antara sistem. Red Hat Fuse menggunakan sistem drag dan drop, visual data mapper, runtime, remote debugger tool yang sederhana. Tool yang digunakan berdasarkan Maven yang membuat developer dapat membangun dan menjalankan aplikasi sebagai container menyebabkan terjadi unifikasi development experience, baik itu pada laptop, server maupun cloud.

  1. Tetap dapat menggunakan sistem yang legacies
Mendukung konektivitas ke sistem yang legacy, sebagai tambahan di sistem yang mempunyai integrasi development yang agile. Sistem besar yang populer SAP serta trasional ESB yang meng-utilisasi web service melaui SOAP,XML, File dan FTP general Database connections, di dukung pada Red Hat Fuse


  1. Arsitektur yang berbasis Container
Dengan keleluasaan pada pendevelopan dan pengaturan standar container, dari Apache Karaf yang berbasiskan OSGI, ke Java EE yang berbasiskan JBoss EAP, dan Spring-Boot, JBoss Fuse membuat anda dapat memaketkan dan men-deploy lightweight container pada lingkungan yang terdistribusi yang mengakibatkan pengisolasian kesalahan dan konfigurasi yang konsisten.
  1. Kubernetes sebagai Container manager
Melakukan pengelolaan dan Orkestrasi lightweight container menggunakan Openshift, Kubernetes, dan Fabric8. JBoss Fuse menawarkan service Discovery, load balancing automatis dan High availability diantara pendistribusian microservices rumit lainnya.


  1. Pengembangan yang berkelanjutan
Dengan menyerdehanakan pembuatan pipeline untuk mempercepat serta meningkatkan keamanan pada software delivery. Menggunakan Jenkis untuk automasi testing, enable deployment dan release best practices, dan dengan Continous Integration bawaan serta Deployment support, JBoss Fuse membuat tim berkerja lebih kolaboratif dengan software delivery yang cepat.

Untuk memahami lebih lanjut tentang Apache Camel dan peralatan – peralatan lainnya yang digunakan pada Red Hat Camel dapat mengambil training Red Hat JBoss Fuse Camel Development (JB421).


Saturday, April 15, 2017

 

Core Container


Core Container terdiri dari beberapa core, beans, context, dan module expresion laguange, detailnya seperti dibawah ini :
  • Core module menyediakan bagian bagian dasar dari framework, terdiri dari IoC dan fitur Dependency Injection.
  • Bean Module menyediakan BeanFactory dimana itu adalah sebuah implementasi dari pattern factory yang telah di mutakhirkan
  • Context Module dibuat dari solid base yang menyediakan Module Core dan Bean dan dalam sebagai perantara untuk akses setiap object yang telah ditetapkan dan di konfigurasi. Application Context interface adalah focal pint di module Context.
  • SpEL module menyediakan sebuah expresi yang kuat dalm melakukan quarying dan manipulation sebuah graphics object diruntime.

 

Data Access/INtegration

Lapisan Data Access/Integration terdiri dari JDBC, ORM, OXM, JMS dan module transaksi yang di terangkan dibawah ini
  • Module JDBC menyediakan sebuah lapisan JDBC-abstraction yang menghapus kebutuhan yang tidak dibutuhkan dalam JDBC
  • Module ORM menyediakan lapisan integrasi dari Object Relational Mapping API termasuk JPA, JDO, Hibernate, dan iBatis
  • Module OXM menyediakan sebuah lapisan abstrasi yang mendukung Object/XML mapping implementation untuk JAXB, Castor, XMLBeans, JiBX dan XStream.
  • Module Java Messaging Service atau disebut JMS berisi feature untuk membuat dan meng-konsum pesan.
  • Module Transaction mendukung Programatic dan menejemen transaksi deklaratif untuk kelas yang mengimplementasikan spesial interface dan untuk semua POJO yang anda buat.

Web


Lapisan Web terdiri dari web, web-mvc, web-socket, dan web-portlet module
  • Module Web menyediakan dasar dasar dari feature integrasi web-oriented seperti multipart funsi file-Upload dan pengenalan dari IoC container menggunakan servlet listeners dan web-oriented application context.
  • Module Web-MVC terdiri dari implemetasi Spring Model-View-Controller (MVC) untuk aplikasi web.
  • Module Web-Socket menyediakan dukungan untuk WebSocket-based, Komunikasi 2 arah antara klien dan server di aplikasi web.
  • Module Web-Portlet menyediakan implementasi MVC yang digunakan untuk sebuah area portlet dan fungsi mirror dari module webservlet.

Sunday, April 9, 2017

spring adalah aplikasi framework development untuk perusahaan java yang paling populer. jutaan developer di dunia ini menggunakan framework spring untuk membuat sebuah sistem berkecepatan tinggi, mudah untuk di test, dan di reusable.

spring framework adalah sebuah open source untuk platform java. pada awalnya di tulis oleh rod johnson dan pertama di keluarkan di bawah nauangan apache 2.0 license pada juni 2003.

spring sangat ringan saat pertama hadir baik ukuran dan transparansinya. versi awal dari spring framework adalah sekitar 2MB.

inti dari feature spring framemwork dapat digunakan hampir ke semua java aplikasi, namun ada beberapa penambahan untuk pembuatan web aplikasi di platform java EE. Target spring framework untuk membuat J2EE development lebih mudah untuk digunakan dan di menjadi saran baik dalam pelatihan pembuatan program dengan menyediakan sebuah POJO-base di model programnya.

keuntungan menggunakan srping framework

dibawah ini beberapa daftar dari keuntungan besar dalam penggunaan spring framework

1. spring menyediakan developers untuk membangun enterprise-class application menggunakan POJO. Keuntungan dari hanya menggunakan POJO adalah kamu tidak perlu sebuah produk EJB  seperti sebuah server aplikasi namun memiliki opsi untuk menggunakan hanya sebuah robust servlet seperti tomcat atau product komersial lainnya.
2. Spring di kelompokan dalam sebuah modular fashion. dimana angkat dari packages dan class bersifat subtansial, kamu hanya perlu mengkahawatirkan tentang apa yang kamu perlukan dan mengabaikan sisanya
3. Testing sebuah aplikasi yang di tulis menggunakan spring sangat simple karena tergantung dari area code yang dipindahkan kedalam framework. lebih dalamnya, dengan menggunakan JavaBeanstyle Pojo, akan menjadikan penggunaan injeksi dari dependency lebih mudah untuk melakukan injecting test data.
4. spring adalah web framework yang sangat cocok untuk membuat web berbasis MVC dimana menyediakan alternatif terbaik untuk web framework seperti Struts atau over-engineered lainnya atau web framework yang kurang populer lainya.
5. spring menyediakan sebuah API yang mudah untuk di alih bahasakan ke teknologi -spesific exception (di lempar dari JDBC, Hibernate, atau JDO contohnya) kedalam nilai yang konsistent, unchecked exceptions.
6. wadah IoC lebih ringan, terutama jika di bandingkan dengan EJB container. ini sangat menguntungkan saat melakukan pengolahan dan pengiriman aplikasi dari komputer dengan memory dan cpu yang terbatas.
7. spring menyediakan management interface transaksi yang konsisten sehingga dapat menurunkan skala local ( menggunakan single database) dan dapat meningkatkan skala transaksi pada global transaksi ( menggunakan JTA).

Dependency Injection (DI)

teknologi yang digunakan spring adalah yang paling mudah dikenali karena menggunakan Dependency injection (DI). Inversion of Control (IoC) adalah sebuah konsep umum, dan dapat di ekspresikan kedalam berbagai bentuk yang berbeda. Dependency Injection hanyalah salah satu contoh konkrit dari inversion of Control.

saat menulis sebuah aplikasi java yang rumit, kelas aplikasi harus semandiri mungkin dari setiap kelas java lainnya untuk meningkatkan kemungkinan penggunaan ulang dari kelas ini dan untuk melakukan test secara sendiri sendiri dari setiap kelas saat unit testing. Dependency Injection membantuk dalam penempelan dari kelas ini bersamaan dan dalam waktu yang sama mereka tetap Independent(mandiri)

Dependency Injection dapan terjadi pada saat memberikan parmeter untuk konstruktor atau Post-Contstruction menggunakan metode setter. Dependency Injection adalah jantung dari spring framework.

Apect Oriented Programming (AOP)

salah satu dari kunci komponen spring adalah Apect Oriented Programming (AOP) Framework. fungking dari rentang beberapa titik dari sebuah aplikasi disebut sebagai cross-cutting concerns dan ini adalah konsep yang terpisah dari logik bisnis aplikasi. ini adalah beberapa contoh yang baik dalam aspek yang dimasukan kedalam logging, declarative transactions, security, chacing, dll.

unit kunci dari modularity dalam OOP adalah kelas, dimana dalam AOP unit modularity adalah aspect. DI membantu anda menggabungkan object aplikasi dengan yang lain, saat AOP membantu anda menggabungkan cross-cutting concerns dari object yang mereka affect.

module AOP dari spring framework menyediakan sebuah implementasi aspect-oriented programming yang mengizinkanmu menetapkan metode interceptior dan pointcuts agar penggabungan kode menjadi bersih(clean) dimana implementasi dari fungsi tersebut harusnya terpisah.

spring berpotensi menjadi sebuah One-Stop Shop untuk semua aplikasi bisnis anda, karena itu, spring adalah modular, yang mengijinkan anda mengambil dan memilih module mana saja yang bekerja untukmu tanpa harus membawa sisanya. bagian dibawah ini menyediakan detail tentang semua modul yang tersedia di spring framework.

Spring Framework menyediakan kurang lebih 20 module yang dapat digunakan berdasarkan kebutuhakn aplikasi.


Instagram

Devinta Solution Blog | Designed by Oddthemes | Distributed by Gooyaabi