Tuesday, September 16, 2008

Reports using Wolf Platform as a Service

Ok... I've created my Business Application using Wolf Platform as a Service . I have my Business Process in place.

So what next??
Oh... I need a Report on critical details on which my process depends!!

Lets revisit my favourite Business Application - the Defect Tracker, to see how I can generate a simple Report using Wolf PaaS.

Three main components are required to create a Report using Wolf Platform as a Service -
1. A Wolf Business Rule to define the content of the Report
2. A Wolf Report that uses the Business Rule in Step 1 to generate the Report
3. A Navigation item which makes the Report in Step 2 accessible in the "Run" environment of the Application
All these steps will be implemented in the Design Environment of the Wolf PaaS.

Lets say I need a simple report on the number of Defects logged per Defect Severity.

Step 1 - The Wolf Rules Designer assists me in writing my Business Rule for generating the Report.

Lets take a look at the Business Rule required to generate the report -


The Business Rule simply obtains all the records logged in the Defect Tracker grouped by their distinct Defect Severity and performs a count of the number of records under each distinct group .

Step 2- The Business Rule created in Step 1 is then used to generate a report using the Wolf Reporting Designer.

In this step we create a Wolf Report called "Total Defects Per Severty" using the Wolf Reporting Designer.

This report is shown below -
As the "DataSource" for this Report, we use the Business Rule designed in Step 1.

On adding the DataSource and Saving and Publishing the changes, the report is automatically configured as per conditions defined in the Business Rule of Step 1.

The "Detail" section of the Report is used to specify the desired layout for the Report.

Step 3-
We then link the Report created in Step 2 to a Wolf Navigation item in order to make it accessible in the "Run" Environment of the Application(Remember we are performing these 3 steps in the Design Environment).

This can be achieved by simply creating a Navigation Item using the "Wolf Navigation Designer" and linking the Report created in Step 2 to this Navigation Item.

Once these steps are completed, I proceed to give the approporiate people access to the newly created Navigation Item.

I go the run environment ....and voila -

I have my report with the desired information.

Wolf PaaS further comes prepackaged with the ability for me to Export my report to Word or Excel and to Print my report.

So there you have it.... a simple report in Wolf PaaS .

Go ahead and explore the power of Business Rules and Reports using Wolf PaaS.

Thursday, September 11, 2008

Implementing your Business Process using Business Rules in Wolf Platform as a Service

I recently went thru' a very interesting way of implementing a Business Process by making use of Wolf Platform as a Service Business Rules widget. The uniqueness of the Business Rule is the flexibility it encompasses while my business scenarios change (sometimes beyond my expectations) ..

The most common complaint while Testing an application and reporting Defects for the defect tracker application was the cumbersome Process adopted in the Testing Process and how a custom process is the need for most App Testers.

The basic requirement in the Testing Process is to reduce the time taken from detection of a Defect to its closure . For instance, while testing a small application a tester might need to adopt a "New Defect" --> "Fixed" --> "Closed" process. Let's call this a "Simple flow through Defect scenario" and in most cases this should do .

Now if we consider a scenario where the teams are working across geographies/locations and it involves a large drawn process involving several sub processes. In this case, there are generally more steps involved such as an indication that Work is in progress and to refrain from testing , Uploads are awaited to fix the defect ,etc depending on the steps involved .

It is clear then , that there is no definite Testing Process which works across all applications/organisations.

Let us now consider how a Business Rule in Wolf PaaS allows us to implement a custom Testing Process.

Let us assume we already have an Entity Defect which has, among other fields ,two fields called Current Defect Status and Next Defect Status.
The Entity Defect basically contains all the information related to a single Defect such as its Severity, the Defects Description , the Application in which it was detected , etc.

Can an Entity called "Status Table" which contains two fields - "Present Status" and "Possible Status".

"Present Status" is analogous to the "Current Defect Status" and "Possible Status" to the "Next Defect Status" of Defect Entity or in other words,what next states of a Defect are possible based on its current state.

For Ex -
Consider a "Simple Flow through Defect Scenario-
The entire process is defined as-
  1. IF Present State = "New" then Possible State = "Fixed"
  2. IF Present State = "Fixed" then Possible State = "Closed"

Let us now consider a more complex process in which a "New" Defect can be dealt with in multiple ways . This can be defined as-

  • IF Present State = "New" then Possible State = "Retest" OR
  • IF Present State = "New" then Possible State = "Upload Awaited" OR
  • IF Present State = "New" then Possible State = "Work In Progress" OR
  • IF Present State = "New" then Possible State = "Deferred"

Similarly, we define in "Status Table" for each of the Present States what are the next Defect states possible.
Lets call this process as "Status Mapping" and it contains the crux of the Testing Process adopted.
Note- The entering of these values needs to be done via the corresponding Edit Screens related to the Entity.
Once we have completed this Mapping process we then proceed to the Business Rule portion which relates the fields in the "Status Table" Entity to the corresponding fields in the "Defect" entity.

The Business Rule in Wolf Platform as a Service is shown below -


The Business Rule provides the mapping between the "Present Status" --> "Current Defect Status" and "Possible Status" --> "Next Defect Status".

Hence, the entire custom Testing Process is implemented using the Business Rule.

An important advantage of this method of implementing a Business Process is that there is a level of abstraction between the Testing Process and the Defect Tracker Application.
Therefore, if the need arises to change the Testing process it can be done by changing the "Status Table" and the Defect Tracker remains largely unaffected.
Hence any change to the Testing Process, however big or small, does not effect the Defect Tracker application as a whole.

Business Rules are really the muscle of the Wolf Platform as a Service.

Check out the Defect Tracker at :Wolf Solution Gallery

Tuesday, September 9, 2008

Bugs and The Defect Tracker .

"I got bugs
I got bugs in my room
Bugs in my bed
Bugs in my ears
Their eggs in my head
Bugs in my pockets
Bugs in my shoes
Bugs in the way I feel about you
Bugs on my window
Trying to get in
They don't go nowhere
Waiting, waiting..."

Do YOU feel this way often??Relax... it's a song by Pearl Jam called "BUGS" :-)

But wait... this is how I feel too....... every time I find a Bug in my Software program!! :-(

Bugs or Defects are every one's nightmare come true... more so for a Programmer...
They are constantly playing "Hide and Seek" with the Programmers!! They are the itch which doesn't seem to go away!

Statistically speaking, the later a bug or defect is detected the higher the cost incurred in fixing the Defect..
So... in simple terms .. catch your Defects early... and eliminate them...

But it's easier said than done....HOW do I keep track of all my Defects? HOW do I manage the Defects I've found? How Do I eliminate these Bugs once and for all? The questions are endless!!

and... VOILA... We had a partner who built a "Defect Tracker".... Using Cloud Computing they went once step ahead by building a Web Based Defect Tracker using Wolf Platform as a Service to help me track my defects anytime and anywhere!!
Plus it came equipped with some really cool features which enabled me to implement my custom Defect Tracking Process !!

But don't take my word for it... go ahead and try the "Defect Tracker" for yourself and see the "Bugs" disappearing from your Process.

Visit the Solution Gallery at :Wolf Solution Gallery to check it out for yourself.

Monday, September 8, 2008

ISV's love us ...

We are going public... I mean the public beta release for Wolf PaaS is almost ready :)

Trying to gather the team -- we were all out for lunch today and happen to meet a dear old customer from our application development days. For simplicity, I would keep my friends identity anonymous and refer him as 'George'.

George runs a very successful market research and online analytics venture with most of their customers belonging to the fortune 500 with offices in UK, USA, Ireland and India. Their success is built upon the time tested research and customer analysis methodology which is deeply ingrained in everything they do. Over the years, they have heavily relied on technology and recently internet programs for customer access, running campaigns and digitizing business rules for 360' customer analysis. So to say, an ISV (Independent Software Vendor) which has done exceptionally well...

In 2001, when they moved their client server based research system on the internet, we suggested them the .ASP route, which cost him approximately INR 500,000 (USD$ 21000000 at current currency value), which worked great unless the threat of limited support for ASP got to them like Pascal did, and handed them over to Microsoft .NET with VB.NET & another fresh round of budget/investments. Turns out he is on the verge of another change, simply because every customer demands a SaaS enabled copy and he thinks this would help him to break even on his heavy technology infrastructure and unlock from expensive hardware-software licenses, etc. Such is the unappreciating world of technology ...

Let’s jump to the people side of things - where the scenario is bit scarier! The in house software development team with George has increased two times and seems like most of the time is spend on requirement analysis, system design and communication regarding business rule changes which is tied down to the software code. The software seems to be running the business, not him.

Now that we were all down with a few more rounds of caffeine, well past our next scheduled meetings -- we spoke at length on some of the concepts behind our PaaS and how technology evolutions have little or no implications on our cloud applications. We went right across his pain points, addressing the separation of software code from business rules and touched upon the dangers of SaaS – locked inside a cloud. We could see the shine on his face, the customer acceptance in his own eyes and will never forget his astonishing comments, 'If only I had a transformation engine, I could change my business rules and get it to work with all the software’s in the world’

Hastily, I couldn’t resist, ‘This is why we exist George, thank you for assuring us -- ISV's do love us a lot…’

The Taxonomy of Entity Relationships in Wolf PaaS...

Hi Friends,

Today we released a really cool functionality – reference of Entities in the Entity Preview window for Business Analyst. Some of you might remember, previously when you would drop and click an Entity you would not have anything on the preview section unless you click on the Edit Screen Preview; where you could see the different fields/attributes of the same entity only.

Now, here’s the change:

As you can see in the above image, the Entity ‘Account’ has been referenced easily. The cool thing is not only the ability to see the relationship of the Entity with other business rules, navigation, attributes but also the Taxonomy of relations and reference of each & every entity of the system in relation to the Account Entity.

I guess it should be easy for you to define the tree of most used Entities and most important data for your own applications now.
Thanks,

DesignBuster

To invoke a Wolf based SaaS application from a .NET program

Hi Friends,

Recently we designed a small web based billing application for our partner using our Wolf XML Platform. The partner needed the billing application to work with their existing product, which can be accessed online. So here's the simple .Net Web Services & how to invoke it from your application for you.

The first thing was to authenticate the user using the login ID and password from the application.The second thing was to invoke a business rule of our application & it will give the output in xml format. And the last thing was to use web service since it is independent of OS ,independent of programming languages and easy to use. Here are the steps, you should try when you get time :)

Steps to invoke a webservice in our application:

First step:
create a windows application and click on the solution explorer window & then click on webreferences then enter the url of webservice http://www.wolfframeworks.com/webservices/wf.session/session.asmx?wsdl
this url is for login authentication.

Second step:

add a reference to this url http://www.wolfframeworks.com/webservices/wf.object/businessrules.asmx?wsdl

Third step:

//code to authenticate user id & login
/******************************************/
private void button1_Click(object sender, EventArgs e)
{
WolfSession.Session obj = new WolfSession.Session();
try
{
this.Cursor = Cursors.WaitCursor;
System.Net.CookieContainer c = new System.Net.CookieContainer();
obj.CookieContainer = c;
string s = obj.IsUserAuthenticated("your login id","your login password","application id");
//application id You can see the application id in the Run URL. Please refer to the ?appid= querystring parameter.
MessageBox.Show(s);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
this.Cursor = Cursors.Default;
}
/***********************************************/

Fourth step:

//code to invoke a business rule
private void button2_Click(object sender, EventArgs e)
{
WolfSession.Session obj = new WolfSession.Session();
try
{
this.Cursor = Cursors.WaitCursor;
System.Net.CookieContainer c = new System.Net.CookieContainer();
obj.CookieContainer = c;
string s = obj.IsUserAuthenticated("your login id", "login password", "application id");
/*--------------------------------------------------------------*/
wolfbusiness.BusinessRules obj1 = new wolfbusiness.BusinessRules();
try
{
this.Cursor = Cursors.WaitCursor;
obj1.CookieContainer = c;
string var = "";
string x = obj1.processbusinessrule("name of the business rule", var);
MessageBox.Show(x);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
this.Cursor = Cursors.Default;
}
}
Last step press F5

click on first button it will give ur expected output in xml format
true
if ur login id & password is correct
false
if ur login id & password is wrong
click on second button it will give ur expected output in xml format.

All the best and dont forget to send me your feedback...

SharpDeveloper

Monday, September 1, 2008

ISV’s can’t afford to be locked in?

Every year has seasons and every season is different and yet, every year these seasons bring different change based on global impacts. Every business has different seasons, say to launch new line of products or to maximize sales in a certain territory and yet, every season bring different change based on global impacts to introspect and re-innovate …

Today most software vendors are caught between the change of seasons, one which demands large scale standardization in offering/price across different mass consumption markets and one where customers demand ‘Leadership/Innovation’. Put this in context we are talking about working with South America, South East Asia, China and attend to our G7 customers :)

Bringing uniformity across the globe demands standardization, lowering of cost and higher levels of innovation. SaaS is only a starting point which most ISV’s can’t afford to ignore. SaaS brings standardization and lowers cost for customers and vendor, see the chart below.
SMEs benefit hugely using SaaS applications in compared to traditional Software models.





But what about freedom, customer social responsibility, innovation and democratizing technical innovation? Any thoughts … More on this next week …