WSO2 - questions on "xslt tool","adapters" and "proxy services" - wso2

Can someone plese help me answer the following three question on WSO2:
Does WSO2 Studio support tool based graphical xslt transformation, right now I have to map it to a xslt file created using text editor?
Do all the invocations on WSO2 ESB have to be exposed as "proxy services", be it consuming a jms message or reading from a file system?
Do we have out of box adapters in WSO2 ESB to talk to external systems like SAP, Oracle Apps, Siebel, Peoplesoft etc in a drag and drop fashion without any glue code to be written?
Thanks,
Wajid

Q1. Does WSO2 Studio support tool based graphical xslt transformation, right now I have to map it to a xslt file created using text editor?
Answer:
There is an ongoing effort to implement a Graphical XSLT Transformation tool for Developer Studio. But as I mentioned it is a work in progress. Thus will be available in a future release.
Alternatively, if you are interested you can use existing Smooks editor to perform XML to XML mapping and Graphical Smooks editor in WSO2 Developer Studio will help you to create your smooks configuration with much less effort.
Q2. Do all the invocations on WSO2 ESB have to be exposed as "proxy services", be it consuming a jms message or reading from a file system?
Answer:
If you want to consume a JMS message from a queue or Reading a file using VFS transport, usually proxy services are configured to perform those tasks. But of course you can use Sequences to perform those tasks but then, you need to use these sequences in your proxy service or in REST API.
Q3. Do we have out of box adapters in WSO2 ESB to talk to external systems like SAP, Oracle Apps, Siebel, Peoplesoft etc in a drag and drop fashion without any glue code to be written?
Answer:
No.
Currently IPaaS connector support is not there out of the box for Developer Studio ESB Graphical editor. But it is in Developer Studio road-map which means it will be available in a future release of Developer Studio.
Hope this helps!
/Harshana

You can use the default XSLT editor which comes as a XSLT mapping tool or the smooks (recommended for large message processing)editor. Some of the adapters can be found from here.
Thanks

Related

WsO2 ESB development thru Tooling Vs Management Console

Why does the management console provide features to develop a service or customize a component of WSO2 ESB?
What's the purpose of one Vs other?
Doesn't the development stops after handover of CAR files/artifacts to DevOps team?
My understanding with Management Console is to deploy, manage(start-stop) & monitor ESB services/integration flows.
Is there an overlap on these two ? The documentation itself provides two ways to do the same thing. I mean why?
TIA,
--M
All these features are available in Management console for users to try out easily. For example, when they want to see what are available feature etc, quickly.
When you're using ESB in real development, you should use toolings instead.

Criteria for choosing simple Apache Synapse Vs WSO2

While evaluating various ESB's, I came across Apache Synapse & WSO2. In WSO2 it's mentioned that WSO2 completely uses Synapse and built on top of it.
However I am not still clear what additional features does WSO2 offer over Synapse? (Apart from commercial support).
One difference I could see is the web UI to manage proxy definitions, sequences creation etc. Are there any other features which WSO2 provides over Synapse? Also please share if there are any guidelines to choose between Synpase & WSO2
I just wanted to be sure why I am going to WSO2 over Synapse.
Thanks,
Harish
WSO2 ESB offer many great features on top of synapse. I am listing few here.
Graphical management console to create/manage/monitor proxies/APIs and services.
Support for many transports [1].
Statistics, logging and auditing support
Support for many content types
And industry accepted proven performance.
List can go on and on. Hence I am referring you to WSO2 documentation on features[2]. Hope you can get some idea from there.
[1] https://docs.wso2.com/display/ESB481/ESB+Transports
[2] https://docs.wso2.com/display/ESB481/Features

What is the best practices for WSO2 ESB in perticular XSLT transformations

I am working on WSO2 ESB 4.0.3 on MAC OS X Lion (10.7.4)
I would like to know what are the best practices for development for WSO2 ESB 4.0.3.
Currently I am using Data Services Feature in it and existing tomcat application, which we are trying to port to WSO2 ESB, does the SQL query in 2-3 seconds where as WSO2 ESB 4.0.3 with Data Services feature taking around 16-17 secodns.
I would be thankful if some body can let me know best practices for WSO2 and in perticular XSLT transformation.
Hoping for answer.
thanks
Hi Prabath
Here is how my environment is
I am using WSO2 ESB 4.0.3 with Data Services Feature 3.2.2. Proxy service front ends the DS service. Data sources are defined as carbon data sources in datasources.properties.
I tried to run the same service in the WSO2 Data Services Server 2.6.3 and the performance is comparable to what existing tomcat application does but the ESB 4.0.3 with Data Services Feature 3.2.2 takes 8 times more time than tomcat application. Looks like XSLT is not a issue as I thought earlier.
I have all the error handling & input validation in the proxy service which calls this DS.
Also I tried changing it to local for the transport but still same performance issue. Also I have to make sure the format of the forwarded XML is SOAP 12 in the end point definition otherwise proxy service does not forward with local transport.
Can you please suggest so that I can use WSO2 ESB with Data Services Feature 3.2.2 and get comparable performance?
Help really appreciated.
thanks
Abhijit
Hi Prabath
Thanks for reply.
Proxy service validation and transformation is not a problem. Looking at the logs it looks like Data Service deployed in ESB with Data Services feature is taking 8 times more time than the tomcat application. So it is Data Services Feature which is problem I believe and not the proxy service.
Even if we remove the proxy service where you will do the input validations and error handling?
Please let me know.
thanks
Abhijit
Abhijit,
I'm not quite clear of whether this problem is related to executing SQL using dbReport/dbLookup mediators against doing the same thing having data services features installed in ESB OR transforming responses using XSLT at the ESB layer against doing it at the DSS layer.
If it's the former, then you should be able to effectively use the db mediator pair (namely dbLookup and dbreport) to execute simple SQL queries such as SELECT, INSERT, UPDATE, DELETE, etc. However, it is not recommended to do use those mediators to do much complex queries such as stored procedures with "OUT and INOUT" parameters etc as WSO2 DSS is specifically designed to serve any sort of complex queries like that. However, this (using data services) comes at the cost of network latency. Because, you're invoking a data service endpoint through the network which obviously adds the network latency to the end-to-end time taken to get your task done. However, if you're using Data Services features installed in the WSO2 ESB, you always have the option of using "local" transport instead of "http/https" which does an in-JVM call and thus would not dispatch the request over the network.
If this is related to the later, meaning, if you refer to the XSLT transformations, I believe there's no such hard and fast rules in doing this and this would completely depend on your requirements and the usecase. For example, if you're only using WSO2 DSS and want to get some request transformed into a particular format that is expected by the client side, it would only be enough for you to get it done at the WSO2 DSS layer. Because, dispatching it into ESB ONLY for the sake of getting the XSLT transformation done, would add an additional unwanted overhead to the end-to-end completion time of your task. On the other hand, if you're doing this as a part of a configuration flow at the ESB side, then it's perfectly okay to use something like XSLT mediator inside the flow itself.
Hope this helps!
Regards.
Prabath
I hope Prabath already gave the answer to your question.
However, it is not recommended to do use those mediators to do much complex queries such as stored procedures with "OUT and INOUT" parameters etc as WSO2 DSS is specifically designed to serve any sort of complex queries like that. However, this (using data services) comes at the cost of network latency. Because, you're invoking a data service endpoint through the network which obviously adds the network latency to the end-to-end time taken to get your task done. However, if you're using Data Services features installed in the WSO2 ESB, you always have the option of using "local" transport instead of "http/https" which does an in-JVM call and thus would not dispatch the request over the network.

Creation Gadget for WSO2 BAM

I am creation Gadget for WSO2 BAM dashboard. I need to add the data to the chart that gives service of monitored server as result. How can I make this data as values of charts?
The standard way to follow is,
You need to first expose this data through a service. Ex: Can be done through a data service with WSO2 DSS, a back end carbon component on top of WSO2 Carbon, or just any web service
Then, write a gadget to consume this service. Reference: gadget tutorial
PS. There is a new BAM that will make all these things extremely easy, without having to write code. It should be available towards the end of the year.
You can use the BAM2 alpha2 available in here for generating gadgets according to your requirement. It is now much easier to generate a gadget with drag and drop gadget IDE comes with BAM2.
You can find more information from documentation
This is available using GadgetGen tool feature under latest BAM version

Is it possible to design Business Processes with Intalio Designer or others and deploy them with WSO2 BPS?

I'm a newcomer in BPM world. The docs and articles in Internet show that WSO2 BPS 2.x is supposed to execute processes complying WS-BPEL, WS-Human Tasks & BPEL4People. BPMN 2.0 seems to fill the gap to translate between notation and executable languages defining how notations have to be translated.
Intalio BPM Server and WSO2 BPS are both based on Apache ODE. So my question is:
Is it feasible to design processes (human & business) with Intalio Designer and execute them using WSO2 BPS? Is anyone using this config? What are the cons?
Yes, both Intalio BPM Server and WSO2 BPS are based on Apache ODE.
So you can design with Intalio designer and deploy them to WSO2 BPS.
As long as the outcome of the designer is standard BPEL, and because of the fact that Apache ODE is in execution, there is little room for any major problems. So there are no cons, per say!
The pros is that, Intalio designer is easy to use and state of the art. So the designing task can be done easily with the designer. WSO2 Carbon Studio is an alternative, and I hope it will be as easy to use as the Intalio designer in the near future.
Why do you want do that ? You can directly execute the process in Intalio BPMS itself.
WSO2 Carbon Studio 1.0.4 has complete BPEL editing support. You can use Carbon Studio plugin with Eclipse Galileo for BPEL process modeling for WSO2 Business Process Server.You can find video on BPEL process modeling at http://wso2.org/premium/webinars/developing-bpel-processes-using-wso2-carbon-studio.