Posts

Showing posts from 2011

WSO2 Deployment Synchronizer - Sharing deployment artifacts across a product cluster

Image
This post is about a new feature in WSO2 Carbon product platform. I will use the latest versions of WSO2 Governance Registry(WSO2-G-reg-4.1.0) and WSO2 Enterprise Service Bus (ESB-4.0.2) for the demonstration. Before going through the configuration steps, lets look at the problem which is going to be addressed using Deployment Synchronizer. Suppose we have a WSO2 ESB product cluster with a single READ-WRITE node and a several READ-ONLY nodes which shares a common configuration registry. When we deploy a proxy service from READ-WRITE node, in order for other nodes to be synced with that new service deployment, all READ-ONLY nodes have to be restarted. This is a painful concern in a large product cluster. WSO2 Deployment Synchronizer feature has been implemented to resolve that concern. With that, once you deploy a service (or any deployable artifact such as ESB sequence, scheduled task etc..) from one node in a product cluster, the other nodes automatically get the changes and sync up w

How to pass system properties when WSO2 Carbon server is running in daemon mode

When you start wso2 carbon server using a startup script such as wso2server.sh, you can simply pass system properties such as -DosgiConsole, just by passing system property in command line. e.g:- sh wso2server.sh -DosgiConsole However, if you start the server as a System process (daemon), how should you send those parameters? Lets look at how we can start OsgiConsole, if we start server in daemon mode. 1. Open CARBON_HOME/repository/conf/wrapper.conf 2. Add the following parameter under Java additional properties section wrapper.java.additional.11=-DosgiConsole=1234 3. Start the server as " sh wso2server.sh -start " 4. Open a new shell and " telnet localhost 1234 "

ApacheCon NA 2011 - a week full of Apache community gathering

Image
ApacheCon is the official event of Apache Software Foundation which brings together the global Apache community in a week full of trainings, live demos, hands-on sessions and various other meet ups. The event will be commenced tomorrow, 7th of November 2011 in the Westin Bayshore Vancouver Canada . I'm witnessing a lot of technology enthusiasts from diverse parts of the world are checking-in at Westin Bayshore hotel at the moment predicting a successful function. With the tightly-coupled relationship of WSO2 and various Apache projects , WSO2 is playing a key role in ApacheCon 2011 as well. WSO2 is presenting 3 talks and is an exhibitor Sponsor too. Afkham Azeez speaks about building scalable multi-tenant application server on cloud using Tomcat, Axis2 and Synapse on Wednesday, November 9th. He is also talking about an architecture for enabling multi-tenancy for Apache Axis2 on Thursday, November 10th. Prabath Siriwardhana will also do a half-day training on web services securi

Was I able to do that?

Image
For the last 2-3 months, the readers of my blog may have seen a small icon at the top of the pages giving you a hint that I'm presenting at WSO2Con 2011 , the technology conference of the year. A few months back, Samisa , the engineering head of WSO2, forced me to submit a talk for this conference. Hesitating, I prepared an abstract of a talk about SOA and quality and sent my proposal. After a few weeks, I was informed that my proposal had been accepted and that I would speak at the third day of the conference. First, I was shocked. Why? I always thought negatively about presentations and public speaking. As my batch mates at university of Colombo knows, I myself and a lot of others had a bad experience w.r.t presentations during campus era :). Worst, I had not given a public speech for a time that I remember. In summary, it had been kind of a nightmare to me. I did not have any other option, but do this speech at an level that I can watch it later without cursing me at least :) T

Must attend talk in WSO2Con2011 - Engineering to take over the world by Samisa Abeysinghe

WSO2Con 2011 , a week full of tutorials, tech talks, networking events will be commenced shortly at WatersEdge, Colombo, Sri Lanka. If you are attending the conference, I'm sure you will look for a session which gives you an overall picture about how WSO2 has become a leading technology provider and what are the secret ingredients of the process that has been followed. There is no other individual than Samisa Abeysinghe , VP of Engineering at WSO2, who knows top to bottom of WSO2 engineering process as well as lead the engineering team for the last five years to become where we are now. If you are bored with listening to traditional process sermons which are usually heard in conferences, this will be a totally different session for you. We are at WSO2, while redefining the middleware space, reinventing the software development process too. We have our own way of designing, developing and testing products. Wanna know more about how we do that? then do not forget to attend the sess

Must attend talk in WSO2Con2011 - Security in practice by Prabath Siriwardhana

Time flew in light speed and finally the days have arrived! WSO2Con 2011 , a conference which you should not miss. Though you are a seasoned IT professional or a student keen in learning latest technologies, it is the event of the year. Out of more than 25 sessions which are planned to be held, my attention goes to one particular session first. It is "Security in Practice" by Prabath Siriwardhana which will be held on 14th of September, 2011 at 3.30 PM. Why do I like it than any other session? Prabath is a brilliant speaker. I like the way he presenting. He has his own style which attract anyone in the audience. Prabath is the expert of the most complex and hard-to-understand aspect of Service Oriented Architecture, Security. You can imagine the complexity of delivering a presentation in such a tough, complicated subject matter But, Prabath has the ability to inject complex subject matters into your head in very nice manner. You should not miss this great session of Prabath

WSO2 Stratos Application Server - Apache Tomcat As a Service

Image
Few days back, one of my friends developed a new web application and he wanted to try it out by deploying on a J2EE server. I was at his place and was observing the steps he followed to deploy the web app. Downloaded the latest version of Apache Tomcat Server Extracted and installed it on a local server Ran the startup script and started the server This took considerable amount of time. In the world of everything offered as services, my friend was not aware of the free service of hosting web applications in cloud. In other words, my friend has not known of "Apache Tomcat As a Service" . If I was him, I would have tried out my web applications with Apache Tomcat by following the three simple steps given below. Step 1 - Create a demo user account at WSO2 StratosLive This is a simple registration procedure and follow the steps given in my previous blog post to create a demo account. Step 2 - Access WSO2 Stratos Application Server You can access Application Server

WSO2 Data As a Service - Have your own data storage in cloud!

Image
WSO2 StratosLive , the most complete open PaaS (platform-as-a-service), includes multiple types of SOA middleware services which can be used to build and host your SOA based solution. One of the newest additions to WSO2 middleware platform is, the functionality which enables you to have your own database in cloud for free! This post guides you through the steps of creating your own data storage in cloud using WSO2 StratosLive. Step 1 First, we need to create an account in stratoslive. You can have a demo account free of charge. Open a browser and access WSO2 StratosLive landing page . Click on Get Started Now for Free You will be directed to domain registration page. Fill the form and follow the instructions in registration email to activate the account. Once you logged into WSO2 StratosLive, you will be shown all of the cloud services which are available for use. Out of those services, click on Data Services Server link. You will be directed to the home page of WSO2

WSO2 Carbon-3.2.0 - The latest with many new features and a release to remember

On 12th of June 2011, the latest version of WSO2 SOA middleware platform, WSO2 Carbon-3.2.0 has been released. Since 2009 January, WSO2 SOA middleware platform has been grown and matured and now it consists of 12 different products. WSO2 Application Server WSO2 Enterprise Service Bus WSO2 Mashup Server WSO2 Identity Server WSO2 Governance Registry WSO2 Data Services Server WSO2 Business Process Server WSO2 Business Activity Monitor WSO2 Gadget Server WSO2 Business Rules Server WSO2 Complex Event Processing Server WSO2 Message Broker In this latest version, two new members joined into WSO2 Carbon product family. Those are WSO2 Complex Event Processing Server and WSO2 Message Broker . In this post, I'm not going to explain the new features and enhancements included in each of these products. You can find them out in the respective product pages in wso2.com . But, I would like to share how we evolve in terms of features, process and release methodology during the last couple of years

WSO2 SOA middleware Deployment Tips - 1 - validationQuery to avoid broken DB connections

I thought to put together some best practices, guidelines on deploying WSO2 SOA middleware platform. This post will remind you a well-known best practice used in most of the product deployments. When you are maintaining DB connections, it is always recommended to use a validationQuery to check the health of the TCP connection of the connections stay in DB connection pool. Because the connection opening is an expensive and time consuming operation, after a connection is created, it will be kept open for a specific time in the pool. When re-using these connections from the pool, there can be situations that the TCP connection to the DB is interrupted and the connection consumer gets errors such as communication link failures etc.. In order to avoid that, a validationQuery, an SQL statement specific to DBMS type, can be used which runs before using the connection. In WSO2 middleware platform, you usually use central governance/configuration registry to store SOA metadata and variou

Monitoring WSO2 ESB using JConsole

My latest tutorial on how to monitor WSO2 ESB using JConsole is now published on WSO2 Oxygen Tank

How to send JSON messages to web services deployed on WSO2 Application Server

JSON (JavaScript Object Notation) is an open and text-based data exchange format, that provides a standardized data exchange format better suited for Ajax style web applications. You can find more information about JSON from www.json.org WSO2 SOA middleware platform supports sending and receiving JSON messages. This post takes you through the steps to deploy a simple web service in WSO2 Application Server and write a client using Axis2 ServiceClient API to invoke the service by sending JSON message. Pre-requisites: Download and install WSO2 Application Server 4.0.0 or later Step 1 We are using a simple web service, which echo's user input as follows. public class EchoService { public OMElement echo(OMElement element) { return element; } } You can download the service archive (EchoService.aar) from here and deploy on WSO2 Application Server. Step 2 Have a look at CARBON_HOME/repository/conf/axis2.xml (CARBON_HOME is the root directory of WSO2 Application Server).

How to enable child-first class loading in WSO2 Application Server or Axis2

By default, WSO2 Application Server (or Axis2) uses parent-first class loading mechanism. If you deploy an AAR service, which can load classes from the following locations. CARBON_HOME/lib (CARBON_HOME is the location where you installed WSO2 Application Server) CARBON_HOME/repository/deployment/server/axis2services/lib AAR service/lib (lib directory under your service archive) If your service implementation class has a package import for a class, which is available in both CARBON_HOME/repository/deployment/server/axis2services/lib and the lib directory under service archive, the class placed under CARBON_HOME/repository/deployment/server/axis2services/lib will get loaded. Which means, the parent class always get loaded first. The class loading sequence is CARBON_HOME/lib ---> CARBON_HOME/repository/deployment/server/axis2services/lib -----> AAR service/lib Sometimes, we want to load the class from service archive lib first without loading the class which is available ei

WS-Addressing with SOAPUI

Image
WS-Addressing is a standard way of including message routing data within SOAP headers without relying on transport specific routing properties. If you are talking to a web service which expects WS-Addressing information in request SOAP messages, you could either follow a programmatic approach to write a client and insert WS-A headers manually or use a commercial or free web service client tool. SOAPUI is the simplest tool which can be used to insert WS-Addressing headers in to request SOAP messages. In this blog post, we will; Talk to a WS-Addressing enabled service which is hosted in WSO2 Application Server using SOAPUI Assert response SOAP message to validate WS-A headers Pre-requisites: 1. Download and install the free version of SOAPUI 3.0.1 or later 2. Download and install WSO2 Application Server 4.0 Step 1 We are going to invoke the default HelloService which is shipped with WSO2 Application Server. Go to WSO2_APPSERVER/home/bin and start the server by running wso2server.sh{ba