Enable Data Service on new WSO2 - ESB installation - service

I am trying to migrate an installation of WSO2 - ESB from an old 2003 server to a new 2012 server. The old server had version 2.0.2 while the new server has version 4.8.1. The application is running and I can log in and browse the system. The problem I have is that it appears to be missing components. For example, on the old server there are a list of services including: Proxy, Data, POJO, Spring, Jar ect..on the new server I only have Proxy service. The main service I only need is the Data service but I have no idea how to get that. I am completely new to Java and this application however my boss wants this up and running as the Data service we had on the old server is designed to pull a data feed from a remote SQL server and push it to another server we have. Please help, I have absolutely no idea how to proceed.

WSO2 has a complete middleware stack and it has many components where each of them has it's own specific functionalities so that users can select according to their requirements without overkill the server with lots of features. In abstract WSO2 ESB do the mediation (proxy), WSO2 Application Server do the service hosting and WSO2 Data Services Server can be use to pull data out from a remote SQL server which you need to engage with.
Also you can install the features of WSO2 Application Server and WSO2 Data Services Server to WSO2 ESB. But it's bit tricky since we may need to add some configuration files in order to work these feature properly.

Related

REST Spring Boot Web Service on Websphere 9

I want to create a Spring Boot REST Web Service and deploy and publish it in Traditional Websphere 9 Application Server. Is it possible ?
What all challenges I might encounter? Can someone please provide me few pointers for reference?
Yes this can be done. It is not a good design, but yes it can be done. Back in the day when I was working for a big bank, they deployed java spring-boot microservices in IBM websphere(Not liberty).
How to do it?
1) Package your deployable as war. You can do this by editing your pom to package as WAR.
2) You can either add connection string config in your springboot starter class or get a JNDI created in the websphere instance. We observed that performance of the API's improved when the app used websphere JNDI as opposed to app created connection bean.
3) If you use IBM MQ, the best course of action is get a non-ssl and ssl based channel created at MQ and a JNDI for the MQ connection as well.
4) If you plan to create MQ connection beans within the app, like we did, ensure the JKS file has all the valid set of signers of your org.
Problems we faced
1) Our app used a lot of third party rule engine like drools, so ensure the websphere server.xml is configured to servlet version 3.1 or higher
2) Webshpere admin console is helpful, but don't just blindly believe if it says green to your container, always check your app logs for errors.
3) Common pain points are establishing a successful connection with IBM MQ host. Get a MQ server admin to troubleshoot all MQRC errors.
4) If you plan to use Oracle as backend, ensure the DBA has created a wallet for you to enable both SSL and Non SSL connections. Some organisations are picky with non-sssl db connections. It is easier to handle all this if you leverage webspehere JNDI for DB connections.
Let me know if this helped.
Both WebSphere Traditional and WebSphere Liberty support Spring boot.
Are you looking for something like this?
http://www.adeveloperdiary.com/java/spring-boot/deploy-spring-boot-application-ibm-liberty-8-5/

Domino client web services and SOAP 1.2

I create a client in Domino to consume a web service that works with SOAP 1.2 and has HTTPBinding.
The client generation tool for Domino Designer Web services an error is displayed when trying to generate reporting that the SOAP accepted version is 1.1.
I decided to create the client with CXF framework through tool wsdl2java. In an agent I used these classes to consume the web service, however the below error was displayed. I think it's because of the SOAP version, but I'm not sure.
com.sun.xml.internal.ws.protocol.soap.MUTube getMisUnderstoodHeaders
INFO: Element not understood={http://www.w3.org/2005/08/addressing}Action
Also generated a jar of classes generated by wsdltojava and imported to another agent, but the error below is displayed.
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=, offset=6
The question is, no way consume a web service with SOAP 1.2 in Domino only supports up to version 1.1?
Thanks a lot!
I don't believe that Domino's web service consumer supports SOAP 1.2 at this time. You might be able to do what you need with an agent though - here's one way: How can I call a SOAP 1.2 Web service from a LotusScript agent?
In fact there is no way to natively consume a web service with soap version 1.2. There are already several requests from IBM to upgrade the SOAP version. What I did, was to develop a new layer through a new web service with the version SOAP 1.1, which internally calls the web service with the SOAP version 1.2;

Differences between connectors Mule ESB and WSO2 ESB

Using Mule ESB I noticed that you can connect (via anypoint connectors) applications, databases, web services etc.
Since I am making a comparison between different ESB (Enterprise Service Bus) I ran into WSO2 ESB and reading the documentation it seems that allows to interact only web services (through SOAP communications).
Someone confirms what I wrote? Or WSO2 ESB is flexible as Mule ESB and I'm wrong (if so what are the differences)?
WSO2 ESB also has the concept of connectors which you can use to connect to external applications, databases, file systems and web services hosted in cloud or in internal networks. Here is a webinar which you can follow to get more information.
http://wso2.com/library/webinars/2014/09/esb-connectors-for-on-premise-and-cloud-integration-solutions/
I can't help as my knowledge of WSO2 is limited. What I could do is to recommend you the book open source ESB in action, although outdated its data, the introduction is amazing and the comparison methodology is also good. You could follow the same approach with the state of the art today.
Most of the connectivity to applications, databases, different protocols are already available with wso2 ESB and wso2 product stack out of the box. However there are some connectors that will support integration with on-premises legacy systems and additional protocols. eg: ejb, is08583, kafka, etc.

WSO2 ESB unable to un-deploy endpoints, localentries with CAR undeployment

Scenario to replicate the issue with wso2 esb 4.8.0
create the CAR file by selecting all the proxy services, sequences, endpoints, and local entries.
Deploy the car on to WSO2 ESB with console.
This makes deployment of all the artifacts into server.
Now try to un-deploy the car from the console.
Except endpoints, local-entries, everything will be un-deployed.
Please let us know the way to resolve this issue without server restart.
I think this is a bug in WSO2, if u try same thing from wso2 web management console it shows similar behaviour, As far i have researched on the topic WSO2 by default does not un-deploy the Registry Artifacts like endpoints or local-entries. Every time you re-deploy the CAR file it overwrites the contents of all the registry artifacts.

Understanding lightswitch deployment

I wish to deploy a lightswitch application for a small company. I want a central server hosting the database and then the silverlight client to run inside the network connecting to the server and updating the database with clients, etc.
I have made a working system using the intrinsic database in VS2013, but now I come to deploy it and am having problems, despite hours reading MSDN and following tutorials.
I create a deployment package on my development machine, which I then install on the server, but I then need to create a client only package, which points to the server? Does this mean I need to specify the central database as an external data source? Or does this switch happen automatically? Can I publish only the server, and install that on the server machine, (I have already installed the web server package) then publish a separate client package for installing the application on the clients? I need all the clients to update a single database, not all have their own local copies and local databases...
When you "create a client only package" the intrinsic database is running on the client, so nothing point to the server.
A external data source is always external regardless of the app type.
What type of a LightSwitch Application you've selected?
A 2-tier desktop application runs on an end-user Windows desktop. The
database and server components are deployed to the end-user computer.
A 3-tier desktop application runs on an end-user Windows desktop. The
database and server components are deployed to an Internet
Information Services (IIS) server or to Windows Azure.
A 3-tier Web application runs in an end-user web browser. The
database and server components are deployed to an Internet
Information Services (IIS) server or to Windows Azure.