Skip to main content

Posts

Showing posts from 2014

Implementing Rule based systems with WSO2 products - Learning tutorials and resources

Here are some resources which you can use to learn about implementing rule based solutions using WSO2 products stack. Writing Business rules with WSO2 Carbon platform http://www.dimuthu.org/blog/2010/01/07/writing-business-rules-in-wso2-carbon-platform/ Samples available at WSO2 BRS documentation https://docs.wso2.com/display/BRS210/Samples Integrating business rules and the architecture of rules component http://wso2.com/library/articles/2012/12/bringing-business-rules-soa/ Integrate business rules with WSO2 ESB and WSO2 BRS http://wso2.com/library/articles/2011/04/integrate-rules-soa/ Integrate business rules with WSO2 BPS and WSO2BRS http://wso2.com/library/articles/2011/05/integrate-business-rules-bpel/ Complex event processing and business rules integrations with SOA http://wso2.com/library/articles/2011/07/complex-event-processing-business-rule-management-soa/ Developing business rule services with WSO2 Developer Studio http://wso2.com/library/ar...

Useful network level commands tutorials

Hers is a great web site which provides lot of tutorials on network level commands and use cases. http://www.tecmint.com/20-netstat-commands-for-linux-network-management/ http://www.tecmint.com/35-practical-examples-of-linux-find-command/ http://www.tecmint.com/12-tcpdump-commands-a-network-sniffer-tool/

12 Useful tcpdump commands you can use to troubleshoot network issues

tcpdump  is a most powerful and widely used command-line packets sniffer or package analyzer tool which is used to capture or filter  TCP/IP  packets that received or transferred over a network on a specific interface. It is available under most of the  Linux/Unix  based operating systems. tcpdump also gives us a option to save captured packets in a file for future analysis. It saves the file in a  pcap  format, that can be viewed by tcpdump command or a open source GUI based tool called  Wireshark (Network Protocol Analyzier)  that reads tcpdump  pcap  format files. How to Install tcpdump in Linux Many of Linux distributions already shipped with  tcpdump  tool, if in case you don’t have it on systems, you can install it using following Yum command. # yum install tcpdump Once  tcpdump  tool is installed on systems, you can continue to browse following commands with their examples. 1. Capture Packets f...

WSO2 ESB calling a REST endpoint which expects a not chunked request

WSO2 ESB provides the following property mediator to remove the "Chunked" encoding type when calling SOAP endpoints. You can use the below configuration to call a SOAP endpoint which expects a non-chunked request (Request with "Content-Length" header). <property name=”DISABLE_CHUNKING” value=”true” scope=”axis2″/> Here is a sample proxy service configuration. <?xml version=”1.0″ encoding=”UTF-8″?> <proxy xmlns=” http://ws.apache.org/ns/synapse&#8221 ; name=”SampleProxy_v1″ transports=”https” startOnLoad=”true” trace=”enable”> <description/> <target> <inSequence> <property name=”DISABLE_CHUNKING” value=”true” scope=”axis2″/>          <send>             <endpoint>                <address uri="http://localhost:9764/services/HelloService" ></address>             </endpoint> ...

How to configure timeouts in WSO2 ESB to get rid of client timeout errors

WSO2 ESB has defined some configuration parameters which controls the timeout of a particular request which is going out of ESB. In a particular  scneario, your client sends a request to ESB, and then ESB sends a request to another endpoint to serve the request. CLIENT->WSO2 ESB->BACKEND The reason for clients getting timeout is that ESB timeout is larger than client's timeout. This can be solved by either increasing the timeout at client side or by decreasing the timeout in ESB side. In any of the case, you can control the timeout in ESB using the below properties. 1) Global timeout defined in synapse.properties (ESB_HOME\repository\conf\) file. This will decide the maximum time that a callback is waiting in the ESB for a response for a particular request. If ESB does not get any response from Back End, it will drop the message and clears out the call back. This is a global level parameter which affects all the endpoints configured in ESB. synapse.global_timeout_inte...

How to secure your SOA system with WSO2 ESB - Security patterns tutorial

Security is one of the critical features of any SOA system. All of your enterprise is depend on the security mechanisms applied in your environment. People always think about computer security is some magic under the hood and most people cannot understand it's behavior. But in reality computer security is a well designed system which involves different parties. In this blog post I will be discussing about security aspects of any SOA system and some heavily used security patterns applied to cover those aspects. In any SOA system there can be one or more security patterns applied at different points of the service implementation. Here is a list of features we need to cover through proper designing of security patterns. Identification and Authentication Authorization Integrity Privacy Security auditing Availability Non-repudiation Identification and Authentication (Who you are) System needs to identify and verify the claimed identity of users of your system. Users...

Validating XML messages against more than one XSD with WSO2 ESB Validate mediator

Request validation is one of the important feature of any ESB. If you do not validate the request, it will go through your system and make unnecessary traffic on your resources. If you could validate the requests at the beginning of your message flow, that would help you to respond quickly and avoid resource utilization for wrong requests. WSO2 ESB is the world's fastest one most comprehensive open source ESB available in the market. It is driven by the award winning WSO2 Carbon platform which you can use for any of your SOA implementations. WSO2 ESB provides an OOTB (Out Of The Box) feature for request validation. This is called the Validate Mediator. This will provide you the capability to validate your request against any number of XSD schemas. If you are validating the request against a single XSD file, you can refer the below blog post written by Amani. http://sparkletechthoughts.blogspot.com/2012/09/how-to-use-validate-mediator-to.html In this blog post, I am going t...

Implementing performance optimized code for WSO2 ESB

WSO2 ESB is the world's fastest open source ESB. This has been proved with the latest round of performance test done by WSO2. You can find the results on this test from the below link. http://wso2.com/library/articles/2014/02/esb-performance-round-7.5/ Above results are achieved by tuning the WSO2 ESB for a high concurrent production environment. Performance tuning for the WSO2 ESB server can be found in the below link. http://docs.wso2.com/display/ESB481/Performance+Tuning Let's think that now you have gone through the performance test and tuned the WSO2 ESB according to the above guide. Now you are going to implement your business logic with the synapse configuration language and various extension points provided by the WSO ESB. This blog post will give you some tips and tricks to achieve optimum performance from WSO2 ESB by carefully implementing your business logic. Accessing properties within your configuration properties are a very important eleme...

How to log Garbage Collector (GC) information with WSO2 products

WSO2 products are well known for their performance (WSO2 ESB is the worlds fastest open source ESB). You can even fine tune the performance of WSO2 ESB with the help of the following documentation. https://docs.wso2.org/display/ESB481/Performance+Tuning Sometimes when you are developing your enterprise system with WSO2 products, you may need to write several custom code which can be used as extensions to the existing WSO2 products. As an example, you may write a class mediator to transform your message. In these kind of scenarios, you may need to tune up the WSO2 server further. In such a scenario, we can use the JVM level parameters to optimize the WSO2 server. WSO2 servers are running on top of the JVM and we can use Java Garbage Collector (GC) to tune up the memory usage. Most of the JVM related parameters are included in the startup script file resides in CARBON_HOME\bin\wso2server.sh location. If you need to print the GC level parameters from the WSO2 server log file for ...