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.
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 š