Monday, June 30, 2008

Open source development and IntelliJ IDEA

When I start to learn Java first thing I use was notepad , I wrote the program in the notepad compile and run. Actually that helped a lot to learn most of the code quality there , however one of the issue was I it took more time to do a simple task. The problem become worse when we want to debug something.

After that I started to use Jbuilder when I move to that I realized the power of using an IDE to develop Java applications. It saves most of our time on importing and debugging. While I was using Jbuilder I started to use IntelliJ IDEA (Thank Ajith for pointing to that), then I realized the power of that tool. In my personal view it is the best IDE I have ever used. And I should say I have addicted to IDEA , if it is Java development the only IDE I like is IntelliJ IDEA.

Luckily I am an open source software developer so I can get an IDEA license free , so for me IDE is free. And I should not forget to say thanks to jetbrains for giving us free license.

There are a number of reasons I like IDEA over other IDEs.

  • First thing it saves most of my times , time is very important for me so a minute is also important for me. I do not want to waste my time unnecessary setting up projects and adding libraries. When it comes to IDEA it is great.
  • Debugging – I have never seen an IDE which has that much of support for debugging. Code debugging is very important for me. It has a number of options we can use to debug the code. That helps me in two ways , first it saves my time , second it provide more than what I want to do my job.
  • Support for multiple modules – Since I am working on a projects (Axis2) which has a number of modules so it helps me a lot. (I know some other IDE has this feature)
  • Starting Applications severs and remote debugging– When I develop web applications this feature help me a lot.
  • Code formatting – It format the file according to the type , for example Java files according to the Java template , Xml as XML document
  • Code analyzing – No matter how good we write code , there may be some problems and issues with the code we write. IDEA code analyzer help me to find out the issues with the code we write, cyclic dependencies , code duplicate and etc.

I know there are much more useful features than I have mentioned here , but above are the most frequent features I use in my day to day life.

One last thing to note here is that the idea of this entry is not to market any IDE , but to tell my personal opinion about that.



Few other blogs about their IDEs

Ten Fantastic Keyboard Shortcuts in OpenOffice.org

Since most of us use Openoffice I think knowing the following shortcuts will be really helpful.

http://www.freesoftwaremagazine.com/columns/ten_fantastic_keyboard_shortcuts_openoffice_org

Sunday, June 29, 2008

Real open source development

Open source software development can be considered as a social activity , because whoever develop the product give away free, therefore the society is benefited from that. In my opinion the definition of open source software development is a controversial topic , and different people have different definitions for it as well. However I see open source software development as a community driven activity. All the decisions are taken by the community , and all the development also done by the community. A community can be consists of individual, organization or companies , irrespective of who they are when it come to open source there is no hierarchy as such. Everyone in the same level , in one stage everyone become architectures , in one stage everyone become developers , and it some other stage everyone become tech writers and so on.

Now let's look at actors of open source projects , to get the idea clear let me take Apache Axis2 as a sample projects. We can classified actors or contributors into following category.

  • Designers – whoever helped to design the project
  • Developers – People who developed the projects
  • Testers – Users who test the product and give feedback
  • Users – Whoever use the project , product become useless if they can not find users who use the projects
  • Trainers and consultants – People who conduct training on the product , who spread the word about the project and teach others how to use the projects
  • Tech writer – People who writes articles , book , papers and etc.. , telling how to use the projects

Most of the above category are interrelated , and helped to bring the project forward. And all those people are need in order to improve the project as successful project. Sometimes single person belong to one or all of the above category.

Just having the community around and keeping the source open does not mean the project is open source. The community should allow different people to carry out different activities. In other word if some one want to do training on Axis2 then that should be possible irrespective of whether he is a developer or not.

And the community should not be driven by an individual or a single company , it should be a community. It is essential to listen to other people and other companies. That is the key factor behind success of an open source project. Not like a proprietary project , open source project may have opinions from a number of different people , sometime all those are leaders in particular area. So thats help a lot to improve the quality and outcome of the product.

When I consider about the open source license I really like the Apache License because it gives the full freedom to the end user to do whatever he wants with the code. He can get the code modified as they wish and do whatever they want with that, may be release as open source or sell.


Friday, June 27, 2008

Moving Apache ODE into maven

These days I am using Apache ODE (open source BPEL implementation) heavily to provide the ability to deploy BPEL services in Axis2. As I mentioned previously in my blog I got what I want working fine. However having that is not enough I need to write a build system for the component I wrote. When doing so one of the major challenge I faced was getting maven2 working with Apache ODE. I agree they have all the artifacts in the maven repo , but adding other dependencies is a challenge.


One of the issue behind this is ODE does not uses build system like maven, so the projects depends on Apache ODE have to a high amount of work to get the work done. Not only that since ODE is not having build system they can not give us the nightly builds too , so we can not add the project dependencies to ODE snapshots.

Considering all those I think , it would be good Apache ODE can move into maven2. If they want I can definitely help for that.

Thursday, June 26, 2008

Solution to fuel crises – Water driven car from Sri Lanka

As we all aware fuel prices are going up and up everyday , and by reading a number of news articles and research reports I understand that the amount of fuel has reached it peak. So now the amount of fuel curve will not go up, rather it will go down every minute. As every activity in the world has direct or indirect relationship with oil (fuel) , living without oil is something we can not even imaging. As a result of that finding alternatives for fuel crises has become a major research area. Most of the counties as well as most of the well know universities have started working on that. And some of them have very useful and economical out come as well.

Among them electric cars as well as water driven cars has a high demand. However in my opinion we can not save the fuel having electric cars , because in oder to generate the electricity it is required to have fuel. But if we can produce a car which we can use water as fuel then we can consider that as a good solution to the world fuel cries. Having said that recently I find out that in Japan they have manufacture a car which uses water as the fuel. So which is a very good achievement , however the problem is it is completely a new engine as well as new car. In addition to that the car is very small and expensive , so that is indeed a concern as well. Furthermore biggest problem is what we are going to do for the existing vehicles.


As a solution to all of them one of the very young person in Sri Lanka has created a very interesting solution for fuel problem. What he has done is he has created unit which can easily plug for any of the existing vehicle. The unit is nothing but electric unit which operate using Water and hydrogen , and generate electricity. Since both of water and hydrogen are freely available in Sri Lanka as well as rest of the world , this can be considered as a very good solution. Other interesting thing is since we can plug this unit to any existing vehicles , we do not need to worry of buying a new vehicle. Importantly he has already taken the patent for his this great idea. So in very near future we can see that people moving to water driven car with very less amount of money.

You can find the youtube video here (I am sorry I could not find the English version of it )






Bill Gates' 11 Rules of Life

When I was reading an article in a local newspaper today I found this interesting speech that Bill Gate has done in one of the university. I think you also find that useful.

==============================================================
BILL GATES' SPEECH TO MT. WHITNEY HIGH SCHOOL in Visalia, California.

Love him or hate him, he sure hits the nail on the head with this!

To anyone with kids of any age, here's some advice. Bill Gates recently gave a speech at a High School about 11 things they did not and will not learn in school. He talks about how feel-good, politically correct teachings created a generation of kids with no concept of reality and how this concept set them up for failure in the real world.

Rule 1: Life is not fair -- get used to it!

Rule 2: The world won't care about your self-esteem. The world will expect you to accomplish something BEFORE you feel good about yourself.

Rule 3: You will NOT make $60,000 a year right out of high school. You won't be a vice-president with a car phone until you earn both.

Rule 4: If you think your teacher is tough, wait till you get a boss.

Rule 5: Flipping burgers is not beneath your dignity. Your Grandparents had a different word for burger flipping -- they called it opportunity.

Rule 6: If you mess up, it's not your parents' fault, so don't whine about your mistakes, learn from them.

Rule 7: Before you were born, your parents weren't as boring as they are now. They got that way from paying your bills, cleaning your clothes and listening to you talk about how cool you thought you are. So before you save the rain forest from the parasites of your parent's generation, try delousing the closet in your own room.

Rule 8: Your school may have done away with winners and losers, but life HAS NOT. In some schools they have abolished failing grades and they'll give you as MANY TIMES as you want to get the right answer. This doesn't bear the slightest resemblance to ANYTHING in real life.

Rule 9: Life is not divided into semesters. You don't get summers off and very few employers are interested in helping you FIND YOURSELF. Do that on your own time.

Rule 10: Television is NOT real life. In real life people actually have to leave the coffee shop and go to jobs.

Rule 11: Be nice to nerds. Chances are you'll end up working for one.

Wednesday, June 25, 2008

BPEL support in Axis2 and WSO2 WSAS

Apache ODE is a BPEL implementation which built on Axis2. Actually what they have done is , has written a application which extends AxisServlet and do some additional processing. Meaning they have written a mechanism to create AxisService from a directory which contains BPEL configuration files and WSDL files. The created service has a common BPEL message receiver , and which handles the application logic processing. In simple word thats what ODE does (I agree the process is more complex and more complicated).

However with this approach I see a limitation (may be thats what ODE wants to support), that is you can only use this as a way to deploy BPEL and access them not other kind of services. Because Axis2 architecture is more powerful than this , we can do much more useful stuff with Axis2 than this. So it might be very useful if we can add the BPEL support as a deployment extension to Axis2. Since Axis2 has custom deployer support which we can use to deploy BPEL.

Not only that we can start the BPEL server inside the Deployer and handle the deployment logic inside our deployer. Once we do so we can register that with Axis2 , as a custom deployer and provide a way to deploy BPEL services as an archive file with much more flexibility. Not just tell how and what we can do with ODE and Axis2, I actually has implemented the logic and have the working code in my machine. Probably those code would be integrated to WSO2 WSAS. Then you can get the power and benefit of ODE and deploy BPEL services in WSAS.

SOA and Data services (with Axis2 )

It is known fact that SOA is becoming the buzz word and most of the companies are moving into so called “SOA” field . When doing so Web services are becoming a major topic as well. By looking at the recent download statistics of Axis2, it is obvious that Axis2 is becoming the best open source Web service framework. When someone tries to move into Web services , there are number of ways they try to do that.

  • Some people start with fresh environment expose there applications as Web services
  • Some people need to convert their legacy system into Web services , in that case they might need to write a wrapper or have to use an ESB for that.
  • Some people want to expose there data bases as Web services
  • And more (code first approach , contract first approach )

Since Axis2 is a popular and very useful Web service engine , having support for all of those make the framework more and more useful. To address that Axis2 has various plug point , recently I wrote a blog about custom deployer as a way of extending Axis2.

Using the custom deployer approach in WSO2 , we have build a very useful and user-friendly data service solution. With that you can expose your data base as a Web service in very easy manner. If you want to expose your data base as a Web service , then you can do that just adding a very simple configuration file [read more about the configuration file]. WSO2 WSAS (Web services Application Server) has support for data service deployment and configuration , however the new data service solution going to have a number of improvements as well as number of new features which you can not find in the WSAS.

Few weeks back I even wrote a article explaining a way of exposing your data base as a Web service , but the WSO2 Data service solution is much better and much more easier than that.

Tuesday, June 24, 2008

WSO2 Registry and SOA

In the latest release of WSO2 Registry has better support for SOA and SOA Governance. In the case of SOA , it has support for

  • Strong WSDL and other meta data like Schema , Policy and etc.

  • Importing WSDL imports in the registry

  • Lifecycle support , manage lifecycle of the services using registry lifecycle management support

  • Managing service dependencies using Dependency management support

In SOA Governance

  • WSDL validation

  • WS-I validation – full support for WS-I basic profile validation support. Thank for Eclipse WS-I tool

  • Schema validation

Those are just a set of SOA related features , but using other available features you can build a complete SOA system around WSO2 registry.

Monday, June 23, 2008

Sudden increases in Axis2 download

It is nice to see that Axis2 download has gone up in a high amount. So this is a simple indicator that a number of companies and users have started to use Axis2. And remember all the following downloads are only from Apache main site not from any of the mirrors.

http://people.apache.org/~vgritsenko/stats/projects/axis2.html

WSO2 ESB Performance Benchmark Round 3 published

This is something you waiting for ,

The following article is the third in a set of articles that measure and compare the performance of the WSO2 Enterprise Service Bus (ESB) against other leading implementations - both open source and proprietary.

http://wso2.org/library/3740

Sunday, June 22, 2008

Learning Axis2 - How custom deployer works

I implemented the custom deployer support in Axis2 a long times ago , but I did not get free time to write a document about that. Somehow last week I was able to write one and publish that in WSO2

If you are planing to write any extensions to Axis2 this article will be really useful.

http://wso2.org/library/3708

WSO2 Registry 1.1 released

The WSO2 Registry is a hub for managing data in a web-friendly and community-enabled way. It was built with enterprise metadata for SOA in mind, but really it's up to you - the Registry can hold any kind of "stuff" including images, service descriptions, text files, office documents... and every resource you put in the Registry becomes a center for social activity.

Eschewing the complexity (and WS-* focus) of specs like UDDI, our Registry uses the Atom Publishing Protocol (via Apache Abdera) to offer a standard and RESTfully simple remote interface, which can be accessed easily by custom code, feed readers, and even browsers.

The Registry has been designed both to encourage "grass-roots" community around your data and also to allow for IT-friendly governance. A full feature list follows. We hope you'll find many uses for it, and that you'll share them with us as we work to make it even better!

The release can be obtained from: http://wso2.org/downloads/registry

Features
* Storing and managing arbitrary resources and collections
* Tagging, commenting and rating
* Managing users and roles
* Authentication and authorization on all resources and actions
* Resource / collection versioning and rollback
* Advanced search capabilities - tags, users, etc.
* Built in media type support for common types (WSDL, XSD)
* Built in support for WSDL and Schema validation
* Built in support for WSI validation
* Dependency management - maintain relationships between dependent resources
* Pluggable media type handlers for handling custom media types
* Support for processing custom URL patterns via pluggable URL handlers
* Support for custom query languages via pluggable query processors
* Activity log and filtering support for the activity logs
* Atom Publishing Protocol (APP) support for reading/writing the data store remotely
* Subscribe to directories, comments, tags, etc. with any standard feed reader (Bloglines, Google Reader, etc)
* Java client for remote access via APP
* Embedded and WAR deployments
* Web based user interface with Web 2.0 look and feel

Major changes from last release
* Performance improvements
* Change from auto-versioning collections to explicit checkpointing
* Lifecycle/Aspect support
* Much improved WSDL handling, validation, and WS-I validation
* Support for transaction handling
* Generic typed associations
* API improvements, including streamlined Filter/Handler plugins
* Bug fixes

Known Issues
* Log entries do not persist across resource rename/copy right now.
See http://wso2.org/jira/browse/REGISTRY-425

Product Information
* Home page
http://www.wso2.org/projects/registry
* User guide
http://wso2.org/wiki/display/registry/WSO2+Registry+User+Guide

Reporting Problems
* Issues should be reported using the public JIRA available at
https://wso2.org/jira/browse/REGISTRY

Getting in Touch
The WSO2 Registry community can be contacted via mailing lists:

For Users: registry-user@wso2.org
For Developers: registry-dev@wso2.org

For details on subscriptions: http://www.wso2.org/projects/registry

Questions can also be raised in this forum: http://wso2.org/forum/351


Collaboration

As an open-source project, we welcome not only feedback, but active collaboration. If you've got ideas for features, comments on things that should work differently, patches, or if you'd simply like to hear what others are doing with the project, please come join us. We look forward to meeting you.

Friday, June 13, 2008

Invoking a Service in a REST Manner - Axis2

Learn how to use REST support in Axis2 , a simple article explaining invoking a service in REST.

http://wso2.org/library/2855

OSGi for beginners

After having a long discussion on Axis2 I start to learn more about OSGi since my knowledge on that is very less. SO I found the following article which I think is useful for a beginner like me.

http://www.theserverside.com/tt/articles/article.tss?l=OSGiforBeginners

Thursday, June 12, 2008

University courses on Axis2

It is great to see that when university start to offer courses on a product we developed. First time when I see that it gave me very positive feeling that , ha!! we have done something useful.

http://courses.cs.tau.ac.il/0368-3458/workshop/axis2/axis2-1.4/docs/xdocs/1_4/pojoguide.html

Wednesday, June 11, 2008

WSO2 WSAS 2.3 released

WSO2 WSAS is an enterprise ready Web services engine powered by Apache Axis2 release under the Apache Software License 2.0.

This release can be downloaded from http://wso2.org/projects/wsas/java

From the WSO2 WSAS 2.3 - Release Note - 10th June 2008
======================================================

WSO2 WSAS is an enterprise ready Web services engine powered by Apache Axis2 which offers a complete middleware solution. It is a lightweight, high performing platform for Service Oriented Architectures, enabling business logic and applications.
Bringing together a number of Apache Web services projects, WSO2 WSAS provides a secure, transactional and reliable runtime for deploying and managing Web services.

Key Features
------------
* Data services support - Expose you enterprise data as a services in a jiffy
* WSAS IDE - Eclipse IDE integration
* Clustering support for High Availability & High Scalability
* Full support for WS-Security, WS-Trust, WS-Policy and WS-Secure Conversation and XKMS
* EJB service provider support - Expose your EJBs as services
* Axis1 backward compatibility - Deploy Axis1 services on WSAS & Engage advanced WS-* protocols in front of legacy services
* JMX & Web interface based monitoring and management
* WS-* & REST support
* GUI, command line & IDE based tools for Web service development


New Features In This Release
----------------------------
* Improved interoperability
* Improved Data Services support
* Various bug fixes to Apache Axis2, Apache Rampart & WSAS
* WSO2 Mercury Integration - A new WS-RM Implementation

Data Services - Bringing Enterprise Data to Web
-----------------------------------------------
* Service enable data locked in relational databases, CSV & Excel files in no time
* Zero code. Simple descriptor file describes the data to service mapping
* Controlled access to your data
* Customizable XML output
* Benefit from REST & WS-* support
* Built-in Connection pooling support
* Supports exposing Stored procedures & functions
* Built-in caching
* Throttling - to ensure your database is never overloaded.
* Easy configuration via graphical console
* Test your services via Try-it tool

Training
--------

WSO2 Inc. offers a variety of professional Training Programs, including
training on general Web services as well as WSO2 WSAS, Apache Axis2, Data Services
and a number of other products.

For additional support information please refer to
http://wso2.com/training/course-catalog/


Support
-------

WSO2 Inc. offers a variety of development and production support
programs, ranging from Web-based support up through normal business
hours, to premium 24x7 phone support.

For additional support information please refer to http://wso2.com/support/

For more information on WSO2 WSAS, visit the WSO2 Oxygen Tank (http://wso2.org)

How to do various things with WSAS - WSAS HOWTO Series(http://wso2.org/library/2707)

For further information see the full release note http://wso2.org/project/wsas/java/2.3/docs/release_notes.html

Tuesday, June 10, 2008

WSO2 Enterprise Service Bus (WSO2 ESB)

The WSO2 ESB is an ultra fast, light-weight and versatile Enterprise Service
Bus based on the Apache Synapse ESB. It allows you to Connect, Manage and
Transform service interactions between Web services, REST/POX services and
Legacy systems. You can easily switch transports between http/s, JMS, File
Systems, Mail, FIX etc, or read/write from Databases, split, aggregate or
clone messages and support declarative enforcement of QoS aspects such as
WS-Security, WS-Reliable Messaging etc, and also switch between message
formats such as SOAP 1.1/1.2, PoX/REST, Hessian, Text, Binary, MTOM and SwA.

The WSO2 ESB is released under the Apache Software License v2.0, and ships
with a graphical management and administration console and enhanced JMX
management/monitoring support, and integrates seamlessly with the WSO2
Registry.

Webinar series introducing the WSO2 ESB v1.7:
In this Webinar series Paul Fremantle, CTO of WSO2, will introduce the
new features and capabilities of the WSO2 ESB. The first session will recap
on the overall approach and benefits of the WSO2 ESB solution and the
underlying Apache Synapse project, and then go into the added functionality
and benefits of the 1.7 release. The series will include details of the
newly released support for Hessian, FIX, AMQP and also discuss the
improvements in performance and stability.

* For more details on the Webinar series, and to register,
visit http://wso2.com/about/news/esb-webinar-june-17/


Core features of the WSO2 ESB includes:
* Proxy services / Service mediation and Message mediation
* Support for Non-blocking http/s, JMS, FIX, Apache VFS (s/ftp, file,
zip/tar/gz, webdav, cifs..), POP3/IMAP/SMTP, AMQP transports
* Support for SOAP 1.1/1.2, PoX/REST, Hessian, Text and Binary payloads
* Support for scheduled task execution and management
* Support for custom extensions in Java through custom mediators, POJO
Classes and Java Command classes
* Support for Apache BSF Scripting languages such as (Javascript, Ruby,
Groovy..etc)
* Support for clustered deployment with pinned services and tasks
* Throttling, Caching, Load balancing and Failover support
* Support for declarative
WS-Reliable Messaging, WS-Security and
WS-Policy attachment
* Integrated WSO2 Registry with support for external Registries
*
Ability to stop, re-start and gracefully shutdown the ESB through JMX
*
Cluster aware sticky load balancing support

New features of the v.1.7 release includes:
* Support for Hessian binary messages
* FIX (Financial Information eXchange) protocol transport
* WS-Reliable Messaging support with WSO2 Mercury
* Ability to stop, re-start and gracefully shutdown the ESB through JMX
* Integrated WSO2 Registry shipped, with ability to connect to a remote
WSO2 Registry
* Support for re-usable database connection pools for DB report/lookup
mediators
* Support for GZip encoding and HTTP 100 continue
* Natural support for dual channel messaging with WS-Addressing
* Cluster aware sticky load balancing support
* Non-blocking streaming of large messages at high concurreny with
constant memory usage
* Support for an ELSE clause for the Filter mediator
* Ability to specify XPath expressions relative to the envelope or body
* Support for separate policies for incoming/outgoing messages
* Support for a mandatory sequence before mediation
* New Router mediator
* Ability to re-deploy proxy services

Useful Links
Download WSO2 ESB - http://wso2.org/downloads/esb/
Quickstart Guide
Installation Guide
Administration Guide
Samples Guide
Documentation Index

Contribute to WSO2 ESB
SVN: http://wso2.org/repos/wso2/trunk/esb/java/
JIRA: http://wso2.org/jira/browse/ESBJAVA
User list: esb-java-user@wso2.org
Developer list: esb-java-dev@wso2.org
Web Forum: http://wso2.org/forum/187

Training
WSO2 Inc. offers a variety of professional Training Programs, including
training on general Web services as well as WSO2 ESB, Apache Synapse and
Axis2, Data Services and a number of other products. For additional
support information please refer to http://wso2.com/training/course-catalog/

Support
WSO2 Inc. offers a variety of development and production support programs,
ranging from Web-based support up through normal business hours, to premium
24x7 phone support. For additional support information please refer to
http://wso2.com/support/ For more information on WSO2 ESB visit the WSO2
Oxygen Tank (http://wso2.org)

Monday, June 09, 2008

Apache Synapse ESB 1.2 released

Apache Synapse is an lightweight and easy-to-use Open Source
Enterprise Service Bus (ESB) available under the Apache Software License
v2.0. Apache Synapse allows administrators to simply and easily configure
message routing, intermediation, transformation and logging task scheduling,
etc.. The runtime has been designed to be completely asynchronous,
non-blocking and streaming.

The Apache Synapse project and the 1.2 release can be found here:
http://synapse.apache.org

Apache Synapse offers connectivity and integration with a range of
legacy systems, XML-based services and SOAP Web Services. It supports
non-blocking HTTP and HTTPS using the Apache HTTPCore (http://hc.apache.org)
components, as well as supporting JMS (v1.0 and higher) and a range of
file systems and FTP sources including SFTP, FTP, File, ZIP/JAR/TAR/GZ
via the Apache VFS project (http://commons.apache.org/vfs/filesystems.html).
At the same time Synapse 1.2 release adds the support for the Financial
Information eXchange (FIX)
an industry driven messaging standard through
QuickFixJ, Hessian binary web service protocol, as well as other functional,
stability and performance improvements. Synapse supports transformation and
routing between protocols without any coding via configurable virtual services.

Synapse provides first class support for standards such as WS-Addressing,
Web Services Security (WSS), Web Services Reliable Messaging (WSRM),
Throttling and caching, configurable via WS-Policy upto message level,
as well as efficient binary attachments (MTOM/XOP).

The 1.2 release contains a set of enhancements based on feedback from
the user community, including:
  • Support for Hessian binary web service protocol
  • FIX (Financial Information eXchange) protocol for messaging
  • WS-Reliable Messaging support with WSO2 Mercury
  • Support for re-usable database connection pools for DB report/lookup mediators
  • Support for GZip encoding and HTTP 100 continue
  • Natural support for dual channel messaging with WS-Addressing
  • Cluster aware sticky load balancing support
  • Non-blocking streaming of large messages at high concurreny with constant memory usage
  • Support for an ELSE clause for the Filter mediator
  • Ability to specify XPath expressions relative to the envelope or body
  • Support for separate policies for incoming/outgoing messages
  • Support for a mandatory sequence before mediation

The combination of XML streaming and asynchronous support for HTTP and HTTPS
using Java NIO ensures that Synapse has very high scalability under load.
Performance tests show that Synapse can scale to support thousands of
concurrent connections with constant memory on standard server hardware.

Apache Synapse ships with over 50 samples
(http://synapse.apache.org/Synapse_Samples.html)
designed to demonstrate common integration patterns "out-of-the-box",
along with supporting sample services, and service clients that
demonstrate these scenarios. Apache Synapse is configured using a
straightforward XML configuration syntax
(http://synapse.apache.org/Synapse_Configuration_Language.html).

Apache Synapse is openly developed by a community that welcomes all
forms of input, ranging from suggestions and bug reports to patches and
code contributions. Your comments and feedback on the project and release
are welcomed.

The Apache Synapse code and binaries are available from the website
at http://synapse.apache.org

Thursday, June 05, 2008

WSO2 Web Services Framework for PHP v1.3.2 Released

WSO2 Web Services Framework for PHP (WSO2 WSF/PHP), is an open source,
enterprise grade, PHP extension for providing and consuming Web Services
in PHP.
WSO2 WSF/PHP is a complete solution for building and deploying Web
services and is
the only PHP extension with the widest range of WS-* specification
implementations.
It's Key features include, secure services and clients with WS-Security
support,
binary attachments with MTOM, automatic WSDL generation (code first
model),
WSDL mode for both services and clients (contract first model)
and interoperability with .NET and J2EE.

You can download the release from:
http://wso2.org/downloads/wsf/php

Project home page:
http://wso2.org/projects/wsf/php

------------
Key Features
============

1. Client API to consume Web services
* WSMessage class to handle message level options
* WSClient class with both one way and two way service invocation
support
* Option of using functions in place of object oriented API with
ws_request

2. Service API to provide Web services
* WSMessage class to handle message level options
* WSService class with support for both one way and two way
operations
* Option of using functions in place of object oriented API with
ws_reply

3. Attachments with MTOM
* Binary optimized
* Non-optimized (Base64 binary)

4. WS-Addressing
* Version 1.0
* Submission

5. WS-Security
* UsernameToken and Timestamp
* Encryption
* Signing
* WS-SecurityPolicy based configuration

6. WS-Reliable Messaging
* Single channel two way reliable messaging

7. WSDL Generation for Server Side
* WSDL generation based on annotations and function signatures, and
serving on ?wsdl or ?wsdl2 requests

8. WSDL mode support for both client and server side
* Write services and client based on a given WSDL
* WS-Addressing and WS-SecurityPolicy is supported in WSDL mode

9. REST Support
* Expose a single service script both as SOAP and REST service

10. Provide easy to use classes for common services
* Consume some well known services such as Yahoo search and Flickr
and Amazon services using predefined classes

11. wsdl2php.php script. This script can generate PHP classes for services
and clients for a given WSDL to be used with WSDL Mode .

--------------------------------
Major Changes Since Last Release
================================
* Added HTTP Authentication support in WSDL mode
* Fixed a memory corruption in wsdl mode

-------------------
Reporting Problems
===================
Issues can be reported using the public JIRA available at:
https://wso2.org/jira/browse/WSFPHP