Anda di halaman 1dari 27

Bab 14 Buku 2:

Service Orientation and Object


Orientation: A Comparison of
Principles and Concepts
Oleh: Sularto

Bab 14
Perbandingan tujuan, prinsip dan konsep
object orientation dan service orientation
Perbandingan 2 paradigma ini dilakukan
semata hanya untuk tujuan pendidikan saja
Service orientation dapat lebih jelas dipahami
oleh orang-orang dengan latar belakang
OOAD.

OOAD
Membangun desain software yang efisien:
Reusable
Flexible

Mengatasi masalah pengembangan tidak


terstruktur/spaghetti code
Pemenuhan kebutuhan bisnis saat aplikasi
berjalan dan pengembangan di kemudian hari

Service Orientation
Mempunyai banyak tujuan yang sama dengan
OOAD
Desain yang reusable dan flexible
Tanggap terhadap perubahan bisnis
Karena sistem akan sering berubah, seiring
dengan perkembangan jaman dan requirementrequirement baru.

14.1 A Tale of Two Design Paradigms

14.2 A Comparison of Goals

Increased Business Requirement Fulfillment


Increased Robustness
Increased Extensibility
Increased Flexibility
Increased Reusability and Productivity

14.3 A Comparison of Fundamental


Concepts
Classes and Objects

Public access and private implementation details

Public information

A Comparison of Fundamental
Concepts
Methods and Attributes

10

A Comparison of Fundamental
Concepts
Messages

11

A Comparison of Fundamental
Concepts
Interfaces
portType element yang terdapat pada WSDL
menunjukkan operasi sebuah web service.
portType elemen ini mirip dengan interface
di object oriented.
Di WSDL versi 2.0 portType berubah nama
menjadi interface

12

14.4 A Comparison of Design Principles


Encapsulation

Kedua paradigma
fokus pada
Information Hiding

13

A Comparison of Design Principles


Inheritance
Sebuah sub-class
dapat mewarisi
method dan atribut
dari super class

Bisa share kemampuan yang sama,


tetapi tidak ada yang diwariskan.
Terkait dengan service autonomy dan
mengurangi inter-service coupling inheritance
antar service tidak disarankan dalam
service orientation

14

A Comparison of Design Principles


Generalization and Specialization

15

A Comparison of Design Principles


Abstractions

16

A Comparison of Design Principles


Polymorphism

17

A Comparison of Design Principles


Open Closed Principle

18

A Comparison of Design Principles


Dont Repeat Yourself

19

A Comparison of Design Principles


Single Responsibility Principle

20

A Comparison of Design Principles


Delegation

21

A Comparison of Design Principles


Association

22

A Comparison of Design Principles


Composition

23

A Comparison of Design Principles


Agregation

24

Selesai

25

\(^0^)/

26

Guidelines for Designing


Service Oriented - Classes

Implement class interfaces


Limit class access to interfaces
Dont define public attributes in interfaces
Use inheritance with care
A Comparison of Design Principles
Use Abstract Classes for Modeling, Not Design
Use Faade Classes
27