Category: Microsoft-Business-Intelligence

Importance of Employee Engagement
Nov 09, 2020 6 min read

Gone are those days when the word “Employee Satisfaction/Employee Engagement” was not of any critical significance. However, it has now become important that employees feel satisfied/engaged. Satisfied/Engaged Employees lead to higher productivity, better morale, and better business culture. Although the company's efficiency and sales are important, none of them can take place without Satisfied/Engaged Employees. As such, innovative approaches to ensure employee satisfaction are continuously being looked at by the top businesses. The following are the ways in which a Company can integrate happiness into the workplace:   Maximize your Office Space - First things First, the office space in which the employees work does matter on the job they do. An office's physical layout can influence the happiness and efficiency of the employees, so a Company should work hard to set them up for that initial success. There can be a variety of built-in features in an ideal workplace, including windows (to prevent artificial light), green plants for a natural feeling, and safe breathing air. In addition, having both individual and collaborative desks available when it comes to the physical workspace can give your staff the ability to choose which space best aligns with their work style. While some people work best in a quiet and isolated environment, others work better to bounce ideas off and white noise when surrounded by individuals. The best solution for all workers is an office that offers both. You should also make sure that you have the appropriate tools in your office. This involves a supply room with all the necessary office supplies for your staff to use when necessary such as pens, sticky notes, paper, staplers, paper clips, etc. You should also have a kitchen or breakroom where they have the access to healthy food choices or snacks or store them.   Allow Growth - When there is no space for progress, it's difficult to sustain enthusiasm and productivity. What often keeps workers working in a job is the next big promotion or raise, but if the employees never feel like they will change or get the next move, then why will they work harder every day? Why wouldn't they just sit and waste time at their desks? Will you be satisfied with a job in which you feel you can't step up? DEFINITELY NOT! Right? To ensure that employees feel that they have space to take risks, struggle, get help, change, and develop, it is important to enable growth in your business. Give the workers a clear guide about how they will look for the company's growth and make sure they know it's open. It is one of the easiest ways to guarantee constant satisfaction and encouragement.   Offering Appreciation - We are shown from the time kids go to school that a little gratitude can go a long way. That's why when kids reach milestones in their life, we celebrate it to appreciate them. Develop and implement the same form of policy for your employees at your company. Also, believe that giving them gratitude for their hard work is how you can ensure that in their jobs they feel happy. Everyone wants to get acknowledgment for their hard work. Appreciate your employees with a simple or pleasant gesture such as stopping by their desk and saying "Keep up the Good Work!" or give your conscientious employee a special note and flowers. If you want to inspire your entire workforce consider holidays, parties, and breaks for their birthday celebrations. You should also consider providing incentives and reviewing their applications for rises. Don't be afraid to express your gratitude for a job well done in a professional way.   Offer Benefits that fit their needs - Make sure that you interact with your workforce and come up with a proper benefit plan for them. The secret to their satisfaction could be to maintain relationships with your workforce and maintain an employee wellness program. An Employee Wellness Programme can include Paternity and Maternity Leave, Medical Insurance, Gym Memberships, and Incentives for the workforce. In order to see what the employees want and need to keep them coming back to work, consider performing an office-wide survey. Daycare and Education Programmes can be included in a health initiative, so employees do not need to take time off to care for their children. The business can also see a benefit by keeping the employees comfortable and willing to work to their full potential.   Invest in your Team’s Personal and Professional Growth - It is a well-known fact that personal growth is a basic human need and that to feel satisfied, your employees need to continuously evolve. That's why several employees start browsing through the work boards in search of something new when they feel stagnant. Following are some ways to Invest in your Team’s Personal and Professional Growth that has been in a trend nowadays: Provide sponsorship training for members of the team who want to take classes, buy online courses, or attend business conferences to enhance their abilities. Host a "Lunch and Learn" session in which a member of the team discusses a topic he or she is enthusiastic about. Launch a company-wide Individual Development Plan (IDP) in which employees have 4 personal and 4 professional targets that they want to accomplish by the end of the year. From there, each target is broken down into component parts by the manager and employee, setting quarterly and monthly benchmarks. Dates are set such that the employees have a practical way of achieving their goals.   Organize Fun Events which encourages employees to connect and bond with each other - It’s a fact that having friends at work just makes it more fun to go into the office. It helps build a feeling that you and your colleagues are all In this Together! Having ongoing enjoyable activities at a set pace allows the staff the ability to interact on a more personal level with their colleagues. Also organize various fun events at/outside the workplace for employees such as: Workplace Parties Learning Lunches Organizing Games, Tournaments, and Competitions for employees. Celebrating birthdays, anniversaries, and personal milestones. Celebrating various Festivals at the workplace. Office Trips   Conclusion - Satisfied Employees are more efficient and more involved in the workplace. If you are looking for a way to affect your productivity, then the first step is to look at the environment you provide, because it ultimately goes like this. A stable work climate creates satisfied employees, satisfied employees are more engaged, engaged employees are more productive. By investing in your employees, you are creating a better workplace. Concentrate on your employees and the rest will take care of itself. There will be a sense of belonging, there will be less tension, and there will be a positive atmosphere in the workplace, which will make your company a desirable place to be. Satisfied Employees do matter because it makes the organization better. It’s as simple as that!

Quick Guide: Angular 10 vs Older Versions
Nov 02, 2020 6 min read

On 24th June 2020, Angular 10 was launched but this time, with the beta version. It’s a big release; nevertheless, this most recent angular version will highly focus on the quality tools and ecosystem instead of launching new features.   In case you are a web app developer, who uses Angular for every project, you should be seeking the basic features and value additions of the latest Angular version 10. Let’s take a look at the key features and value offerings of Angular 10! TypeScript v3.9 Support - TypeScript 3.9 has performance improvements, which means faster Angular builds, especially in larger projects. Second, all the latest TypeScript fixes and features are available to Angular developers. Last, but not least, Angular developers will be using a more elaborate TypeScript configuration. Angular Language Service - Angular Language Service is an analysis engine that integrates into your code editor and provides it with a way to get completions, tracing of references, errors, hints, and navigation inside Angular templates.  It’s available as an extension for Visual Studio Code, WebStorm, and Sublime Text. You can install it by using the following command: npm install --save-dev @angular/language-service A compiler interface has been added that wraps the actual ngtsc compiler. The language-service-specific compiler manages multiple typecheck files using the project interface, creating ScriptInfos as necessary. Remove HTML entities’ autocompletion. Autocompletion is being removed from HTML entities, such as &, <, etc., because it’s outside the core functionality of Angular LS, and it has questionable value and a performance cost.   Compiler - Angular offers 2 ways to compile your application: Just-in-Time (JIT) - It compiles your app in the browser at runtime. This was the default until “Angular 8”. Ahead-of-Time (AOT) - It compiles your app and libraries at build time. This was the default until “Angular 9”. Ivy is a Compiler that is complete rewrite of the compiler (and runtime) in order to: Reach better build times (With a more incremental compilation). Reach better build sizes (With a generated code more compatible with tree shaking). Unlock new potential features(metaprogramming or higher-order components, lazy loading of the component instead of modules, a new change detection system not based on Zone.js).   The 2 new Compiler Entry Points - Angular has introduced 2 new Compiler Entry Points: ngtsc and ngcc. Ngtsc - It compiles Ivy-compatible code. It’s a TypeScript-to-JavaScript transpiler that looks for Angular decorators like  @Component and substitutes them with their specific Angular runtime instructions/counterparts, like eedefineComponent. It’s a minimal wrapper around tsc. The ngc operates as ngtsc when the angularCompilerOption enableIvy flag is set to true. Compilation Flow - When ngtsc starts running, it first parses the tsconfig.json and then creates a ts.Program. Several things need to happen before the transforms described above can run and that is: Metadata must be collected for input source files which contain decorators. Resource files listed in @Component decorators must be resolved asynchronously. The CLI, For example, may wish to run Webpack to produce .css input to the styleUrls property of a @Component. Diagnostics must be run. Which creates the TypeChecker and touches every node in the program. Ngcc - It stands for Angular Compatibility Compiler. It converts pre-Ivy modules (old style) to Ivy-compatible code. It processes code coming from npm and produces the equivalent Ivy version as if the code was compiled with ngtsc. Ngcc can also be run as part of a code loader like webpack to have packages from node_modules transpiled on the fly.   More-strict Project Setup - Optional stricter settings offer a more-strict project setup when creating a new workspace with ng new, via ng new -- strict. Enabling this flag initializes a new project with new settings to improve maintainability, help catch bugs, and allow the CLI to do advanced optimizations on an app.   Router - For the router, the CanLoad guard now can return Urltree. A CanLoad guard returning Urltree cancels the current navigation and redirects. This matches current behavior available to CanActivate guards that also has been added. This doesn’t affect preloading. A CanLoad guard blocks any preloading; any routes with a CanLoad guard won’t be preloaded, and the guards won’t be executed as part of preloading.   Angular Material - Angular Material now includes a new date range picker. To use the new date range picker, you can use the mat-date-range-input and mat-date-range-picker components.   TSlib - The runtime library for TypeScript containing helper functions, has been updated to V2.0.   TSLint - The TSLint static analysis tool for TypeScript has been updated to v6.   Angular Package Format -  Angular Package Format no longer includes ESM5 or FESM5 bundles, saving download and install time when running yarn or npm install for Angular packages and libraries.    Browser Support - The browser configuration for new projects has been updated to exclude older, less-used browsers. Support is deprecated for Internet Explorer 9, Internet Explorer 10, and Internet Explorer Mobile.    Core - Warnings about unknown elements are now logged as errors. This won’t break your app, but it may trip up tools that expect nothing to be logged via console.error. Generic has been made mandatory for ModuleWithProviders.A generic type parameter has been required for the ModuleWithProviders pattern to work with the Ivy compilation and rendering pipeline, but before this commit, View Engine allowed the generic type to be omitted.If a developer is using ModuleWithProviders without a generic type in your application code, a version 10 migration will update the code for you.   Async Locking Timeout - Async Locking Timeout’s configuration is still probable, which may include assistance in the ngcc.config.js file,  adjusting the retry delays and retry attempts in the AsyncLocker.  An examination has been combined for monitoring for the timeout, using the ngcc.config.js file to lower the timeout and prevent the more maximized application of the test.        14. Bug Fixes: Router: UrlMatcher is now allowed to return null. Core: undecorated-classes-with-decorated-fields migration doesn’t decorate derived classes. Service Workers: Prevent Service Worker strategies from affecting App stabilization. A number of bug fixes have been made, including the compiler avoiding undefined expressions in a holey array and the core avoiding a migration error when a nonexistent symbol is imported. Another bug fix properly identifies modules affected by overrides in TestBed. minLength and maxLength validators will validate only if the value has a numeric length property. Reactive forms had a bug which caused valueChanges for controls bound to input fields with number type will fire twice.The listed event is changed from “change” to “input” to fix this.

Micro-Environmental Factors Importance
Oct 26, 2020 5 min read

In the previous blog, we saw how Macro-Environmental Factors affect the business and why it is important for your business. Today we’re going to see that along with  Macro-Environmental Factors, Micro-Environmental Factors are also important for your business.   What are Micro-Environmental Factors? Micro-Environmental means the environment that has a direct effect on your business. It is connected to the specific region where your company operates and can influence any of your business processes directly. In other words, it consists of all the considerations that concern the company in particular. They have the capacity to influence the company's regular proceedings and general results. However, the influence that they have is not a long-lasting one.   Now, let's dig deeper and understand what are those factors that make up the Micro Environment: Customers - Customers play a key role for a business as they help to attract and retain the majority of customers to generate sales; regardless of what industry you are in or what products or services your business offers. Organizations must also follow a marketing strategy that attracts new customers and retain current customers by taking into account consumer needs and preferences and by offering after-sales and value-added services. Nowadays, for a business to be successful, it must find customers for your products/services. Thus, customers become the most important factor in the Micro-Environment of business.    This is the reason why nowadays business companies are giving more importance to “Customer Satisfaction Reviews”. Now, every business firm is setting up systems to track Customer Attitude and Customer Satisfaction on a regular basis as now it is widely agreed that Customer Satisfaction is the basis for any Business’ success.    Competitors - Competitors can directly influence your business strategies. Thus,  business companies must consider how to do a strategic analysis of competitors and have a competitive advantage. A company must consider what value-added services does the competitor offers or try to know the competitor’s USP. What advantages your business can offer to customers that your competitors do not offer.  A business company must realize that the lack of knowledge of competitors will make it difficult to beat them and lead the market. A business company must consider how competitors respond when there is a shift in the business climate, such as Political and Legal changes, Technological changes, changes in Customer Behaviours that can affect their company. They should also evaluate how their competitors react to market changes and what methods they use to better prepare for these changes. By doing so, your business company can gain an edge over them.    Suppliers - Suppliers are an integral part of the Micro Environment. They control the price structure of the industry through their own bargaining power. They constitute a significant force in the industry that shapes competition. Depending on this Supplier Environment, companies must also make a big Marketing Environment Decision on "Outsourcing" or "In-house Production".  As Suppliers provide the production materials, their activities can also affect the business strategy. For example, if their services are not fair and timely, it can impact the time of production and sales because of the delayed production process.  Therefore it becomes very important for business companies to keep a strong relation with Suppliers as they can help your business in getting an edge over Competitors.   Marketing Intermediaries - Market Intermediaries are either individuals or business houses that support the business companies to advertise, sell, and deliver the items to the final customers. They are Middlemen (wholesalers, retailers, and agents), distribution companies, consumer service companies, and financial institutions. Sometimes, it becomes too difficult for business companies to meet customers. In such situations, agents and distribution companies help to reach out to the customer with the commodity. Any form of Intermediary that the business takes into account must take the following aspects into consideration: The business companies can regularly review the output of all intermediaries as well as those who occasionally assist their efforts. If necessary, business companies can also replace those who are no longer performing at the expected level. Instead of creating one and thus going for experiments, working through the existing Marketing Channels is advantageous and also effective. In order to reach the products/services to the customer, the Supplier has to determine the most cost-effective method of Intermediaries that will help increase the profit.   Public - The term 'Public' simply applies to individuals in general.  Of course, it is in the best interest of each business company to appease(satisfy) the general public. Each move you take also needs to be seen from their viewpoint. How your acts influence others is incredibly important because their opinion can be the one thing that either drives you towards success or takes you down from the pedestal. The manner in which Public acts can make or break an organization. The company should be able to maintain a good relationship with the  Public since whatever it shows would directly impact the business of the organization. If the Public shows a positive response, this would improve the organization's business and vice versa. Some companies maintain a PR Team (Public Relations Team) that oversees activities and handles publicity on behalf of the corporation in order to maintain good relations with the Public.  Companies must bring their primary resources into the successful management of their consumer, dealer, and supplier relationships. Their overall performance would be influenced by how other people in the Society view their actions.  In this new Business World, the Public has acquired an important role and their involvement in the Micro Business Environment.   Conclusion:  Both Macro and Micro Environmental Factors have a powerful impact on how effective the company is. Any decision you make needs to take these two environments into account. If you really want them to be lucrative and hold a respectable marketplace, your marketing strategy must also be focused on them.   RELATED BLOGS: Why PESTLE Analysis is important for your Business?

PESTLE Analysis for Business Growth | MagnusMinds Blog
Oct 16, 2020 5 min read

Marketing is an important aspect for an Organization's products and services. The right Marketing Strategy allows Organizations to achieve their respective goals and also helps to have an upper-hand in this Competitive Market. Enterprises worldwide conduct various short-term and long-term analysis to assess their business environment. One such analysis is PESTLE Analysis.   What is PESTLE Analysis (Macro-Environmental Factors)? It is a framework/tool used to examine and monitor the “Macro-Environmental Factors” that may have an extreme impact on an Organization’s performance. This tool is very useful when starting a new business or expanding your business Globally.   Now, let’s dive deeper and understand which are those factors that makes the PESTLE Analysis:   Political Factor - All the influences that a Government has on your business could be classified here. This can include Government Policy, Political Stability or Instability, Corruption, Foreign Trade Policy, Tax Policy, Labor Law, Environmental Law and Trade Restrictions, etc… Political factors have an effect on Organization to a huge extent as any decisions made by Government regarding Laws and Policies will have an direct impact on the business. Political and Government intervention (interference) is not feasible for the business and can hurt the business setup in the long run. Similarly, Trade Regulations imposed by the State Government might impact an Organization’s cost of labor and their ability to target an Overseas Market.  Example - Let’s say, currently “Govt. A” is in the ruling power and Govt. A has made the decision for “Globalization”. So naturally, Overseas Companies will be eager to invest. Now due to Globalization, they will invest as much as they can to expand their business and will leave no stone unturned to make their Company's Name a trusted one. Now, to sell their products, they will open Factories and Stores in various states. But now what if in the next Elections “Govt. A” lose the elections and new “Govt. B” becomes the ruling power and denies Globalization? Just imagine to what extent that Overseas Companies who invested so much in the country have to suffer? So, Political Factor is The Most Important Factor for your Business. PERIOD.   Economical Factor - Marketing is directly proportional with the Economic Factors. Organizations won’t be able to launch or promote their product and service appropriately if the Economy isn't steady and progressing. Economic Factors have a direct or indirect long term impact on an Organization, since it affects the purchasing power of consumers and can possibly change the demand/supply models within the Economy. However,  it also affects the way Companies price their products and services. Economical Factors includes GDP, Economic Growth, Exchange Rates, Inflation Rates, Interest Rates, Disposable Income of Consumers and Unemployment Rates.    Social Factor - Social Factor includes Demographic, Customs, Norms, Culture and Population within which the Organization operates.  This also includes Population Trends such as the Population Growth Rate, Age Distribution, Income Distribution, Career Choices, Safety Importance, Health Consciousness, Lifestyle Trends and Cultural Barriers. These factors are especially important for marketers when targeting niche customers. Example - Social Factor is the reason why Youth-Centric Start-ups, Companies, Products and Services are doing very well in many countries, especially INDIA.   Technology - It refers to the Innovations in Technology that may affect the operations of an Organization, favorably or unfavorably. In today’s era, the impact of Technology is enormous and multifaceted. Marketing Strategies must focus on the constant changing Technology as Technology strengthens the business structure.  Technology includes Technology Incentives, Level of Innovation, Automation, Research and Development (R&D) Activity, Technological Change and the amount of Technological Awareness that a market possesses. These factors influence the decisions whether to enter into certain industries or not, whether to launch certain products or to outsource production activities abroad or not. By knowing what is going on in the current technology-market, you may be able to prevent your company from spending a lot of money on developing a technology that would become outdated very soon.   Legal Factor - When it comes to the Legal Factor, Organizations need to be crystal clear about what is legal and what is not in order to trade successfully and ethically.  This situation (Legal Factor) becomes even more tricky when an Organization is trading globally because every country has its own Rules and Regulations. However, you also need to be aware of the possible changes in legalization rules by the Government which may affect your business in the future. In such situations, having a “Legal Advisor” could prove very beneficial.   Environmental Factor - Organizations cannot survive if the Environment is not suitable or favorable. However, Environmental Factors are not in control of the Organizations but Organizations need to be clear about whether the products/services they offer are suitable to the respective Environment or not, before setting up the business . Location impacts the Organization’s marketing plans since changes in climate and consumers’ desire for a particular offering can be an issue. Weather, Climate, Environmental Policies, Natural Disasters, Air and Water Pollution, Recycling Standards, Support for Renewable Energy all these affect the long-term planning of an Organization.   Conclusion - PESTLE Analysis provides a vast study of the external and internal factors that pose a challenge to the Organization’s Marketing Strategy. To successfully achieve marketing goals, Organizations must use PESTLE Analysis to assess the market conditions so that they can plan and strategize accordingly.   RELATED BLOGS: Why Micro-Environmental Factors are Important for your Business?

Quick Guide: Exploring Mobile App Testing
Oct 07, 2020 3 min read

There are so many mobile applications launch in the market every day but there are few successors, Mobile app testing is a process that finds bugs, issue and glitches into mobile application. In such high competency ratio, you have to be sure that apart from offering something innovative and interesting to your customers your application should also be free from any glitches. And hence, mobile app testing is becoming very important. Your application must also be free from flaws. And therefore mobile app testing is becoming very important.   What is Mobile Application Testing..? Mobile Application testing is a process by which application software developed for portable mobile devices is tested for functionality, usability, and consistency. Mobile Application Testing can be either automated or manual.   Why Mobile Application Testing is necessary? Turning on/off GPS Different devices Use different OS Use different Screen resolution Testing in different Screen orientation (landscape, portrait), Others…   Types of Mobile Application Mobile web Application Hybrid Application Native Application   Mobile Web Applications: Mobile web applications refer to applications for mobile devices that only require the installation of a web browser on the device. Simple mobile web applications limit the use of RIA technologies and are designed to present information in a readable and action-oriented format.   Native Application: A Native Application is a software program that is developed for use on a particular platform or device like Windows 10, Android app, IOS app, Blackberry.   Hybrid Application: A (hybrid application) is a software application that combines elements of native applications and web applications. Hybrid applications are essential web applications that have been placed in a native application shell.   5 Major Types of Mobile application Testing: Usability Testing: It checks how friendly the app is in terms of use and intuitiveness. Mobile apps need to be tested early and very often. User experience requirements include clarity of navigation, intuitive interface, the appearance of application design, error messages, and handling.   Function Testing: This type of test results if the application is working correctly or not. It focuses on the main purpose and flow of the application, ensuring that all of its functions are responsive and within specification. Performance Testing: Performance testing is a key element in the mobile app testing process. You will be able to track and predict performance changes for spikes in connection quality (3G, 4G, LTE), change in a user's location, increased traffic, etc… When it comes to mobile applications, you should also test the product on different devices to see if performance is affected by the change in screen dimensions.   Installation Testing: The Application Installation Test tests the successful installation of your mobile application on various mobile devices, models, and operating systems.   Mobile Device Testing: Mobile Device Testing function ensures the quality of mobile devices, such as mobile phones, PDAs, etc. The tests will be carried out on both hardware and software.   Conclusion: Mobile Application Testing has become a critical part of mobile app development. Most of the problems faced by an app could be solved by a successful mobile app test. This also increases time to market and ensures the success of the application. There are so many mobile applications launch in the market every day but there are few successors. Mobile Application Testing is a process that finds bugs, issue, and glitches into mobile application.   RELATED BLOGS: Why Software Testing is Important in software development life cycle?

Learn SSIS: Key Concepts Explained
Sep 14, 2020 7 min read

What is SSIS ? SSIS is a platform for data integration and workflow applications. It features a data warehousing tool used for data extraction, transformation, and loading (ETL). The tool may also be used to automate maintenance of SQL Server databases and updates to multidimensional cube data. SQL Server Integration Service (SSIS) is a component of the Microsoft SQL Server database software that can be used to execute a wide range of data migration tasks. SSIS is a fast & flexible data warehousing tool used for data extraction, loading and transformation like cleaning, aggregating, merging data, etc. It makes it easy to move data from one database to another database. SSIS can extract data from a wide variety of sources like SQL Server databases, Excel files, Oracle and DB2 databases, etc. SSIS also includes graphical tools & wizards for performing workflow functions like sending email messages, FTP operations, data sources, and destinations. Features of SSIS: Organized and lookup transformations Tight integration with other Microsoft SQL family Provides rich Studio Environments Provides a lot of data integration functions for better transformations High-speed data connectivity   Why SSIS? Extract, Transform, and Load (ETL) data from SQL Server to a file and also from file to SQL. Sending an email. Download the File from FTP. Rename ,Delete , Move File From Defined Path. It allows you to join tables from different databases (SQL, Oracle, etc...) and from potentially different servers.   How SSIS Works? SSIS consists of three major components, mainly: Operational Data: A database created to combine data from several sources for further actions on the data is known as an operational data store (ODS). This is the place where most of the data used in the current operation is housed before it’s transferred to the data warehouse for longer-term storage or archiving. ETL process: ETL is a process to Extract, Transform and Load the data. The process of gathering data from multiple sources, modifying it to fit your needs, and then loading it into a target data warehouse is known as extract, transform, and load, or ETL. ETL offers a ONE STOP Solution that can solve all of these issues. Extract: Extraction is the process of extracting the data from various homogeneous or heterogeneous data sources based on different validation points. Transformation: In transformation, entire data is analyzed and various functions are applied on it in order to load the data to the target database in a cleaned and general format. Load: Loading is the process of loading the processed data to a target data repository using minimal resources. Data Warehouse Data Warehouse captures the data from diverse sources for useful analysis and access. Data warehousing is a large set of data accumulated which is used for assembling and managing data from various sources for the purpose of answering business questions. Hence, helps in making decisions.   How to install SSDT(Sql Server Data Tools)? Prerequisite and environment Setup for SSIS Project For Starting SSIS we need 2 Studios SQL Server Data Tools (SSDT) for developing the Integration Services packages that a business solution requires. SQL Server Data Tools (SSDT) provides the Integration Services project in which you create packages. Installation Steps: Download SSDT setup from Microsoft website.   URL: https://docs.microsoft.com/en-us/sql/ssdt/previous-releases-of-sql-server-data-tools-ssdt-and-ssdt-bi?view=sql-server-ver15 When you open the .exe file, you will be asked to restart the system before installation. So, restart first and Run Setup. And press Next. It will show the tools required and the features such as SQL Server Database, SSAS(SQL Server Analysis Services), SSRS(SQL Server Reporting Services) and SSIS(SQL Server Integration Services). Make sure you check SSIS and click the “install” button. Refer the below screenshot for the same.   We will see following contents In SSIS: Variables Connection Manager SSIS Toolbox Container Tasks Data Flow Task   Variable: Variables store values that a SSIS package and its containers, tasks, and event handlers can use at runtime.   System variables : Defined by Integration Services SSIS provides a set of system variables that store information about the running package and its objects. These variables can be used in expressions and property expressions to customize packages, containers, tasks, and event handlers.   User-Defined variables : Defined by Package Developers   How to create user - define  variable?   How to set expression for variable   Connection Manager: SSIS provides different types of connection managers that enable packages to connect to a variety of data sources and servers: There are built-in connection managers that Setup installs when you install Integration Services. There are connection managers that are available for download from the Microsoft website. You can create your own custom connection manager if the existing connection managers do not meet your needs.   Let's see how we can add Connection Manager. 1)Solution Explorer > Connection Managers > New Connection Manager . You can see the list of connection managers for different type of connections.   2)Add connection manager.   After adding your connection. you can see the all connection here.   SSIS Toolbox: Steps: Menu bar > SSIS > select SSIS Toolbox. now, you can see SSIS Toolbox on the left side. SSIS Toolbox have list of tasks and containers that you can perform.   List of Containers: For each Loop Container : Runs a control flow repeatedly by using an enumerator. For Loop Container : Runs a control flow repeatedly by testing a condition. Sequence Container : Groups tasks and containers into control flows that are subsets of the package control flow.   List of Task: Data Flow Task The task that runs data flows to extract data, apply column level transformations, and load data.   Data Preparation Tasks These tasks do the following processes: copy files and directories; download files and data; run Web methods; apply operations to XML documents; and profile data for cleansing.   Workflow Tasks The tasks that communicate with other processes to run packages, run programs or batch files, send and receive messages between packages, send e-mail messages, read Windows Management Instrumentation (WMI) data, and watch for WMI events.   SQL Server Tasks The tasks that access, copy, insert, delete, and modify SQL Server objects and data.   Scripting Tasks The tasks that extend package functionality by using scripts.   Analysis Services Tasks The tasks that create, modify, delete, and process Analysis Services objects.   Maintenance Tasks The tasks that perform administrative functions such as backing up and shrinking SQL Server databases, rebuilding and reorganizing indexes, and running SQL Server Agent jobs. You can add task/container by dragging the task/container from SSIS toolbox to design area.   Data Flow Task : Drag the Data Flow task from SSIS Toolbox to design area and double click on it. You are now in Data flow tab. Now you can see that SSIS Toolbox has different components.   Type: Source : from where you want your data. Destination : it is where you want to move your data. Transformation : It is Operation that perform ETL(Extract, Transform, Load)   Conclusion: SQL Server Integration Services offer tasks to insert data into your destination and to alter and validate data during the load process.It's helpful to understand the various SSIS tasks and how to use them instead of using TReplace:SQL to develop a stored procedure to validate or modify data.   RELATED BLOGS: Create SSIS Data Flow Task Package Programmatically 

Test Automation using Robot Framework
Aug 31, 2020 2 min read

In this article, I will explain how we can prepare and manage automation test cases in a better way with Robot Framework. As an example, let’s look at below list of test cases. In the above image, first column is Test Case Number Second column is Page name and Third column is actual test case that we need to automate. So we need to write automation scripts for Payer - Order details page The very first step that we need to take is to prepare page wise resource file in Robot Framework.   For our example, Order.robot In this file, we will define different keywords based on different functionalities of Order page. For example, there will be one keyword defined to open Order menu item i.e. Open Order Menu – Payer We can define one more keyword to search order number with the use of filter. Similarly, we can define other keywords like opening of any order based on search results etc. See the below image:   This way we can define various keywords based on page object model for different pages. Now, for our actual test cases, we simply need to call these keywords as and when required after importing its respective resource files.   As you can see in the above image, we can simply convert manual test steps into automation steps. We can add verification points in our test cases based on test case requirement and group all these test cases under one test suite. We can run the test suit and on successful completion of test run, we will get report similar to below image.   This is the fastest way to implement test automation using Robot Framework. Hope this information will be useful to you if you are starting a new automation project and analyzing how to manage automation scripts in a better way.

Importance of Software Testing in SDLC
Aug 24, 2020 4 min read

Testing is important as it discovers defects/errors before delivery to the customer, ensuring the quality of the software. It makes the software more reliable and easier to use. Thoroughly tested software ensures reliable, high-performance software operation. For example, assume you are using an Online Shopping application to Place any order and Pay the amount of order using any online platform. So, you initiate the transaction, get a successful transaction message, and the amount also deducts from your account. However, your Order is not placed yet. Likewise, your account is also not reflecting the reversed transaction. This will surely make you upset and leave you as an unsatisfied customer.   Software testing contributes to the overall success of the project While requirement review and creating project timeline testers involvement - while review project requirement tester help to identification of some of the requirement defects even before their implementation. this help in Project cost and timeline. While the Design phase tester works with the system designers - it will increase the quality of design. it will help in reducing design flaws and make it user friendly. While Project Developments tester works with developers - Testers are aware of areas that are considered risky by the developer so they can adjust their preferences accordingly. In addition, the developers also get the tester's insights. Helps to recreate errors there and then, without going through a lengthy defect management process. Before the Software release testers verifying and validating the software - This helps detect errors that might otherwise go unnoticed, and supports the process of removing the defects that caused the failures. Running tests at multiple levels increase the likelihood that the software will have fewer bugs and also meet customer needs.   Reasons Why Software Testing is Important 1. Identification of Bugs and Defects Testing phase is one phase that determines the bugs and errors in the application. These bugs can be at the unit level or system level. With so many testing phases, you get to keep away from any kind of bugs that may be affecting your application.   2. Improvement in Product Quality As testing is a phase that helps in knowing the actual outcome and the expected outcome. Surely, it can help you to improve your product quality. With proper testing done, you come out of errors and develop perfect software applications for the users.   3. Technical Importance In any SDLC lifecycle, the testing phase is important for the technical aspect, as it has to come out with the best technically sound application.   4. Improved Quality Properly tested software gives you more confidence in coming up with great software. Secondly, it improves the quality of your software application as continuous and all kinds of testing modes have made a secure and safe application that can be used by the end-users.   5. Verification and validation One of the main aims of the testing phase in SDLC is for verification and validation. Testing is a phase that can serve as metrics as it is used heavily in the V&V method. Based on the result, you could come out with a comparison between qualities amongst different products.   6. Reliability Estimation  This is yet another important factor that is determined by the testing phase. If your software application has gone through all small levels like unit testing and major testing like regression testing and all, then surely it is a reliable application. Hence testing determines the reliability of your software application. Testing may serve as the best statistical method that defines operational testing on application resulting in a reliable software product.   7. Prove Usability and Operability One very important aim of software testing is to prove the software is both usable and operable. Usability testing is where the software is released to a select group of users and their working with the product is observed. All aspects of a user's interaction with the software, like the ease of use and where users are facing problems, are recorded and analyzed   Conclusion: To conclude, the importance of software testing is imperative. Software testing is a crucial component of software product development because it improves consistency and performance. The main benefit of testing is the identification and subsequent removal of the errors. However, testing also helps developers and testers to compare actual and expected results in order to improve quality. If the software production happens without testing it, it could be useless or sometimes dangerous for customers. So, a tester should wear a unique hat that protects the reliability of the software and makes it safe to use in real-life scenarios.   RELATED BLOGS: What is Mobile App Testing?  

Quick Setup: Kafka with ELK Integration
Aug 17, 2020 5 min read

Apache Kafka is the numerous common buffer solution deployed together with the ELK Stack. Kafka is deployed within the logs delivery and the indexing units, acting as a segregation unit for the data being collected: In this blog, we’ll see how to deploy all the components required to set up a resilient logs pipeline with Apache Kafka and ELK Stack: Filebeat – collects logs and forwards them to a Kafka topic. Kafka – brokers the data flow and queues it. Logstash – aggregates the data from the Kafka topic, processes it and ships to Elasticsearch. Elasticsearch – indexes the data. Kibana – for analyzing the data.   My environment: To perform the steps below, I set up a single Ubuntu 18.04 VM machine on AWS EC2 using local storage. In real-life scenarios, you will probably have all these components running on separate machines. I started the instance in the public subnet of a VPC and then set up a security group to enable access from anywhere using SSH and TCP 5601 (for Kibana). Using Apache Access Logs for the pipeline, you can use VPC Flow Logs, ALB Access logs etc. We will start by installing the main component in the stack — Elasticsearch. Login to your Ubuntu system using sudo privileges. For the remote Ubuntu server using ssh to access it. Windows users can use putty or Powershell to log in to Ubuntu system. Elasticsearch requires Java to run on any system. Make sure your system has Java installed by running the following command. This command will show you the current Java version. sudo apt install openjdk-11-jdk-headless Check the installation is successful or not by the below command ~$ java — versionopenjdk 11.0.3 2019–04–16OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing) Finally, I added a new elastic IP address and associated it with the running instance. The example logs used for the tutorial are Apache access logs.   Step 1: Installing Elasticsearch We will start by installing the main component in the stack — Elasticsearch. Since version 7.x, Elasticsearch is bundled with Java so we can jump right ahead with adding Elastic’s signing key: Download and install the public signing key: wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - Now you may need to install the apt-transport-https package on Debian before proceeding: sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list Our next step is to add the repository definition to our system: echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list You can install the Elasticsearch Debian package with: sudo apt-get update && sudo apt-get install elasticsearch Before we bootstrap Elasticsearch, we need to apply some basic configurations using the Elasticsearch configuration file at: /etc/elasticsearch/elasticsearch.yml: sudo su nano /etc/elasticsearch/elasticsearch.yml Since we are installing Elasticsearch on AWS, we will bind Elasticsearch to the localhost. Also, we need to define the private IP of our EC2 instance as a master-eligible node: network.host: "localhost" http.port:9200 cluster.initial_master_nodes: ["<InstancePrivateIP"] Save the file and run Elasticsearch with: sudo service elasticsearch start To confirm that everything is working as expected, point curl to: http://localhost:9200, and you should see something like the following output (give Elasticsearch a minute or two before you start to worry about not seeing any response): {   "name" : "elasticsearch",   "cluster_name" : "elasticsearch",   "cluster_uuid" : "W_Ky1DL3QL2vgu3sdafyag",   "version" : {     "number" : "7.2.0",     "build_flavor" : "default",     "build_type" : "deb",     "build_hash" : "508c38a",     "build_date" : "2019-06-20T15:54:18.811730Z",     "build_snapshot" : false,     "lucene_version" : "8.0.0",     "minimum_wire_compatibility_version" : "6.8.0",     "minimum_index_compatibility_version" : "6.0.0-beta1"   },   "tagline" : "You Know, for Search" }   Step 2: Installing Logstash Next up, the “L” in ELK — Logstash. Logstash and installing it is easy. Just type the following command. sudo apt-get install logstash -y Next, we will configure a Logstash pipeline that pulls our logs from a Kafka topic, processes these logs and ships them on to Elasticsearch for indexing. Verify Java is installed: java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) Let’s create a new config file: Since we already defined the repository in the system, all we have to do to install Logstash is run: sudo nano /etc/logstash/conf.d/apache.conf Next, we will configure a Logstash pipeline that pulls our logs from a Kafka topic, processes these logs, and ships them on to Elasticsearch for indexing. Let’s create a new config file: input {   kafka {     bootstrap_servers => "localhost:9092"     topics => "apache"     } } filter {     grok {       match => { "message" => "%{COMBINEDAPACHELOG}" }     }     date {     match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]     }   geoip {       source => "clientip"     } } output {   elasticsearch {     hosts => ["localhost:9200"]   } } As you can see — we’re using the Logstash Kafka input plugin to define the Kafka host and the topic we want Logstash to pull from. We’re applying some filtering to the logs and we’re shipping the data to our local Elasticsearch instance.   Step 3: Installing Kibana Let’s move on to the next component in the ELK Stack — Kibana. As before, we will use a simple apt command to install Kibana: sudo apt-get install kibana We will then open up the Kibana configuration file at: /etc/kibana/kibana.yml, and make sure we have the correct configurations defined: server.port: 5601 server.host: "<INSTANCE_PRIVATE_IP>" elasticsearch.hosts: ["http://<INSTANCE_PRIVATE_IP>:9200"] Then enable and start the Kibana service: sudo systemctl enable kibana sudo systemctl start kibana We would need to install Firebeat. Use: sudo apt install filebeat   Open up Kibana in your browser with http://<PUBLIC_IP>:5601. You will be presented with the Kibana home page.