SOA vs REST

SOA berdasarkan kepada konsep MEST atau MESsage Transfer. Message mengandung statement of intent dan data yg berhubungan dengannya. Contohnya adalah ChangeCustomerAddressMessage (message tersebut sudh menunjukkan maksudnya) dan di dalam object tersebut terkandung data yg berhubungan dengan maksud tersebut.

REST berfokus terhadap Resource. Jadi jika kita ingin merubah alamat dari Customer maka kita harus tahu URI dari Customer tersebut dan menyertakan method PUT dan datanya.

PUT http://example.com/customer1

PUT adalah method dan http://example.com/customer1 adalah URI

Jadi REST memisahkan intention dan data. Tetapi dibalik itu object yg berinteraksi di bawah URI tersebut sama saja. Hanya interface nya ke client saja yg berubah. URI mudah dimengerti dan dimanipulasi. Keterbatasan method yg ada pada REST menyebabkan REST predictable. Sehingga kita dapat menerapkan security, caching proxy dengan mudah.

4 elemen dari RESTful application adalah
1. Resource Identification = dicapai dengan URI
2. Manipulation via Representation ini dicapai dengan method pada HTTP (GET, PUT, POST dll)
3. Self Descriptive message.
4. Hypermedia (melink satu sama lain) fungsi2 dapat dijelajahi sama dengan membrowse website.

URI tersebut harus dapat dijelajahi. REST merupakan architecture style jadi tidak terbatas pada HTTP.
Prinsip2 yg terdapat dari REST adalah
1. Client Server
2. Stateless
3. Flagged Response ( jadi menandai resource yg mana yg bias di cache atau tidak)

Sebelum ada REST kita mengenal adanya XML RPC dan Web Service (SOAP). Pada XML RPC kita terikat pada implementation detail begitu juga dengan wsdl pada web service.

Web 2.0 merupakan tantangan membuka API dari aplikasi kita untuk dikonsumsi oleh halayak ramai. RESTful system mempermudah pembangunan client dan server dapat lebih extensible dan maintenancenya mudah.
REST merupakan alternative untuk Web Services dan RPC. REST service memiliki criteria
1. Platform independent
2. Language indpednet
3. Standard use (HTTP
4. Firewall

Sama seperti web service tidak memiliki built in security, encryption, session. Tetapi fungsionalitas
Tersebut dapat dicapai. Contohnya untuk security username dan password dpat digunakan. Untuk encrypsi menggunakan https.

Cookies bukan merupakan bagian dari REST yg baik ST -> State transfer. Pada design REST yg baik maka haruslah self contain jadi setiap request mentransfer semua informasi atau state yg dibutuhkan oleh server dalam memenuhi request tersebut.

Advertisement
  1. debora1207
    March 25, 2009 at 7:55 am

    nice posting, well šŸ˜€

    Request nih, say.. šŸ™‚

    Kasih tulisan ttg http, scope information, n method information dunk,

    Biar ada pengantar dlu ke konsep SOA n REST itu…biar makin komplit nih tutorial darimu šŸ™‚

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: