1.
Konsep
WSCL (Web Service Conversation Language)
Layanan web (web service) yang mengatur
percakapan pengguna dimana pengaturan lebih spesifik terhadap bagaimana urutan pesan tersebut dikirim.
2.
Implementasi
WSCL (Web Service Conversation Language)
Purchase
Conversation
<Conversation
name="purchaseConversation"
xmlns="http://www.w3.org/2002/02/wscl10"
initialInteraction="Start"
finalInteraction="End" >
<ConversationInteractions>
<Interaction
interactionType="ReceiveSend" id="Login">
<InboundXMLDocumenthrefSchema="http://conv123.org/LoginRQ.xsd"
id="LoginRQ"/>
<OutboundXMLDocumenthrefSchema="http://conv123.org/ValidLoginRS.xsd"
id="ValidLoginRS"/>
<OutboundXMLDocumenthrefSchema="http://conv123.org/InvalidLoginRS.xsd"
id="InvalidLoginRS" />
</Interaction>
<Interaction
interactionType="ReceiveSend" id="Purchase" >
<InboundXMLDocumenthrefSchema="http://conv123.org/PurchaseOrderRQ.xsd"
id="PurchaseOrderRQ" />
<OutboundXMLDocumentid="PurchaseOrderAcceptedRS"
hrefSchema="http://conv123.org/PurchaseOrderAcceptedRS.xsd" />
<OutboundXMLDocumentid="InvalidPaymentRS"
hrefSchema="http://conv123.org/InvalidPaymentRS.xsd" />
<OutboundXMLDocumentid="OutOfStockRS"
hrefSchema="http://conv123.org/OutOfStockRS.xsd" />
</Interaction>
<Interaction
interactionType="Send" id="Shipping" >
<OutboundXMLDocumentid="ShippingInformation"
hrefSchema="http://conv123.org/ShippingInformation.xsd" />
</Interaction>
<Interaction
interactionType="Empty" id="Start" />
<Interaction
interactionType="Empty" id="End" />
</ConversationInteractions>
<ConversationTransitions>
<Transition>
<SourceInteractionhref="Start"/>
<DestinationInteractionhref="Login"/>
</Transition>
<Transition>
<SourceInteractionhref="Login"/>
<DestinationInteractionhref="Purchase"/>
<SourceInteractionConditionhref="ValidLoginRS"/>
</Transition>
<Transition>
<SourceInteractionhref="Login"/>
<DestinationInteractionhref="Login"/>
<SourceInteractionConditionhref="InvalidLoginRS"/>
</Transition>
<Transition>
<SourceInteractionhref="Purchase"/>
<DestinationInteractionhref="Shipping"/>
<SourceInteractionConditionhref="PurchaseAcceptedRS"/>
</Transition>
<Transition>
<SourceInteractionhref="Shipping"/>
<DestinationInteractionhref="End"/>
</Transition>
<Transition>
<SourceInteractionhref="Purchase"/>
<DestinationInteractionhref="End"/>
<SourceInteractionConditionhref="InvalidPaymentRS"/>
</Transition>
<Transition>
<SourceInteractionhref="Purchase"/>
<DestinationInteractionhref="End"/>
<SourceInteractionConditionhref="OutOfStockRS"/>
</Transition>
</ConversationTransitions>
</Conversation>
3.
Struktur
WSCL (Web Service Conversation Language)
a. Deskripsi
tipe dokumen (Document type descriptions)
Tipe dokumen yang dapat
diterima dan dipertukarkan didalam conversation adalah XML Document dimana dapat
berreferensi menggunakan URL.Dokumen dibagi menjadi 2 yaitu :
1) Inbound
XML Document :
Pesan, dokumen yang diterima oleh service.
Contoh
Inbound XML Document :
<?xml
version="1.0" encoding="UTF-8"?>
<InboundXMLDocumenthrefSchema="http://foo.org/PurchasePrderRQ.xsd"
id="PurchaseOrderRQ">
</InboundXMLDocument>
2) Outbound
XML Document:
Pesan,
dokumen yang dikirimkanoleh service
Contoh
Outbound XML Document:
<?xml
version="1.0" encoding="UTF-8"?>
<OutboundXMLDocument
id="Invoice" hrefSchema="http://foo.org/InvoiceRS.xsd">
</OutboundXMLDocument>
b. Interaksi
(Interactions)
Pertukaran dokumen antara
service dengan client.WSCL hanya digunakan dalam interaksi tingkat bisnis bukan
bagaimana pertukaraan itu terjadi dengan protocol pesan tingkat bawah.Interaksi
dibagi menjadi beberapa yaitu :
1) One
Way Interactions (Interaksi satu arah)
Interaksi
yang merepresentasikan pesan dengan satu arah yaitu mengirim atau menerima.
Send
: Service mengirimsebuahdokumen (an outbound document) Receive : Service
menerimasebuahdokumen (an inbound document)
Contoh
:
<?xml
version=”1.0” encoding=”UTF-8”?>
<Interaction
interactionType="Receive" id="LoginRegInput">
<InboundXMLDocument
id="LoginRequestData"hrefSchema="http://foo.org/LoginRequestData.xsd">
</InboundXMLDocument>
</Interaction>
2) Two
Way Interactions (Interaksiduaarah)
SendReceive :
Service mengirim dokumen (an outbound document)
kemudian menerima dokumen (an inbound document) sebagai balasan (mengirim
request danmenerima response). Interaksi tidak akan lengkap sampai response
telah dipertukarkan.
Contoh
SendReceived :
<?xml
version="1.0" encoding="UTF-8"?>
<Interaction
interactionType="SendReceive" id="Payment">
<OutboundXMLDocument
id="Invoice" hrefSchema="http://foo.org/InvoiceRS.xsd">
</OutboundXMLDocument>
<InboundXMLDocument
id="Payment" hrefSchema="http://foo.org/Payment.xsd">
</InboundXMLDocument>
</Interaction>
ReceiveSend
:
Service
menerima dokumen (an inbound document) kemudian mengirim dokumen (an outbound
document)
Contoh
ReceivedSend :
<?xml
version="1.0" encoding="UTF-8"?>
<Interaction
interactionType="ReceiveSend" id="Purchase" >
<InboundXMLDocument id="PurchaseOrderRQ"hrefSchema="http://conv123.org/PurchaseOrderRQ.xsd>
</InboundXMLDocument>
<OutboundXMLDocumentid="PurchaseOrderAcceptedRS"
hrefSchema="http://onv123.org/PurchaseOrderAcceptedRS.xsd"
>
</OutboundXMLDocument>
<OutboundXMLDocument
id="InvalidPaymentRS"
hrefSchema="http://conv123.org/InvalidPaymentRS.xsd" >
</OutboundXMLDocument>
<OutboundXMLDocument
id="OutOfStockRS"
hrefSchema="http://conv123.org/OutOfStockRS.xsd" >
</OutboundXMLDocument>
</Interaction>
Empty
:
Tidak
mengandung dokumen yang akan dipertukarkan tetapi model ini hanya digunakan untuk
memulai dan mengakhiri sebuah percakapan
c. Transisi
(Transitions)
Permintaan
interaksi antar hubungan. Interaction dibagi menjadi :
1) Source
Interaction :
Ketika conversation (percakapan) dieksekusi,
interaksi tujuan (destination interaction) akan didahului
2) Destination
Interaction:
Mengikuti Source Interaction ketika percakapan dieksekusi
3) Source
Interaction Condition:
Kondisi tambahan dari transisi
Contoh
:
<?xml
version="1.0" encoding="UTF-8"?>
<Transition>
<SourceInteractionhref="Login"/>
<DestinationInteractionhref="Purchase"/>
<SourceInteractionConditionhref="ValidLoginRS"/>
</Transition>
Contoh2
:
<?xml
version="1.0" encoding="UTF-8"?>
<Transition>
<SourceInteractionhref="Login"/>
<DestinationInteractionhref="Login"/>
<SourceInteractionConditionhref="InvalidLoginRS"/>
</Transition>
d. Initial
dan Final Interactions
Bagian yang
mendefinisikan kemungkinan permintaan interaksi dari awal hingga akhir percakapan
(conversation).
1) Initial
Interaction :
Sumber ID pertama interaksi yang dieksekusi pada
conversation (percakapan)
2) Final
Interaction :
Sumber
ID terakhir interaksi yang dieksekusi pada conversation (percakapan)
Didalam
percakapan mulai dari start hingga end terdapat lebih dari satu interaksi. Untuk
menentukan start dan end pada interaksi maka menggunakan tipe Empty.
Interaksitipe Empty adalah interaksi diminati dan terdapat dokumen yang
dipertukarkan. Saat ini, interaksi Empty hanya digunakan dalam mendefinisikan percakapan
yang perlu dimodelkan.
Contoh :
<?xml
version="1.0" encoding="UTF-8"?>
<Conversation
name="ExampleConversation" initialInteraction = "Login"
finalInteraction = "Purchase">
</Conversation>
e.
Conversation
(Percakapan)
List
semua interaksi dan transisi membuat sebuah percakapan. Informasi tambahan didalam
percakapan termasuk dalam percakapan seperti nama percakapan dan interaksi percakapan
mulai dari start hingga end.
Element
pada percakapan dibagi menjadi 2 sub element :
1) Conversation
Interactions list all Interaction element
2) Conversation
Transitions list all Transition element
Elemen dari percakapan berisi atribut
sebagai berikut :
·
initial Interaction dan
final Interaction :
Sumber initial dan final
interaction pada conversation
·
nama dari Percakapan
·
description
Contoh
Conversation :
<?xml
version="1.0" encoding="UTF-8"?>
<Conversation
name="simpleConversation"
version="1.01"
xmlns="http://www.w3.org/2002/02/wscl10"
initialInteraction="Start"
finalInteraction="End"
description="Conversation for a Store
Front Service">
<ConversationInteractions>
list of all the interactions
</ConversationInteractions>
<ConversationTransitions>
list of all the transitions
</ConversationTransitions>
</Conversation>
Komentar
Posting Komentar