WCF or ASP.NET Web API: Which one to choose?

Everybody provides API’s to consume these days. Some of the most popular ones are Facebook, Twitter, Google, Github and the list goes on.

API which build services can be consumed by a broad range of clients, including browsers and mobile devices.

In Microsoft platform API can be created by using couple of technologies and they are WCF AND ASP.NET Web API.

Here I am discussing about the major differences between above two technologies.

wcf-vs-web_v_3

Advantages of Web API  over WCF:

  • Excellent programming model for HTTP.
  • More suitable for access from various browsers, mobile devices etc. enabling wide reach.
  • Enables building APIs that support wide variety of media types including XML, JSON etc.
  • Uses basic protocol and formats such as HTTP, WebSockets, SSL, JQuery, JSON, and XML.
  • HTTP is request/response but additional patterns can be supported through SignalR and WebSockets integration.
  • There is a variety of ways to describe a Web API ranging from auto-generated HTML help page describing code snippets to structured metadata for OData integrated APIs.
  • It is nearly attribute-less and uses convention over configuration to minimize the amount of configuration needed
  • It supports testing well in comparison to WCF infrastructure
  • Web API embraces HTTP’s full goodness such as client-server architecture, web caching, resources, hypermedia, etc.

Advantages of WCF  over Web API:

  • It enables building services that supports multiple transport protocols like HTTP, TCP, UDP, and custom transports
  • Allows switching between multiple transport protocols
  • Enables building services that support multiple encodings (Text, MTOM, and Binary) of the same message type and allows switching between them.
  • Supports building services with WS-* standards like Reliable Messaging, Transactions, Message Security.
  • Supports Request-Reply, One Way, and Duplex message exchange patterns.
  • WCF SOAP services can be described in WSDL allowing automated tools to generate client proxies even for services with complex schemas.

Conclusion:

If you required to use RPC and want to implement enterprise based implementation, then WCF is fine but if you need an API serving all kind of devices Web API is superior.

If you want to move over from HTTP to some other transport, say TCP, NetTCP, MSMQ then WCF will be a better option.

So if we are starting anything from scratch then choose Web API but if you have already have an enterprise WCF app then stick to it.

Recommended Blog: Comparison between ASP.NET MVC or ASP.NET Web Forms

Organization Attribution Model: Complicated but Important to Understand

Most of the time entrepreneurs get trapped, when they are looking for some insight queries about their organization, which help them to invest their money on proper channel to get maximum return. That time they take help of data analyst, and they help them to find solutions for some complex queries like:

  • Which are the most effective acquisition channels for investment ?
  • What people actually do before making purchases?
  • What prompts them to make purchases?

Attribution-mdoel-solves-your-business-query

You will get all your answer if you select right Attribution Model.

Google defined attribution model is the rule, or set of rules, that determines how credit for sales and conversions is assigned to touch points in conversion paths.

There are basically three types of Attribution:

  • Online to Offline Attribution Model: Try to understand the impact of online marketing campaign on offline marketing channel. Number of offline leads we generate because of our online marketing campaign.
  • Multi Device Attribution Model: Try to understand how different gadgets contribute to conversion and how much credit goes to distinct devices for a conversion. Let’s say a customer watch an ad on TV, then he makes search on mobile, later he reads reviews on his tab and finally purchase that product online by visiting the website directly through his laptop.

multidevice-attribution-model

  • Multi Channel Attribution Model: Similarly try to understand how different channel contributes to conversion and how much credit goes to each channel for conversions. Let’s take below example.

multi-channel-attribution

There is another attribution model, which is more realistic one and this model is blending of over three attribution models. First two models are still unresolved puzzled for data scientists. However, you can use the last one to know the real forces or channels behind your revenues.

Now let’s find out which channels gives you better return. Let’s go and check data in your analytic report.

pie-chart

From the above report and pie-chart, you arrive at the conclusion that your most successful medium is direct one while minimum effective medium is SM and CPC medium respectfully. So you need give more focus on referral medium or organic medium than paid medium because it will give more conversion or revenue. Am I right?

Here, attribution model comes into picture. Before taking any decision, just I need to educate you that above multichannel attribution model is focused around last interaction model, mean last interaction or touch point before conversion gets 100% credit. This is the default one in Google Analytic; whereas some other models like: last Non-Direct Click, Last Adword Clicks, First interaction, Linear, Time decay, and position based attribution model are also available(For more you can see : https://support.google.com/analytics/answer/1665189?hl=en&ref_topic=3205717)

Some organizations used different attribution model like first Interaction Model or linear model or something else. So if you see the above chart table by considering the different model, then you may reach some other conclusion. Chances are there if you go for first Interaction Model; you can see CPC medium is more profitable than direct medium because in this model the 100% credit goes to channel which introduces your product or service for the first time.

Therefore, it is important to understand attribution model and for this, you should have deep knowledge about your business, products, and the target market. Otherwise, it will lead you to wrong attribution model and which causes losing money. You can also compare your ROI/ROAS by comparing different attribution model which gives you clearer picture. For this, you can take help Comparison Tool and Multi Channel Funnel Report in Google Analytics.

Read Also: 5 Google services to help you to reach your business goal!

I hope you find this topic useful. At Andolasoft we are still in a process to understand users behavior through different attribution model and I would also like to hear your thoughts regarding this in comment section.

5 Google Services To Help You To Reach Your Business Goal

Every single company or organization has certain goals or objectives. If you are an entrepreneur, then the biggest concern for you is to achieve your organization’s goal.

These goals may vary from organization to organization. Some common business goals are making profit by selling products or service, brand promotion, client retention and so forth.

Here are the top 5 Google products or services those can help you to achieve your business goals.

Marketing_Cart

Google AdWords :

For us Google AdWords is the first thing that come to our mind for advertising our services or products for bigger audience through search/display medium.

According to recent survey more than 2 billion people use Google search and as per Double Click Ad Planner, advertiser can reach to 83% of unique Internet users around the world through Display network.

These numbers are self-sufficient to explain why you should consider Adword paid marketing for your business.

You can pass your message to your potential customer through text, image, video or other rich media Ad medium.

Google Analytics:

This is definitely one of the best API released by Google to give you the insight of business. If you are a business owner, and you are looking for key insights of your business, which may help you in decision making process then you can’t undermine the power of Google Analytics.

You can see from where you get traffic, where did you losing your visitors, what are they searching for, which medium gives you better ROI and lots more.

This is without a doubt helps you to give better online experience to your visitors and to transform them to your potential customers. It has both free and premium versions.

YouTube:

Video is an excellent medium to raise awareness, drive traffic to your site and also helps to generate lead and sales for your business.

YouTube is the largest online video sharing site. According to YouTube, every month, more than one billion people visit YouTube and watch over six billion hours of YouTube videos.

So to reach such a huge customer base through such a powerful medium must be in your marketing list. Also YouTube provides powerful analytic tools that help you to check how your videos can perform and what you can do better.

Besides that you can promote your YouTube videos through AdWords for Video campaign management tool.

AdMob:

Mobile or smartphones has created new revolution in the advertising world. What do you want more than to connect with your visitors in 24X7 basis?

These screens may look small but opportunities they generate is really hard to match and AdMob gives a stage where you can grab those opportunities.

You can promote your apps to countless smartphone and tablet users across the AdMob network; monetize your apps with ads from over a million Google advertisers worldwide, and lots more.

Wildfire by Google:

Wildfire is social marketing software acquired by Google in 2012 for $350 Million.

This acquisition becomes the blessing for an enterprise, who wants to create attractive and interactive social media campaigns, run social ads, and measure social ROI easily and effectively.

This an ideal tool if you want to incorporate social media marketing in your marketing strategy; however most of the features available in Wildfire are not free.

Today we share few products or services of Google that you can include in your marketing strategy.

Apart from this you can consider Google Merchant (highly recommended by considering its increasing popularity), Double Click program, Google My Business and many more.

See Also: Advantages and Disadvantages of Hiring Remote or Virtual Team

Andolasoft is a leading web and mobile app development company. If you are looking for any types of assistance in application development, business Intelligence, AWS or cloud hosting then please send a request and we will reach you.

I hope you enjoyed this topic and this list is definitely incomplete without your suggestions and feedback. So feel free and share your comment below.

Defect Management Process in Software QA/QC

A defect is an error or bug found in the application. A programmer while designing and developing the software could make mistake. These mistakes or errors are also termed as faults in the software.

While testing a software application or product, if the actual result deviates from the expected result then it is termed as defect.

A Software defect / bug is a condition in software which does not meet the requirement or end-user expectation.

Defect Management Process:

Defect management process includes the following steps:

Identify
This step involves detecting a defect. The person noticing the defect is mostly someone in the testing team. In the real world, it can be anyone including individuals in the project team, or even the end-user(customer).

Category
When a defect is reported, it is assigned to a designated team member to confirm that the defect is actually a defect as opposed to an enhancement, or other appropriate category. Once categorized, the defect moved into the process flow and the next step is to prioritize it.

Priority
Priority is based on combination of the severity of impact on the usability, relative effort to fix, along with a comparison against other defects. The priority should be determined with representatives of the customer and the project team.

Assign
Once a defect has been prioritized, it is then assigned to a developer or other technical person to fix.

Resolve
The developer fixes (resolves) the defect and follows the organization’s process to deploy the fixed code to the environment where the defect was originally identified.

Verify
Depending on the environment where the defect was found and the fix was applied, the software testing team or customer verifies that the fix is actually resolved the defect.

Close
Once a defect has been resolved and verified, the defect is marked as closed.

Defect report or Bug report consists of the following information:

  • Defect_ID – Every bug or defect has its unique identification number
  • Defect Description – This includes the abstract of the issue.
  • Product Version – This includes the product version of the application in which the defect is found.
  • Description – This includes the detailed steps to be followed to re-create the issue with the screenshots attached so that developers can recreate it easily.
  • Date Raised – Date when the bug is reported
  • Reported By – This includes who reported the bug like tester Name and ID
  • Status – This field includes the Status of the defect like New, Assigned, Open, Re-test, Verification, Closed, Failed, Deferred, etc.
  • Fixed by – This field includes the details of the developer who fixed it like Name and ID
  • Date Closed – Date when the bug is closed
  • Severity: Based on the severity (Critical, Major or Minor) it tells us about impact of the defect or bug in the software application
  • Priority: Based on the Priority set (High/Medium/Low) the order of fixing the defect can be made.

See Also: How to identify Cross Site Scripting (XSS) Vulnerabilities threat

Defect management process or bug tracking is an integral part of our Quality Assurance process. Avail our QA services not just for projects done by us but also for projects done by you or your vendors.

I hope you enjoyed this topic, if you have any questions or comments please share below!

How To Install Nagios Core on CentOS, Fedora, or RHEL Server

Nagios® Core™ is the industry standard Open Source system and network monitoring application which enables organizations to identify, resolve IT infrastructure problems before they affect critical business processes. It watches hosts and services that you specify, alerting you when things go bad and when they get better. Nagios Core serves as one of the foundation blocks of Nagios XI – commercial monitoring solution.

It was originally designed to run under Linux, although it should work under most other unices as well.

Steps to install :

STEP-1:

Install prerequisites packages

       #   yum  install  gd  gd-devel  httpd  php  gcc  glibc  glibc-common

STEP-2:

Disable selinux. open the file: /etc/selinux/config by issuing the following command          

       # vi /etc/selinux/config

Then, type “disable” opposite to “SELINUX” e.g  SELINUX= disable

STEP-3:

Create a user “nagios” and set password for it by typing the below commands.

       #   /usr/sbin/useradd -m nagios
       #   passwd nagios

STEP-4:

Create a new group “nagios” for allowing external commands to be submitted    through the web interface and add both the nagios user and the apache user to the group by following the below steps

       #    /usr/sbin/groupadd nagios
       #    /usr/sbin/usermod -a -G nagios nagios
       #    /usr/sbin/usermod -a -G nagios apache

STEP-5:

Create a directory “download “ and download nagios-core and plugins to it.

       #  mkdir download                  
       #  cd  download
       #  wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.4.tar.gz
       #  wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

STEP-6:

Compile and Install nagios-core package by following below steps

  • Change directory to “download” folder
       #   cd ~/download
  • Untar the nagios-core tar bal
       #   tar xzf nagios-3.4.4.tar.gz
  • Change the directory to “nagios-3.4.4”
       # cd nagios-3.4.4
  • Configure the package and install
    #  ./configure
    #   make all
    #   make install
    #   make install-init
    #   make install-commandmode
    #   make install-config
    #   make install-webconf

STEP-7:

Create a password to log in to the web interface by issuing the following command.

       # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

STEP-8: 

Start the service and set it on chkconfig to start at booting time.

       #  service nagios start
       #  chkconfig nagios on

STEP-9:  

Compile and Install nagios-plugin package by following below steps.

  • Change directory to “download” folder
       # cd   ~/download
  • Untar nagios-plugin tar ball
       # tar xzf  nagios-plugins-1.4.16.tar.gz
  • Change the directory to “nagios-plugins-1.4.16”
       # cd  nagios-plugins-1.4.16
  • Configure the package and install.
       # ./configure
       # make
       # make install

STEP-10:

Start the apache service and enable it on boot by issuing following command.

       # service httpd start
       # chkconfig httpd on

STEP-11:  Now, connect to your nagios server through browser by typing.

       # http://Your-Nagios-IP/nagios or  http://localhost/nagios

Then, enter login credentials.
Username: nagiosadmin & password you have chosen earlier

Features of NAGIOS Core

  • Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.)
  • Monitoring of host resources (processor load, disk usage, etc.)
  • Simple plugin design that allows users to easily develop their own service checks
  • Parallelized service checks
  • Ability to define network host hierarchy using “parent” hosts, allowing detection of and distinction between hosts that are down and those that are unreachable
  • Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method)
  • Ability to define event handlers to be run during service or host events for proactive problem resolution
  • Automatic log file rotation
  • Support for implementing redundant monitoring hosts
  • Optional web interface for viewing current network status, notification and problem history, log file, etc.

Recommended Blog: How to install and configure Jaspersoft in Linux Server(RHEL/Centos/Fedora)

I hope you liked this topic, if you have any questions or comments please feel free to put under comments!

How Business Intelligence Can Help Direct Sale Organization

As of now, Big-data has already created a lot of buzz across all industries. An organization has to handle various types of data like financial, personnel, accounting, sales and lots more.

These lists are endless. To discover information that could help in the better decision making process or to identify new business opportunities from those endless sets of data, is one of the biggest challenges for an organization.

This challenge becomes more enormous for direct sales organisations.

In today’s Business intelligence dashboards, the end users of every sector follow an effective method of gaining greater insights into their business without the need to go back to the IT or business analysts to get more data.

Never miss an update from us. Join 10,000+ marketers and leaders.

And those types of data information, business intelligence and knowledge in the hands of the sales and marketing team means growth for those departments.

What Is Business Intelligence?

Business Intelligence is the combination of various technologies, tools, applications and best practices that helps a business to integrate, collect, analyse and present raw data to an actionable and insightful business data.

Business intelligence is prepared with:

  • Data Mining
  • Querying and reporting
  • Analytical processing

The major challenges for the direct dales companies :

  • The business hierarchies need to be on top across all the brands.
  • Taking longer to answer to critical business questions.
  • Lot of person-hours wasted for preparing daily transaction report.
  • Difficult to maintain the inventory for which the customers do not getting the right product in right time.
  • Lack in customer satisfaction without good services.
  • Preparation of the business report for board meeting.
  •  A single application could reduce technical support but impact planning flexibility thereby possibly reducing the performance and reliability.
  • Individual multiple applications could provide the flexibility required by the individual brands but would increase development time, cost and continuous technical support.
  • As per the need, a combined corporate view of actual, budgets and forecast scenarios must be taken care of.
  • Reporting requirements to be based on each brand, zone, categories and time.
  • Collect source files from the third party vendor.
  • Send the report through mail & put into the drop-box.
  • To build the excel report using ‘n’ number of sheets with separate dynamic report headers.
  • Organizations who are struggling with such immense data, Business Intelligence(BI)  is the right option for them. BI can help to identify new opportunities from those massive unstructured information; whose may  be remain unnoticed.

“People will forget what you said, people will forget what you did, but people will never forget how you made them feel” – Maya Angelou– Salesmate.

At Andolasoft we provide following supports to our clients.

  • The data-warehouse solution has been implemented in MYSQL 5.1, and incorporates data  from one principal source such as, Daily’s sales/order information.
    MYSQL 5.1 provides extreme performance for large data warehouses, improves  data warehouse performance, availability, and manageability by partitioning large tables.
  • Pentaho(Kettle) used as an Extract, Transform & Load (ETL) tool for loading data into the data warehouse from different data sources: Data consolidated from various data sources such as Flat files(csv, xls, txt) & OLTP databases.
  • The data in the warehouse is being processed for reporting and analysis purposes. The data is accessed through Excel. Data can be captured by stylist, item, store, zone, accounting year, quarter and period, and brand and concept.

Business-Intelligence-2-300x189

Reports:

  • Pentaho, Excel & CSV Add-ons were used for the purpose of reporting and analysis.
  • Reports could be generated for a specific stylist aggregation, i.e. zone, company, concept, brand, for a sequence day, week, quarter, or year.
  • Reports could be generated for a specific time to know the information about the booked item.
  • Reports could be generated to know the revenue income of the organization & compare with current MTD to Last MTD, like that current QTD & Last QTD.

Technologies That We Used:

  • MYSQL 5.1
  • Pentaho (Kettle)
  • Pentaho (Mondrian) as an OLAP
  • Excel & CSV Add-ons

Overall Benefits:

  • Data Warehouse designed for analysis, pattern search and reporting has been created.

How-Business-Intelligence-helps

  • Help to develop and deliver better forecasting: Answer ‘what if’ questions with a click of a button. Forecasting and planning can be conducted by taking existing data sets, applying theoretical projections and estimations to that information, to model and predict future outcomes.
  • Eliminate guesswork: Business intelligence can provide more accurate historical data, real-time updates, synthesis between departmental data stores, forecasting and trending, and even predictive ‘what if?’ analysis,” eliminating the need to guesstimate.
  • Get faster answers to any business queries
  • Get key business metrics reports when and where we need them
  • Identify cross-selling and up-selling opportunities: BI allows firms to leverage customer data to build, refine and modify predictive models that help sales representatives to up-sell and cross-sell products at appropriate customer touch points.
  • Manage better inventory
  • See where your business has been, where it is now and where it is going: BI has been very successful at explaining what happened to the business over some defined period of time — for example, how many products were sold, through which party, in which geography, or by which customer segment
  • Integrated budgeting & planning processes in a centralized web-based application.

Read Also: Data-Warehousing for Small & Medium Organizations

Implementation Of BI For A DS Organization

We at Andolasoft have expertise on building revenue, budgeting and forecasting data warehouse(DWH) to take care of the needs of each brand, timezone and category which minimizes both IT support and the technical expertise required by the management.

In the present market, the DWH reporting tools are expensive and beyond the affordability for the medium scale organizations. To cut down the cost, we provide well-formatted .xls & .csv file reports for the top management.

I’ve worked with the team at Andolasoft on multiple websites. They are professional, responsive, & easy to work with. I’ve had great experiences & would recommend their services to anyone.

Ruthie Miller, Sr. Mktg. Specialist

Salesforce, Houston, Texas

LEARN MORE

 Conclusion:

One of the goals of business intelligence is to help the corporate executives, managers and other operational heads to take necessary data driven decisions for business.

Most of the companies use BI for cost-cutting, creating better business opportunities and identifying inefficient processes of business.

If you are in search of a better Business Intelligence software development service, you can contact us. Our Andolasoft expertise will help to develop a budgeting, revenue and forecasting data warehouse that helps in your business growth.

Do you wish to add anything to this topic? Share it in the comments section below.