tag:blogger.com,1999:blog-61034769233107773052024-03-14T00:01:18.266-07:00Oracle Service BusThis is a blog dedicated to Oracle Service Bus related concepts which will be helpful for everyone to understand and implement the various features it provides.Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-6103476923310777305.post-6218327962358787162014-08-16T22:29:00.000-07:002014-08-16T22:29:19.724-07:00Invoking one way https webservice from OSB/Weblogic<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Verdana, sans-serif;"> We may need to configure Weblogic for invoking one way https webservice from Weblogic/OSB. It is very easy to do that.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">The following are the procedures required for the same.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">1. keytool -import -file <<TrustFileStore.crt>> -keystore /software/bea/Middleware/osb/11.1.1.7/wlserver_10.3/server/lib/DemoTrust.jks </span><br />
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;">*(password – DemoTrustKeyStorePassPhrase)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">2. set this propety in setDomainEnv.sh</span><br />
<span style="font-family: Verdana, sans-serif;">-Dweblogic.security.SSL.enable.renegotiation=true</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">3. Restart the managed servers.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">4. Create one business service to invoke the https service.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Regards,</span><br />
<span style="font-family: Verdana, sans-serif;">Sajeev</span></div>
Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com5tag:blogger.com,1999:blog-6103476923310777305.post-27542198779269836252012-12-28T07:55:00.002-08:002012-12-31T06:50:04.514-08:00Oracle Service Bus (OSB) Performance Tuning tips<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;"> Once you are comfortable with developing and deploying applications in OSB, the next thing that comes for you will be how fast you can run your applications and what are the standard procedures that need to be followed up in order to achieve that. </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"> Based on my experience, I have come up with few points which will help you fine tune your applications and get good response times. The fine tuning of any application should start from the design phase. The design can be high level design, deployment design, low level design and finally the standard way of implementing these things.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"><b><u>High level design</u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> One should follow the most suitable and efficient design pattern in-order to achieve good result. Considering different solutions for the same problem will be handy.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"><b><u>Deployment design & Server Configuration</u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> OSB applications runs on Weblogic Server, a J2EE application server. So you should be very careful while selecting the JVM parameters like heap memory, gc algorithm, nursery size and other Java options. </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> Deep level analysis need to be done in order to understand whether the application that you are building is CPU intensive or memory intensive.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"><b><u>Low level design</u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> This is nothing but the proper work flow pattern design. You should analyse which work flow pattern will be more efficient in terms of number of threads it creates, the memory utilization and CPU utilization. Also how much of static data need to be handled and how it should be cached and so on.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"><b><u>Best practices for developing highly efficient OSB applications.</u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">1. Cache the static data that need to be configured in your application. You need to consider the below points</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> a. how much of data need to be cached</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> b. Which caching api to use.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> There are two popular caching api's available - Java Caching System (JCS) and Oracle Coherence caching which Oracle recommends.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<br />
<div style="text-align: left;">
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"> <b><u>Java Caching System (JCS)</u></b></span></div>
<br />
<span style="font-family: Trebuchet MS, sans-serif;"> This is a simple caching scheme where the static data will be cached per server. This can be easily integrated to OSB application and the complexity is very less. But this is not suitable for caching very large amount of data. The caching mechanism may fail under heavy load and the cached data over 50 rows from a table.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"><b><u>Oracle Coherence Caching</u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> This is the Oracle recommended caching mechanism. We need to configure the coherence cluster in the Weblogic server level in order to use this. This is very robust and stable cache mechanism which can handle heavy load and large amount of data. The cached data will be available through out the cluster. There are different methods available for clearing the Coherence cache.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: Trebuchet MS, sans-serif;"><b><u>2. Disable all tracing</u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> For high end performance , you need to disable all kinds of tracing. This can be easily done in sbconsole.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> sbconsole -> smart search</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> If you are using coherence caching, make sure that you enable caching for the business service used for that.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="color: #e69138; font-family: 'Trebuchet MS', sans-serif;"><b><u>3. Datasources</u></b></span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"> If you are using datasouce for select or query operations, then use non-XA driver. </span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"><br /></span>
<span style="color: #e69138; font-family: 'Trebuchet MS', sans-serif;"><b><u>4. XQuery tuning</u></b></span><br />
<br />
<span style="font-family: Trebuchet MS, sans-serif;"> a. Avoid using '//' anywhere in the xquery</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> b. use indexes for faster xquery parsing.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> c. Use FLOWR expressions instead of 'if' conditions for checking the existence of any tag.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> d. If you want to use any intermediate xpath continuously , then assign that to a variable </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> and </span><span style="font-family: 'Trebuchet MS', sans-serif;">use it rather than querying it multiple times.</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"> e. </span><span style="font-family: Trebuchet MS, sans-serif;">Using indexes for xqueries, if you are not sure that it will return multiple rows</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> f. If you use multiple 'let' statements, group it under one 'let'</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> g. Avoid declaring the namespaces above xquery, it will lead to different namespace</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> </span><span style="font-family: 'Trebuchet MS', sans-serif;">prefixes during runtime. </span><span style="font-family: 'Trebuchet MS', sans-serif;">Instead put it inline with xquery xml tags.</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"> h. </span><span style="font-family: Trebuchet MS, sans-serif;">Avoid using of '*' to the maximum extend</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> i. Split large sized dbquery xmls to multiple parts so that xquery parsing will be easy.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> Design the dbentries in such a way that you would be easily able to split with </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> </span><span style="font-family: Trebuchet MS, sans-serif;">respect </span><span style="font-family: 'Trebuchet MS', sans-serif;">to some parameters.</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"> j. </span><span style="font-family: Trebuchet MS, sans-serif;">Reduce the number of parameters passing to the XQuery. Instead you can pass a single</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> xml which will have all the parameters mapped</span><br />
<br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><b><u><span style="color: #e69138;">Xquery Performance testing guidelines</span></u></b></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">1. Test with huge payloads</span><br />
<span style="font-family: Trebuchet MS, sans-serif;">2. Testing with values inside payload in different order (better reverse the order in the payload and test) </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">For any queries , please drop a mail to</span><br />
<span style="font-family: Trebuchet MS, sans-serif;">sajurrk@gmail.com or saju_rrk@yahoo.com</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<br />
<br />
<br />
<br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<br />
<br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"> </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"> </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com2tag:blogger.com,1999:blog-6103476923310777305.post-7755996749766905252012-03-25T06:15:00.001-07:002012-12-31T04:42:10.255-08:00Attachment Handling using Oracle Service Bus (OSB)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="color: orange; font-family: Times,"Times New Roman",serif; text-align: left;">
<h3 style="text-align: left;">
<u><span style="font-size: small;"><b>1. Introduction</b></span></u> </h3>
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
Oracle Fusion 11g is
an enterprise ready family of integration products from Oracle. Oracle Service Bus (OSB) 11g is one of the components in Fusion middleware
product. OSB can do routing,
transformation and orchestration of messages. Messages can be of xml or non
xml. Here we are concerned about sending
files as attachments along with the messages.
We will discuss how OSB handles attachments and the configurations done
for the same and the results of one sample performance testing done in virtual
data center (VDC) Linux environment.
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="color: orange; font-family: Times,"Times New Roman",serif;">
<h3 style="text-align: left;">
<u><b>2. Introduction to Attachment handling</b></u></h3>
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
You might
be remembering that in your company if you face any issues in your system, you
might be asked to upload any screenshot of the problem or any documents
relevant to that. Did you ever think that how these files are processed in the
background. </div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
If you analyse closely, the files you upload will be first
taken by some front end application and it will be passed on to the integration
middleware component and there it will be uploaded into some file server or
vendor specific share point.</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
In this
document, we are concerned only about the integration middleware component, OSB
11g and how it handles attachment.</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="color: orange; font-family: Times,"Times New Roman",serif;">
<h3 style="text-align: left;">
<u><b>3. Types of Attachment handling</b></u></h3>
</div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif;">
<b> Attachment
handling can be of two types.</b></div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif; margin-left: 0.75in; text-indent: -0.25in;">
<b>a.<span style="font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span>Inline
attachment handling</b></div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif; margin-left: 0.75in; text-indent: -0.25in;">
<b>b.<span style="font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span>MIME
attachment handling</b></div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif; margin-left: 0.75in; text-indent: -0.25in;">
<b>a.<span style="font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span>Inline
attachment handling</b></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Here the attachment file will be
encoded into some format, say base64 format and send it as part of the main xml
message</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="color: #444444; font-family: Times,"Times New Roman",serif; margin-left: 0.75in; text-indent: -0.25in;">
<b>b.<span style="font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span>MIME
attachment handling</b></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Here the attachment will be send
as part of attachment headers along wth the normal xml message. The attachments
can be received in multiple formats by OSB, but one of the common format is
base64 encoded binary format.</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="color: orange; font-family: Times,"Times New Roman",serif;">
<u><b>4. Configuring OSB 11g for inline attachment handling</b></u></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
Open OSB eclipse
and create one Oracle Service bus project.</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuoSrpA0mepzzsmemDDJ5-Zz3EMP2ggxpdxa0vHkz2ZKIMfV2U_Durm6MNiEnphb3SH-oaoAa8ZNzZVkris0U9576D9nhbtqSfARFVUhjTtVDVLt2YaYXXZ5ncnSKODd3v1qgxjpXATXDJ/s1600/attachmentHandling_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuoSrpA0mepzzsmemDDJ5-Zz3EMP2ggxpdxa0vHkz2ZKIMfV2U_Durm6MNiEnphb3SH-oaoAa8ZNzZVkris0U9576D9nhbtqSfARFVUhjTtVDVLt2YaYXXZ5ncnSKODd3v1qgxjpXATXDJ/s400/attachmentHandling_1.jpg" width="400" /></a></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Create one proxy service inside
AttachmentHandlingTest OSB project</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoeJwjYHUh0L_A2gAHLFDhYNfgazaxjPyiZg3A6A_FphHgVzkay-v4Z_1aIdguLsqyLuYtKzFkSfwnBcdhhOg8HhbtZyNwYKhAneHOwvrgzV85z1i9CXjbqp4Oom2hpSuKX7hwzKzcNKWS/s1600/attachmentHandling_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="385" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoeJwjYHUh0L_A2gAHLFDhYNfgazaxjPyiZg3A6A_FphHgVzkay-v4Z_1aIdguLsqyLuYtKzFkSfwnBcdhhOg8HhbtZyNwYKhAneHOwvrgzV85z1i9CXjbqp4Oom2hpSuKX7hwzKzcNKWS/s400/attachmentHandling_2.jpg" width="400" /></a></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Go to the message handling tab and
select the following</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 1.25in; text-indent: -0.25in;">
a.<span style="font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span>XOP/MTOM</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 1.25in; text-indent: -0.25in;">
b.<span style="font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span> page attachments to disk</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCACyxoLni4aFDp7h0B1pBvirjrpbZ4WiD5nN31fUL67zepVu0gq_1QkJSsP_sn8Nk3lihlVY0IOFjdyPE8NpZhtbKLIuqqYfaH7YEuQS3bhyz490fFQKdSUlbQstjHnzzt6bWlRx8KNW/s1600/attachmentHandling_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCACyxoLni4aFDp7h0B1pBvirjrpbZ4WiD5nN31fUL67zepVu0gq_1QkJSsP_sn8Nk3lihlVY0IOFjdyPE8NpZhtbKLIuqqYfaH7YEuQS3bhyz490fFQKdSUlbQstjHnzzt6bWlRx8KNW/s400/attachmentHandling_3.jpg" width="400" /></a></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Now go to the MessageFlow tab and
add some pipeline pair.</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8uL2GHeWjINMl-ruGrp6KQmWNDl-5wSouNz6_d1B7AGGIcbqxLs8KYXV0QdRNgUncDzVrR5VL_-2g6aVD4dvQfmT-I1tbPeYLgXrs8CwY05zQCrf3qMTwkOtFBGi8nLtw-WF-FPOE2dNP/s1600/attachmentHandling_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8uL2GHeWjINMl-ruGrp6KQmWNDl-5wSouNz6_d1B7AGGIcbqxLs8KYXV0QdRNgUncDzVrR5VL_-2g6aVD4dvQfmT-I1tbPeYLgXrs8CwY05zQCrf3qMTwkOtFBGi8nLtw-WF-FPOE2dNP/s400/attachmentHandling_4.jpg" width="400" /></a></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Deploy the application to the
server</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzA228s_V-m4dHPh4RJnmAAunFuts7_rszGZEJaVx94R8cqha_OFm9VmG6BYpfviX3_eBgv9aAucPAMuL3uG4o20gOBJcBTnF8b3nc4PTXm6zTl-Tkd6ppwsjDb114W18ZwrHsBEAwtPBT/s1600/attachmentHandling_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzA228s_V-m4dHPh4RJnmAAunFuts7_rszGZEJaVx94R8cqha_OFm9VmG6BYpfviX3_eBgv9aAucPAMuL3uG4o20gOBJcBTnF8b3nc4PTXm6zTl-Tkd6ppwsjDb114W18ZwrHsBEAwtPBT/s400/attachmentHandling_5.jpg" width="400" /></a></div>
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
</div>
<div class="MsoNormal" style="color: orange; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<u><b>Testing the application.</b></u></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
Request document to test. The
attachment (embedded in the attachment tag) is encoded as base64.</div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<createSRRequest></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<request></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<messageId>test</messageId></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<attachment></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAUAAAAAAAAAAAEAAAUgAAAAEAAAD+////AAAAAE8AAAD///AUAA</div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
</attachment></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
</request></div>
<div class="MsoNormal" style="background-color: #fff2cc; font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
</createSRRequest></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkhxURf_0m2uY7CxeZ3GUQY8P-iGc0sQ654EXmrtse1NQcox7aYAVGlFI1NPR8AznEhRBopq4a6Kw_ZNt2-LrWZZC5x0qsM_goAZbV2e037XZJ7DPzElecFHfV7u2dBjhARoVV1RbwOFF/s1600/attachmentHandling_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkhxURf_0m2uY7CxeZ3GUQY8P-iGc0sQ654EXmrtse1NQcox7aYAVGlFI1NPR8AznEhRBopq4a6Kw_ZNt2-LrWZZC5x0qsM_goAZbV2e037XZJ7DPzElecFHfV7u2dBjhARoVV1RbwOFF/s400/attachmentHandling_6.jpg" width="400" /></a></div>
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQuE7GqTW6_ilLgy5VuA34Vhz-Dw5YPnikCCnkbwWCzScof9Ob2zdCh1CZSXzPYxvPos861izkIS-q8UfG9h6sTSrJ5FzfI5xDRgsuwgtRQnGEfJAZaFkNX2tU69HbSfgvnm3uwY4P6zs/s1600/attachmentHandling_7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQuE7GqTW6_ilLgy5VuA34Vhz-Dw5YPnikCCnkbwWCzScof9Ob2zdCh1CZSXzPYxvPos861izkIS-q8UfG9h6sTSrJ5FzfI5xDRgsuwgtRQnGEfJAZaFkNX2tU69HbSfgvnm3uwY4P6zs/s400/attachmentHandling_7.jpg" width="400" /></a></div>
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE4ZRDcXeX7hsqW6zHG_UcRE4syLvGkBPKeZbPUGA_T3YJBdoFfURg3gqUFHU09OgFHqL6hNa99D33wE5jx7iPHjkmorFl5KjOwQrQvAiHR2uSr60ZVa-vhOW1gcYnw1FaK9K7ssvKOTix/s1600/attachmentHandling_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE4ZRDcXeX7hsqW6zHG_UcRE4syLvGkBPKeZbPUGA_T3YJBdoFfURg3gqUFHU09OgFHqL6hNa99D33wE5jx7iPHjkmorFl5KjOwQrQvAiHR2uSr60ZVa-vhOW1gcYnw1FaK9K7ssvKOTix/s400/attachmentHandling_8.jpg" width="400" /></a></div>
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="color: orange; font-family: Times,"Times New Roman",serif;">
<h3 style="text-align: left;">
<u><b>5.Configuring OSB 11g for MIME attachment handling</b></u></h3>
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
MIME attachments
are the attachments send as headers. Here the client used for posting is
soapUI. We should not use the sbconsole test window to test MIME attachment
applications.</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
If we post via soapUI, OSB receives it as binary and we can
see only some java reference for this object. Inorder to access this attachment
there are two ways.<br />
<br />
1. Using Proxy service<br />
2. Using Java code <br />
<br />
<br />
<h3 style="color: orange; text-align: left;">
1. Using Proxy Service - </h3>
Here you will receive the headers in the $attachments variable and there you can see the attachment as header. Now create a proxy service which takes request as binary and response as text and pass the attachment binary reference to this proxy service and get back the response as text.<br />
<br />
Please find below the screenshots.<br />
<br />
This is the sample proxy service <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpv5Twhe0WguDPIHR6VmmSlKPmucTv0dJxkRGp4JhUjcU5AOb37yEjPULPvfTDv2sfGIgnNlMXoNS0l1_CZiGQZstT5zH12TIASxlXPe52onrtAdoFeJf-l1tGXnRnI1nCbrd5-We7s9SK/s1600/attachmentHandling_9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpv5Twhe0WguDPIHR6VmmSlKPmucTv0dJxkRGp4JhUjcU5AOb37yEjPULPvfTDv2sfGIgnNlMXoNS0l1_CZiGQZstT5zH12TIASxlXPe52onrtAdoFeJf-l1tGXnRnI1nCbrd5-We7s9SK/s400/attachmentHandling_9.jpg" width="400" /></a></div>
<br />
Assigning the binary-content from the $attachments variable for passing it to the proxy which converts binary to text<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZKhvgV4n0476fmG9X9H6hUf0BTA-CFWIwEJOO4nxVBlkshVxBxsiivDIhCkYq8sVVqkHipElSROVfM5elII1rUAtFa66rUNH8UQbJIdPvrT9UeQ-8PayFBc4nY8jukL7Yl-s8O6New9X1/s1600/attachmentHandling_10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZKhvgV4n0476fmG9X9H6hUf0BTA-CFWIwEJOO4nxVBlkshVxBxsiivDIhCkYq8sVVqkHipElSROVfM5elII1rUAtFa66rUNH8UQbJIdPvrT9UeQ-8PayFBc4nY8jukL7Yl-s8O6New9X1/s400/attachmentHandling_10.jpg" width="400" /></a></div>
<br />
<br />
This is the proxy which converts binary to text. See the configuration in the "Messaging" tab.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZASs4sUONA0nThuoExvkkFfGGLbSNkG-VArINJibr7m7GTDU205qIWPJBXu-k3rqUQWoYTiTJlM60vHDHl7DrDwRCJobwCGrl1YObbtMU5cmRy-r4C_GCcBcIiY22d8jRY6PVYF3ic-xL/s1600/attachmentHandling_11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZASs4sUONA0nThuoExvkkFfGGLbSNkG-VArINJibr7m7GTDU205qIWPJBXu-k3rqUQWoYTiTJlM60vHDHl7DrDwRCJobwCGrl1YObbtMU5cmRy-r4C_GCcBcIiY22d8jRY6PVYF3ic-xL/s400/attachmentHandling_11.jpg" width="400" /></a> </div>
<br />
In the binary to text proxy. we will give only empty proxy. See below</div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0HWWXXg9lKq9byGeKFnzJlJOR_lEA4oKXVtRy-gGOXoTcnO1-pGSkNpl8e9nLkdyexExsVIT6ZAUifrHSl3QDLqu_t2W0_P3kIktwQyk614TFWKsx44_3EuFn0EEVh-6yFFW361Oqqj4g/s1600/attachmentHandling_12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0HWWXXg9lKq9byGeKFnzJlJOR_lEA4oKXVtRy-gGOXoTcnO1-pGSkNpl8e9nLkdyexExsVIT6ZAUifrHSl3QDLqu_t2W0_P3kIktwQyk614TFWKsx44_3EuFn0EEVh-6yFFW361Oqqj4g/s400/attachmentHandling_12.jpg" width="400" /></a></div>
<br /></div>
<div class="MsoNormal" style="font-family: Times,"Times New Roman",serif; margin-left: 0.75in;">
<br />
Calling the converter proxy from the main proxy. The text output will be saved in the response variable as shown below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDhYNZIsjsdrs6YhBPKndAc7XgNhRg0Km5pQyIQj6EY2F7oEgIkSgMnCRGTgdmNRYfmJ4yvaHX-DHLdlsYgx1BiWuvfqprQY9CM1Y3J4eomNISzGDNCSlqTn-IrjTKp5ku2qeEgybcM_Ok/s1600/attachmentHandling_13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDhYNZIsjsdrs6YhBPKndAc7XgNhRg0Km5pQyIQj6EY2F7oEgIkSgMnCRGTgdmNRYfmJ4yvaHX-DHLdlsYgx1BiWuvfqprQY9CM1Y3J4eomNISzGDNCSlqTn-IrjTKp5ku2qeEgybcM_Ok/s400/attachmentHandling_13.jpg" width="400" /></a></div>
<br />
<h3 style="color: orange; text-align: left;">
Testing Using SOAPUI</h3>
<br />
We have to post the MIME attachment using some 3rd party tool like SOAPUI. You require one wsdl for this.There are options to add attachments with different properties. Please find below the screenshot for the same.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWXMXSy_CrZI7kWaRLmVD1HCSqn3wecvEClYQZfdwTYGoSklUQCZ7M3OIb4509Tim06csf9k_RLAYCnUP1w_D-oMYZEcn-aVztznRO-C7z9h5KDz6cEKOB1NxUm22a6I84yUw4f65O1WCf/s1600/attachmentHandling_14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWXMXSy_CrZI7kWaRLmVD1HCSqn3wecvEClYQZfdwTYGoSklUQCZ7M3OIb4509Tim06csf9k_RLAYCnUP1w_D-oMYZEcn-aVztznRO-C7z9h5KDz6cEKOB1NxUm22a6I84yUw4f65O1WCf/s400/attachmentHandling_14.jpg" width="400" /></a></div>
<br />
2. Using Java Code - <<will update soon>><br />
<br />
<br />
For any queries , please drop a mail to<br />
sajurrk@gmail.com or saju_rrk@yahoo.com<br />
<br />
<br /></div>
</div>
Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com12tag:blogger.com,1999:blog-6103476923310777305.post-56012096486685060042011-07-09T22:16:00.001-07:002011-07-10T00:48:21.078-07:00Weblogic JMS Basics<title>Slide 28</title><style>
.O
{color:black;
font-size:149%;}
a:link
{color:#996666 !important;}
a:active
{color:#9999FF !important;}
a:visited
{color:#6666CC !important;}
</style><style media="print">
<!--.sld
{left:0px !important;
width:6.0in !important;
height:4.5in !important;
font-size:103% !important;}
-->
</style><o:shapelayout v:ext="edit"></o:shapelayout><o:idmap data="1" v:ext="edit"></o:idmap><p:colorscheme colors="#ffffff,#000000,#669999,#ffffff,#99ccff,#9999ff,#996666,#6666cc"></p:colorscheme><div class="O" v:shape="_x0000_s1026"><div><span style="font-size: 111%;"><span style="color: #996666; font-family: Wingdings; font-size: 80%; left: -3.88%; position: absolute; top: 0.22em;">l</span></span><span style="font-size: small;"><span style="color: red;"></span></span></div><div><span style="font-size: small;"><span style="color: red;">Introduction </span></span></div><div></div><div><span style="font-size: small;"><span style="color: red;"><span style="color: black;"> The Java Messaging Service (JMS) is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. To use JMS, we should have a JMS provider that can manage the sessions and queues. In OSB, weblogic server is the JMS provider. </span><span style="background-color: white;"></span></span></span></div><div></div><div><span style="font-size: small;"><span style="color: red;">Definitions </span></span></div><div></div><div><span style="font-size: small;">JMS Provider - An implementation of the JMS interface for a Message Oriented Middleware (MOM)</span></div><div></div><div><span style="font-size: small;">JMS Client - An application / process which can either produce or consume messages</span></div><div></div><div><span style="font-size: small;">JMS Message - The data which is transferred between JMS clients</span></div><div></div><div><span style="font-size: small;">JMS Queue - A space where the messages will be saved for sending or receiving. It will be either saved in the Filestore or JDBC store.</span></div><div><span style="font-size: small;"><br />
</span></div><div><span style="font-size: small;">JMS Topic - A mechanism for delivering messages to multiple subscribers.</span></div><div></div><div><span style="font-size: small;">JMS Point-to-Point model - Here the sender posts messages to the receiver queue.</span></div><div></div><div><span style="font-size: small;">JMS Publish/Subscribe Model - Here the message will be posted to multiple subscribers. We use 'topic' rather that 'queue' here.</span></div><div><span style="font-size: small;"></span><span style="font-size: small;"></span></div><div></div><div><span style="font-size: small;">JMS Server – To host different set of modules and any associated persistent storage that reside on a weblogic server instance. </span></div><div></div><div><span style="font-size: small;"><span style="color: #996666; font-family: Wingdings; left: -3.52%; position: absolute; top: 0.22em;">l</span>JMS Modules – Contains configuration resources like queues, topics and connection factories </span></div><div></div><div><span style="font-size: small;"><span style="color: #996666; font-family: Wingdings; left: -3.51%; position: absolute; top: 0.22em;">l</span>ConnectionFactory – encapsulates connection configuration information , and enables JMS applications to create a connection </span></div><div></div><div><span style="font-size: small;"><span style="color: #996666; font-family: Wingdings; left: -3.66%; position: absolute; top: 0.22em;">l</span>JNDI (Java Naming and Directory Interface) – resource lookup of JMS resources like connection factories and destinations (queues or topics) which are configured with a JNDI name. </span></div><div></div><div><span style="font-size: small;"><span style="color: #996666; font-family: Wingdings; left: -3.97%; position: absolute; top: 0.22em;">l</span>Weblogic persistent storage – To store persistent message data. </span></div><div><span style="font-size: small;"> Eg : Filestore or JDBC-accessible. </span><br />
<br />
<span style="font-size: small;"><span style="color: red;">Logical diagram</span></span><br />
<span style="font-size: small;"><span style="color: red;"> </span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjE5YA2cHjz28WWXUFjgVeZ9spUQkq2JX-B44DTztwz7w59qAgB-FloQ5q8y3HeigZcD9o-9nI9genTnSpneOmU9D3-wr1_6KcjZL-AIkejkgQaefDfMioTQU3l_eivj6gNTHPvMHapFQM/s1600/JMS_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjE5YA2cHjz28WWXUFjgVeZ9spUQkq2JX-B44DTztwz7w59qAgB-FloQ5q8y3HeigZcD9o-9nI9genTnSpneOmU9D3-wr1_6KcjZL-AIkejkgQaefDfMioTQU3l_eivj6gNTHPvMHapFQM/s320/JMS_1.jpg" width="320" /></a></div><span style="font-size: small;"><span style="color: red;"> </span><span style="color: red;">JMS API architecture diagram</span></span><br />
<span style="font-size: small;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhockE74QooOR5dvVfRwX2Uhzt5wTscZXdIX-fnoh-fkh_DYGfY_79FO9Kth-UuGg_t6lR7jBuGco4nAAlUFlAf3fA5hJqdK4cf_incpQAN3ztibrtVCa1YHL00nM0uF0GBrk0rnavCM1HS/s1600/architecture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhockE74QooOR5dvVfRwX2Uhzt5wTscZXdIX-fnoh-fkh_DYGfY_79FO9Kth-UuGg_t6lR7jBuGco4nAAlUFlAf3fA5hJqdK4cf_incpQAN3ztibrtVCa1YHL00nM0uF0GBrk0rnavCM1HS/s320/architecture.jpg" width="320" /></a></div><div style="color: red;"><span style="font-size: small;">How to create a distributed JMS Queue</span></div><span style="font-size: small;"> </span><br />
<span style="font-size: small;"> I have seen a very good topic for this. Go through the below link</span><br />
<span style="font-size: small;"> </span><br />
<span style="font-size: small;"><a href="http://middlewaremagic.com/weblogic/?p=3747">How to create a distributed JMS Queue</a></span><br />
<br />
<span style="font-size: small;">Thanks</span><br />
<span style="font-size: small;">Sajeev<br />
</span><br />
<span style="font-size: small;"><br />
</span></div><div></div></div>Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com1tag:blogger.com,1999:blog-6103476923310777305.post-70012764427274131992011-07-08T23:51:00.000-07:002011-07-09T03:50:16.275-07:00Getting Started - XQuery Dev inside OSB Eclipse<div style="color: red;">Prerequisite</div><ul><li>Should have installed OSB </li>
<li>Basics understanding of middleware technology.</li>
</ul><div style="color: red;"> Introduction</div> We can use XQuery/XSL in OSB to do the message transformation. But XQuery is preferred over the XSL because of the performance advantage. In this post I will show how to develop an xquery using the osb workshop eclipse.<br />
<br />
<span style="color: red;">XQuery - Introduction</span><br />
XQuery is a light weight language which has got an xml like syntax. XQuery has 3 important parts as below<br />
<ol><li>Namespace declaration</li>
<li>Set of function with their implementations</li>
<li>Declaration of variables</li>
<li>Mentioning the function with which the execution begins.</li>
</ol> For further understanding of the XQuery you can refer<br />
<a href="http://www.w3schools.com/xquery/xquery_intro.asp">http://www.w3schools.com/xquery/xquery_intro.asp</a><br />
<br />
<div style="color: red;">Sample XQuery</div><div style="color: red;"><br />
</div><div style="background-color: #f4cccc; color: black;">Listing-1 xquery version "1.0" encoding "Cp1252";<br />
Listing-2 (:: pragma parameter="$anyType1" type="xs:anyType" ::)<br />
Listing-3 (:: pragma type="xs:anyType" ::)<br />
Listing-4 declare namespace xf = "http://tempuri.org/OSB%20Project%203/sample/";<br />
Listing-5 declare namespace ns1 = "http://tempuri.org/OSB%20Project%203/sample/inputaddress";<br />
Listing-6 declare namespace ns2 = "http://tempuri.org/OSB%20Project%203/sample/outputaddress";<br />
Listing-7<br />
Listing-8 declare function xf:sample($requestDoc as element(*))<br />
Listing-9 as element(*)<br />
Listing-10 {<br />
Listing-11 <ns2:Address><br />
Listing-12 <ns2:name><br />
Listing-13 {<br />
Listing-14 $requestDoc/ns1:FirstName/text()<br />
Listing-15 }<br />
Listing-16 </ns2:name><br />
Listing-17 <ns2:phone><br />
Listing-18 {<br />
Listing-19 $requestDoc/ns1:PhoneNumber/text()<br />
Listing-20 }<br />
Listing-21 </ns2:phone><br />
Listing-22 </ns2:Address><br />
Listing-23 };<br />
Listing-24<br />
Listing-25 declare variable $requestDoc as element(*) external;<br />
Listing-26<br />
Listing-27 xf:sample($requestDoc)</div><div style="color: black;"><br />
<span style="color: red;">Explanation</span><br />
<br />
</div><div style="color: red;"><span style="color: black;"><span style="color: red;">Listing 1</span> - declaration of xquery</span></div><div style="color: black;"><span style="color: red;">Listing 2 to 3</span> - comments</div><div style="color: black;"><span style="color: red;">Listing 4 to 6</span> - Namespace declarations</div><div style="color: red;">Listing 8 to 9</div><div style="color: black;"></div><div style="color: black;"></div><div style="color: black;"> This is the code snippet for the function 'sample' which takes 'requestDoc' which is of type element(*), that is the xml. It returns the type element(*) which is also an xml.</div><div style="color: black;"><br />
</div><div style="color: black;"><span style="color: red;">Listing 10</span> - shows the start of the xquery function</div><div style="color: black;"><span style="color: red;">Listing 23</span> - shows the end of the xquery function</div><div style="color: black;"><span style="color: red;">Listing 11 to 22</span> - the body of the function 'sample'</div><div style="color: black;"> Here we are doing the transformation. What ever we write it in these lines will be the final output of the </div><div style="color: black;"> xquery tranformation</div><div style="color: black;"><span style="color: red;">Listing 14 or 19</span> - Here we are assigning the data obtained from request xml to the output response xml.</div><div style="color: black;"><br />
</div><div style="color: black;"><span style="color: red;">Listing 25 </span>- declaring the request variable 'requestDoc' as 'external' as type 'element(*)'. So when we test this xquery from the OSB flow, we will bind the request xml with 'requestDoc' variable and we can transform the request xml to the response xml. </div><div style="color: black;"><br />
</div><div style="color: black;"><span style="color: red;">Listing 27</span> - This is the last line of the xquery where the execution of the xquery begins. Suppose if we have multiple functions, what ever function is given in the last line of xquery will be the entry point of execution.</div><div style="color: black;"><br />
</div><div style="color: black;"><span style="color: red;">Development of XQuery in OSB Workshop - Eclipse</span><br />
Open the eclipse and create a project . Right click on the project and create a new xquery<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfuh2mTkUfxojZjixUDErdUwtUpghuNu3cC1F0rlKlSf9WvN1HVJspw4xMr99giqQ98EhVR2AB2IHBxGjOI50YnZysHceIVgl0CaMjnyEE8RQKO7H6UOPWw_L-CrVvqveaDg5FyjL-0iDk/s1600/xquery_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfuh2mTkUfxojZjixUDErdUwtUpghuNu3cC1F0rlKlSf9WvN1HVJspw4xMr99giqQ98EhVR2AB2IHBxGjOI50YnZysHceIVgl0CaMjnyEE8RQKO7H6UOPWw_L-CrVvqveaDg5FyjL-0iDk/s320/xquery_2.jpg" width="320" /></a></div>Give some name<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5dV57DLlHdjPlVEWw_4OD06Bzr1BzV8oZ5HNnwfLAo00NBk_Zv1_MJWp_pYoTxGEtzfXwVWex0vGi6bmpN8c3NQRElqT51p7Juv9sDS5YlZZfqCFLazXYCCJZnjgNBWypRVt7Im0eZKSl/s1600/xquery_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5dV57DLlHdjPlVEWw_4OD06Bzr1BzV8oZ5HNnwfLAo00NBk_Zv1_MJWp_pYoTxGEtzfXwVWex0vGi6bmpN8c3NQRElqT51p7Juv9sDS5YlZZfqCFLazXYCCJZnjgNBWypRVt7Im0eZKSl/s320/xquery_3.jpg" width="320" /></a></div><br />
Now give the request binding variables.<br />
Here I have added only one variable.<br />
Give the 'Parameter Name' as 'requestDoc' and click on 'Add' so that we can add the request binding variable.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqNVkjAB2w7XNLGcJ2S64FrZjuk4HAiCf-A-bhPAYLAp_dSo7JhOs0jL0TOp2M17JOI6VzYHw0b69uFdAbk8AxcwmnIJPahd5xrmKxpHT_lBfrN1eD0_0NntLk-uokPKX92WhL_d_j1Hdd/s1600/xquery_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqNVkjAB2w7XNLGcJ2S64FrZjuk4HAiCf-A-bhPAYLAp_dSo7JhOs0jL0TOp2M17JOI6VzYHw0b69uFdAbk8AxcwmnIJPahd5xrmKxpHT_lBfrN1eD0_0NntLk-uokPKX92WhL_d_j1Hdd/s320/xquery_4.jpg" width="320" /></a></div><br />
Similarly mention the response also<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6UduEemWWwyRyvw58ebCFVpWwGo02e1scvRlFUxq3MSiVafTN8uHY4Kc72nBxtOCQRLemNs_NRYFReEKkahJAHCP06nWV4lMa2aW0RASsPy6dfbsG_BEA4Uf-46xRAnraVZtOCxP27bEs/s1600/xquery_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6UduEemWWwyRyvw58ebCFVpWwGo02e1scvRlFUxq3MSiVafTN8uHY4Kc72nBxtOCQRLemNs_NRYFReEKkahJAHCP06nWV4lMa2aW0RASsPy6dfbsG_BEA4Uf-46xRAnraVZtOCxP27bEs/s320/xquery_5.jpg" width="320" /></a></div><br />
Now we have created the xquery. It will be now opened in the osb eclipse editor. The editor has 3 parts.<br />
<ol><li>Design</li>
<li>Source</li>
<li>Test</li>
</ol>We can use 'Design' part if we have the source and destination schemas.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2MaXRZ0DjkrsN_7bZGBT530gEZqJ-rFxJpX5qXA0Gzfamgltt-YGeGc8P-W8_PZZ0A-iL4QGaRZo0F4AQAQ0ffWMi9zm7yDm8UafYelb4yaWyal69KL_7B-aA8s2IG5jenfw4lnOdFPzU/s1600/xquery_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2MaXRZ0DjkrsN_7bZGBT530gEZqJ-rFxJpX5qXA0Gzfamgltt-YGeGc8P-W8_PZZ0A-iL4QGaRZo0F4AQAQ0ffWMi9zm7yDm8UafYelb4yaWyal69KL_7B-aA8s2IG5jenfw4lnOdFPzU/s320/xquery_6.jpg" width="320" /></a></div>Now click on 'Source' and you can see the xquery source code.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS65YsH-nyTXiugnhvu4_tFwjcyopVuXabJXo_GEOAPWm57G3vhfLcewFqk5ILZZVXkkIqDkQ5LM1v2TB-PLqz1r5YMxcYjO-Mi9-7-HNxyhOyYiJLQdtkz_XZpE0t28Pu27ET_cqOr-pO/s1600/xquery_7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS65YsH-nyTXiugnhvu4_tFwjcyopVuXabJXo_GEOAPWm57G3vhfLcewFqk5ILZZVXkkIqDkQ5LM1v2TB-PLqz1r5YMxcYjO-Mi9-7-HNxyhOyYiJLQdtkz_XZpE0t28Pu27ET_cqOr-pO/s320/xquery_7.jpg" width="320" /></a></div><br />
Now modify the xquery as below<br />
<br />
<span style="background-color: #f4cccc;">xquery version "1.0" encoding "Cp1252";</span><br />
<span style="background-color: #f4cccc;">(:: pragma parameter="$anyType1" type="xs:anyType" ::)</span><br />
<span style="background-color: #f4cccc;">(:: pragma type="xs:anyType" ::)</span><br />
<span style="background-color: #f4cccc;">declare namespace xf = "http://tempuri.org/OSB%20Project%203/sample/";</span><br />
<span style="background-color: #f4cccc;">declare namespace ns1 = "http://tempuri.org/OSB%20Project%203/sample/inputaddress";</span><br />
<span style="background-color: #f4cccc;">declare namespace ns2 = "http://tempuri.org/OSB%20Project%203/sample/outputaddress";</span><br />
<span style="background-color: #f4cccc;">declare function xf:sample($requestDoc as element(*))</span><br />
<span style="background-color: #f4cccc;"> as element(*)</span><br />
<span style="background-color: #f4cccc;"> {</span><br />
<span style="background-color: #f4cccc;"> <ns2:Address></span><br />
<span style="background-color: #f4cccc;"> <ns2:name></span><br />
<span style="background-color: #f4cccc;"> {</span><br />
<span style="background-color: #f4cccc;"> $requestDoc/ns1:FirstName/text()</span><br />
<span style="background-color: #f4cccc;"> }</span><br />
<span style="background-color: #f4cccc;"> </ns2:name></span><br />
<span style="background-color: #f4cccc;"> <ns2:phone></span><br />
<span style="background-color: #f4cccc;"> {</span><br />
<span style="background-color: #f4cccc;"> $requestDoc/ns1:PhoneNumber/text()</span><br />
<span style="background-color: #f4cccc;"> }</span><br />
<span style="background-color: #f4cccc;"> </ns2:phone></span><br />
<span style="background-color: #f4cccc;"> </ns2:Address></span><br />
<span style="background-color: #f4cccc;">};</span><br />
<span style="background-color: #f4cccc;">declare variable $requestDoc as element(*) external;</span><br />
<span style="background-color: #f4cccc;">xf:sample($requestDoc)</span><br />
<span style="background-color: #f4cccc;"><br />
</span><br />
<div style="background-color: white; color: red;">Sample request xml for Testing</div><span style="background-color: #f4cccc;"><br />
</span><br />
<span style="background-color: #f4cccc;"><ns1:AddressDetails xmlns:ns1="http://tempuri.org/OSB%20Project%203/sample/inputaddress"><br />
<ns1:FirstName>Sajeev</ns1:FirstName><br />
<ns1:PhoneNumber>09962551082</ns1:PhoneNumber><br />
</ns1:AddressDetails></span><br />
<span style="background-color: #f4cccc;"><br />
</span><br />
<span style="background-color: #f4cccc;"><span style="background-color: white; color: red;">Testing the application</span></span><br />
<span style="background-color: #f4cccc;"><br />
</span><br />
<span style="background-color: #f4cccc;"><span style="background-color: white;">Now Click on the 'Test' tab inside the xquery editor for testing</span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieBSIg4H1D_YZQVcy4imWGJ7wxHuYaQ6YHglmCMdReCIcCFJmAQ6JUhab8YBOtnuU0XR-x-KLRYCNDS70I1l65JM45vmmNNTWFVXqkF4rgUjzP1xIyVMAXFp1ZY3i7psa5Dxxv8cdlEIEj/s1600/xquery_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieBSIg4H1D_YZQVcy4imWGJ7wxHuYaQ6YHglmCMdReCIcCFJmAQ6JUhab8YBOtnuU0XR-x-KLRYCNDS70I1l65JM45vmmNNTWFVXqkF4rgUjzP1xIyVMAXFp1ZY3i7psa5Dxxv8cdlEIEj/s320/xquery_8.jpg" width="320" /></a></div><br />
<span style="background-color: #f4cccc;"><br />
</span><br />
<span style="background-color: #f4cccc;"><span style="background-color: white;">Now we have successfully created an xquery and tested it. </span></span><br />
<br />
<div style="color: red;"><span style="background-color: #f4cccc;"><span style="background-color: white;"> Testing the XQuery inside OSB Message Flow</span></span></div><div style="color: red;"><br />
</div><div style="color: black;"><span style="background-color: #f4cccc;"><span style="background-color: white;"> Create a new sample osb project. If you are a beginner you can refer the below post</span></span></div><div style="color: red;"><span style="background-color: #f4cccc;"><span style="background-color: white;"><a href="http://osb-soa.blogspot.com/2011/07/osb-dev-using-eclipse-getting-started.html">Create a Sample HTTP-HTTP flow in OSB</a></span></span></div><div style="color: red;"><br />
</div><div style="color: red;"><span style="background-color: #f4cccc;"><span style="background-color: white;"><span style="color: black;"> In the request flow drag one 'replace' node </span></span></span></div><div style="color: red;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwqiVmTQCbCvfX5rQK58kFsBtvmQfD8P-XYBfmn9NJ2dEQs1mgQlUvOIdg3cwje5QsRn5at9HyIc5XUIKBGJL3L-fNTvPbrCjMxNn3H_KW8UeP4If0C5JDZlkIQtgryI3CPv70iSGlOGNj/s1600/xquery_9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwqiVmTQCbCvfX5rQK58kFsBtvmQfD8P-XYBfmn9NJ2dEQs1mgQlUvOIdg3cwje5QsRn5at9HyIc5XUIKBGJL3L-fNTvPbrCjMxNn3H_KW8UeP4If0C5JDZlkIQtgryI3CPv70iSGlOGNj/s320/xquery_9.jpg" width="320" /></a></div><div style="color: black;"></div><div style="color: red;"><div style="color: black;"><span style="background-color: #f4cccc;"><span style="background-color: white;"> Click on 'XPath' and enter the value as '*'</span></span></div><div style="color: black;"><span style="background-color: #f4cccc;"><span style="background-color: white;"><br />
</span></span></div><div style="color: black;"><span style="background-color: #f4cccc;"><span style="background-color: white;"> In Variable : body</span></span></div><div style="color: black;"><span style="background-color: #f4cccc;"><span style="background-color: white;"> Now click on 'Expresssion' and click on 'XQuery Resource' and browse to the sample xquery</span></span></div><div style="color: black;"><span style="background-color: #f4cccc;"><span style="background-color: white;"> and enter $body/* into the 'requestDoc'.</span></span></div><span style="background-color: #f4cccc;"><span style="background-color: white;"><br />
</span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiChUpqGZ4zkETULMRIFGKQcv19GujwOwsG_y1RxqkR4dYHk6TI-emD3-YVVo-xpwQDH-xZ78XpcCFKG1NLkqLMVTSWVL7y-ZY4bLVbyWqnzgEI6XACw7jzT_cvZZg9UqnERw9hi6YNMacy/s1600/xquery_10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiChUpqGZ4zkETULMRIFGKQcv19GujwOwsG_y1RxqkR4dYHk6TI-emD3-YVVo-xpwQDH-xZ78XpcCFKG1NLkqLMVTSWVL7y-ZY4bLVbyWqnzgEI6XACw7jzT_cvZZg9UqnERw9hi6YNMacy/s320/xquery_10.jpg" width="320" /></a></div><span style="background-color: #f4cccc;"><span style="background-color: white;"><span style="color: black;">Now you can deploy the application and test it.</span></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: medium;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: medium;">Conclusion</span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: black;"> This topic is intended to give an introduction to Xquery development and using the same inside the osb message flow. You can better explore more. </span></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: medium;">Queries?</span></div><div class="separator" style="clear: both; color: black; text-align: left;"><span class="Apple-style-span" style="font-size: medium;"><br />
</span></div><div class="separator" style="clear: both; color: black; text-align: left;"> please contact Sajeev Ramakrishnan</div><div class="separator" style="clear: both; color: black; text-align: left;"> @ sajurrk@gmail.com</div><div class="separator" style="clear: both; color: black; text-align: left;"> @ saju_rrk@yahoo.com</div><span style="background-color: #f4cccc;"><span style="background-color: white;"><span style="color: black;"></span></span></span><br />
<span style="background-color: #f4cccc;"><span style="background-color: white;"><br />
</span></span><br />
<span style="background-color: #f4cccc;"><span style="background-color: white;"><br />
</span></span></div><div style="color: red;"><br />
</div><span style="background-color: #f4cccc;"><span style="background-color: white;"><br />
</span></span><br />
<span style="background-color: #f4cccc;"><br />
</span><br />
<span style="background-color: #f4cccc;"><br />
</span><br />
<br />
<br />
<br />
<br />
<br />
<br />
</div><div style="color: red;"><br />
</div><div style="color: red;"> </div><div style="color: red;"></div><div style="color: red;"></div><div style="color: red;"><br />
</div>Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com2tag:blogger.com,1999:blog-6103476923310777305.post-53367149477826634202011-07-02T06:39:00.000-07:002011-07-02T08:12:32.002-07:00OSB Dev using Eclipse - Getting Started<div dir="ltr" style="text-align: left;" trbidi="on"><b><span class="Apple-style-span" style="color: red; font-size: large;">Introduction</span></b><br />
<span class="Apple-style-span" style="font-size: large; font-weight: bold;"> </span><span class="Apple-style-span">I hope that you have installed OSB 11g and created domain. Now it is the time to make your hands dirty. I will explain to you how to create a basic http-http flow using eclipse. So why to wait, open your eclipse and go on!!. </span><br />
<b><span class="Apple-style-span" style="font-size: large;"><br />
</span></b><br />
<b><span class="Apple-style-span" style="color: red; font-size: large;">Definitions</span></b><br />
<br />
<ul style="text-align: left;"><li>Oracle Service Bus Configuration Project - After opening the eclipse create the osb configuration project which hold multiple osb projects.</li>
<li>OSB project - holds the actual application which consists of proxy services and business services.</li>
<li>Proxy Service - which holds the actual flow implementation. It can perform routing, transformation,sercurity, monitoring and reporting</li>
<li>Business Service , which acts as an abstract access layer for the end system component where we configure the interface. Proxy service calls the end system using business service. Business services can be of HTTP, JMS, MQ, File , FTP etc.</li>
</ul><div><span class="Apple-style-span" style="color: red;">Sample Flow (HTTP-HTTP)</span></div><div><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUXiHQS8-CKz-svjMtY3RHxK6hcrOxtnWAwiePAzQezImBWjF7NSG-IVdWkpIxFTBcFFpHQJRZxrg8YyE7nLNl-SBOL8eVBqSeLWadU0RlEy5VM0Zet4WzSbDFf_cwCwMdGlxCE9xB_hxc/s1600/flow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUXiHQS8-CKz-svjMtY3RHxK6hcrOxtnWAwiePAzQezImBWjF7NSG-IVdWkpIxFTBcFFpHQJRZxrg8YyE7nLNl-SBOL8eVBqSeLWadU0RlEy5VM0Zet4WzSbDFf_cwCwMdGlxCE9xB_hxc/s320/flow.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">Open the Eclipse and create Oracle Service Bus Configuration Project</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcvUgy7gMdURDj5EhomuI9qlTGE953LAVhZ4TjC3e3I1oZ-Esz3aZChLhs-GhPjyJQowupk7RbKuCQ5nzDVtGDOD00ymxER_Ddoq3jEwkZfBisgxwfQrTmmIIOXv-QuNsDveSGb60HGcax/s1600/eclipse_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcvUgy7gMdURDj5EhomuI9qlTGE953LAVhZ4TjC3e3I1oZ-Esz3aZChLhs-GhPjyJQowupk7RbKuCQ5nzDVtGDOD00ymxER_Ddoq3jEwkZfBisgxwfQrTmmIIOXv-QuNsDveSGb60HGcax/s320/eclipse_1.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Right click on the Oracle Service Bus Configuration project and create a new Oracle Service Bus project</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhezMR6ulYaiDX4XC4FpyrBIY7dHRzCF9MdqEWVZ6jfW5lzTi9E8lC8WyRzgx0pDwSyrOUPEpoOxt7idTW2jlEx38Pc5Ygf09B4hQAXSx9N5YrtI4zz5NpInJK6MDjcHjPgdSCQ0H57NlGi/s1600/eclipse_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhezMR6ulYaiDX4XC4FpyrBIY7dHRzCF9MdqEWVZ6jfW5lzTi9E8lC8WyRzgx0pDwSyrOUPEpoOxt7idTW2jlEx38Pc5Ygf09B4hQAXSx9N5YrtI4zz5NpInJK6MDjcHjPgdSCQ0H57NlGi/s320/eclipse_2.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">Give some proper name</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9tfuty-RmW2PVUvfoCgqRJH8D2biXo0jt6C-p2nmcI3Et050dn5E3vZomGNIow1elZUEaOll42Cnhj-jknMBsTVgRtOukZdYTUq939OvUrf0WInTyU7aTCTlNaU4yrBm8Q5kCJZgJrUhL/s1600/eclipse_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9tfuty-RmW2PVUvfoCgqRJH8D2biXo0jt6C-p2nmcI3Et050dn5E3vZomGNIow1elZUEaOll42Cnhj-jknMBsTVgRtOukZdYTUq939OvUrf0WInTyU7aTCTlNaU4yrBm8Q5kCJZgJrUhL/s320/eclipse_3.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Right click on the Oracle Service Bus project and create new proxy service.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicKnYb6lSiIG5o2cAue1KbOLzBj1Dr3qLcDmQh__TW7w65mL5nPLF7KzLPE3xObk1F-_hbb7G7wW51UnQ1D0iHAtuLJzrqEtYQs9Igl5s9ZR-4I97M1HbOMMo8o1EbGSvdhp4IlUvx8LyC/s1600/eclipse_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicKnYb6lSiIG5o2cAue1KbOLzBj1Dr3qLcDmQh__TW7w65mL5nPLF7KzLPE3xObk1F-_hbb7G7wW51UnQ1D0iHAtuLJzrqEtYQs9Igl5s9ZR-4I97M1HbOMMo8o1EbGSvdhp4IlUvx8LyC/s320/eclipse_4.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Open the new proxy service and click on the 'Transport' section. Select the protocol as 'http' and give a proper HTTP access URI.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_PL7_1pTWutTtzHqgqFe3r_ebFH9sjIhUhKZa4LwiWmdiggkHKcOOuqa9bzZChOyOYDBVPcHRm5yQ5ch0G-7ZhZFPbdCmNNFnP-w9pjeQLL8h6b15AhkJ-o47bIQ1iLtCcoPl7yvQRqWk/s1600/eclipse_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_PL7_1pTWutTtzHqgqFe3r_ebFH9sjIhUhKZa4LwiWmdiggkHKcOOuqa9bzZChOyOYDBVPcHRm5yQ5ch0G-7ZhZFPbdCmNNFnP-w9pjeQLL8h6b15AhkJ-o47bIQ1iLtCcoPl7yvQRqWk/s320/eclipse_5.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Click on the 'Message Flow' section on the proxy service and drag a 'pipeline pair' to the message flow.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzHb2kwAut-2dlYT__Ub_tfFVbGfLQ5h4vvsO7fexhCmEtmJ55nMS4dnGZSvd_pSG4kAfic2T888Angb3V9uaM6VaFdqXKSgqjg8h8l_FmyjXN0WQEnF1PUPaC4EVi9xkzQVn9Xd8Lly02/s1600/eclipse_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzHb2kwAut-2dlYT__Ub_tfFVbGfLQ5h4vvsO7fexhCmEtmJ55nMS4dnGZSvd_pSG4kAfic2T888Angb3V9uaM6VaFdqXKSgqjg8h8l_FmyjXN0WQEnF1PUPaC4EVi9xkzQVn9Xd8Lly02/s320/eclipse_6.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">You can see 'Request pipeline' and 'Response pipeline' inside the pipeline pair.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnF5ZetFVuDuQjGKy1J4hf06CdUMFi3M30pxsz1zPM6PR6NuT0EaErPh_t_4_6mx_e_5eFP-i5rQk0gFjujiyktgCn4p4tKjkEWkfAkfVGTk3F-wBOqSqX1FgLdw_1IH_RbzQm2du9EEgM/s1600/eclipse_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnF5ZetFVuDuQjGKy1J4hf06CdUMFi3M30pxsz1zPM6PR6NuT0EaErPh_t_4_6mx_e_5eFP-i5rQk0gFjujiyktgCn4p4tKjkEWkfAkfVGTk3F-wBOqSqX1FgLdw_1IH_RbzQm2du9EEgM/s320/eclipse_8.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Drag a 'stage' into the Request pipeline. Stage is used just to group different nodes in the flow.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr5e79U5n_RUORQ2sJ4rgTTmZhRix5Js5X0vnL8E7fljvfmGYrUrBNJ897cQJc0JkbOKZnQw6ocYqsCHUqLwZcHmeN8CQGlryATsuRN0VxoPqQJ3YLzXSUJ_-JAUIaO6AKHmw1zG3RtQWT/s1600/eclipse_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr5e79U5n_RUORQ2sJ4rgTTmZhRix5Js5X0vnL8E7fljvfmGYrUrBNJ897cQJc0JkbOKZnQw6ocYqsCHUqLwZcHmeN8CQGlryATsuRN0VxoPqQJ3YLzXSUJ_-JAUIaO6AKHmw1zG3RtQWT/s320/eclipse_8.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Now Right click on the Oracle Service Bus Project and create a new 'business service'</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcdYktNtFWSuieMUmVM3iasOAy8bFV8ucrc246xENlQyTfjBy6t4SxROAuKxgZ69lgvG7E4T5-7NI9_cDqPGfEKrK9Jygk9r2z5eyBy_jidJFeHWA_hFU4oO2v6NIoCFsKv3RRv6E5krA/s1600/eclipse_9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcdYktNtFWSuieMUmVM3iasOAy8bFV8ucrc246xENlQyTfjBy6t4SxROAuKxgZ69lgvG7E4T5-7NI9_cDqPGfEKrK9Jygk9r2z5eyBy_jidJFeHWA_hFU4oO2v6NIoCFsKv3RRv6E5krA/s320/eclipse_9.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Open the new business service and click on 'Transport' section . Configure 'http' as protocol and add one proper end system URI. In the figure given below, it is configured as http://www.google.com. Instead please configure any tomcat stub which gives any xml as the output.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_JltOQAiBMCo9sVHMMmNNgbILEy61grSQNkiiQM7IHT20YwUPoXhd1x2fuV8_aie8YXD2JYfIo1j1yKszoEXSQuLSchTXDJNFnpUPDKlkvmPNjVmtLZzu9Ejl0t3GnU2kwhVOz6QfeXE9/s1600/eclipse_10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_JltOQAiBMCo9sVHMMmNNgbILEy61grSQNkiiQM7IHT20YwUPoXhd1x2fuV8_aie8YXD2JYfIo1j1yKszoEXSQuLSchTXDJNFnpUPDKlkvmPNjVmtLZzu9Ejl0t3GnU2kwhVOz6QfeXE9/s320/eclipse_10.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Go back to the proxy service. Drag 'Service call out' to the 'stage'. The service call out is used to initiate a request to the end system with the help of business service and get back the response.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRA6Q_w-ZMtUCJjEyXgBG-N7dIHA__rf3JdPb6IxLNivwuQWmRnq-nKZ9l_PLIzrp17_JyICcnhRND5Mww00UUJNF0HCAhLT2tbL1Df0tYFvx0EjNjrTV2SJPz4HEX8pf3ONg3ThdL0U9C/s1600/eclipse_11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRA6Q_w-ZMtUCJjEyXgBG-N7dIHA__rf3JdPb6IxLNivwuQWmRnq-nKZ9l_PLIzrp17_JyICcnhRND5Mww00UUJNF0HCAhLT2tbL1Df0tYFvx0EjNjrTV2SJPz4HEX8pf3ONg3ThdL0U9C/s320/eclipse_11.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Click on the service call out and then click on the 'Browse' button below and select the business service.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjIxoniU_L5cMbJIzBVIN8srCZHCY_OigjtvkcRQ9ieitPny5K6NjT6RcgcrEJ3uGopllF1-nEM__diTt1Y-a4iyvSdWt-sOQEYQV4vbsIP324nsAUDtNhIGvDm6TxHUL39LSqvxmmCUu4/s1600/eclipse_12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjIxoniU_L5cMbJIzBVIN8srCZHCY_OigjtvkcRQ9ieitPny5K6NjT6RcgcrEJ3uGopllF1-nEM__diTt1Y-a4iyvSdWt-sOQEYQV4vbsIP324nsAUDtNhIGvDm6TxHUL39LSqvxmmCUu4/s320/eclipse_12.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Enter the Request variable as 'body' and response variable as 'response'. You can use any name for the response variable. But for the request variable you should use 'body' as the request xml resides in the 'body' variable.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPWR8FH2WBEgZc0DkCLPrE3sHbbmuGJp0AtNB-SqiWBZV-UYn0r1H6l0JhOxrh1kiuubmyQUCJv3tKXvdvxLsVBqOWVn2qk9LadAv3F_tpykx4Sxd2iHhe-42q75fDwqZfuIvpm3fAjHYQ/s1600/eclipse_13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPWR8FH2WBEgZc0DkCLPrE3sHbbmuGJp0AtNB-SqiWBZV-UYn0r1H6l0JhOxrh1kiuubmyQUCJv3tKXvdvxLsVBqOWVn2qk9LadAv3F_tpykx4Sxd2iHhe-42q75fDwqZfuIvpm3fAjHYQ/s320/eclipse_13.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Drag a 'replace' node to the response pipeline pair and configure it. This will copy the response obtained from the downstream to the body variable so that the response will be returned to the client.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7wJIqSAR9uOU1zLD_H9UPH6WUmPy900aAvgC0b_h8FODRwue_-VdJz8ceCX-fYvDYvOT28Cy1oTUfBPAo6dEtYKueXHoulj9ygoAeL5xnqThx7pkvkxj6kXu0bYZtGbM9rJT_NYP_5pMB/s1600/eclipse_14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7wJIqSAR9uOU1zLD_H9UPH6WUmPy900aAvgC0b_h8FODRwue_-VdJz8ceCX-fYvDYvOT28Cy1oTUfBPAo6dEtYKueXHoulj9ygoAeL5xnqThx7pkvkxj6kXu0bYZtGbM9rJT_NYP_5pMB/s320/eclipse_14.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Now the application is ready and it need to be deployed. For that we have to add the server to the workspace. </div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLt3G1Sj6GCiGNgHpbDwBgy0K-h6vXDGLLsIZZW_EQYv537s9oISvSoUVBQDLXmADUYnudGB0yEJQcyzessocRlxHo5TEYqiDtKK7rrb2pHy-Yy2EKHHOJfJ7LKI2afllxLC21Fh-b2iB7/s1600/eclipse_15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLt3G1Sj6GCiGNgHpbDwBgy0K-h6vXDGLLsIZZW_EQYv537s9oISvSoUVBQDLXmADUYnudGB0yEJQcyzessocRlxHo5TEYqiDtKK7rrb2pHy-Yy2EKHHOJfJ7LKI2afllxLC21Fh-b2iB7/s320/eclipse_15.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Select the appropriate server</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyWJprG4OXj3SnJEDMvoniWiAHxun1KZNvSbWlCDsT6Zt23749g15qw5tIGyR76jZg3SLsbhY-5Y26mvndnAfg1GmmOFo3Sv60kRnRCei8iX5BoJTZQsFgo8eronBvxVIfRohEQNx0vQbg/s1600/eclipse_16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyWJprG4OXj3SnJEDMvoniWiAHxun1KZNvSbWlCDsT6Zt23749g15qw5tIGyR76jZg3SLsbhY-5Y26mvndnAfg1GmmOFo3Sv60kRnRCei8iX5BoJTZQsFgo8eronBvxVIfRohEQNx0vQbg/s320/eclipse_16.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Select the domain directory</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTvjeRciy7U5rU3nG-Zq1Hl73CQEqeo9H9h5jDv6FtnAJpUDouCzGGMGVUcaDCMGkpip89pM8gva_kxcQd47xHkyhNz_LD26pKU1VocOqJxtv_DW0BafE6XdCa0imfsidB2ACGy6QDvO5/s1600/eclipse_17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTvjeRciy7U5rU3nG-Zq1Hl73CQEqeo9H9h5jDv6FtnAJpUDouCzGGMGVUcaDCMGkpip89pM8gva_kxcQd47xHkyhNz_LD26pKU1VocOqJxtv_DW0BafE6XdCa0imfsidB2ACGy6QDvO5/s320/eclipse_17.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Finish creating the server and right click on the server created and select 'Add and Remove' and add your Oracle Service Bus Configuration Project to the server.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNmZkyOt5mfWvaHfNiRfiSNgL30EPxkkT4lYzL4LMcBwK92K57pEkgWrwZmfZWjDJTOkrzAKag-hFRZDLB3auUnBnLplrQ9TxQ75CyEMOO4ynn__VuwXYX2Ww36qhG6lckABk1r5wHa71Y/s1600/eclipse_18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNmZkyOt5mfWvaHfNiRfiSNgL30EPxkkT4lYzL4LMcBwK92K57pEkgWrwZmfZWjDJTOkrzAKag-hFRZDLB3auUnBnLplrQ9TxQ75CyEMOO4ynn__VuwXYX2Ww36qhG6lckABk1r5wHa71Y/s320/eclipse_18.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Right click on the 'Server' and click on 'start'. After some time the server will go to the 'Running' state.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFSpWTLnPzfyiQ6Lp701lgQrm2ruQdtirrygfuurnYuAwT5r0yFetS51RKeJ9myMcUIzAhhrMGvK9Gyd4k60JHKvRg86cGmKIKU8Yg34XL2hczb_vV4VHVNIVYa9X-hu6e21LXwW1Fl4Lm/s1600/eclipse_19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFSpWTLnPzfyiQ6Lp701lgQrm2ruQdtirrygfuurnYuAwT5r0yFetS51RKeJ9myMcUIzAhhrMGvK9Gyd4k60JHKvRg86cGmKIKU8Yg34XL2hczb_vV4VHVNIVYa9X-hu6e21LXwW1Fl4Lm/s320/eclipse_19.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Right click on the server and click on 'publish' so that your application will be deployed .</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXCGCAqQe_tGOfA3H07FkuP6YwpJIno-wWpf6pKYgoANaw9N4JBacUjzuiyP3f8w2Jae7O7t8O1Dupf_3ixsaq8E3qr-r-F1C4kJkTeywJY5ziDV2JU-MBvF-TwOhT7bpqHGirdZFuQHWD/s1600/eclipse_19_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXCGCAqQe_tGOfA3H07FkuP6YwpJIno-wWpf6pKYgoANaw9N4JBacUjzuiyP3f8w2Jae7O7t8O1Dupf_3ixsaq8E3qr-r-F1C4kJkTeywJY5ziDV2JU-MBvF-TwOhT7bpqHGirdZFuQHWD/s320/eclipse_19_1.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: large;">Testing the application</span></div><div class="separator" style="clear: both; text-align: left;"> Right click on the proxy service and select 'Run As' and select 'Run on Server' . A new window will be opened and paste some xml and hit run. If there are no errors in the end system stub, you will get proper output.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Note : Make sure that your managed server is running before testing the application.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxoy90g9-7875weuLVZhD5eLe4Oj8IhlGEpCAX5fjn1f7tZ_LdpY-IpxIidpX9ah1e3fumw9zRlb19K2ax46pI-0XULKSQL0dzc2HHgeUlJWc0Nd69ANaplIpXMIfwJLYkcEWsHa4om70r/s1600/eclipse_20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxoy90g9-7875weuLVZhD5eLe4Oj8IhlGEpCAX5fjn1f7tZ_LdpY-IpxIidpX9ah1e3fumw9zRlb19K2ax46pI-0XULKSQL0dzc2HHgeUlJWc0Nd69ANaplIpXMIfwJLYkcEWsHa4om70r/s320/eclipse_20.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Paste one xml on the 'Payload' section and hit 'Execute'</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTI-hBmVLNlKNhYCNdhYZL815IdLM3sDwCXkkrD8qGZLHFHE0y0IQwHezV1lqFHadktt-HAxfhGBgsLmEu5hQyfMHV7_OYXaFIIXV9O2OZODWXMerLGDfGTD7E84Fk3sW8jzMjkMdYhvrk/s1600/eclipse_21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTI-hBmVLNlKNhYCNdhYZL815IdLM3sDwCXkkrD8qGZLHFHE0y0IQwHezV1lqFHadktt-HAxfhGBgsLmEu5hQyfMHV7_OYXaFIIXV9O2OZODWXMerLGDfGTD7E84Fk3sW8jzMjkMdYhvrk/s320/eclipse_21.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: large;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;">If your stub is working properly, You can see the proper response.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijWP2D59zKO85SU5HtHrtUQgLR-npop8_yOjco4d8LYF2NRaNY1PEf87JVDwXOOc7AtgBBnQ4A15x5N5L7L5UEUsQiH4qi1RT8RzXSNAhUR9oFyvUvMqQfXWaLoTf70D9UExlYaT5RsrlR/s1600/eclipse_22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijWP2D59zKO85SU5HtHrtUQgLR-npop8_yOjco4d8LYF2NRaNY1PEf87JVDwXOOc7AtgBBnQ4A15x5N5L7L5UEUsQiH4qi1RT8RzXSNAhUR9oFyvUvMqQfXWaLoTf70D9UExlYaT5RsrlR/s320/eclipse_22.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: large;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: large;">Conclusion</span></div><div class="separator" style="clear: both; text-align: left;"> This topic is just intended to kick start the development. There are more things ahead. Any way you have taken the first step of OSB application development. Try to explore more in it.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: large;">Queries?</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: red; font-size: large;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"> please contact Sajeev Ramakrishnan</div><div class="separator" style="clear: both; text-align: left;"> @ sajurrk@gmail.com</div><div class="separator" style="clear: both; text-align: left;"> @ saju_rrk@yahoo.com</div><div><br />
</div><div><br />
</div><div><br />
</div><br />
<b><span class="Apple-style-span" style="font-size: large;"><br />
</span></b></div>Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com7tag:blogger.com,1999:blog-6103476923310777305.post-59022088844972779252011-06-25T22:58:00.000-07:002011-06-25T23:10:08.342-07:00Oracle Fusion Middleware PPTThis will give an introduction to Oracle Fusion Middleware and spots where the Oracle Service Bus stands in the Oracle Middleware products. Also this explains in detail the creation of domain with complete screenshots. This will be helpful for those who want to get a start in Oracle Service Bus (OSB). Please download the PPT <br />
<br />
<a href="https://docs.google.com/leaf?id=0B7bz-uZPnjSYYjI1NjY4N2MtNzYwYS00MTZjLWIzNjAtZTE5YTc0MDY4NTNh&hl=en_US&authkey=CKz-iIAO">Oracle Fusion Middleware with OSB - Introduction</a>Sajeev Ramakrishnanhttp://www.blogger.com/profile/00204049533958407408noreply@blogger.com3