Software as a service or SaaS is something we come across everywhere. From Salesforce to Netsuite it's all around us and most probably plays an integral part in most companies' daily routine. So is SaaS and PaaS the same?
Actually, many SaaS companies do abuse the term this way. They provide a set of services and market it as a whole platform, and therefore term it as PaaS. PaaS is actually something that sits underneath your SaaS stack. PaaS allows you to build and integrate your customized solution on the cloud. So, basically, PaaS would allow you to build your SaaS and so much more. The real killer feature of a PaaS is that it can be a competitive advantage. Because you can leverage a PaaS and build your own solution, but SaaS provides just the same functionality to everyone. You only need to be able to afford to open up an account.
I learnt a lot of PaaS through contributing to the code of Stratos. The underlying concepts of multi tenancy, elasticity and provisioning gave me a lot of experience and actual knowledge how to implement them in running real life code. You can try the hosted version of this open source PaaS, at https://stratoslive.com/. Sign up is free, so please do give it a try. Also, if you are like me, you love to see the actual running code. You can download the source and set up Stratos on your own computer. Yes, you can do it on your laptop. I have 4GB RAM and it runs fine on my machine.
Tuesday, July 19, 2011
What the heck is Platform as a Service?
Sunday, July 17, 2011
Complex event processing (CEP) for business activity monitoring (BAM)
Business activity monitoring is mainly based around the ability to define key performance indicators (KPIs) and the ability to monitor them. Monitoring just does not mean being able to monitor visually, but the ability to generate alerts as well.
The inherent ability of CEP is to define queries for a time windows makes it ideal for defining KPIs. The ability to fire events based on the result of these queries allows us to make use of these events to fire alerts as well. So by integrating a CEP engine and a messaging system actually allows a product to have KPI definition and alerting functionality.
For a WSO2 product, we both have BAM and CEP features available in the feature repository. WSO2 Business Activity Monitor, or WSO2 BAM, already has a powerful visualization and monitoring framework. We can install the CEP feature into WSO2 BAM (If you haven't worked with WSO2 products, this just a few clicks on the UI). The CEP feature can subscribe to any broker that supports WS-Eventing or JMS and receive any events and fire alerts through the same. So, this means that BAM is now ready for defining KPIs. With BAM's dashboards and data publishers you have a powerful monitoring product at your disposal.
Stay tuned with a tutorial on covering a whole scenario of KPI definition on alerting based on the WSO2 product stack.
MVYGRQT4TVDY
The inherent ability of CEP is to define queries for a time windows makes it ideal for defining KPIs. The ability to fire events based on the result of these queries allows us to make use of these events to fire alerts as well. So by integrating a CEP engine and a messaging system actually allows a product to have KPI definition and alerting functionality.
For a WSO2 product, we both have BAM and CEP features available in the feature repository. WSO2 Business Activity Monitor, or WSO2 BAM, already has a powerful visualization and monitoring framework. We can install the CEP feature into WSO2 BAM (If you haven't worked with WSO2 products, this just a few clicks on the UI). The CEP feature can subscribe to any broker that supports WS-Eventing or JMS and receive any events and fire alerts through the same. So, this means that BAM is now ready for defining KPIs. With BAM's dashboards and data publishers you have a powerful monitoring product at your disposal.
Stay tuned with a tutorial on covering a whole scenario of KPI definition on alerting based on the WSO2 product stack.
MVYGRQT4TVDY
Saturday, July 16, 2011
HOWTO: Increase performance in your application
This blog has moved to : http://mackiemathew.com/2011/07/16/howto-increase-performance-in-your-application/
Monday, June 20, 2011
No power of operation in Java
Just found out that the usual power of (^) operation is not available in Java.
This wasted an hour of my time. So for anyone else who's about to try, please use Math.pow instead of this operator. And no, it doesn't give a compilation error either.
Instead of : 2 ^ 3, use Math.pow(2, 3).. tada, how convenient, NOT!
Sunday, June 12, 2011
WSO2 Business Activity Monitor 1.3.0 Released!
Today, I do my first release as the product manager of WSO2 Business Activity Monitor (BAM). We released WSO2 BAM version 1.3.0.
You can check it out at : http://wso2.org/library/bam
Yay!
You can check it out at : http://wso2.org/library/bam
Yay!
Sunday, May 29, 2011
Detect fake photos - error level analysis
Image processing was an area I was interested in, but wasn't interested enough to do some development with it. So while googling around, I found this neat way to detect fake photos. For example, consider a scenario, where I had two screen shots of the same screen, and both of them looked extremely real, except that the content was slightly different. There was no way I could distinguish between the two, unless I was a digital forensic expert.
But, after a looking around I found a neat tool, that which provides a nice analysis of photos. After that, a little bit of intuition and you can identify what part of the photos were faked out.
Here's how it works.
Here's a great read about the tool: http://www.techlikes.com/2010/09/23/software-tool-to-detect-fake-images.html - In the example, notice that there's a mistake - the fake photo error level analysis is swapped with the real one, compared to the fake and real photos.
Disclaimer: Don't go making accusations based on what you THINK is fake based on this tool, unless you are an expert. :)
But, after a looking around I found a neat tool, that which provides a nice analysis of photos. After that, a little bit of intuition and you can identify what part of the photos were faked out.
Here's how it works.
- Upload your images to imgur or any other image hosting service.
- Submit the link of the image to http://errorlevelanalysis.com/
- Next you will see a heat map of the image that highlights areas with error.
Here's a great read about the tool: http://www.techlikes.com/2010/09/23/software-tool-to-detect-fake-images.html - In the example, notice that there's a mistake - the fake photo error level analysis is swapped with the real one, compared to the fake and real photos.
Disclaimer: Don't go making accusations based on what you THINK is fake based on this tool, unless you are an expert. :)
Thursday, May 26, 2011
[SOLVED] This page contains the following errors: error on line x at column y: XML declaration allowed only at the start of the document Below is a rendering of the page up to the first error.
Ever seen the error on $subject and looking for answers. Recently, I encountered the error when working with XML parsers in different browsers.
Scenario: I was seeing no issue with Firefox but with Chrome I kept getting the error shown in $subject.
Cause: After some debugging I found that this is due to the XML Parser used in chrome. After a certain query, if my result set was empty, my program was sending back and empty string ("") back to the browser. When this is parsed for XML, Chrome threw the error shown in $subject.
Solution: If you are parsing for XML, send XML. When my result set was empty now I sent back an empty parent xml tag (i.e. <result></result>) and the problem was solved. Hope this helps anyone who comes across this issue.
Subscribe to:
Posts (Atom)