Thursday, November 18, 2010

Axis2 1.5.3 released

The Apache Axis2 team is pleased to announce the general availability
of the Axis2 1.5.3 release.

1.5.3 is a maintenance release that contains the following improvements:

* Improved support for SSL when using the servlet transport: Axis2 can
now be configured so that generated WSDLs contain https endpoints
(AXIS2-4465).
* Improved compatibility with Rampart (AXIS2-3213 and AXIS2-4870) and
Sandesha2 (potential HTTP connection pool starvation).
* Axiom has been upgraded to 1.2.10. This version contains performance
improvements relevant for Rampart.
* Application (business) faults are no longer logged at level ERROR
(AXIS2-4280).
* Improved conformance to the SAAJ specifications. The 1.5.3 release
contains a set of fixes and improvements for the SAAJ implementation
developed on the trunk and not included in previous releases from the
1.5 branch.
* Axis2 now relies exclusively on dependencies available from the
Maven central repository, and no other Maven repositories are
required. This in particular fixes a build problem that appeared after
the 1.5.2 release.
* The Eclipse and IntelliJ IDEA plugins are again available for
download via the Axis2 Web site (previous 1.5.x versions could only be
downloaded from the Maven repository).

The complete list of JIRA issues fixed in this maintenance release can
be found here:

https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=10611&fixfor=12315367

The new version is available for download at the following location:

http://axis.apache.org/axis2/java/core/

Please report any issues via JIRA: http://issues.apache.org/jira/browse/AXIS2.

As always, we welcome any and all feedback at:

java-dev@axis.apache.org - for developer-related questions/concerns
java-user@axis.apache.org - for general questions, usage, etc.

Thanks for your interest in Apache Axis2!

-- The Apache Axis2 team

Tuesday, October 05, 2010

ConnectException when connecting to Tomcat

If you are experiencing following exception when you try to connect to tomcat either using Java socket, TCP Monitor or any other means, then try the following procedure:


java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)

Go to conf directory in the Tomcat installation directory, and then edit the server.xml as follows:

<Connector port="8080" maxHttpHeaderSize="8192"
address="127.0.0.1"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"


By default Tomcat does not come with the address attribute, once you set that to localhost or any address you want, then you will be able to solve the above exception.

Tuesday, August 24, 2010

Web services past, present and future

What is a Web service? There are multiple definitions or understandings about Web services, one can argue Google search as a Web service, meaning a service offered via Web, same way Amazon retailer site can be also considered as a Web service, because it offers a way to buy and sell product over the Web, or application to application communication through open protocol like SOAP can be also considered as Web service. However, here my main focus is SOAP based Web services, meaning application to application communication.

In the distributed system, remote service invocation is not a new thing at all, even in the early papers on operating system design discussed about remote procedure calls or RPC. In fact they have provided sound architecture to implement RPC. Later, people wanted to develop more complex and application aware middleware to have distributed communication, among them CORBA and Java RMI became two commonly used technologies. Nevertheless, due to complexity of CORBA and domain dependency of Java RMI (only within JAVA) people tend to find other alternatives. Introduction of XML into the industry influenced lot on this effort. Then, people realized XML as the future communication media, in fact Bill Gates also believed XML going to be the dominant media for applications communication.

As a results of long collaboration between IBM and Microsoft (and also some other companies), SOAP came into the industry as a way of building application communication middleware. IBM started its implementation of SOAP based web service middleware and later donated that to Apache Software Foundation and which became Apache SOAP, and started Web service community around Apache. Apache SOAP was very simple and assumed to be proof of concepts; people really liked Apache SOAP and started to use it to application integration, then demanded a set of new features, which leads to have an array of Web service standards and specifications. In addition a set of Web service bodies to enforce satisfaction of specifications. At that time there were multiple Web service frameworks out there, Apache had Apache SOAP and Apache Axis, and Microsoft had Indigo (later renamed to .Net), Oracle, Sun, BEA, HP and few other companies had their own implementations.

One of the natures of any application is need of evolving and revolving, same thing happen to Web services, where it started as a simple set of standards, but today there are a number of standards. As a matter of fact Web service has become somewhat complex for average people. Even though there are hundreds of Web service specifications, there is no single Web service framework which implements all the standard, according to my understanding Axis2 is the only open source Web service framework implement highest number of standards, and of course Microsoft is leading in commercial market.

One of the main barrier of Web services is the complexity of WSDL, both WSDL 1 and WSDL 2 are little too complex to understand. In addition other standard like Security, Reliability and Addressing are way too complex for simple usages. That is something, standard bodies need to consider about.

Way back in 2004 when we started Axis2, one of the key goal was to have less than 1 MB size for the distribution, but, due to supported specifications and features it is way too big and complex. I have seen number of concerns on the mailing lists. I think this is true for any product, when they keep adding features, application become complex and size become larger.
Within a short period of time, Web services have made big impact to the industry, where most use Web service as a way of application integration. In addition most applications offer a Web service interface to access the service (e.g., Google, Amazon, Weather), which help to write custom components and application. Above all, with cloud computing, Web service became one of the standard ways to manage and monitor cloud based services. Simply, Web services have won the market today. But what will happen in the future …..

I think, due to complexity of Web service, people tend to find other alternatives or ways to reduce the complexity of Web services, but one thing is obvious that is XML will remain unchanged. In the future regards REST will play a major role, even today some believe REST is better than SOAP, which is in fact true for some scenarios, but when it comes to complex scenarios REST is not there to support them. Simply need additional specifications to handle addressing, security and etc… which will end up being yet another SOAP based Web service framework. As a Web service lover, I still believing in Web services, but I would like it to be simple and easy to use, yet provide what industry need.

Monday, July 26, 2010

Social networking and our lives

Recent analysis revealed the popularity of social networks, which become much obvious when you watch movies, television or even when you listen to radio. Most application and products try to use Social networks as a way of reaching the people, either they would say meet them on social networks or they might say they have first class support for social networks (e.g., mobile phones). Whether it is good or bad, social networking has become a major part of our lives, everyone tries to share their day to day activities on social networks in addition sharing photos and videos is also an interesting habit. Few years back I used to receive so many emails from my friends about various funny things, now I hardly receive emails on funny stuffs, now the trend is different and everyone uses social network for sharing the funny and entertaining things. Which I think drastically reduces the storage requirements; with the traditional emails we all duplicate the data (if we were to download the emails) now the data stay in one location.

Facebook seems to be doing a very impressive job with the social networks and they define what social network is, they constantly introduce new features and make it part of social networking. A lot of companies including Google try to come to social networking, but most did not succeed. As Google does not have any completion for search, emails, youtube and maps from anyone else, Facebook and twitter are leading the social networking. Due to popularity of the Facebook it has diverse set of user community and which has become a very good advertisement media for them, in fact that is something Google needs to be aware of.

Wednesday, May 12, 2010

Installing IIS server without Windows CD

I use Apache Web server for all my experiments; however, due to a specific reason I had to use ASP/.NET windows web hosting for one of my project. To test the application I wanted to start IIS, and then I found I cannot install IIS without having a CD. Unfortunately, I wanted to deploy the application on a remote machine which does not have a CD driver. After searching, I found following as an alternative to solve the issues.

First download the archive file: Download
Then extract it.

Go to:
Control Panel
Add/Remove programs
Add Windows components
And then pick IIS.

It will ask to insert the CD, press OK. Next, browse to the location where you extract the downloaded file. Installer asks few times to insert the CD, every time point it to the extracted location.

Saturday, February 06, 2010

Setting default SSH shell to bash

I spent some times to figure out how to execute a remote command using “bash” and thought of sharing my findings (make your job easier).

An easy way is to go and edit ~/.profile and add the bash over there.

However above will not work if you try to remotely execute a script file, to solve that issues you need to edit

/etc/passwd

Find the entry corresponding to your logging and edit the last part of the entry for example; if the entry is like;

abc:x:13:13:abc:/bin:/bin/sh
then change that to
abc:x:13:13:abc:/bin:/bin/bash

You are in the business now…