Service Virtualization ...?
Hi Experts,
Here is the problem at hand I have two enterprise systems A and B which communicate via a Web Service,
I need to develop an intermittent system that can monitor this web service grabbing the interactions (request/responses) between
these systems
The need is to get a solution to record these interactions and store it in a persistent store for Playback when system B goes offline(down)
because of maintenance or other issues.
The only catch here is we cannot make any changes in either system A or B when it comes to the following
1. Changing source code i.e implement web service handlers
2. Reading logs from the target server etc..
3. Proxy approach is not allowed as well :(
Also, I have access to the network that is the only part that is clear till now.
Considering this scenarios are there any good solution approaches to this scenario ?
jschell wrote:
RainaV wrote:
Also, I have access to the network that is the only part that is clear till now.
Are you sure you do?Yes :)
How do you know if B is down? Or up? If you can't insure that then you can't insure duplicate traffic would not occur.We check for a heartbeat received from that system to ensure if it is up or down.
Given the requirements I would look for a really expensive piece of hardware that records IP traffic on a network. Then price out a really expensive project which would manipulate the data that that records. Shoot for at least $200K price tag.
CA has a tool called ITKO, that's the pricey approach which we are trying to avoid.
Then as an alternative point out that a proxy would be much cheaper to implement.
Of course this presumes that this isn't just a man in middle attack.This is not a man in the middle attack for sure ;)
Clarifying the same when we record these interactions we keep a record of them and when the system B goes offline for whatever cause we immediately bring up this Monitor/Recorder into a playback mode thus acting as a Simulator, thereby catering o the needs of the client thus saving outage cost.
This is mainly targeted at E2E Testing via LIVE, which suffers a lot due to these outages on certain interfaces.
Wanted to know how an out of the box approaches can be taken on this via Java or any other open source technology
but all within ethical bounds for sure ;)
Regards
VR
Similar Messages
-
Service Virtualization: Mediator v/s OSB
Gurus,
I've been scouting for information as to when to use OSB and when to use Mediator for service virtualization.
I came across online material that says within SCA Assembly and same soa-infra installation, mediator should be used for virtualization.
Rest all scenarios (outside domain, non SCA) should be handled by OSB.
This limited and vague understanding brings me to the following questions:
1) When we change the target service location in mediator, it does require deployment. No OSB like console for mediator (to my knowledge) to push the change to runtime without deployment. That means change in mediator will go through "dev-deploy-test" cycle. Still Mediator should be preferred?
2) Should each component of composite that is exposed outside have a corresponding mediator to provide virtual layer? If yes, should OSB layer be added on top of mediator layer if such services are exposed outside SOA Infra?
Thanks-
AshishAny one has any idea about this?
-
Overhead of OSB in case of Service Virtualization
Hi All,
I am trying to do some performance testing and trying to add logging interceptors in OSB. I can calculate the time taken by the message flow in OSB, but how do i calculate time taken by the Transport Layer and binding layer. Any Idea on this?. Will the service level time be equal to the formula as mentioned below.
Service Level Avg Response Time=(Inbound Transport Layer Inbound Binding Layer Message Flow+ Outbound Transport Layer+ Outbound Transport Layer)
Regards,
KCHi All,
I am trying to do some performance testing and trying to add logging interceptors in OSB. I can calculate the time taken by the message flow in OSB, but how do i calculate time taken by the Transport Layer and binding layer. Any Idea on this?. Will the service level time be equal to the formula as mentioned below.
Service Level Avg Response Time=(Inbound Transport Layer Inbound Binding Layer Message Flow+ Outbound Transport Layer+ Outbound Transport Layer)
Regards,
KC -
OS compatibility Remote Descktop Services/Virtualization Descktop Infraestructure VDI
Hello
Someone know the site or information about the OS available for Remote Desktop pool
For Example If I can Create one collection Linux and that support version.
VDI/RDS
Thank you
Hugo MongeHi,
Thank you for posting in Windows Server Forum.
As per my research, VDI is only designed for publishing the Windows client OS. So it is impossible to create a Linux Desktop collection with VDI/RDS.
Thanks for your understanding and support!
Regards.
Dharmesh Solanki
TechNet Community Support -
Help with ESB as external SOAP service proxy
We are trying to leverage ESB in the first steps of implementing an SOA solution for our organization.
We have an external SOAP service that we would like to register with Oracle ESB. In turn, are internal programs
would then call the service through the ESB using a SOAP interface. This allows us to hide the external
SOAP service definition from our internal programs, allowing us to modify the external SOAP service or add extra routing
where necessary without affecting the calling client.
CLIENT -> (SOAP) ESB -> (SOAP) EXTERNAL SERVICE
Is this the correct use of ESB?
We are having a couple of issues when trying to use the WSDL ESB creates within our client code. One being Oracle APEX.
We can create forms against the external soap service WSDL, but when we try to hit the WSDL ESB creates, it gives back
"The WSDL document could not be understood by the rendering engine. Click Create Web Service Reference Manually to continue creating a reference for this service."
Any ideas?I was able to get the virtual service running through EM by changing the <hostname>
http://<hostname>:8888/event/CustomerData/IdentitySOAPService
Would the url on the test page be the wsdl url we would hand out to the clients? I am curious as to what the context /event/ is?
Also, if I were doing straight service virtualization, would it be correct to just create a SOAP service hitting the external service? Or is it better to have a routing service exposed to the client?
Client -> ESB [ (Routing Service) -> (Soap Service) ] -> External Service
or
Client -> ESB [ (Soap Service) ] -> External Service -
ERROR VNIC creation job failed
Hello All,
I have brought oracle VM X86 manager into ops center 12c control. When I try to create a new virtual machine it is throwing the ‘ERROR VNIC creation job failed’ error. Can anybody throw some light over this issue.
Thanks in advance.
Detailed log is
44:20 PM IST ERROR Exception occurred while running the task
44:20 PM IST ERROR java.io.IOException: VNIC creation job failed
44:20 PM IST ERROR VNIC creation job failed
44:20 PM IST ERROR com.sun.hss.services.virtualization.guestservice.impl.OvmCreateVnicsTask.doRun(OvmCreateVnicsTask.java:116)
44:20 PM IST ERROR com.sun.hss.services.virtualization.guestservice.impl.OvmAbstractTask.run(OvmAbstractTask.java:560)
44:20 PM IST ERROR sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
44:20 PM IST ERROR sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
44:20 PM IST ERROR sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
44:20 PM IST ERROR java.lang.reflect.Method.invoke(Method.java:597)
44:20 PM IST ERROR com.sun.scn.jobmanager.common.impl.TaskExecutionThread.run(TaskExecutionThread.java:194)
Regards,
georgeHi friends
I managed to find the answer. Internally it is has some indexes in the data base level. It still maintains the indexes in the shadow tables. Those all need to be deleted. With our Basis team help I have successfully deleted those and recreated the indexes.
As Soorejkv said sap note 1283322 will help you on this to understand the scenarios.
Thank you all.
Regards
Ram -
Which component to chose in my use case ( BPEL / OSB / Mediator)
All,
I have gone through various blogs and documentation explaining the reasons for choosing a specific component,But,It is always a close call when it comes to making a very important decision as
the real time uses case we generally deal with always fall in a border making it difficult to decide.
Use case:
A legacy system has to communicate with a third party system for sending some job details. For the same it uses an service intermediary.
This service intermediary has to
a) Receive the message from the legacy system. ( Preferably as EDN event as its easy for the legacy system to through an event)
b) Very light orchestration ( in the future)
c) Route it to the Mobile enablement application/ system.
Generic:
d) Need to provide a fault management / handling.
e) Authentication / Authorization.
Having these requirements, I thought an OSB would be a right component to be used as we are focused on routing in a decoupled way with light orchestration and business agility. However can OSB support
a. subscribe to EDN events ? If yes how ? Can it have Oracle Apps adapter to get the events from R12 like BPEL?
b. Can it use the same fault management framework written for SOA suite ( policies and bindings) ?
On the other hand, I am having thoughts on why not use BPEL process itself. We can turn Auditing to off and will not have any dehydration points in the bpel process thus making it stateless ( just like OSB ?) if that is the major difference we are looking at ? Service virtualization ( dynamically changing the end point ) can also be acheived in bpel.
and why not Mediator ? I know everywhere people talk about using mediator for intra composite commmunication but at the same time they suggest using it while writing to file / adapter or call a external service exposed as SOAP WSDL too. Now for our use case, a mediator can listen to events from the legacy system and route it to the target mobile enablement service.
( Note : BPEL and mediator can use fault management , EDN's, Oracle apps adapter and also can be made stateless by turning the audit to off . So if you are still suggesting OSB please back it up with strong reason rather than just theoritcally saying that its a standard to use in case of routing and stateless etc..)
Kindly help !
Regards,
Sridhar.Realized that OSB can
a. Read an AQ using AQ adapter and thus can subscribe to the Events raised using AQ in Oracle Ebsuiness Suite applications.
b. OSB has its own way of handling faults. ( does not use SCA fault handling framework).
The important question I want to focus here is
In the above use case when everything can be acheived using either of OSB, BPEL or Mediator. ( ie., from ease of developement, performance and management) how to chose a specific component ?
Service virtualization that OSB boasts can be done by BPEL.
BPEL can also be made lieght weight by turning the dehydration to off ( auditing to off)
Result cache can be achieved in bpel by using some custom coherence api.( which is one time effort and simple to use)
Message throttling can be done using a queue in between.
Really need a very practical reason to prefer OSB and not BPEL or Mediator in my case. Help appreciated -
Dnsmasq fail at a boot, but start fine after
systemctl output:
cpupower.service loaded active exited Apply cpupower configuration
cups.service loaded active running CUPS Printing Service
dbus.service loaded active running D-Bus System Message Bus
dnsmasq.service loaded failed failed A lightweight DHCP and caching DNS server
fcron.service loaded active running fcron periodical command scheduler
systemctl status dnsmasq output, after boot:
dnsmasq.service - A lightweight DHCP and caching DNS server
Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled)
Active: failed (Result: exit-code) since Qui 2013-05-16 20:45:53 BRT; 3h 16min ago
Docs: man:dnsmasq(8)
Process: 314 ExecStart=/usr/bin/dnsmasq -k --user=dnsmasq --pid-file (code=exited, status=2)
Process: 293 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/SUCCESS)
Start fine manually:
dnsmasq.service - A lightweight DHCP and caching DNS server
Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled)
Active: active (running) since Sex 2013-05-17 00:07:05 BRT; 1s ago
Docs: man:dnsmasq(8)
Process: 510 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/SUCCESS)
Main PID: 512 (dnsmasq)
CGroup: name=systemd:/system/dnsmasq.service
└─512 /usr/bin/dnsmasq -k --user=dnsmasq --pid-file
Mai 17 00:07:05 i2500k systemd[1]: Starting A lightweight DHCP and caching DNS server...
Mai 17 00:07:05 i2500k systemd[1]: Started A lightweight DHCP and caching DNS server.
Mai 17 00:07:05 i2500k dnsmasq[512]: started, version 2.66 DNS disabled
Mai 17 00:07:05 i2500k dnsmasq[512]: compile time options: IPv6 GNU-getopt DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFT...t auth
Mai 17 00:07:05 i2500k dnsmasq-dhcp[512]: DHCP, IP range 192.168.0.50 -- 192.168.0.55, lease time 12h
Mai 17 00:07:05 i2500k dnsmasq-tftp[512]: TFTP root is /var/ftpd/archiso1
What's wrong? Worked well until Wednesday (2013-05-15).Pacman log show libvirt update at 2013-05-15:
[2013-05-15 13:03] [PACMAN] upgraded libvirt (1.0.5-3 -> 1.0.5-4)
And libvirt use dnsmasq:
systemctl status libvirtd.service
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled)
Active: active (running) since Sex 2013-05-17 00:20:58 BRT; 1s ago
Main PID: 642 (libvirtd)
CGroup: name=systemd:/system/libvirtd.service
├─642 /usr/sbin/libvirtd -p /var/run/libvirtd.pid
└─695 dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf
Mai 17 00:21:00 i2500k dnsmasq[695]: compile time options: IPv6 GNU-getopt DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFT...t auth
Mai 17 00:21:00 i2500k dnsmasq-dhcp[695]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h
Mai 17 00:21:00 i2500k dnsmasq[695]: using local addresses only for unqualified names
Mai 17 00:21:00 i2500k dnsmasq[695]: reading /etc/resolv.conf
Mai 17 00:21:00 i2500k dnsmasq[695]: using nameserver 192.168.0.1#53
Mai 17 00:21:00 i2500k dnsmasq[695]: using nameserver 189.7.32.15#53
Mai 17 00:21:00 i2500k dnsmasq[695]: using local addresses only for unqualified names
Mai 17 00:21:00 i2500k dnsmasq[695]: read /etc/hosts - 13921 addresses
Mai 17 00:21:00 i2500k dnsmasq[695]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Mai 17 00:21:00 i2500k dnsmasq-dhcp[695]: read /var/lib/libvirt/dnsmasq/default.hostsfile -
Handling an critical object if it is down
Hi,
In our J2EE web application we have so many critical functionality which is handled by various component. Say if one of the critical object or the respective critical system is down. How we can serve the request and still get the response from those systems? How this can be handled technically through code? I know we can go for service virtualization and create a system which will emulate the behavior of critical object or system. But for that we need to use the respective tools which is quite costly. How the same can be handled using java code , whether we can create a clone of that critical object and still serve the request eventhough the origibal critical object is down or can we create a proxy of that critical object? How we can handle it in java through code? Please clarify.
Thanks.800839 wrote:
But for that we need to use the respective tools which is quite costly.
This should be a simple calculation:
What are the costs for losing that critical resource (temorary)?
How much will a comercial solution be (eg. Oracle RAC or Failover)
How much will a self coded solution cost?
That is:
how much efford is to be made by your developer(s)?
how expensive is it to keep the only person knowing that solution in your company (eg for extensions or bugfixes)?
how much will it cost if this solution does not work when needed?
In the long run cheap solutions tent to be quite expensive...
bye
TPD -
Few business scenario for exposing Schema as webservice in biztalk
Can anyone give me few business scenario when we need to publish Schema as webservice in biztalk
Regards
SureshA lot of people prefer to publish schemas as a service as opposed to publishing the orchestration as a service. This (to list a few)..
disassociates the orchestration version from the service definition and for every change in the orchestration you do not have to republish the web service.
allows you to create an orchestration using direct bound ports. This provides you with a flexibility to invoke the orchestration across two-way (request-response) or one-way ports. This permits service virtualization where the same service can be invoked
through multiple protocols, etc.
In a large project you may be required to publish the Service Definitions (WSDL) well in advance for others to start their portion of the work, in which case having decided on the schemas, this is a easy way to publish service contracts while you work on
building them.
Regards. -
OSB or Oracle ESB????
Hi all..
We know that oracle has two service bus's OSB and Oracle ESB....i heard in future releases of SOA Suite OSB gonna replace Oracle ESB..and
Oracle ESB will behave something as mediator...Can someone explan wats the oracle statergy regarding these two products in future...also
wch is best OSB or Oracle ESB...can someone throw light on this.Oracle ESB’s primary mission was
to provide service mediation and application integration capabilities to SOA
composite application developers. This use-case can be described as “in-line
mediation” since it is used for transformation, routing and event delivery inside of
what is logically a composite application.
Oracle Service Bus on the other
hand focused on solving the operations and scalability problems in a standalone
service bus. Here the use-cases that it focused on were those of service
virtualization, on-ramping and aggregation of external services and gateway
functionality.
By combining the respective strengths of Oracle ESB and AquaLogic Service Bus(Now OSB)
in the Oracle SOA Suite platform, Oracle will enable all the common ESB usecases
and provide unmatched flexibility and functional capabilities.
The Mediator(OESB/ESB) is an intra-composite mediation component that is
deployed within an application. It is responsible for brokering
communications between components that make up a composite, enabling
transformation, routing, event delivery and payload validation inside the
composite. The main users of the Mediator are application developers
assembling multiple components into a composite application which can
be deployed, versioned and managed as a single deployment unit (all based
on the SCA, or Service Component Architecture, standard). This is the
component that all the Oracle Fusion Applications are leveraging, as well
as AIA – the Oracle Application Integration Architecture. Oracle ESB
seamlessly evolves into the Mediator in the 11gR1 release.
The Oracle Service Bus provides standalone service bus capabilities,
enabling separation of concerns between application developers and target
systems or services. The main users of the Oracle Service Bus are
integration developers and operations personnel. Their mission is to shield
application developers from changes in the endpoint services or systems
and to prevent those systems from being overloaded with requests from
upstream applications. In the 10g and 11g releases, the Oracle Service Bus
will also be augmented with key features from the current Oracle ESB,
such as domain-value-map, cross-references, JCA adapters and a
JDeveloper-based design-time. The Oracle Service Bus is based on
Aqualogic Service Bus, with the incorporation of some of the advanced
features from the Oracle SOA platform. -
Hi,
I know this is already well discussed discussion with many blogs. But I am still confused on one point.
From what i heard , Mediator is used to mediate message with in Composite and OSB can be used across composites and applications.
( Apart from other advantages like OSB being light weight) The above is the key differentiator according to many schools of thought while going for any one of these two.
However, I am basically confused with statement - " Mediator Mediates message between components with in composite ". Why doesnt it mediate messages across composites. I dont see any restrain it has in calling another composites service(client) by using a webservice call. ie., A mediator can have a Webservice as its target. And we know webservice can be any service, which is anywhere in the world. So how does mediator is used only for compenents with in Composite.??
I am sure I am missing something here . Please clarify.
Second thing is Service Virtualization : Many people say that they chose OSB for Service Virtualization feature. Well this is also available in Mediator.
ie., the source always calls mediator service ( can be thought as OSB proxy) and mediator will route it to appropriiate target service based on various routing rules( similar to OSB) and hence target is completely hidden from the source and hence Service Virtualization. So both the products offer this. How is OSB better than Mediator in this ..
Regards,
Sridhar.Sridhar,
However , still my first question of mediator being limited to just components with in composites is still unclarified.OSB is primary service bus in OFMW 11g but as it is not integrated within composite (SCA), mediator is still being used as a service bus for routing transactions among components within a composite. In future release of OFMW, mediator engine might be removed from SOA Suite and OSB will be integrated within composite as well and in that case there will be only one service bus in OFMW stack. So until OSB, is not integrated with SCA, you may see two services buses but in future there will be only one service bus - OSB.
So for all (major) service bus needs, it is advised to use OSB and for routing among components you have to use Mediator as of now.
Regards,
Anuj -
[SOLVED] internal error Cannot find suitable emulator for x86_64
Hi,
After a reboot due to unrelated issues, virt-manager is not showing any of the VMs I had configured via qemu:
I checked connection properties, and everything else is showing up correctly, like the networks and storage. I tried to create new VMs out of existing storage and got this message:
Googling it suggested this happens when KVM module is not loaded. I modprobed kvm, kvm_intel and still got same result.
Systemd gave me the following:
% systemctl status libvirtd
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
Active: active (running) since Sat 2013-06-08 08:55:19 IST; 29min ago
Main PID: 1499 (libvirtd)
CGroup: name=systemd:/system/libvirtd.service
├─ 834 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf
├─ 863 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/nat_static.conf
├─ 881 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/closed_dhcp.conf
└─1499 /usr/bin/libvirtd -p /var/run/libvirtd.pid
Jun 08 09:07:48 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:07:48 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:07:48 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:07:48 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:07:48 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:07:48 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:08:20 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:08:20 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:08:35 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Jun 08 09:08:35 core libvirtd[1499]: internal error Cannot find suitable emulator for x86_64
Googling that seems to indicate that this happens when virtualization is disabled by BIOS. But cpuinfo tells me that vm is supported:
% grep vmx /proc/cpuinfo | uniq -c
8 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
Can anyone help me? Has anyone else faced a similar problem?
Here are some version info:
local/libvirt 1.0.6-1
API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)
local/qemu 1.4.2-1
A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.
Of which, qemu got updated just today. I will try rolling back to older version and post and update.
Ninja edit: Looks to be qemu. Just running qemu gives me this error:
% qemu-system-x86_64
qemu-system-x86_64: error while loading shared libraries: libiscsi.so.1: cannot open shared object file: No such file or directory
EDIT: The resolution was
pacman -S libiscsi libaio
systemctl restart libvirtd
EDIT2: Made subject line better searchable
Last edited by railmaniac (2013-06-08 04:19:24)HI,
First of all thanks a lot for this post. I am facing the same issue since yest.
After reboot, my VMs gone missing and even virt-manager was not working (as shown in the screenshots which you have pasted in your post).
Now after trying out the workout which you had mentioned, I am able to get the virt-manager working.
But I am not sure if I can get back my missing VMs .
I am new to linux. Kindly guide me on how I can get back those VMs.
[root@skoduri lib64]# ls /etc/libvirt/qemu/
networks rhel6-vm2.xml rhel6.xml
[root@skoduri lib64]#
[root@skoduri lib64]# ls /etc/libvirt/storage/
autostart default.xml storage_1.xml
[root@skoduri lib64]#
[root@skoduri lib64]#
Thanks,
Soumya -
Hi,
my client wanted to use both Oracle SOA suite and OSB; I am not seeing the real use of OSB, why do we need to use OSB with SOA suite? one use case, I mainly see is Service Virtualization but I can also achieve it using a mediator component and I know OSB has some features like end point load balancing & failover etc but I am still not convinced with real use of OSB..Can you please let me know where do you use OSB in your projects, this would really help us to make some design decisions.
Thanks/SteveSteve,
You may like to refer -
http://www.oracle.com/us/technologies/soa/maximizing-benefits-oracle-soa-150680.pdf
http://www.slideshare.net/gschmutz/oracle-soa-suite-11g-mediator-vs-oracle-service-bus-osb
Regards,
Anuj -
Hi,
Below is a sample situation which needs to be built as a set of processes/flow in ESB. Could anybody pls tell us if we are on the right track here?
a. A partner system needs to invoke one of our web services to perform an operation supported by the web service (this is a synchronous service). However the message that is generated by this partner system is not in teh same format as what is expected by our service. Which is why we have landed up trying to write an adapter in ESB which will do the transformation among other things.
b. The message sent by the partner system is received by (possibly) a router service in the ESB and it applies the necessary transformation.
c. Once transformed, this x-formed message is sent onward to our underlying web service. The response received back from the web service would also now need to be x-formed back to the format of the partner system
d. However, we could not find any mechanism of x-forming a response in ESB.
e. A workaround we can think of is to add another router service in this ESB flow, which will apply reverse transformation and then pass this reverse x-formaed message to a dummy process (possibly a BPEL) which just sets the response = request.
f. This response then gets sent back all the way to the initial partner which requested the same.
Should we really use ESB in such a situation? Or are we better of doing this in BPEL where all this is as easily possible? Frankly, we have already implemented this in BPEL (in 10.1.2) and now since ESB and BPEL are integrated in 10.1.3, as part of the migration to 10.1.3, we are exploring if we should move fully to ESB from BPEL since our process flows hardly have any business logic.
The thought process of migrating to ESB emanates from material which seems to suggest that x-formation, routing and adapters are functionality that should be utilised in ESB and only true-blue business logic needs to stay in BPEL. Since our processes are more like integration processes which only do x-formation and route to underlying web services, they seemed to be natural fits for moving to ESB to us...
Another point in consideration is that the message received from the partner system is a string which is a XML at runtime. This was not a problem in BPEL where we could use parseEscapedXML and convert to XML before working on the XML. But now in ESB....? Would this throw any spanner in the works?
Would appreciate any kind of responses on the same. Pls do revert in case further information is necessary.
With Regards....This is a classic ESB service virtualization use case and is trivial to do req/resp with xslts in ESB. The only issue I see is the last thing you mentioned, needing parseEscapedXML which has not been made available in ESB as of yet. I can think of several workarounds for an async use case but for sync you need an intermediary to create the dom. I'll record this use case and make sure we cover it for AS11 and investigate how feasible it is for 10.1.3 patch. Thanks for the feedback.
Maybe you are looking for
-
How to remove namespace prefix
hi, i have a problem in receiver SOAP adapter because of namespace prefix. so i have to remove the namespace prefix from the paylaod. but namespace should be there... what are the possibilities to remove the namespace prefix alone from the payload? T
-
XSQL-007: Database connection refused
I am running Demos on JavaWebServer, IE 5.0, Oracle Lite database. When I am trying to access http://Computer:port/xsql/demo/helloworld.xsql it is giving me this error, any thoughts... XSQL-007: Cannot acquire a database connection to process page. C
-
Trouble calling .sql script
I have looked on the forum for about a half an hour and can't find the exact answer I'm searching for, so here goes. I'm trying to update about a 100 records or so through use of an .sql script. I put the following in my sql script file UPDATE TABLE1
-
Is partial invoicing possible in MIRO
is partial invoicing possible in MIRO
-
Any possible solutions on how to fix this issue?