190 likes | 313 Views
Overview Component-Oriented Programming. Erizal , S.Si , M.Kom Universitas Respati Yogyakarta erizalmik@yahoo.com http://erizal.wordpress.com. Object-Oriented Programming (OOP).
E N D
OverviewComponent-Oriented Programming Erizal, S.Si, M.Kom UniversitasRespati Yogyakarta erizalmik@yahoo.com http://erizal.wordpress.com
Object-Oriented Programming (OOP) Abstraksi : mendefinisikanobyekabstrak yang mampumelakukankegiatan, mengubah state, danberkomunikasidenganobyek lain padasistem Enkapsulasi : Menyembunyikaninformasidan detail implementasisebuah method, sertamengaturaksesterhadapatribut/method
Object-Oriented Programming (OOP) Polimorfisme : Membuatobyekdaritipe yang berbedadapatsalingdipertukarkanselamadimungkinkan Inheritance : Pewarisanatributdan method darisuperclasske subclass
Component-Oriented Programming • Metodepemrograman yang menekankandekomposisisistemmenjadikomponen yang reusable danmemiliki interface untukdapatberkomunikasidengankomponen yang lain. • COP mengembangkan software denganmelakukan assembling components • OOP berhubungandengan class & obyek, sedangkan COP berhubungandengan interfaces dan composition.
Kenapa COP? • Menyediakan level abstraksi yang lebihtinggi • Tidakmenyimpan state • Menggunakan message passing untuk • pertukaran data • COP bersifatreuseable • Waktu develop bisalebihcepat • Penambahanfiturbarucukupdenganmenggabungkandenganmodul lain
Komponen • Bagiandarisebuahsistem yang bersifat semi- independendan replaceable, yang menyediakanlayanan yang terdefinisi • Runtime Component : Dynamically bindable package of programs managed as a unit and accessed through documented interfaces that can be discovered at runtime • Software Component : Piece of self-contained, self deployable computer code with well-defined functionality and can be assembled with other components through it's interface • Business Component : Software implementation of business concept or business process.
Contoh Component • JavaBeans dan EJB dari SUN • COM, DCOM, ActiveX dan .NET Component dari Microsoft • CORBA dari OMG • XPCOM dari Mozilla • VCL dan CLX dari Borland • UNO dari OpenOffice.org
COP vs OOP • Interface-based • Packaging and distribution technology • Supports high-level reuse • Can be written in any language • Loosely coupled components • Supports multiple interfaces and interface-oriented design • Object-based • An implementation technology • Supports low-level reuse • Bound to OO languages • Tightly coupled objects dependent on each other through inheritance implementation • Does not provide clear relationship of interfaces among superclasses and subclasses.
COP vs OOP • Supports more forms of dynamic binding and dynamic discovery • Has better mechanisms for third-party composition • Provides more support for higher-order services (security, transactions, etc.) • COP components are designed to obey rules of the underlying component framework • OOP provides limited support for object retrieval and runtime composition mechanisms • Has limited forms of connectors (method invocation) • Has limited sets of supported services such as security, transactions, and so on • OOP objects are designed to obey OO principles
Component Based Software Engineering • CBSE = COA + COD + COP + COM • COA = component-oriented analysis • COD = component-oriented design • COP = component-oriented programming • COM = component-oriented management
TeknologiBerbasisKomponenPada Enterprise Javabeans (EJB) • Sun Microsystem, sebagaisebuahperusahaanpengembang software arsitekturberorientasiobyek, mengembangkanaplikasiuntuksistemberskalaenterprise. Sisteminidikenaldengansebutan Enterprise JavaBeans (EJB). Arsitekturteknologiinilebihmenekankankepadasistem yang terdistribusi, yaknibagaimanamenjalankankomponen-komponen enterprise padasistem yang terdistribusi.
CORBA • Interoperabilitasadalahkemampuansalingbekerjasamaantarsistemkomputer. • Sebenarnyainteroperabilitasbukanlahbarangbaru, karenaprotokolkomunikasidatapun (TCP/IP misalnya) padadasarnyadiciptakanuntukmewujudkaninteroperabilitas. Yang belumbanyakdikenaladalahinteroperabilitaspada level perangkatlunakaplikasi.
Interoperabilitasperangkatlunakmenuntuthomogenitaspadasuatu level tertentu. Untukitudiperlukansemacam 'standarisasi'. Berawaldarikeperluaninilahirlah CORBA (Common Object Request Broker Architecture).
Arsitektur CORBA • CORBA adalahsebuaharsitektur software yang berbasispadateknologiberorientasiobyekatau Object Oriented (OO) denganparadigma client-server. • Dalamterminologi OO, sebuahobyekberkomunikasidenganobyek lain dengancarapengirimanpesan (message passing). Kontekskomunikasiinikemudiandipetakankedalam model client-server
Arsitektur CORBA • CORBA memilikikemampuandalammenanganiheterogenitasantara client dan server (obyek server dinamakan object implementation) • Keduanyadapatsajadiimplementasikandalam hardware, sistemoperasi, bahasapemrograman, dandilokasi yang berbeda, tetapitetapbisasalingberkomunikasi. • Kuncinyaadapadasebuahlapisan software yang disebutdengan ORB(Object Request Broker).
MVC (Model View Controller) • Model View Controller (MVC) adalahsebuahpola yang dapatmembangunproyekperangkatlunaklebihefektifkarenadilakukandenganmemilahkomponenantara Model, View, dn Controller padabagian- bagiandalamproyek. • Dalam MVC dikenaltigakomponenpembangun, dimanaadainteraksi yang terjadidiantaramereka.