Thursday, January 21, 2010

HTTP client supporting REST, SOAP, Hessian etc for testing and Load testing!

The AdroitLogic UltraESB includes the ESB and SOA ToolBox - that can be used to test any payload over HTTP/S. Supporting all methods over HTTP such as GET, POST, PUT, DELETE, HEAD and OPTIONS, it allows a payload pasted into a text area, or read as a file to be sent to any HTTP/S endpoint, optionally authenticating the request with HTTP basic or digest authentication.

The user can select if the request should use HTTP 1.0 or 1.1, or send the entity as chunked or using 'Content-Length' encoding, if the '100-Continue' expect handshake should be used-or-not, if HTTP KeepAlive should be used or not, and if response  compression (i.e. GZip) is requested. If the request is over SSL, you could also turn off SSL Trust and Hostname verification for testing purposes - such as when using test certificates. Additionally, it can also use an identity certificate if 2-way SSL is requested.

To make this even better, the ToolBox also offers a HTTP/S Load test version of this same utility - that can be used to load test REST, SOAP, Hessian or any kind of payload over HTTP/S. This Load Test utility is a clone of the popular Apache Bench load test client - but much more advanced and stable!

The ToolBox also includes a TCP Dump utility - that can be used to view requests over the wire - in both HEX and Text formats. It additionally introduces support to capture a request into a file - which allows one to capture any kind of request message - even WS-Secured messages, Hessian binary messages etc, which can then be used with the JavaBench - to run a load test against your services.

For those who really knows what they are doing, and for example if you would like to test your ESB or SOA server for its support against malicious or malformed requests - there is a Raw socket client.

This allows one to hand-craft a HTTP request as you wish! The ToolBox also hosts a module that will start one or more Jetty servers with sample applications, which could then be used to test your ESB or SOA services. Starting multiple instances over different ports allows one to easily test load balancing and fail-over options of your ESB.

Finally the ToolBox allows you to start an instance of the UltraESB - the ultimate ESB that is simple to use, but supports ultra performance! Do read the full article "Getting started with the AdroitLogic ToolBox for the UltraESB" and follow through the end-to-end sample to get started.

Wednesday, January 20, 2010

Mock Services - be it either REST, SOAP or even any other!

The UltraESB allows the creation of Mock Services for almost any protocol over multiple transports. Thus you can mock REST, SOAP, Hessian, or even JMS, Email or File/FTP related services, or even other such services easily.

The article "Mock RESTfully with the UltraESB" shows how one may write Mock services for REST methods GET, POST, PUT and DELETE.. The mock service implementation can be written as Java as a class, code fragment or a Spring bean, or as any JSR 233 Scripting language code. However, you do NOT need to compile, bundle, deploy any of these - as the UltraESB does all that automatically! Just checkout the sample and see how a dozen lines of configuration can simplify your tasks!

The AdroitLogic ToolBox will allow one to test the mock services, as well as any other backend services. It includes sample RESTservices, a RFC 2616 compliant HTTP/S client that supports basic and digest authentication and 2-way SSL in addition to supporting GET, PUT, DELETE, POST, HEAD and OPTIONS for REST.

Proxy REST through the UltraESB

The UltraESB from AdroitLogic fully supports REST! Thus you can use it to proxy GET, POST, PUT, DELETE, HEAD, OPTIONS and TRACE compliant with the HTTP spec RFC 2616!

For an example on the configuration, refer to this article "RESTful Proxy Services with the UltraESB" which describes how a JBoss RESTEasy service can be proxied via the UltraESB - and demonstrates the above REST methods, and the automatic 'Location' header re-writing etc, which allows the Proxy service to fully hide the real service.

The UltraESB also includes a very useful utility - the ToolBox! It allows one to play with all the above HTTP methods with an easy to use and intiutive graphical user interface. Read this article on how to use the ToolBox as an ESB and SOA test toolkit - "Getting started with the AdroitLogic ToolBox for the UltraESB"

As the UltraESB ships ready-to-run samples, you do not need anything other than the 25MB download available from And this includes ALL thats required to test this sample, including a sample RESTful service, and the HTTP/S client from the ToolBox

Tuesday, January 19, 2010

AdroitLogic Announces the Availability of a Simple to Use - High Performance Enterprise Service Bus [ESB], UltraESB

Introduces Zero-Copy Proxying with Non-Blocking IO and a Custom WS-Security Implementation, to Act as a High Performance Intelligent Layer 7 Router and Load Balancer

Singapore - January 19, 2010 - AdroitLogic Private Ltd. announced today the availability of the first public beta release of its Enterprise Service Bus (ESB), UltraESB. The UltraESB allows Zero-copy proxying of messages using Non-Blocking IO, to scale and support extremely high numbers of concurrent connections over HTTP/S. In addition, it includes support for B2B integration with AS2, and a custom WS-Security implementation, designed to yield better performance when used as a corporate security gateway.

By moving away from a canonical message format, the UltraESB natively supports multiple types of payloads over transports such as HTTP/S, JMS, File, FTP/S, SFTP and Email (POP,IMAP,SMTP). In addition, it can act as a B2B AS2 (Applicability Statement 2) connector to integrate backend systems, securely with trading partners over the Internet. Fully supporting REST, SOAP, XML, Binary, Hessian, EDI, Text, HTML etc as payloads, the UltraESB ships with a load of ready-to-run samples and documentation. A graphical test utility 'ToolBox' bundled with the UltraESB, contains a HTTP/S client for REST/SOAP/Hessian etc, a TCP dump and capture utility, a load generator, and other useful utilities for testing and experimentation.

The UltraESB has been designed and developed from scratch by its architect, using the knowledge gained by contributing over 70% of the original codebase of the Apache Synapse ESB, as well as supporting its users for almost 4 years. Without requiring the users to learn a new XML configuration language, or write-compile-and-deploy code, the UltraESB is configured with a Spring configuration, and allows mediation to be specified as Java code right within the configuration, separately or as compiled byte code. By supporting JSR 233 scripting languages, it allows the user to use languages such as Groovy, Javascript, Ruby etc. for mediation as well. The UltraESB allows intelligent IDE integration with auto completion and validation, Java mediation editing, and debugging right from within the IDE. Its dependencies have been kept to a minimum set of stable libraries, to enable regular release cycles and quick builds. With JUnit tests currently covering half of the codebase, the UltraESB makes it easier for end users to write unit tests to automate most types of end user testing. The UltraESB is easily managed, monitored and controlled via JMX, and provides advanced support for JTA or local transactions, including suspension and resuming of transactions by different threads of execution.

AdroitLogic offers a range of service and support options for the UltraESB. These include consulting, custom development, sponsorship of feature development, development & production support and training. Additionally, AdroitLogic hosts public user forums, articles, samples and other material on the use of the UltraESB at its website

The UltraESB is offered free of charge for unlimited production deployment. AdroitLogic believes in working closely with real enterprise users of its software, and thus invites them to participate in defining its road map, schedule and features for releases. Becoming a parter with AdroitLogic, offers users access to its source code.

About AdroitLogic
AdroitLogic Private Ltd. is a young and innovative technology company based in Singapore, that believes in, and proves that better design and clever code yields much better software. Being a self-funded startup, AdroitLogic is driven by entrepreneurial spirit, personal dedication and commitment of its founders, who are personally involved with its design, development and support.

Contact Information
Asankha Perera
Tel: +94 722 805724