Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

DIAN INDAH SAVITRI G64104035 PEMBIMBING 1 : WISNU ANANTA KUSUMA, S.T.,M.T. PEMBIMBING 2 : TOTO HARYANTO,S.KOM. ORM Framework dan JEE Pattern dalam Aplikasi.

Presentasi serupa


Presentasi berjudul: "DIAN INDAH SAVITRI G64104035 PEMBIMBING 1 : WISNU ANANTA KUSUMA, S.T.,M.T. PEMBIMBING 2 : TOTO HARYANTO,S.KOM. ORM Framework dan JEE Pattern dalam Aplikasi."— Transcript presentasi:

1 DIAN INDAH SAVITRI G PEMBIMBING 1 : WISNU ANANTA KUSUMA, S.T.,M.T. PEMBIMBING 2 : TOTO HARYANTO,S.KOM. ORM Framework dan JEE Pattern dalam Aplikasi Enterprise Resource Planning

2 PENDAHULUAN

3 Latar Belakang ERP  aplikasi enterprise yang menyatukan aktivitas bisnis perusahaan. Aplikasi ERP menghubungkan transaksi bisnis to bisnis, bisnis to customer, perhitungan financial, dan human resource.(Parr 2000)

4 Arsitektur ERP yang diakomodari oleh Java EE (MVC) Graphical User Interface Browser utk data entry Akses thd fungsi sistem Presentation Layer Business rules, logika, fungsi program terhadap data yang diterima/ ditransfer dari/ke server database. Application Layer Manajemen data transaksi termasuk didalamnya metadata. Database Layer ViewControllerModel Rashid, et. al 2002

5 Mismacth paradigm Pengembangan aplikasi enterprise berbasis objek Basisdata Realsional 1.Granularity 2.Subtypes 3.Identity 4.Assosiation 5.Navigasi data 1.Granularity 2.Subtypes 3.Identity 4.Assosiation 5.Navigasi data Obejct Relational Mapping Bauer dan King 2007

6 Tujuan penelitian Menganalisis ketidaksesuaian yang muncul dari rancangan sistem Retail ERP yang dikembangkan Ernita (2008) dan basis data relasional yang digunakan. Menerapkan konsep ORM untuk mengatasi masalah ketidaksesuaian tersebut. Memanfaatkan konsep design pattern dalam akses basis data oleh lapisan aplikasi.

7 Manfaat penelitian pemeliharaan dan pengelolaan manajemen basis data pada pengembangan sistem ERP selanjutnya. menghemat koneksi pada server basis data

8 TINJAUAN PUSTAKA

9 Enterprise Resource Planning suatu aplikasi terintegrasi yang berkonsentrasi untuk menyatukan aktivitas proses transaksi enterprise. Beberapa inti modul ERP yang ditemukan pada sistem ERP yaitu (Rashid et. al 2002): Manajemen akuntasi, manajemen keuangan, manajemen manufacturing, manajemen produksi, manajemen transportasi, manajemen penjualan dan distribusi, manajemen sumberdaya manusia, Supply Chain Management (SCM), Customer Relationship Management (CRM), dan E-business Rashid et. al 2002

10 Object Persistence objek yang dihasilkan dari suatu sistem yang dapat disimpan dalam waktu lama bahkan bersifat permanen. disimpan dalam bentuk basis data relasional, file system dalam harddisk, file XML, Web Service, ODBMS (Object Data Base Management System), dan LDAP. Peak dan Heudecker 2006

11 Object Relational Mismatch ketidaksesuaian antara basis data yang menggunakan konsep relasional dengan pengembangan aplikasi yang menggunakan konsep berorientasi objek. Ketidaksesuaian tersebut meliputi aspek:  Granularity  Subtypes  Identity  Asosiasi  Navigasi data Bauer dan King 2007

12 Object Relational Mapping sebuah framework yang mengatasi perbedaan sistem basis data yang bersifat relational dengan paradigma pengembangan aplikasi yang berorientasi objek. menjembatani dialek SQL yang digunakan. Bauer dan King 2007

13 Design Pattern unsur-unsur rancangan yang seringkali muncul pada berbagai jenis sistem. merupakan katalog permasalahan beserta solusi yang sudah teruji dalam perancangan sistem. DAO pattern : pola yang mengenkapsulasi data akses dan manipulasi ke dalam lapisan yang berbeda. Service pattern (facade) : pola yang mengintegrasikan DAO-DAO pattern ke dalam lapisan baru yang disebut Service. Alur et al. 2003

14 Design pattern (cont..) Singleton : adalah pola yang hanya mempunyai satu instansiasi dari suatu class yang dipakai pada sistem tertentu. Proxy : adalah pola yang merancang suatu objek mewakili kontrol atau akses objek lain bertindak seolah-oleh objek tersebut melakukannya. Factory method : pola untuk mengenkapsulasi suatu objek dan diinstasiasi satu kali untuk digunakan berulang-ulang.

15 Declarative transaction suatu teknik untuk medeklarasikan semua transaksi dalam suatu file konfigurasi untuk menangani semua proses transaksi tanpa harus membuat kode-kode program untuk menangani transaksi secara eksplisit. mengatur rollback (method dan exception) apabila terjadi kegagalan transaksi Walls dan Beidenbach 2005

16 Inversion of Control Disebut juga Dependency Injection. adalah suatu konsep yang diterapkan oleh suatu objek untuk mendapatkan objek lain yang dibutuhkan tanpa harus mencari dan memasukan objek tersebut secara eksplisit. Walls dan Beidenbach 2003

17 METODE PENELITIAN

18 Metode Penelitian evaluasi Implementasi ORM Analisis kebutuhan ORM Studi literatur

19 HASIL DAN PEMBAHASAN

20 Deskripsi umum Modul pembelian Purchase Requisition (PR) Request for Quotation (RFQ) Purchase Order (PO) Demand Order (DO) Goods Receive Manajemen Inventory Modul akuntansi Jurnal buku besar (General Ledger) Invoices dan payment Account Payable Account Payment Managemen COA (Code of Account) Modul Penjualan Katalog barang Add to Cart Pelanggan Pengantaran Invoices dan payment

21 Analisis mismatch Granularity  Basis data relasional tidak mengenal user-defined-data-type RFQ mempunyai beberapa Price akan dimapping ke satu tabel.

22 Analisis mismatch (cont..) Identitas  Basis data  primary key  Java   lokasi memory (==)  Secara lojik sama (equals()) Navigasi data  perbedaan mekanisme mengakses data pada objek dan tabel.  Basis data  menggunkan SQL (query join)  Java  method getter

23 Analisis mismatch (cont..) Asosiasi One-to-oneOne-to-manyMany-to-many

24 Membuat DTO dan menghilangkan mismach Membuat konfigurasi basis data dan hibernate public class Product{ private int id; private String prodName; private Double unitPrice; //getter and setter method} Prod_IDProd_nameUnit price 1pupuk100 2bibit200

25 Penanganan mismatch Granularitas  RFQ mempunyai beberapa Price akan dimapping ke satu tabel.  Ada tipe data Price pada class RFQ.  Entitas price menentukan entitas RFQ.  Disebut juga parent child  Cascade = {CascadeType.PERSIST, CascadeType.REMOVE}, fetch = FetchType.EAGER)

26 Penanganan mismatch (cont..) Identitas  Menambah pada = "IN_ITEM") public (strategy=GenerationType.AUTO) merepresentasikan suatu primary key, dan secara lojik berbeda dengan id entitas lainnya.

27 Penanganan mismach (cont..) Asosiasi  One-to-one  Join column berada pada entitas yang (name = " id_ pu_ order")  apabila asosiasinya (mappedBy="order") private PurchaseDemand purDemand;

28 Penanganan mismach (cont..) Asosiasi (cont..)  One-to-many  Join column berada pada entitas dengan ( name = " id_pu_requisition") private Requisition requisition;  Apabila asosiasinya (mappedBy = "requisition") private List requisitionDetail = new ArrayList ();

29 Penanganan mismatch Asosiasi (cont..)  Many-to-many  Join tabel berada pada entitas total participant  Menghasilkan 1 tabel "ad_modul_group", "id_ad_modul")}, private List adminGroups=new ArrayList ();  Apabila mappingnya private List admin Moduls = new ArrayList ();

30 Penanganan mismatch Navigasi data  Bagaimana cara mengakses objek dari objek lain.  Arah navigasi  Unidirectional  Bidirectional invProdBrand.getInItem.getName();  Pada basis data tidak mengenal arah navigasi, akses tabel dari tabel lain menggunakan join Select name from IN_ITEM i left outer join IN_PROD_BRAND pb on i.id=pb.id where i.id=123

31 Fungsi akses data menerapkan DAO, singleton, factory method patttern DAO pattern  Akses dan manipulasi data  Berisi fungsi-fungsi (saveOrUpdate(insert dan update), delete, getAll (select *), getById (select * from CLASS where id = ?), dll ) Singleton pattern  Objek dataSource  Berisi properti koneksi basis data.  Objek sessionFactory  Membuat objek Session yang bertanggungjawab selama transaksi (begin, commit, rollback).

32 Fungsi akses data (cont..) Objek dataSource dan sessionFactory dibuat dan dimasukan ke dalam objek DAO. Menggunkan teknik Dependency Injection atau Inversion of Control. Oleh Spring Framework

33 Penyederhanaan fungsi akses data menggunakan façade dan proxy pattern 50 objek DTO, masing-masing mempunyai objek DAO untuk akses data ( save, update, delete, get, dll) Façade pattern  menyederhanakan DAO ke dalam lapisan Service sesuai dengan submodulnya. Menghasilkan 7 interface Service. Service  penguhubung dengan lapisan aplikasi

34 Penyederhanaan fungsi akses data (cont..) Service dipanggil oleh lapisan aplikasi. Proxy pattern  teknik declatarive transaction.  Service tidak mengaskes daa secara langsung  Memanggil “moduleXXXService” pada hibernate.ctx.xml  Membuat class proxy yang berisi fungsi-fungsi untuk transaksi (begin, comit, rollback).  Fungsi-fungsi tersebut dimasukan ke dalam obje Session melalui method getHibernateTemplate().  Tidak perlu menuliskan transaksi secara programatik.

35 Declarative transaction PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED

36 SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); Cart cart = new Cart(); cart.setSatus ("active"); cart.setAmount(25000) Session session = sessionFactory.openSession(); Transaction tx = session.BeginTransaction(); session.save(cart); tx.commit(); session.close();

37 public class OrderCartDaoHibernate extends HibernateDaoSupport{ public void save(Cart cart) { getHibernateTemplate().saveOr Update(cart); }

38 Pembuatan skema basis data Dilakukan oleh Properti create. pada saat sessionFactory dijalankan akan membuat semua tabel dan pada saat ditutup tabel yang dihasilkan tidak akan dihapus. Properti hiberntae.show_sql akan menampilkan SQL yang digunakan saat query menggunakan HQL

39 File properti basis data jdbc.username=root jdbc.password=admin jdbc.url=jdbc:mysql://localhost: 3306/erp jdbc.driver=com.mysql.jdbc.Driver hibernate.dialect=org.hibernate.dialect.MySQL5I nnoDBDialect hibernate.show_sql=true hibernate.hbm2ddl.auto=create hibernate.format_sql=true

40 Penyatuan lapisan persistensi dan lapisan aplikasi JSF  controller Memanggil Service Dimasukan pada file faces-config.xml.

41 evaluasi Menganalis hasil implementasi. ORM tidak bergantung pada DBMS. Properti koneksi berada pada satu tempat. Mendukung fitur lazy-loading. Mengamati data yang sering dan jarang digunakan.

42 KESIMPULAN DAN SARAN

43 kesimpulan Mismatch yang muncul pada pengembangan Retail ERP terdiri dari 4 aspek: Granularity, Identity, Asosiasi, dan Navigasi data. ORM terbukti menghilangkan mismatch antara konsep pemrograman berorientasi objek dan basis data relasional. Design pattern membuat kode program menjadi rapi dan terstruktur. Pemanfaatan design pattern pada teknik decalarative transaction dan Inversion of Control memudahkan proses akses dan manipulasi data.

44 saran Melakukan unit testing dengan Junit dan DBUnit. Penerapan ORM pada WebService. Penerapan ORM pada framework yang berbeda (TopLink, OpenJPA, iBatis) atau pada platfrom yang berbeda (.Net) kemudian dibandingkan hasilnya.

45 DAFTAR PUSTAKA

46 Daftar pustaka Alur D, Crupi J, Malks D Core J2EE™ Patterns: Best Practices and Design Strategies, 2 nd Edition. United States: Addison-Wesley. Bauer C, King G Java Persistence with Hibernate. United States : Manning. Ernita, H Pengembangan Enterprise Resource Planning Untuk Perusahaan Ritel. [Skripsi]. Bogor: Departemen Ilmu Komputer, Institut Pertanian Bogor. Gamma E, Helm R, Johnson R, Vlissides J Design Patterns: Elements of Reusable Object-Oriented Software. United States: Addison-Wesley.

47 Parr A. N A Taxonomi of ERP Implementation Approach. School of Business System, Monash University. Peak P, Heudecker N Hibernate Quickly. United States: Manning. Rashid MA, et.al The Evolution of ERP System: A Historical Perspective. USA: IRM Press Walls C, Breidenbach R Spring in Action. United States: Manning.


Download ppt "DIAN INDAH SAVITRI G64104035 PEMBIMBING 1 : WISNU ANANTA KUSUMA, S.T.,M.T. PEMBIMBING 2 : TOTO HARYANTO,S.KOM. ORM Framework dan JEE Pattern dalam Aplikasi."

Presentasi serupa


Iklan oleh Google