Increasing Axis2 Popularity

Saturday, August 30, 2008

Apache Axis2, the core of WSO2 Web Services Application Server (WSAS), has been showing exponentially increasing popularity growths. for more details, see my blog post on the exponentially increasing Axis2 popularity.

Where does WSAS fit into your enterprise deployment?

Saturday, August 23, 2008

Figure1: Open source SOA product deployment

Where does WSAS fit-in in your enterprise deployment? Figure1 shows how WSAS as well as other open source SOA products from WSO2, The Open Source SOA Company, fit into a typical enterprise deployment. Of course, this is only one of the ways in which WSAS as well as other open source SOA products from WSO2 can be deployed. In fact the above deployment diagram shows how one of largest managed care organizations has deployed WSAS as well as the other SOA products.

Figure 2: Deployment of WSO2 WSAS & WSO2 ESB for High Availability

An enterprise deployment cannot afford to have any single points of failure. Even with some degree of degraded performance, the system should continue to function correctly, until such time that it can be brought back to full operating capacity. Figure2 depicts how a 2-node WSO2 ESB cluster fronts a 2-node WSO2 WSAS cluster. WSO2 WSAS is used to expose some existing business logic running on mainframes as Web services, as well as to expose some enterprise data as Data Services. WSO2 WSAS supports POJO services, whereby POJOs containing the business logic, like in this case, can be easily exposed as Web services. In fact, this is the path take by most enterprises which begin to SOA enable their systems. It is also common for some of the business logic of such systems to reside in databases in the form of stored procedures. WSO2 Data Services running within WSAS enables the exposing of data & stored procedures as services. Of course, ideally the enterprise architects have to clearly define the contracts when designing the system before any implementation is carried out, but the real-world situation is that most companies have already invested large sums of money into their software systems, and cannot afford to throw all that away and start from scratch. So the meet-in-the-middle approach is to first expose some of the existing logic as services, and then gradually refine the systems to come up with clean contracts. Newer components in the system can do it the proper way by starting by defining clean contracts. WSAS supports the contract first approach for this purpose, where the architects will write WSDLs defining the proper interfaces, and subsequent development work will be based on these WSDLs.

For more details on how WSAS as well as other open source SOA products from WSO2 can fit into your enterprise, see this case study by Asankha Perera who is the Software Architect and Product Manager of WSO2 ESB

Security features of WSO2 WSAS

Monday, August 18, 2008

One of the main advantages of WSO2 WSAS is it’s built in security features. They can be very easily configured using the web administration console.

  • SSL Support
    WSO2 WSAS has out of the box SSL support. All you need to do is change the WSAS default SSL certificate with your certificate which you may have purchased from a certificate authority or you can even use a self signed certificate.
  • WSAS Security Configuration
    WSAS Security Configuration consists of WS–Security Policies for most commonly used transport level and message level security scenarios. These policies are based on security requirements such as Authentication, Integrity, Confidentiality, Non-repudiation, Message Freshness and combinations of them. There are policies which optimize securing multiple messages using WS – Secure conversation and also policies which allow trust brokering through WS-Trust. These default policies can be further tweaked to suit custom scenarios using the built in policy editor.
  • User Management and Key Store Management
    WSO2 WSAS provides user management features such as adding users, deleting users and changing user passwords through the web administration console. It also allows users to be grouped in to roles. Set of users or roles can be easily associated with a web service for Authentication.
    WSO2 WSAS also provides key store / certificate management features. WSAS can handle both JKS and PCKS12 keys stores. Using the WSAS administration console, we can upload key stores, view the content of a key store, import certificates to a key store as trusted certificates, remove certificates from key store and remove certificates from existing key stores.
  • WSAS Security Token Service (WSAS STS)
    WSO2 WSAS comes with a built in Security Token Service built on top of WS-Trust protocol which can be used to issue SAML tokens. Security Token Services can be used to broker trust between two untrusted parties when both parties have a trust relationship with the Security Token Service. WSAS STS supports all the four bindings defined in the WS – Trust that is Issue binding, Validate binding, Renew binding and Cancel binding.
  • WSO2 XKMS (XML Key Management Specification) service
    WSO2 WSAS also ships a inbuilt XKMS trust web service. Main objective of XKMS trust web services is processing and management of PKI-based cryptographic keys. This allows web services to delegate the key processing functionality to XKMS service reducing the complexity and making it more manageable.
  • WSO2 Mex and WSO2 XFer modules
    WSO2 Mex (implementation of WS-MetadataExchange) and WSO2 XFer (WS-Transfer) are two modules that ship with WSO2 WSAS which supports metadata exchange. These modules can be used to exchanges metadata about web services such as policies, WSDLs, schema specially when you want to implement web services federation.
  • WSO2 POX (Plain Old XML) security handler
    WSO2 WSAS allows RESTful web service invocations to be protected with HTTP Basic Authentication via WSO2 POX security handler. This is integrated with the user management.

Tooling capabilities of WSO2 WSAS

Friday, August 15, 2008

WSAS comes with several tools that are useful to Web service developers as a whole(& especially to developers using Axis2).
Some of them are,
  • WSDL2Code generator - Give us your WSDL(online WSDLs are also supported) & we can generate both service & client side Java code for you.
  • Java2WSDL (WSDL View) - Generate/View WSDLs from Plain Old Java (POJO) Web services
  • WSDL Converter - Still running on WSDL 1.1? convert it to 2.0 using our WSDL Converter
  • Try It - Give us the URL of your WSDL & we generate a UI through which you can call the service
  • AAR Validator - Validate your Axis Service Archives & services.xml

WSAS Integrates leading Apache WS Projects

WSO2 WSAS packages a number of popular Apache Web services components. Seamlessly integrating these components in not a trivial task for a Web service developer. WSO2 WSAS takes this burden off the shoulders of the Web service developer and provides a clean and simple interface.

The figure above clearly shows the relationship between WSO2 WSAS and other Apache WS Components, as well as some other popular Open Source components.

At the core of WSO2 WSAS is the popular Apache Axis2 Web services engine, which has proved to be one of the fastest Java Web service engines. Apache Axis2 has an extensible messaging engine architecture, which enables plugging-in of other quality of service modules (QoS). Apache Addressing, Apache Rampart, Apache Rahas and Apache Sandesha2 are such quality of service modules which are included in WSO2 WSAS. These QoS modules also seamlessly plug-in to Apache Axis2. These QoS modules implement the most popular and widely used WS-* standards; hence they have been prominently shown in the diagram. Needless to mention, security & relaibility are two essential aspects of any enterprise deployment. Rampart & Rahas provide implementations of WS-Security, WS-Trust & WS-SecureConversation. Sandesha2 is an implementation on WS-ReliableMessaging.

Apache AXIOM is the default XML Infoset representation used in WSAS. One of the reasons for the high performance of WSAS is the usage of a pull-based XML object model. Apache Neethi is the WS-Policy framework. In addition, WSO2 WSAS also bundles Apache XMLSchema which provides utilities for XML Schema manipulation, and Apache WSS4J, which contains implementations XML Security specifications as well as useful security utilities.

What is WSAS?

WSO2 Web services application server (WSAS) is a Web services engine powered by Apache Axis2. WSO2 WSAS provides a secure, transactional and reliable runtime for deploying and managing Web services.
It is not a JEE application server, rather a platform for developing and deploying Web services, using any standard Java application server out there. WSO2 WSAS is a truly open source product released under Apache License v2.0

The key feature is the management console. You also have the benefit of world class development and production support from WSO2 Inc.

It is battle tested, production hardened and quality guaranteed.

Try it today and experience the power of SOA tooling from WSO2.