<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vikas Arora</title>
    <description>The latest articles on DEV Community by Vikas Arora (@vikastwittes).</description>
    <link>https://dev.to/vikastwittes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F71632%2F039f1389-7e25-4411-8fb5-d12d6418e0db.png</url>
      <title>DEV Community: Vikas Arora</title>
      <link>https://dev.to/vikastwittes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vikastwittes"/>
    <language>en</language>
    <item>
      <title>The Unique Connection that Agile &amp; DevOps Share</title>
      <dc:creator>Vikas Arora</dc:creator>
      <pubDate>Fri, 15 Mar 2019 06:56:19 +0000</pubDate>
      <link>https://dev.to/vikastwittes/the-unique-connection-that-agile--devops-share-3i4j</link>
      <guid>https://dev.to/vikastwittes/the-unique-connection-that-agile--devops-share-3i4j</guid>
      <description>&lt;p&gt;Agile and DevOps are the trending models that numerous associations are anxious to utilize, however, there is frequently some confusion regarding the relationship between the two. Just a single business practice started in programming improvement, however, both are being connected to hierarchical capacities past software advancement. They're not the equivalent, however, they're not foes.&lt;/p&gt;

&lt;p&gt;Utilizing Agile and DevOps pair is frequently the best methodology for influencing change inside a group, office, or a whole association. Understanding the two hypotheses implies being adaptable to how they are always showing signs of change, and understanding that there isn't one response to illuminate all the association’s needs.&lt;/p&gt;

&lt;p&gt;In the recent decade, organizations have started spinning off a particular DevOps group from their unique IT group or including Agile methodologies inside their product development groups. Through these association changes, a few similarities have emerged between the two concepts. In this post, we shall try to see how DevOps and Agile are connected. The blog covers the following topics-&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Agile?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Agile SDLC model is a combination of iterative and incremental process models with a focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross-functional teams working simultaneously on various areas like –&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Planning 
Requirements Analysis
Design
Coding
Unit Testing
Acceptance Testing
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Agile practices are a mix of iterative and gradual procedure models with a spotlight on procedural flexibility and consumer loyalty by faster conveyance of working programming item. Agile Methods break the product into little steady forms. These constructs are given in cycles. Every cycle commonly keeps going from around one to three weeks. Each emphasis includes cross useful groups working at the same time in different regions like-&lt;/p&gt;

&lt;p&gt;Towards the finish of the iteration, a working product is displayed to the client and the critical partners&lt;/p&gt;

&lt;p&gt;Agile model trusts that each task should be taken care of contrastingly and the current techniques should be custom fitted to best suit the undertaking prerequisites. In Agile, the errands are partitioned to time boxes (little time spans) to convey explicit highlights for a discharge. An iterative methodology is adopted, and a working programming build is conveyed after every cycle. Each form is steady as far as highlights; the last form holds every one of the highlights required by the client.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is DevOps?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevOps is a new term emerging from the collision of two major related trends. The first was also called “agile infrastructure” or “agile operations”; it sprang from applying Agile and Lean approaches to operations work.  The second is a much-expanded understanding of the value of collaboration between development and operations staff throughout all stages of the development lifecycle when creating and operating service, and how important operations has become in our increasingly service-oriented world.&lt;/p&gt;

&lt;p&gt;DevOps is a term for a gathering of ideas that, while not all new, have catalysed into development and are quickly spreading all through the specialized network. Like any new and famous term, individuals may have confounded and once in a while may have had a conflicting impression of what it is. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do DevOps and Agile fit in together?&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Collating the Resources
DevOps bridges communication gap in Agile methods
Agile and DevOps accelerate Continuous Delivery
You need Agile to Increase the speed of DevOps
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Collating the Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Agile groups depend on the computerized construct, test computerization, Continuous Integration (CI) and Continuous Delivery (CD). DevOps groups frequently utilize each one of those devices and that's only the tip of the iceberg, including the expansion of setup the board, measurements and observing plans, virtualization, and distributed computing, all are aligned in one channel to work in harmony.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevOps bridges communication gap in Agile methods&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For software developers who were baffled by the inadequacies of a &lt;a href="https://devops.com/waterfall-agile-devops-state-stagnant-evolution/"&gt;Waterfall approach&lt;/a&gt;, Agile felt like an entirely different world. Yet, Agile wasn't impeccable either. Normal downsides to Agile planning incorporate missed due dates, finished programming segments that are incongruent with one another because of isolated scrums, or groups, and new highlights breaking old capacities – which is an immediate aftereffect of missed participation with DevOps and ITOps. One thing that was common in every one of these issues with Agile improvement was: absence of correspondence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is the place DevOps starts to fill the hole:&lt;/strong&gt; DevOps is a hypothesis established in correspondence – both inside itself, as the engineers and administrators need to facilitate, yet in addition crosswise over different divisions. DevOps habitually speaks with ITOps to guarantee secure and stable conditions for testing, and their hybrid to different groups like marketing and client service bodes well as they deploy new software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agile and DevOps accelerate Continuous Delivery&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Continuous Delivery basically maps to the Agile rule, "Our most noteworthy need is to satisfy the client through right on time and ceaseless conveyance of profitable programming." That implies Agile is more about embracing approaching and active change than about functions like stand-ups and sprint arranging. Without a doubt, there are 10 different standards in the Agile Manifesto. Instead of attempting to pick among the standards, they ought to be considered in general. Together these standards speak to a frame of mind towards change that is regular for both Agile and DevOps.&lt;/p&gt;

&lt;p&gt;DevOps and Agile aren't the same things however they are complementary to one another. Agile improvement is an advancement that holds fast to the standards expressed in The Agile Manifesto. The &lt;a href="https://www.janbasktraining.com/blog/devops-skills/"&gt;purpose of DevOps&lt;/a&gt; is to convey innovation to speciality units in an auspicious manner and guarantee that the innovation keeps running without interference or interruption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You need Agile to Increase the speed of DevOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Executing DevOps to build speed and advancement requires receiving Agile improvement systems, and Agile advancement requires faster and more frequent discharge cycles. The capacity to tear down and reconstruct a test situation in minutes — and afterwards to do it again and again — isn't only a pleasant to-have ability for Agile; it's a need. Automating this procedure with the goal that it is noticeable to change control, however, doesn't require mediation or unique endorsement to execute, diminishes the time required for advancement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevOps can be considered to be an extension of Agile. They are definitely two concepts, yet they fit in together to help the organisations in achieving the results faster. You can have both the models working together at the same time as you now know that they are connected with each other.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>agile</category>
    </item>
    <item>
      <title>Why Software Testing is a good career option? </title>
      <dc:creator>Vikas Arora</dc:creator>
      <pubDate>Thu, 14 Feb 2019 13:40:29 +0000</pubDate>
      <link>https://dev.to/vikastwittes/why-software-testing-is-a-good-career-option--32jn</link>
      <guid>https://dev.to/vikastwittes/why-software-testing-is-a-good-career-option--32jn</guid>
      <description>

&lt;p&gt;Software testing is no more the last thing that you do while preparing software. Inefficient testing has proven to cause some of the biggest disasters in the history of mankind. This is why companies are hiring efficient testers for its products and software.  Today we will see how Software Testing can be an excellent career choice for you and for that we have divided the post into the following sections-&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rc1YaGQk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/C4JTGiAOm1U_m41FrY5AzGcTCdrQ4bmPa81PNEVpcteVY4cSXjJII1QpSaQeULTSi9g8hr0n9ZWpVibfgNpZMLrwtuH6iRZUzljjU0hi" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rc1YaGQk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/C4JTGiAOm1U_m41FrY5AzGcTCdrQ4bmPa81PNEVpcteVY4cSXjJII1QpSaQeULTSi9g8hr0n9ZWpVibfgNpZMLrwtuH6iRZUzljjU0hi" alt="Software Career Option" title="QA training Testing 1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;What is Software Testing?  *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Software Testing is a procedure of confirming a PC framework/program to choose whether it meets the predefined necessities and produces the expected outcomes. Therefore, you identify bugs in the programming of the software.&lt;br&gt;
Software testing is must provide a quality item with no bugs or issue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qualities required to become a software tester&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Non-Technical Skills:  Following are the fundamental skills to become an accomplished software tester.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Ea2LkOb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/OCfG1mKupxtGpAyU-dBnnEzrSYPejL8ZpVTWj3P-Wc6xuhVUXTqeMPd0kn9X9zZNk_m_iq5d1YQPrsIzt62lqSYeoic1Q8kJl-W00_Q%3Ds576" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Ea2LkOb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/OCfG1mKupxtGpAyU-dBnnEzrSYPejL8ZpVTWj3P-Wc6xuhVUXTqeMPd0kn9X9zZNk_m_iq5d1YQPrsIzt62lqSYeoic1Q8kJl-W00_Q%3Ds576" alt="Non-Technical Skills" title="non technical skills in qa 2"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analytical skills:&lt;/strong&gt; A good software tester ought to have sharp logical aptitudes. Analytical skills will enable him to break down the complex software code to gain a better understanding and create test cases. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communication skills:&lt;/strong&gt; A good software tester must possess good verbal and writing communication skills. Testing artifacts (such as test cases/plans, test strategies, bug reports, etc.) made by the software tester must be easy to read and grasp. Managing developers (in case of bugs or some other issue) will require a shade of prudence and discretion. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time Management and Organization Skills:&lt;/strong&gt; Many a time, testing could become a demanding job particularly during the release of program code. A software tester should effectively manage the burden, have high productivity, display optimal time management and organization skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Positive Attitude:&lt;/strong&gt; To be an accomplished software tester you should have a positive frame of mind. An attitude to 'test to break', detail orientation, eagerness to learn and propose process enhancements. In the software industry, technology advances at a massive pace, and a good software tester must upgrade their technical skills with the evolving technologies. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Passion:&lt;/strong&gt; To shine in any profession, one must have a noteworthy level of the passion for it. A software tester must be passionate and possess a high threshold for patience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical skills&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fundamentals of Database/SQL:&lt;/strong&gt; Software Systems have huge data in the background. This data is stored in various kinds of databases like Oracle, MySQL, and so on in the background. There will be circumstances when this data needs to be validated. If you are familiar with simple/complex SQL queries, you can easily check the data stored in the backend database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fundamentals of Linux:&lt;/strong&gt; Presently, several software applications like Web-Services, Databases, Application Servers are developed on Linux machines. So, you must have proper exposure to Linux commands. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experience and understanding of a Test Management Tool:&lt;/strong&gt; Test Management is a critical part of Software testing. Without appropriate test management techniques, your software testing process will fail eventually. In simple words, test management is just about how you manage your testing related artifacts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experience and understanding of any Defect Tracking Tool:&lt;/strong&gt; Defect Tracking and Defect life cycle are key parts of software testing. It is very important to manage the defects legitimately and track them in an efficient way. Defect tracking is required because the whole team should get the idea about the defects/bugs including managers, developer, and the software testers. There are several tools available for defect tracking such as QC, Bugzilla, Jira etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experience and understanding of Automation Tool:&lt;/strong&gt; Due to cut-throat competition in the market, every organization wants to become efficient which can be achieved with the help of automation. Thus, there is a huge demand for those people who have hands-on experience on automation tools. If you aim at becoming an "Automation tester” after two or three years working at manual testing, then you must learn an automation tool. Knowledge of any scripting language such as Visual Basic Script, JavaScript, C++, Shell/Perl always comes in handy if you are looking for a career in automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Typical Roles in Software Testing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Following are the typical roles that a software tester can pursue today or in future:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Career Options in Testing Services&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.janbasktraining.com/online-qa-training"&gt;Software QA Testing&lt;/a&gt; experts can look over different vocation ways—specialized, draftsman, counseling, venture the board—to push ahead in their professions. The SMAC (Social media, Mobility, Analytics, and Cloud) world today has made QA considerably progressively vital. The expense of disappointment in the advanced present reality is exceptionally high, especially when one incorporates the reputational harms, which have made powerful QA forms fundamentally. &lt;/p&gt;

&lt;p&gt;The light-footed and DevOps world has not killed the requirement for testing; rather, such testing is done in runs, with expanded dashes driving the requirement for all the more testing and mechanization. The testing calling has kept on adjusting to the quickly changing requirements of dynamic business and the different advancement procedures utilized.Professionals in testing administrations can advance their vocations by doing the accompanying:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cultivating learning in the various arrangement of testing arrangements, forms, apparatuses, strategies, designs, and teaches&lt;/li&gt;
&lt;li&gt;Applying industry skill and space explicit learning. &lt;/li&gt;
&lt;li&gt;Navigating any of the four crests by getting expansiveness and profundity in center capacities &lt;/li&gt;
&lt;li&gt;Enhancing commitment encounters, undertaking preparing and coaching so as to advance to the executive level.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Importance of Industry and Domain, &lt;a href="https://en.wikipedia.org/wiki/Software_testing#A/B_testing"&gt;ab/testing&lt;/a&gt;, Technology and Tools, and Process Skills in Testing Careers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Testing professions can use area and logical abilities, process, specialized learning, innovation and instrument aptitudes, correspondence, and delicate abilities. Most importantly, demeanor, adaptability, and learnability are probably the most wanted aptitudes for test experts. The figure beneath shows plenty of industry and spaces and innovation aptitudes one can browse so as to have some expertise in their testing profession path at providers, like Capgemini. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--51Bq4r4y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/zLn9OhD5Qgp-eFm89dKmtMaOSBKyKhhz2S-Gjbpt971_OzgmeSaYYZeg4yrUO2LuUuLGVTINmcQHUefJGNS12qz1WdPgQvNjEjEJpHuFNX8NgU2kuTX6SE879NK4K7xAl7TWhorfypN5rBKLgw" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--51Bq4r4y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/zLn9OhD5Qgp-eFm89dKmtMaOSBKyKhhz2S-Gjbpt971_OzgmeSaYYZeg4yrUO2LuUuLGVTINmcQHUefJGNS12qz1WdPgQvNjEjEJpHuFNX8NgU2kuTX6SE879NK4K7xAl7TWhorfypN5rBKLgw" alt="capgemini example" title="capgemini example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10 Practical Reasons why Software Testing/QA is a Good Career Option&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;S/W Testing is in Demand&lt;/li&gt;
&lt;li&gt;Testers get Good Pay&lt;/li&gt;
&lt;li&gt;Relatively easy to enter into IT through S/W Testing &lt;/li&gt;
&lt;li&gt;Switch from Development to Testing is Easy&lt;/li&gt;
&lt;li&gt;Testing tools are easy to learn &lt;/li&gt;
&lt;li&gt;Kind of 9 to 6 job&lt;/li&gt;
&lt;li&gt;Good Onsite Opportunities &lt;/li&gt;
&lt;li&gt;Can work as Freelancer&lt;/li&gt;
&lt;li&gt;Relatively easy to come back after the career gap&lt;/li&gt;
&lt;li&gt;Career Shift from Testing to BA is easy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the event that you take up testing, your vocation way is unquestionably not an unchangeable reality and there's not only one approach to develop. A few people will move more rapidly through the phases than others. To propel, one ought to escape with making a point to persistently enhance one's abilities, developing as an individual, and investigating one's own potential.&lt;/p&gt;


</description>
      <category>softwaretesting</category>
      <category>qatesting</category>
      <category>career</category>
    </item>
    <item>
      <title>How to Build a Salesforce REST API Integration?</title>
      <dc:creator>Vikas Arora</dc:creator>
      <pubDate>Wed, 09 Jan 2019 08:12:41 +0000</pubDate>
      <link>https://dev.to/vikastwittes/how-to-build-a-salesforce-rest-api-integration-3m3n</link>
      <guid>https://dev.to/vikastwittes/how-to-build-a-salesforce-rest-api-integration-3m3n</guid>
      <description>

&lt;p&gt;An API based on REST uses HTTP to make requests for functioning with data. REST uses very less bandwidth and hence more preferable for internet usage. API is the aptest code through which two different software programs can communicate with each other. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uses of REST API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A company which has products in the sales and marketing area, building a Salesforce API can board huge benefits due to the large reach of Salesforce. Listing your product or app on a Salesforce ecosystem is a most tuned community in sales approaches. When a company attains a certain level in terms of strength and size, it finds it suitable to turn to Salesforce for making it big in Sales and marketing. Salesforce has an excellent community of developers and has a well-written solution to almost any obstacle which you are likely to face. In addition, they also have a sound e-learning platform which offers a huge choice of subjects to gain insights on various kinds of terminology and principals. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building a REST API Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A REST API is mainly centered on finding data from the Salesforce against the data which was sent from your product or application. No costs are usually involved in these integrations but you should remember that integrations via REST are only accessible to users of Salesforce on their enterprise plans. The Integration will need 3 vital steps:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Authorization
Data push by User
Data retrieval by User
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;*&lt;em&gt;Step One: Creating a Developer Account *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;They are really useful and offer a Salesforce organization where you can get hands-on with the interface. You also have the leeway to both add and delete users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step Two: Connecting an App&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the developer account is in place, you will have to set up a Connected App which has huge functionality and thus make it difficult to comprehend. To make things simpler, take your connected app as a small application which rests on the infrastructure of the Salesforce which needs to be integrated. This Connected App will cater to the management of the authentication and also channelizing the requests to the proper client services. Thus, now you have to click on Setup icon which is found on the top-right part of the navigation bar. In the Quick Find box, you need to select the App Manager where you have to click the ‘New Connected App’. This will take you to the Basic Information section where you will have to enter three things as follows:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Connect App Name
API Name
Email address
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Next, in the API section, after you check on &lt;a href="https://help.salesforce.com/articleView?id=connected_app_create.htm&amp;amp;type=5"&gt;Enable OAuth settings&lt;/a&gt;, you have to enter the Callback URL. Latter is the URL, which will be used by Salesforce to POST once the user has permitted your app to have access to his/her data. Thus, this includes the access and request token.  You should have a properly defined role for someone to handle and the same. Also, under the Selected OAuth Scopes, select the Access and Manage your data and finally click on Add. A Consumer Key will now be generated in addition to a Consumer Secret for your app.&lt;/p&gt;

&lt;p&gt;After the setup, the users are taken to an endpoint for Salesforce authorization where they are required to login and give their approval for the app for accessing the data. Once the authorization is complete, two tokens are sent by Salesforce, namely&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;**Access Token:** This needs to be put in the header of every API request for data. It has an expiry date and by default, it expires after 15 minutes in Connected Apps.
**Refresh Token:** This is used to fetch a valid access token. Expiry settings can be changed on this.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You have to build the API URL from the Access token response and use the value of the Access token as the bearer token in the header. You have to be careful about the characters that have to be escaped in the access token. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step Three: Retrieval of data to the app from Salesforce&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before moving to the retrieval you should know about what is meant by the Salesforce objects. Objects of the Salesforce are the database tables which have the organization’s data. These are Accounts, Leads, Tasks, Contacts etc. Custom objects can also be created. A particular occurrence of an object is described by a Salesforce record. &lt;/p&gt;

&lt;p&gt;Coming to retrieval, this can be done by making a request to the contact endpoint which will return information about the object under question. Also, you can use a combination of objects ‘describe’ endpoint which will give all the fields which can be populated by the users. Thus, access to all fields can also be used for building a custom query which can give all the associated properties about the object.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Salesforce REST API is easy to work with, has simple integration and simple HTTP requests. Salesforce has shown remarkable success in the enterprise customer level which cannot be countered. It is a perfect choice of technology which can be used with mobile applications and Web 2.0 projects. &lt;a href="https://www.janbasktraining.com/blog/how-to-improve-coding-skills-in-the-salesforce/"&gt;Salesforce coding skills&lt;/a&gt; and REST API is also important and of great use for various web or mobile applications which do not have any basic need for accessing a huge amount of data. It is a pathbreaking platform which is witnessing a significant adoption rate. This has also boosted the career opportunities for the ones who have proper Salesforce Online Training. &lt;/p&gt;


</description>
      <category>salesforce</category>
      <category>restapi</category>
    </item>
    <item>
      <title>Impact of Bind Variables on SQL Performance</title>
      <dc:creator>Vikas Arora</dc:creator>
      <pubDate>Sat, 28 Jul 2018 14:51:41 +0000</pubDate>
      <link>https://dev.to/vikastwittes/impact-of-bind-variables-on-sql-performance-3500</link>
      <guid>https://dev.to/vikastwittes/impact-of-bind-variables-on-sql-performance-3500</guid>
      <description>&lt;p&gt;Parsing is a big problem of dynamic SQL that affects the overall performance of SQL statements. As SQL developers cannot access the production environment, so they are usually not aware of the exact problems. &lt;/p&gt;

&lt;p&gt;Database vendors of the earlier version usually ship the database with parsed SQL statements that are stored in the database and these plans can be even reused by the database developers. This storage is known as execution plan cache. &lt;br&gt;
Through bind variables, the database can recognize the identical SQL statements even from the earlier parsed executed statements. Moreover, previous execution database plan can be re-executed to generate a new plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Are Bind Variables Associated with SQL Performance?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When an SQL statement gets executed in Oracle, it’s engine checks the validity of statements and plans that how the tables that are used in the statement can be accessed and joined together? This process is called parsing. Here, the optimizer determines the tables need to be accessed and joined. In this way, a complete execution plan gets formed. The step in which Oracle sends the statement to optimizer is known as hard parse.&lt;/p&gt;

&lt;p&gt;In case, if the execution plan already exists for any query then Oracle does not send the query to the optimizer and even use the existing plan. This process is called soft parsing. Oracle engine even considers minor formatting differences while comparing the two SQL statements.&lt;/p&gt;

&lt;p&gt;Like both of the following statements are different for Oracle:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;select * from students where student_id=s012;&lt;br&gt;
  And&lt;br&gt;
SELECT * FROM students WHERE student_id=s012;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Though both of the statements are same, Oracle engine will hardly parse these statements when it will execute them at the first time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Bind Variables Improve the SQL Performance?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Usually, any table is queried by Primary key at the time of query execution. The query is executed in the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A unique scan is performed for the primary key index&lt;/li&gt;
&lt;li&gt;By using the rowed of index required row is accessed &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This plan is performed for every call or query execution. Like for both of the following listed queries, the same above-listed plan will be executed twice or in other words, a hard phase will get executed each time.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;select * from students where student_id=4444;&lt;br&gt;
select * from students where student_id=1233;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;So, for both of these queries, same plan will be generated and executed twice that degrades the SQL performance. In such cases, to avoid the extra hard parses, we can replace the numbers by a variable or bind variable and just by a single statement the task can be performed:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;select * from students where student_id=:std;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Here, now when the same query will be executed twice for two different values of std, then first-time hard parse will be done and in the second time, soft parse will be done to generate the result.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The impact of using Bind Variables&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By using bind variables two types of performances are impacted a lot that are listed and defined below:&lt;/p&gt;

&lt;p&gt;*Individual Execution Performance&lt;br&gt;
*Entire System Performance&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does bind variables affect Individual Execution Performance?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When it comes to cache some information, then it brings some overhead as well. Somewhat overhead always involved in parsing. Even if a user needs to execute a small execution plan, still it will bring some overhead. Here, in such cases, the overhead will be SQL statement parsing and creation of execution plan for the same.&lt;/p&gt;

&lt;p&gt;Use of bind variable can speed up the execution plan up to 2.5 times as compared to those that do not use execution plan. For trivial queries, such performances matter a lot, while for the complex queries it can be a bit less, as in complex queries execution itself takes a lot of time. No one will ever want to pay the overhead price, so query and its plan are usually cached and are a more preferred option.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does bind variables affect the Entire System?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Without bind variables, not only individual query suffers instead entire system can suffer. In some cases, a single query can generate additional 20,000 queries, due to which many of the important queries may need to wait for the cache. Due to this, not only the execution of this single query slows down, but a number of important queries may need to wait as a result of which the speed of entire system may slow down. &lt;/p&gt;

&lt;p&gt;If every query gets slow down then the speed of entire system will get slow down and affected a lot. Many queries that may be more important will be queued up and server speed will get slow down ultimately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Workaround&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In some databases, constant literals are bounded to enforce parsing. In Oracle database, the variable CURSOR_SHARING=FORCE can be specified as “quick fix”. In another database SQL Server, this variable is called as forced parameterization.&lt;br&gt;
In such cases, there are some limitations as well. Additional parsing work may be required in special situations. At the time of parsing, the overhead increases as these literals have to be finding out and will be then replaced with bind variables. Such overhead is then applied to all queries. So, where bind variables improve the performance soon another hand they also increase the overhead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Words:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For &lt;a href="https://www.janbasktraining.com/online-sql-server-training"&gt;SQL&lt;/a&gt; performance, bind variables are much important. Especially if you are using client-side tools like Hibernate, jOOQ etc., here bind variables must be used as default variables. In case of procedural languages like T-SQL or PL/SQL, bind variables are generated automatically. With this Post, you have a clear idea of bind variables and how they can affect the SQL performance positively. To know more about SQL and it's bind variables you may join Oracle certification program at &lt;a href="https://www.janbasktraining.com"&gt;JanBask Training&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>sql</category>
    </item>
    <item>
      <title>Database Management System And Its Various Types</title>
      <dc:creator>Vikas Arora</dc:creator>
      <pubDate>Fri, 29 Jun 2018 12:55:01 +0000</pubDate>
      <link>https://dev.to/vikastwittes/database-management-system-and-its-various-types-3boh</link>
      <guid>https://dev.to/vikastwittes/database-management-system-and-its-various-types-3boh</guid>
      <description>&lt;p&gt;&lt;em&gt;What is a database?&lt;/em&gt; A collection of records. &lt;em&gt;What is a database management system?&lt;/em&gt; A means specially crafted to manage all the records. It is a software system that makes use of a standard method along with some queries on running them. These queries are designed to administer and control the databases properly. In short, you can say it is software that is used to manage proper functioning of the databases to provide a systematic way to create, retrieve, manage and update data stored in those databases. &lt;/p&gt;

&lt;p&gt;Database Management Systems are of various types and they are classified on various aspects as given in the figure below-&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Based on Data Model&lt;/strong&gt;&lt;br&gt;
Keeping Data Model as the criteria there are three types of DBMS systems&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relational Database&lt;/strong&gt;&lt;br&gt;
It is a table-oriented database which means that all the data is stored in various access control tables and every one of these tables has a key field whose primary task is to identify each row within that table. These tables or we can say the files with which the data is attached are called as relations and these relations are what helps in designating the rows or records, and the columns of these tables are referred to as the attributes or fields in &lt;a href="https://www.janbasktraining.com/blog/sql-implementation-with-ease-in-rdbms/"&gt;RDBMS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hierarchical Database&lt;/strong&gt;&lt;br&gt;
This is a database management system where the data is commanded by the database administrator in a way that follows a specified series of records as well as the set of values attached to that particular record. This type of DBMS is widely used in industries on mainframe platforms. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Object-Oriented Database&lt;/strong&gt;&lt;br&gt;
This is database management system in which the information is stored in the form of an object as it is done in several object-oriented programming techniques. This type of database adds an added advantage of giving database functionality to the object &lt;a href="https://en.wikipedia.org/wiki/FoxPro"&gt;programming languages&lt;/a&gt; running the DBMS. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Based on Number of Users&lt;/strong&gt;&lt;br&gt;
Keeping the number of users operating the database system as the criteria there are two types of DBMS systems&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Single user&lt;/strong&gt;&lt;br&gt;
As the name itself depicts this type of DBMS can bolster only one single user at any given point in time. These types of database management systems are usually installed on personal computers wherein the data is deemed to be accessible to one single user only. This user may configure, design, upgrade or write database programs on this DBMS. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multiple users&lt;/strong&gt; &lt;br&gt;
This type of database is empowered and designed to support multiple users at the same point in time. With this type of database, you can have your data integrated as well as shared. This because a database needs to be integrated when there is a requirement of same information to multiple users as this avoids data duplicity and frees up space.  &lt;/p&gt;

&lt;p&gt;Based on the sites over which network is distributed&lt;/p&gt;

&lt;p&gt;Keeping Data Model as the criteria there are three types of DBMS systems&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Centralized database system&lt;/strong&gt;&lt;br&gt;
When the Database Management System and the database are stored at one single site which is simultaneously being used by various other systems too is a typical definition of what a centralized DBMS system is. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallel network database system&lt;/strong&gt;&lt;br&gt;
This is one of the best database management systems as it provides an advantage of enhancing the processing input as well as the output speeds. Chiefly used for processing the applications that have got many queries pertaining to a larger database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Distributed database system&lt;/strong&gt;&lt;br&gt;
This type of database management system is a typical example of distributing the DBMS software over several sites but in the end, the databases are connected to one single computer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Database Management Systems play a very important role in the world of databases. They are like guardian angels protecting your data at your terms. The best part is that there are so many types of Database Management Systems available that you can easily shortlist the one that fits all your needs and have an administrator take care of it. &lt;/p&gt;

</description>
      <category>database</category>
      <category>types</category>
    </item>
    <item>
      <title>Revolutionize the Performance in SQL Server With in-memory OLTP System</title>
      <dc:creator>Vikas Arora</dc:creator>
      <pubDate>Mon, 07 May 2018 07:40:12 +0000</pubDate>
      <link>https://dev.to/vikastwittes/revolutionize-the-performance-in-sql-server-with-in-memory-oltp-system-41nn</link>
      <guid>https://dev.to/vikastwittes/revolutionize-the-performance-in-sql-server-with-in-memory-oltp-system-41nn</guid>
      <description>

&lt;p&gt;OLTP (Online transaction processing) is the biggest reason why should you switch to the latest versions of SQL servers when compared to traditional editions. Under the favourable conditions, OLTP offers significant performance benefits and increased the code execution times up to 30 times or more. &lt;/p&gt;

&lt;p&gt;The in-memory OLTP concept was introduced in &lt;a href="https://technet.microsoft.com/en-us/library/hh393556(v=sql.110).aspx"&gt;SQL server 2014&lt;/a&gt; with a plenty of limitations but all of those limitations have been eliminated in the latest 2016 version. This content will be helpful for software developers and software architects to get an idea how to make maximum benefits of potential performance improvements. &lt;/p&gt;

&lt;p&gt;Let us start with the introduction first. Then we will discuss OLTP objects and various characteristics or benefits for OLTP technology.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Quick Introduction to OLTPM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Memory was quite an expensive historically. Data was first stored on the disks then it was moved to the memory for further processing. With the discovery of affordable memory storage, there was a need for robust processing model that could handle the storage wisely. This is the reason why in-memory OLTP concept came into existence.&lt;/p&gt;

&lt;p&gt;The technology was discovered with an objective of scalable fast processing and model results in relatively know latches, locks, limited CPU cycles only. These are the fewer parameters that help in performance improvements significantly.&lt;br&gt;
OLTP can be combined with various components of SQL Server 2016 seamlessly without any requirement of system refactoring that is taken as the biggest advantage by &lt;a href="https://www.janbasktraining.com/blog/microsoft-sql-server-developer/"&gt;SQL developers&lt;/a&gt;. The OLTP processing model has still some limitations but they are relatively lower as compared to SQL server 2014.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In-memory OLTP Objects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This section will start with the discussion how to prepare a database to use in-memory OLTP objects. &lt;/p&gt;

&lt;p&gt;● Create OLTP table and filegroup&lt;br&gt;
First of all, you need to create OLTP tables and filegroup. At the same time, indexes are also created. &lt;/p&gt;

&lt;p&gt;● Create indexes – Hash &amp;amp; non-clustered&lt;br&gt;
Two most popular indexes that are used in SQL server are hash indexes and non-clustered indexes. Hash indexes are used for key lookups and non-clustered indexes are utilized to search a vast amount of data. &lt;/p&gt;

&lt;p&gt;● Access compiled stored procedures&lt;br&gt;
Further, you need to inspect the stored procedures that have the freedom to access OLTP tables and further compiled into DDLs for best performance levels. &lt;/p&gt;

&lt;p&gt;● Prepare database to use in-memory OLTP objects&lt;br&gt;
Finally, there is OLTP engine that is used to insert data into the database with the help of objects, tables, indexes, filegroup etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OLTP Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this section, we will discuss OLTP characteristics and benefits. Once you will go through this section carefully, you will get to know yourself why in-memory OLTP technology has become a primary choice for all software developers and the architects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OLTP Characteristics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;● Every OLTP environment has the relatively short response time as compared to the other similar technologies that allow users to remain productive.&lt;/p&gt;

&lt;p&gt;● OLTP system focuses on small transactions only. It typically reads or manipulates selected data or a limited data files only. This is the reason complex joins are rare in case of OLTP system and data processing is highly simpler.&lt;/p&gt;

&lt;p&gt;● It handles reporting program and data changing programs that should run periodically. Take an example, fewer tasks are running in the background when you are busy with other work and it generally needs intensive computation jobs. OLTP has the capability to handle all these things together with proper data maintenance operations.&lt;/p&gt;

&lt;p&gt;● OLTP may have endless users accessing data at the same time. For example, there is one result announcing website where thousands of users are logged in together to check their results.&lt;/p&gt;

&lt;p&gt;● Based on our above discussion that signifies shorter response time, small transactions etc, the higher concurrency, in this case, is pretty common.&lt;/p&gt;

&lt;p&gt;● On the basis of certain parameters like the number of users, amount of data or data processing time, OLTP systems can be really huge than your expectations. Take an example of the banking system, where every connected user can avail online banking facility and check its past one-year history with a single click. &lt;/p&gt;

&lt;p&gt;● Under OLTP system, different data access patterns can be defined together to make the product a big HIT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the benefits?&lt;/strong&gt;&lt;br&gt;
➢ OLTP systems provide wonderful support for large sized databases with excellent backups and recovery options.&lt;/p&gt;

&lt;p&gt;➢ The data maintenance operations can be managed well through partitioning management techniques that generate minimum redo when compared to the equivalent DML operations.&lt;/p&gt;

&lt;p&gt;➢ The system offers relatively higher concurrency by eliminating all other limitations like response time, data processing speed, latches, blocking etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final words:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OLTP is a common data processing tool for large enterprises today. Classical OLTP systems were not so good in performance but modern systems can be used almost everywhere and witnessing excellent performance improvement as compared to other similar technologies or systems. &lt;/p&gt;

&lt;p&gt;A list of characteristics and benefits discussed throughout the article are the biggest reason why should you switch to latest OLTP system in SQL server 2016 and enjoy flexible data maintenance operations like never before.&lt;/p&gt;


</description>
      <category>oltpsystem</category>
      <category>sql</category>
    </item>
  </channel>
</rss>
