2007/03/07
7 Mar, 2007

IDE Integration for WSO2 WSAS - Lahiru Sandakith

  • Lahiru Sandakith Gallege
  • Senior Software Engineer - WSO2

Lahiru Sandakith works on the tooling aspects of Web services development in Java. He is a software engineer at WSO2 Inc. Contributing to many opens source projects, he is also a committer of the Apache Web Services project, Apache Axis2. Lahiru is experienced in developing and providing support for core J2EE products, and mainly focuses on Tooling and Plug-in development.

 

Oxygen Tank (OT): Lahiru, let's start with your work. What are you currently involved in?

Lahiru: Right now, I'm working on IDE support for WSO2 WSAS for Java. This is mainly on Eclipse Framework and IntelliJ IDEA. Actually, the whole idea behind this is to provide simple and reasonable tools for Web services development using WSO2 WSAS from their favorite IDE that they use to develop programs.

 

OT: Tell us more about IDEs.

Lahiru: An IDE, integrated development environment, is a type of computer software that assists computer programmers to develop software. IDEs normally consist of a source code editor, a compiler and interpreter, build-automation tools, and (usually) a debugger. Sometimes a version control system and various tools to simplify the construction of a GUI are integrated as well. Among most Java developers, the most popular Open Source IDE is Eclipse Framework. The commercial IntelliJ IDEA is another popular IDE mainly for Java developers.

 

OT: Why did your team decide on such an integration?

Lahiru: We have to admit that most of the development in any programming language is no longer done in a console editor or the default text editor because of the high productive IDE support available to the developers. Actually more than 90% of the development happens around an IDE. Therefore, it's very critical that Web services development is also provided as a part of this development process, in order to gain more exposure. So it's obvious that if the IDE support is available, there will be more developers gathering around the processes of developing, deploying, and invoking Web services if we integrate WSO2 WSAS to the IDE at the Web services runtime.

 

OT: Got it. So how are you going to integrate WSAS into IDEs?

Lahiru: I have initially selected the Eclipse Framework and IntelliJ IDEA IDEs. On both IDEs, this integration will go as pluggable components.

On Eclipse Framework, there is a sub project called The Eclipse Web Tools Platform (WTP), which provides APIs for J2EE and Web-centric application development. So the idea is to get the existing support of both source and graphical functionalities with the wizards and built-in applications to simplify Web Service development, and tools and APIs to support deploying, running, and testing Web services.

On IntelliJ IDEA, it has this rich set of open APIs that allow third parties to integrate their solutions and extend the existing IntelliJ IDEA functionality. These specialized open APIs are for adding new language support, integrating version control systems and application servers. We will put WSO2 WSAS and its tooling support for Web services development as a pluggable set of tools with the help of this open API.

 

OT: This is only used for high level users?

Lahiru: Well ... yes. Anyway most experienced users will be able to develop, deploy, and invoke Web services without the support of tools. The main concept behind having an IDE for development is to increase productivity among developers at any level. So that implies that time is most important when it comes to any kind of application development. With this IDE integration, if the average user moves up to a level at which he can develop, deploy, and invoke Web services productively, with lesser time, that is a great achievement. However, this does not mean that experienced users will not use these at all, actually they will be the people who will get the most out of this.

 

OT: What are the advantages of having this kind of tooling inside an IDE?

Lahiru: There is more than just built-in support for Web services. You don't have to be familiar with most of the underlying details of Web services development. So it will be much easier to gain control over Web services development. Then, you have the ability to automate most of the manual work involved in developing, deploying, and invoking Web services. It will be more productive and easy because most functionalities will be available as wizards.

 

OT: Are there any other tools that make Web services development easy?

Lahiru: Yes. Currently there are many tools available for Apache Axis2/Java, (http://ws.apache.org/axis2/tools/index.html) which is the Web service runtime behind WSO2 WSAS for Java. They are Axis2/Java Codegen Wizard- eclipse plug-in, Service Archive Wizard- eclipse plug-in, Command line version of java2wsdl/wsdl2java, IntelliJ IDEA plug-in, Maven2 WSDL2Code Plug-in, and Axis2/Java's Maven2 AAR Plug-in.="http:>

 

OT: How does the future of IDE integration look for the other WSO2 products?

Lahiru: Basically all the WSO2 products have a dependency on some Apache Web Services Project. For example, the WSO2 WSAS for Java is made on top of Apache Axis2/Java, and the WSO2 ESB for Java is made on top of Apache Synapse/Java. So there will be an increasing user requirement to access these WSO2 solutions. Also, most of them are on top of a Web services stack. So we will be integrating the upcoming WSO2 products into IDEs as a tool inside them.

The ultimate goal will be to provide our own flavor of IDE that will have complete support for WSO2 products under the Open Source License.

 

OT: Thank you Lahiru!

 

About Author

  • Lahiru Sandakith Gallege
  • Senior Software Engineer
  • WSO2 Inc.