{"global":{"lastError":{},"locale":"en","locales":{"data":[{"id":"de","name":"Deutsch"},{"id":"en","name":"English"}],"loading":false,"error":false},"currency":{"id":49,"name":"EUR"},"currencies":{"data":[{"id":49,"name":"EUR"},{"id":124,"name":"RUB"},{"id":153,"name":"UAH"},{"id":155,"name":"USD"}],"loading":false,"error":false},"translations":{"company":{"role-vendor":{"ru":"Производитель","_type":"localeString","en":"Vendor"},"role-supplier":{"ru":"Поставщик","_type":"localeString","en":"Supplier"},"products-popover":{"en":"Products","de":"die produkte","ru":"Продукты","_type":"localeString"},"introduction-popover":{"ru":"внедрения","_type":"localeString","en":"introduction"},"partners-popover":{"_type":"localeString","en":"partners","ru":"партнеры"},"update-profile-button":{"_type":"localeString","en":"Update profile","ru":"Обновить профиль"},"read-more-button":{"ru":"Показать ещё","_type":"localeString","en":"Show more"},"hide-button":{"en":"Hide","ru":"Скрыть","_type":"localeString"},"user-implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"categories":{"ru":"Компетенции","_type":"localeString","en":"Categories"},"description":{"ru":"Описание","_type":"localeString","en":"Description"},"role-user":{"_type":"localeString","en":"User","ru":"Пользователь"},"partnership-vendors":{"_type":"localeString","en":"Partnership with vendors","ru":"Партнерство с производителями"},"partnership-suppliers":{"ru":"Партнерство с поставщиками","_type":"localeString","en":"Partnership with suppliers"},"reference-bonus":{"ru":"Бонус за референс","_type":"localeString","en":"Bonus 4 reference"},"partner-status":{"ru":"Статус партнёра","_type":"localeString","en":"Partner status"},"country":{"ru":"Страна","_type":"localeString","en":"Country"},"partner-types":{"ru":"Типы партнеров","_type":"localeString","en":"Partner types"},"branch-popover":{"_type":"localeString","en":"branch","ru":"область деятельности"},"employees-popover":{"ru":"количество сотрудников","_type":"localeString","en":"number of employees"},"partnership-programme":{"_type":"localeString","en":"Partnership program","ru":"Партнерская программа"},"partner-discounts":{"en":"Partner discounts","ru":"Партнерские скидки","_type":"localeString"},"registered-discounts":{"ru":"Дополнительные преимущества за регистрацию сделки","_type":"localeString","en":"Additional benefits for registering a deal"},"additional-advantages":{"ru":"Дополнительные преимущества","_type":"localeString","en":"Additional Benefits"},"additional-requirements":{"_type":"localeString","en":"Partner level requirements","ru":"Требования к уровню партнера"},"certifications":{"ru":"Сертификация технических специалистов","_type":"localeString","en":"Certification of technical specialists"},"sales-plan":{"ru":"Годовой план продаж","_type":"localeString","en":"Annual Sales Plan"},"partners-vendors":{"ru":"Партнеры-производители","_type":"localeString","en":"Partners-vendors"},"partners-suppliers":{"ru":"Партнеры-поставщики","_type":"localeString","en":"Partners-suppliers"},"all-countries":{"en":"All countries","ru":"Все страны","_type":"localeString"},"supplied-products":{"en":"Supplied products","ru":"Поставляемые продукты","_type":"localeString"},"vendored-products":{"_type":"localeString","en":"Produced products","ru":"Производимые продукты"},"vendor-implementations":{"en":"Produced deployments","ru":"Производимые внедрения","_type":"localeString"},"supplier-implementations":{"ru":"Поставляемые внедрения","_type":"localeString","en":"Supplied deployments"},"show-all":{"ru":"Показать все","_type":"localeString","en":"Show all"},"not-yet-converted":{"ru":"Данные модерируются и вскоре будут опубликованы. Попробуйте повторить переход через некоторое время.","_type":"localeString","en":"Data is moderated and will be published soon. Please, try again later."},"schedule-event":{"ru":"Pасписание событий","_type":"localeString","en":"Events schedule"},"implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"register":{"_type":"localeString","en":"Register","ru":"Регистрация "},"login":{"ru":"Вход","_type":"localeString","en":"Login"},"auth-message":{"_type":"localeString","en":"To view company events please log in or register on the sit.","ru":"Для просмотра ивентов компании авторизируйтесь или зарегистрируйтесь на сайт."},"company-presentation":{"en":"Company presentation","ru":"Презентация компании","_type":"localeString"}},"header":{"help":{"de":"Hilfe","ru":"Помощь","_type":"localeString","en":"Help"},"how":{"de":"Wie funktioniert es","ru":"Как это работает","_type":"localeString","en":"How does it works"},"login":{"de":"Einloggen","ru":"Вход","_type":"localeString","en":"Log in"},"logout":{"_type":"localeString","en":"Sign out","ru":"Выйти"},"faq":{"de":"FAQ","ru":"FAQ","_type":"localeString","en":"FAQ"},"references":{"en":"Requests","de":"References","ru":"Мои запросы","_type":"localeString"},"solutions":{"ru":"Возможности","_type":"localeString","en":"Solutions"},"find-it-product":{"ru":"Подбор и сравнение ИТ продукта","_type":"localeString","en":"Selection and comparison of IT product"},"autoconfigurator":{"ru":"Калькулятор цены","_type":"localeString","en":" Price calculator"},"comparison-matrix":{"ru":"Матрица сравнения","_type":"localeString","en":"Comparison Matrix"},"roi-calculators":{"en":"ROI calculators","ru":"ROI калькуляторы","_type":"localeString"},"b4r":{"_type":"localeString","en":"Bonus for reference","ru":"Бонус за референс"},"business-booster":{"ru":"Развитие бизнеса","_type":"localeString","en":"Business boosting"},"catalogs":{"en":"Catalogs","ru":"Каталоги","_type":"localeString"},"products":{"_type":"localeString","en":"Products","ru":"Продукты"},"implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"companies":{"ru":"Компании","_type":"localeString","en":"Companies"},"categories":{"en":"Categories","ru":"Категории","_type":"localeString"},"for-suppliers":{"ru":"Поставщикам","_type":"localeString","en":"For suppliers"},"blog":{"ru":"Блог","_type":"localeString","en":"Blog"},"agreements":{"en":"Deals","ru":"Сделки","_type":"localeString"},"my-account":{"_type":"localeString","en":"My account","ru":"Мой кабинет"},"register":{"ru":"Зарегистрироваться","_type":"localeString","en":"Register"},"comparison-deletion":{"ru":"Удаление","_type":"localeString","en":"Deletion"},"comparison-confirm":{"en":"Are you sure you want to delete","ru":"Подтвердите удаление","_type":"localeString"},"search-placeholder":{"en":"Enter your search term","ru":"Введите поисковый запрос","_type":"localeString"},"my-profile":{"_type":"localeString","en":"My profile","ru":"Мои данные"},"about":{"_type":"localeString","en":"About Us"},"it_catalogs":{"_type":"localeString","en":"IT catalogs"},"roi4presenter":{"en":"Roi4Presenter","_type":"localeString"},"roi4webinar":{"_type":"localeString","en":"Pitch Avatar"},"sub_it_catalogs":{"_type":"localeString","en":"Find IT product"},"sub_b4reference":{"_type":"localeString","en":"Get reference from user"},"sub_roi4presenter":{"en":"Make online presentations","_type":"localeString"},"sub_roi4webinar":{"_type":"localeString","en":"Create an avatar for the event"},"catalogs_new":{"_type":"localeString","en":"Products"},"b4reference":{"en":"Bonus4Reference","_type":"localeString"},"it_our_it_catalogs":{"_type":"localeString","en":"Our IT Catalogs"},"it_products":{"_type":"localeString","en":"Find and compare IT products"},"it_implementations":{"en":"Learn implementation reviews","_type":"localeString"},"it_companies":{"_type":"localeString","en":"Find vendor and company-supplier"},"it_categories":{"en":"Explore IT products by category","_type":"localeString"},"it_our_products":{"_type":"localeString","en":"Our Products"},"it_it_catalogs":{"en":"IT catalogs","_type":"localeString"}},"footer":{"copyright":{"de":"Alle rechte vorbehalten","ru":"Все права защищены","_type":"localeString","en":"All rights reserved"},"company":{"de":"Über die Firma","ru":"О компании","_type":"localeString","en":"My Company"},"about":{"en":"About us","de":"Über uns","ru":"О нас","_type":"localeString"},"infocenter":{"de":"Infocenter","ru":"Инфоцентр","_type":"localeString","en":"Infocenter"},"tariffs":{"de":"Tarife","ru":"Тарифы","_type":"localeString","en":"Subscriptions"},"contact":{"_type":"localeString","en":"Contact us","de":"Kontaktiere uns","ru":"Связаться с нами"},"marketplace":{"en":"Marketplace","de":"Marketplace","ru":"Marketplace","_type":"localeString"},"products":{"de":"Produkte","ru":"Продукты","_type":"localeString","en":"Products"},"compare":{"_type":"localeString","en":"Pick and compare","de":"Wähle und vergleiche","ru":"Подобрать и сравнить"},"calculate":{"_type":"localeString","en":"Calculate the cost","de":"Kosten berechnen","ru":"Расчитать стоимость"},"get_bonus":{"_type":"localeString","en":"Bonus for reference","de":"Holen Sie sich einen Rabatt","ru":"Бонус за референс"},"salestools":{"de":"Salestools","ru":"Salestools","_type":"localeString","en":"Salestools"},"automatization":{"ru":"Автоматизация расчетов","_type":"localeString","en":"Settlement Automation","de":"Abwicklungsautomatisierung"},"roi_calcs":{"en":"ROI calculators","de":"ROI-Rechner","ru":"ROI калькуляторы","_type":"localeString"},"matrix":{"de":"Vergleichsmatrix","ru":"Матрица сравнения","_type":"localeString","en":"Comparison matrix"},"b4r":{"de":"Rebate 4 Reference","ru":"Rebate 4 Reference","_type":"localeString","en":"Rebate 4 Reference"},"our_social":{"de":"Unsere sozialen Netzwerke","ru":"Наши социальные сети","_type":"localeString","en":"Our social networks"},"subscribe":{"de":"Melden Sie sich für den Newsletter an","ru":"Подпишитесь на рассылку","_type":"localeString","en":"Subscribe to newsletter"},"subscribe_info":{"ru":"и узнавайте первыми об акциях, новых возможностях и свежих обзорах софта","_type":"localeString","en":"and be the first to know about promotions, new features and recent software reviews"},"policy":{"en":"Privacy Policy","ru":"Политика конфиденциальности","_type":"localeString"},"user_agreement":{"en":"Agreement","ru":"Пользовательское соглашение ","_type":"localeString"},"solutions":{"ru":"Возможности","_type":"localeString","en":"Solutions"},"find":{"ru":"Подбор и сравнение ИТ продукта","_type":"localeString","en":"Selection and comparison of IT product"},"quote":{"en":"Price calculator","ru":"Калькулятор цены","_type":"localeString"},"boosting":{"ru":"Развитие бизнеса","_type":"localeString","en":"Business boosting"},"4vendors":{"ru":"поставщикам","_type":"localeString","en":"4 vendors"},"blog":{"ru":"блог","_type":"localeString","en":"blog"},"pay4content":{"en":"we pay for content","ru":"платим за контент","_type":"localeString"},"categories":{"ru":"категории","_type":"localeString","en":"categories"},"showForm":{"en":"Show form","ru":"Показать форму","_type":"localeString"},"subscribe__title":{"_type":"localeString","en":"We send a digest of actual news from the IT world once in a month!","ru":"Раз в месяц мы отправляем дайджест актуальных новостей ИТ мира!"},"subscribe__email-label":{"ru":"Email","_type":"localeString","en":"Email"},"subscribe__name-label":{"en":"Name","ru":"Имя","_type":"localeString"},"subscribe__required-message":{"ru":"Это поле обязательное","_type":"localeString","en":"This field is required"},"subscribe__notify-label":{"ru":"Да, пожалуйста уведомляйте меня о новостях, событиях и предложениях","_type":"localeString","en":"Yes, please, notify me about news, events and propositions"},"subscribe__agree-label":{"ru":"Подписываясь на рассылку, вы соглашаетесь с %TERMS% и %POLICY% и даете согласие на использование файлов cookie и передачу своих персональных данных*","_type":"localeString","en":"By subscribing to the newsletter, you agree to the %TERMS% and %POLICY% and agree to the use of cookies and the transfer of your personal data"},"subscribe__submit-label":{"ru":"Подписаться","_type":"localeString","en":"Subscribe"},"subscribe__email-message":{"ru":"Пожалуйста, введите корректный адрес электронной почты","_type":"localeString","en":"Please, enter the valid email"},"subscribe__email-placeholder":{"_type":"localeString","en":"username@gmail.com","ru":"username@gmail.com"},"subscribe__name-placeholder":{"ru":"Имя Фамилия","_type":"localeString","en":"Last, first name"},"subscribe__success":{"ru":"Вы успешно подписаны на рассылку. Проверьте свой почтовый ящик.","_type":"localeString","en":"You are successfully subscribed! Check you mailbox."},"subscribe__error":{"ru":"Не удалось оформить подписку. Пожалуйста, попробуйте позднее.","_type":"localeString","en":"Subscription is unsuccessful. Please, try again later."},"roi4presenter":{"ru":"roi4presenter","_type":"localeString","en":"Roi4Presenter","de":"roi4presenter"},"it_catalogs":{"_type":"localeString","en":"IT catalogs"},"roi4webinar":{"en":"Pitch Avatar","_type":"localeString"},"b4reference":{"en":"Bonus4Reference","_type":"localeString"}},"breadcrumbs":{"home":{"_type":"localeString","en":"Home","ru":"Главная"},"companies":{"ru":"Компании","_type":"localeString","en":"Companies"},"products":{"ru":"Продукты","_type":"localeString","en":"Products"},"implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"login":{"ru":"Вход","_type":"localeString","en":"Login"},"registration":{"ru":"Регистрация","_type":"localeString","en":"Registration"},"b2b-platform":{"_type":"localeString","en":"B2B platform for IT buyers, vendors and suppliers","ru":"Портал для покупателей, поставщиков и производителей ИТ"}},"comment-form":{"title":{"ru":"Оставить комментарий","_type":"localeString","en":"Leave comment"},"firstname":{"ru":"Имя","_type":"localeString","en":"First name"},"lastname":{"_type":"localeString","en":"Last name","ru":"Фамилия"},"company":{"ru":"Компания","_type":"localeString","en":"Company name"},"position":{"_type":"localeString","en":"Position","ru":"Должность"},"actual-cost":{"_type":"localeString","en":"Actual cost","ru":"Фактическая стоимость"},"received-roi":{"ru":"Полученный ROI","_type":"localeString","en":"Received ROI"},"saving-type":{"ru":"Тип экономии","_type":"localeString","en":"Saving type"},"comment":{"en":"Comment","ru":"Комментарий","_type":"localeString"},"your-rate":{"ru":"Ваша оценка","_type":"localeString","en":"Your rate"},"i-agree":{"ru":"Я согласен","_type":"localeString","en":"I agree"},"terms-of-use":{"ru":"С пользовательским соглашением и политикой конфиденциальности","_type":"localeString","en":"With user agreement and privacy policy"},"send":{"en":"Send","ru":"Отправить","_type":"localeString"},"required-message":{"ru":"{NAME} - это обязательное поле","_type":"localeString","en":"{NAME} is required filed"}},"maintenance":{"title":{"ru":"На сайте проводятся технические работы","_type":"localeString","en":"Site under maintenance"},"message":{"ru":"Спасибо за ваше понимание","_type":"localeString","en":"Thank you for your understanding"}}},"translationsStatus":{"company":"success"},"sections":{},"sectionsStatus":{},"pageMetaData":{"company":{"translatable_meta":[{"name":"title","translations":{"_type":"localeString","en":"Company","ru":"Компания"}},{"name":"description","translations":{"en":"Company description","ru":"Описание компании","_type":"localeString"}},{"name":"keywords","translations":{"_type":"localeString","en":"Company keywords","ru":"Ключевые слова для компании"}}],"title":{"en":"ROI4CIO: Company","ru":"ROI4CIO: Компания","_type":"localeString"},"meta":[{"name":"og:image","content":"https://roi4cio.com/fileadmin/templates/roi4cio/image/roi4cio-logobig.jpg"},{"content":"website","name":"og:type"}]}},"pageMetaDataStatus":{"company":"success"},"subscribeInProgress":false,"subscribeError":false},"auth":{"inProgress":false,"error":false,"checked":true,"initialized":false,"user":{},"role":null,"expires":null},"products":{"productsByAlias":{},"aliases":{},"links":{},"meta":{},"loading":false,"error":null,"useProductLoading":false,"sellProductLoading":false,"templatesById":{},"comparisonByTemplateId":{}},"filters":{"filterCriterias":{"loading":false,"error":null,"data":{"price":{"min":0,"max":6000},"users":{"loading":false,"error":null,"ids":[],"values":{}},"suppliers":{"loading":false,"error":null,"ids":[],"values":{}},"vendors":{"loading":false,"error":null,"ids":[],"values":{}},"roles":{"id":200,"title":"Roles","values":{"1":{"id":1,"title":"User","translationKey":"user"},"2":{"id":2,"title":"Supplier","translationKey":"supplier"},"3":{"id":3,"title":"Vendor","translationKey":"vendor"}}},"categories":{"flat":[],"tree":[]},"countries":{"loading":false,"error":null,"ids":[],"values":{}}}},"showAIFilter":false},"companies":{"companiesByAlias":{"volo":{"id":10343,"title":"VOLO","logoURL":"https://old.roi4cio.com/uploads/roi/company/Original_volo_logo_color_1.png","alias":"volo","address":"Komitas 54 V, 3-4-5 Floors, Yerevan, Armenia","roles":[{"id":3,"type":"vendor"}],"description":" At VOLO, we put our 17+ years of expertise to help leading companies and innovative scale-ups worldwide create tech products that advance them further within their industries. We specialize in\r\n\r\nSoftware Development Consulting\r\nCustom End-to-End Product Development\r\nMobile App Development\r\nAI/ML Development\r\nIoT Applications\r\nInfrastructure Management\r\nCloud Services\r\n\r\nWe provide full-stack services focused on scalable backend (C-Sharp, Python, C, C++) and frontend (JavaScript, React, Angular) solutions.\r\nIn mobile, we excel in Native as well as Cross-Platform development with Swift, Kotlin, Flutter, and Xamarin.\r\nWe offer end-to-end support throughout the project lifecycle, from strategic consulting to successful deployment. Our services include Project Management, Quality Assurance, Business Analysis, and UI/UX Design to ensure a comprehensive and effective project execution.\r\nOur experience and expertise in engineering sophisticated tech solutions enables our partners to achieve their digital transformation objectives in tune with their strategy, budget, and time.\r\nConnect with us for anxiety-free software outsourcing. With 300+ problem-solvers on board, we have been turning complexity into simplicity and helping clients across 4 continents achieve impactful change through technology.\r\nFor a more comprehensive overview of our services, visit https://volo.global.","companyTypes":["vendor"],"products":{},"vendoredProductsCount":0,"suppliedProductsCount":0,"supplierImplementations":[],"vendorImplementations":[],"userImplementations":[],"userImplementationsCount":0,"supplierImplementationsCount":0,"vendorImplementationsCount":0,"vendorPartnersCount":0,"supplierPartnersCount":0,"b4r":1,"categories":{"70":{"id":70,"title":"OLAP - online analytical processing","description":"<span style=\"font-weight: bold; \">OLAP (online analytical processing)</span> is a computing method that enables users to easily and selectively extract and query data in order to analyze it from different points of view. OLAP business intelligence queries often aid in trends analysis, financial reporting, sales forecasting, budgeting and other planning purposes.\r\nTo facilitate this kind of analysis, data is collected from multiple data sources and stored in data warehouses then cleansed and organized into <span style=\"font-weight: bold; \">data cubes.</span> Each OLAP cube contains data categorized by dimensions (such as customers, geographic sales region and time period) derived by dimensional tables in the data warehouses. Dimensions are then populated by members (such as customer names, countries and months) that are organized hierarchically.\r\nAnalysts can then perform five types of online analytical processing system operations against these multidimensional databases: \r\n<ol><li><span style=\"font-weight: bold; \">Roll-up.</span> Also known as consolidation, or drill-up, this operation summarizes the data along the dimension.</li><li><span style=\"font-weight: bold; \">Drill-down.</span> This allows analysts to navigate deeper among the dimensions of data, for example drilling down from "time period" to "years" and "months" to chart sales growth for a product.</li><li><span style=\"font-weight: bold; \">Slice. </span>This enables an analyst to take one level of information for display</li><li><span style=\"font-weight: bold; \">Dice. </span>This allows an analyst to select data from multiple dimensions to analyze</li><li><span style=\"font-weight: bold; \">Pivot.</span> Analysts can gain a new view of data by rotating the data axes of the cube.</li></ol>\r\nOLAP software then locates the intersection of dimensions, such as all products sold in the Eastern region above a certain price during a certain time period, and displays them. The result is the "measure"; each OLAP cube has at least one to perhaps hundreds of measures, which are derived from information stored in fact tables in the data warehouse.\r\n<p class=\"align-center\"><span style=\"font-weight: bold; \">Types of OLAP: </span></p>\r\n<ul><li><span style=\"font-weight: bold;\">Relational online analytical processing (ROLAP):</span> ROLAP is an extended RDBMS along with multidimensional data mapping to perform the standard relational operation.</li><li><span style=\"font-weight: bold;\">Multidimensional OLAP (MOLAP):</span> MOLAP Implementes operation in multidimensional data.</li><li><span style=\"font-weight: bold;\">Hybrid OnlineAnalytical Processing (HOLAP):</span> In HOLAP approach the aggregated totals are stored in a multidimensional database while the detailed data is stored in the relational database. This offers both data efficiency of the ROLAP model and the performance of the MOLAP model.</li><li><span style=\"font-weight: bold;\">Desktop OLAP (DOLAP):</span> In Desktop OLAP system, a user downloads a part of the data from the database locally, or on their desktop and analyze it. DOLAP is relatively cheaper to deploy as it offers very few functionalities compares to other OLAP tools.</li><li><span style=\"font-weight: bold;\">Web based OLAP (WOLAP):</span> Web OLAP which is OLAP system accessible via the web browser. WOLAP is a three-tiered architecture. It consists of three components: client, middleware, and a database server.</li><li><span style=\"font-weight: bold;\">Mobile OLAP:</span> Mobile OLAP process helps users to access and analyze OLAP data using their mobile devices</li><li><span style=\"font-weight: bold;\">Spatial OLAP:</span> SOLAP is created to facilitate management of both spatial and non-spatial data in a Geographic Information system (GIS) </li></ul>","materialsDescription":"<h1 class=\"align-center\">Implementing an OLAP Solution</h1>\r\nImplementation of OLAP depends not only on the type of software, but also on underlying data sources and the intended business objective(s). Each industry or business area is specific and requires some degree of customized modeling to create multidimensional “cubes” for data loading and reporting building, at minimum. An OLAP program might be intended for dynamic reporting for finance professionals, with source data originating in an ERP system. Or a solution might address a medical institution’s activities as concerns patient analysis. All of which is to say that customers need to have clear objectives in mind for an intended solution, and start to consider product selection on that basis. Another factor to consider in an OLAP implementation is the delivery to end users: does the initial user base want to adopt a new front end, or is there a preference for utilizing a dashboard? Or perhaps users are better served by a dynamic spreadsheet “delivery” system to achieve, for example, a collaborative budgeting and forecasting solution.\r\n<h1 class=\"align-center\">Advantages and Disadvantages of OLAP</h1>\r\n<p class=\"align-left\"><span style=\"font-weight: bold;\">Advantages</span></p>\r\n<ul><li>OLAP is a platform for all type of business includes planning, budgeting, reporting, and analysis.</li><li>Information and calculations are consistent in an OLAP cube. This is a crucial benefit.</li><li>Quickly create and analyze "What if" scenarios</li><li>Easily search OLAP database for broad or specific terms.</li><li>OLAP provides the building blocks for business modeling tools, Data mining tools, performance reporting tools.</li><li>Allows users to do slice and dice cube data all by various dimensions, measures, and filters.</li><li>It is good for analyzing time series.</li><li>Finding some clusters and outliers is easy with OLAP.</li><li> It is a powerful visualization online analytical process system which provides faster response times</li></ul>\r\n<p class=\"align-left\"><span style=\"font-weight: bold;\">Disadvantages</span></p>\r\n<ul><li>OLAP requires organizing data into a star or snowflake schema. These schemas are complicated to implement and administer.</li><li>You cannot have large number of dimensions in a single OLAP cube.</li><li>Transactional data cannot be accessed with OLAP system.</li><li>Any modification in an OLAP cube needs a full update of the cube. This is a time-consuming process.</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/OLAP_-__online_analytical_processing.png","alias":"olap-online-analytical-processing"},"76":{"id":76,"title":"CPM - Corporate Performance Management","description":"<span style=\"font-weight: bold; \">Corporate performance management (CPM)</span> is an umbrella term that describes the methodologies, metrics, processes and systems used to monitor and manage the business performance of an enterprise. Applications that enable CPM translate strategically focused information to operational plans and send aggregated results. These applications are also integrated into many elements of the planning and control cycle, or they address BAM or customer relationship optimization needs.\r\nCPM must be supported by a suite of analytical applications that provide the functionality to support these processes, methodologies and metrics.\r\n A CPM system is software that monitors and manages an organization's performance, according to key performance indicators. These can be revenue, return on investment, or other corporate strategic goals, such as increasing operational efficiency or improving corporate strategy.\r\nCorporate performance management system supports financial budgeting, planning and forecasting, and help leaders manage strategy and track the company’s financial health against goals. Corporate performance management tools are commonly used by the finance department, but are increasingly designed to be used across the enterprise. All in all, financial corporate performance management helps CFOs and other leaders maintain a clear picture of organizational performance.\r\n<p class=\"align-center\"><span style=\"font-weight: bold; \">CPM Software Comparison</span></p>\r\nTo compare different CPM tools, you might want to consider evaluating options based on these factors:\r\n<span style=\"font-weight: bold; \">Finance vs Strategy:</span> Do you care more about strategic planning or financials (such as consolidation and close, reporting, etc)? Financial corporate performance management products rarely do both of these well, so depending on which is your priority, compare tools based on both capabilities. Look at feature ratings for budgeting, planning and forecasting, versus consolidation and close and reporting.\r\n<span style=\"font-weight: bold; \">Deployment type:</span> Corporate performance management solutions may be cloud-based, on-premise, or offer both deployment types.\r\n<span style=\"font-weight: bold; \">Usability:</span> Ease of use is an important factor, even more so if your use of the CPM software will extend beyond the Finance team. Look for comments about usability in pros & cons sections of reviews, and compare how the products rate for usability.\r\n<span style=\"font-weight: bold; \">Reporting:</span> Corporate performance management software is very centered on reporting and the ability to build custom reports. Reviewers often comment on the quality of reporting, and are asked to rate products based on reporting features.\r\n\r\n","materialsDescription":"<h1 class=\"align-center\">Why is CPM important and who is CPM important for?</h1>\r\nRecent studies have shown that strategy execution is the number one area of focus for senior executives today and CPM performance management is a way to help ensure your strategies get executed. By integrating organizational goals, metrics, and projects, your company is aligned around strategic priorities and can focus on the key drivers of the business.\r\nCPM is important for every company, but especially those looking to:\r\n<ul><li>Remodel their budget</li><li>Reduce costs</li><li>Better align KPIs</li><li>Upgrade their organizational strategy</li><li>Improve the financial planning process<span style=\"font-weight: bold; \"></span></li></ul>\r\n<h1 class=\"align-center\">Importance of Corporate Performance Management Software</h1>\r\nIn the era of business management intelligence, it’s important that corporations embrace processes automation. Here are some of the benefits of adopting an enterprise and corporate performance management solution.\r\n<span style=\"font-weight: bold;\">1. Real-time feedback.</span> Performance management software has smart dashboards which contain every measurable metric a management team may need to use in its decision-making. However, the detail is not in the variety. It’s in the ability to read and use data as changes happen in real-time across all parts of the organization. \r\n<span style=\"font-weight: bold;\">2. Data consolidation for easy management.</span> The tools have the intelligence to gather, group, and combine data from multiple sources, be it departments, spreadsheets, or even companies. \r\n<span style=\"font-weight: bold;\">3. Provide ease of risk management.</span> One significant advantage of CPM is the integration of tools like what-if models. For instance, the model empowers managers to mitigate risks and make informed decisions based on the simulation of the best-worst case scenarios. \r\n<span style=\"font-weight: bold;\">4. Provide simple data feedback and access.</span> Performance management tools enable managers to have ease of access to information while still fostering accuracy and quality. \r\n<span style=\"font-weight: bold;\">5. Ease of collaboration.</span> CPM tools are not only locally integrated but also cloud connected to allows all users to stay in sync across all departments.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/CPM_-_Corporate_Performance_Management.png","alias":"cpm-corporate-performance-management"},"271":{"id":271,"title":"Messaging Applications","description":" Messaging apps (a.k.a. "Social messaging" or "chat applications") are apps and platforms that enable messaging, many of which started around social networking platforms, but many of which have now developed into broad platforms enabling status updates, chatbots, payments and conversational commerce (e-commerce via chat).\r\nSome examples of popular messaging apps include WhatsApp, China's WeChat and QQ Messenger, Viber, Line, Snapchat, Korea's KakaoTalk, Google Hangouts, Blackberry Messenger, Telegram, and Vietnam's Zalo. Slack focuses on messaging and file sharing for work teams. Some social networking services offer messaging services as a component of their overall platform, such as Facebook's Facebook Messenger, along with Instagram and Twitter's direct messaging functions.\r\nMessaging apps are the most widely used smartphone apps with in 2018 over 1.3 billion monthly users of WhatsApp and Facebook Messenger, 980 million monthly active users of WeChat and 843 million monthly active users of QQ Mobile.\r\nOnline chatting apps differ from the previous generation of instant messaging platforms like the defunct AIM, Yahoo! Messenger, and Windows Live Messenger, in that they are primarily used via mobile apps on smartphones as opposed to personal computers, although some messaging apps offer web-based versions or software for PC operating systems.\r\nAs people upgraded in the 2010s from feature phones to smartphones, they moved from traditional calling and SMS (which are paid services) to messaging apps which are free or only incur small data charges.\r\n<p class=\"align-left\"> </p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold;\">Messaging apps each have some of the following features:</span></p>\r\n<ul><li>Chat</li></ul>\r\n<ol><li>One-on-one chat</li><li>Group chat</li><li> Broadcast lists</li><li>Chatbots (including "bot in group chats")</li><li>"Smart replies" (suggested replies to incoming messages provided by Google's Reply platform )</li></ol>\r\n<ul><li>Calls</li></ul>\r\n<ol><li>Voice calls</li><li> Video calls</li></ol>\r\n<ul><li>Audio alerts (on Line)</li><li>File sharing</li><li>Games</li><li>"Mini Programs" (e.g. WeChat Mini Program)</li><li>News discovery (e.g. Snapchat Discover)</li><li>Payments or mobile wallet, e.g. WeChat Pay which processes much of the Chinese mobile payment volume of US$5 trillion (2016)</li><li>Personal (cloud) storage</li><li>Push notifications</li><li>Status updates (WhatsApp Status, WeChat Moments)</li><li>Stickers</li><li>Virtual assistant, e.g. Google Assistant in Google Allo</li></ul>\r\n<p class=\"align-left\">Unlike chat rooms with many users engaging in multiple and overlapping conversations, instant messaging application sessions usually take place between two users in a private, back-and-forth style of communication.</p>\r\n<p class=\"align-left\">One of the core features of different messaging apps is the ability to see whether a friend or co-worker is online and connected through the selected service -- a capability known as presence. As the technology has evolved, many online messaging apps have added support for exchanging more than just text-based messages, allowing actions like file transfers and image sharing within the instant messaging session.</p>\r\n<p class=\"align-left\">Instant messaging also differs from email in the immediacy of the message exchange. It also tends to be session-based, having a start and an end. Because application message is intended to mimic in-person conversations, individual messages are often brief. Email, on the other hand, usually reflects a longer-form, letter-writing style.<br /><br /><br /></p>","materialsDescription":"<h1 class=\"align-center\"> <span style=\"font-weight: normal; \">What is instant messaging software?</span></h1>\r\nCompanies use instant messaging software to facilitate communication between their staff members who may be located in different places and countries. Popular websites such as Facebook offer instant chat services for free. Good quality messenger application solutions provide useful features such as video calling, web conferencing, and VoIP. Advanced platforms offer IP radio, IPTV, and desktop sharing tools. Large enterprises have greater communication needs and therefore they typically invest in installing an internal IM server to serve their thousands of employees.\r\n<h1 class=\"align-center\"><span style=\"font-weight: normal; \">Why people use Messaging Apps?</span></h1>\r\n<ul><li>Real-time text transmission</li><li>Conveniency</li><li>Records of a chat history</li><li>Easy for multitasking</li><li>Operating anytime anywhere using the WiFi or Mobile Network operators</li><li>Stickers</li></ul>\r\nCommunication is an essential component of any business: interaction with external or internal customers, end users, employees. A good communication platform is vital to stay connected with the employees and broadcast information fast and efficiently. Thousands of people support the escalation from IM to other ways of communication, such as group chat, voice calls or video conferencing.<br />Depending on the purpose of use we can separate popular messenger nto those with business needs or for corporate use, such as Slack, Hangouts, Flock, Stride and those for everyday communications like WhatsApp, FB Messenger, WeChat, Telegram, and others.\r\n<h1 class=\"align-center\"><span style=\"font-weight: normal;\">How messaging apps can benefit your business?</span></h1>\r\n<p class=\"align-center\"></p>\r\nHeads bowed, shoulders hunched over glowing screens—we all might be a little guilty of smartphone addiction, and mobile usage is only increasing. We’re in constant communication with one another, and over the past few years messaging apps like Facebook Messenger and WeChat have become commonplace. Of the 10 most globally used apps, messaging apps account for 6.\r\nWith consumer messaging apps on the rise, businesses have begun to connect with customers on yet another channel. According to Gartner, “By 2019, requests for customer support through consumer mobile messaging apps will exceed requests for customer support through traditional social media.”\r\nServing up customer support through customer messaging software can deepen your brand’s relationship with customers. On the customer side, messaging apps provide an immediate way to connect with your business and get a response.\r\n<p class=\"align-center\"><span style=\"font-weight: bold;\">Here are three ways your business can benefit from connecting with customers over consumer messaging apps:</span></p>\r\n\r\n<ul><li><span style=\"font-weight: bold;\">Unrestricted communication.</span> No matter where they are in the world, messaging apps offer your customers unrestricted communication options. Unlike SMS, which often incurs charges, your customers can still reach out privately via messaging apps and receive a timely response without worrying about cost. That means happier customers, and happy customers mean a happy bottom line for your business.</li></ul>\r\n\r\n<ul><li><span style=\"font-weight: bold;\">Move customer queries from public to private. </span>Giving your customers an easy option to reach your business privately not only decreases their likelihood of publicly tweeting a complaint, it also offers a space to exchange sensitive information, like delivery details. With a more private outlet for customer interactions, your business can thoroughly help customers while simultaneously saving brand face.</li></ul>\r\n\r\n<ul><li><span style=\"font-weight: bold;\">Increase first contact resolution with chatbot integrations.</span> According to Gartner, artificial intelligence is a top trend for 2017. With the help of chatbots, your business can better manage workflows and automatically respond to customer requests via messaging. Chatbots can help point customers to the right information, helping them self-serve and ultimately allowing your support agents to focus on the issues that require a human touch. </li></ul>\r\n\r\n","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/Messaging_Applications.png","alias":"messaging-applications"},"273":{"id":273,"title":"Team Collaborative Applications","description":" Collaborative software or groupware is application software designed to help people working on a common task to attain their goals. One of the earliest definitions of groupware is "intentional group processes plus software to support them".\r\nThe worldwide team collaborative applications market continues to accelerate as collaboration becomes a key component of the future of work in a digital enterprise. The market is growing in revenue, leveraging IT integrations to both bridge functions and the enterprise. The market continues to move to the cloud and emphasizes usage across devices.\r\nThe total worldwide team collaborative applications market grew at 24.7% year over year, up from 21.5% growth the previous year. Growth was powered by the adoption of solutions that made working together more agile and seamless and favored solutions with integrations that centralize work, assets, and communications, including messaging and chat. In short, applications that made it easier to get work done by bringing content, context, and communications in a single place.\r\nFeeling the pinch to produce more with less, organizations have turned to collaborative applications to streamline workflow and engage employees, partners and, increasingly, customers. They are discovering new paths to productivity, a better digital user experience (UX), and loyalty. Companies are developing a new way to work together and across their workforce and the sales continuum. A more technology-savvy and digitally connected workforce is empowering and accelerating this trend. Artificial intelligence (AI) is more common across collaborative solutions and almost expected by employees to automate repetitive tasks. Increasingly, machine learning (ML) and AI will generate new forms of value from conversations, meetings, and other content assets.\r\nMake no mistake, the majority of the lead vendors in this space are heavily invested in the future of work and want to be either your future workspace — where work actually is done — or an application that integrates to facilitate better and more productive results with a better-engaged workforce.","materialsDescription":"<span style=\"font-weight: bold; \">What is groupware?</span>\r\nCollaborative software was originally designated as groupware and this term can be traced as far back as the late 1980s, when Richman and Slovak (1987) wrote: "Like an electronic sinew that binds teams together, the new groupware aims to place the computer squarely in the middle of communications among managers, technicians, and anyone else who interacts in groups, revolutionizing the way they work."\r\nEven further back, in 1978 Peter and Trudy Johnson-Lenz coined the term groupware; their initial 1978 definition of groupware was, "intentional group processes plus software to support them." Later in their article they went on to explain groupware as "computer-mediated culture... an embodiment of social organization in hyperspace." Groupware integrates co-evolving human and tool systems, yet is simply a single system.\r\nIn the early 1990s the first commercial groupware products were delivered, and big companies such as Boeing and IBM started using electronic meeting systems for key internal projects. Lotus Notes appeared as a major example of that product category, allowing remote group collaboration when the internet was still in its infancy. Kirkpatrick and Losee (1992) wrote then: "If GROUPWARE really makes a difference in productivity long term, the very definition of an office may change. You will be able to work efficiently as a member of a group wherever you have your computer. As computers become smaller and more powerful, that will mean anywhere." In 1999, Achacoso created and introduced the first wireless groupware.\r\n<span style=\"font-weight: bold;\">What are the levels of groupware?</span>\r\nGroupware can be divided into three categories depending on the level of collaboration:\r\n<ul><li>Communication can be thought of as unstructured interchange of information. A phone call or an IM Chat discussion are examples of this.</li><li>Conferencing (or collaboration level, as it is called in the academic papers that discuss these levels) refers to interactive work toward a shared goal. Brainstorming or voting are examples of this.</li><li>Co-ordination refers to complex interdependent work toward a shared goal. A good metaphor for understanding this is to think about a sports team; everyone has to contribute the right play at the right time as well as adjust their play to the unfolding situation - but everyone is doing something different - in order for the team to win. That is complex interdependent work toward a shared goal: collaborative management.</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/Team_Collaborative_Applications.png","alias":"team-collaborative-applications"},"395":{"id":395,"title":"Agile Application Life-Cycle Management Software","description":" Agile software development is an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, empirical knowledge, and continual improvement, and it encourages rapid and flexible response to change.\r\nThe term agile (sometimes written Agile) was popularized, in this context, by the Manifesto for Agile Software Development. The values and principles espoused in this manifesto were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.\r\nThere is significant anecdotal evidence that adopting agile practices and values improves the agility of software professionals, teams and organizations; however, some empirical studies have found no scientific evidence.\r\nAgile application lifecycle management (Agile ALM) is all the tools and processes that are used to manage software development projects based on flexible methodology. The traditional cascade design model uses a phase approach to the development life cycle. This approach means that no project phase starts earlier than the previous one ends. For example, the design does not begin before the collection of requirements ends. Development does not begin until the design is completed. Testing does not begin until development is fully completed. There are many tools to manage what is in the input and output of each phase.","materialsDescription":" Agile ALM brings together two seemingly contradictory development strategies. Agile promotes flexibility, rapid release cycles and quick response to change. Application lifecycle management (ALM) emphasizes tracking and documenting changes in an application -- from inception to retirement. Its processes are more controlled and less adaptive than the Agile methodology. That said, when put together, Agile and ALM act as complements, rending ALM more flexible and Agile more disciplined.\r\n<span style=\"font-weight: bold;\">What is Agile ALM?</span>\r\nDevelopment expert Yvette Francino described Agile ALM as ALM tools and processes that are used to manage Agile software development projects. For example, rather than using Waterfall's phased approach, Agile ALM offers an approach to software development in which design, code and requirements are all handled by the same team.\r\n<span style=\"font-weight: bold;\">How do you integrate Agile into an ALM framework?</span>\r\nAccording to Gerie Owen's article on Agile and ALM, adopting Agile means both a change to the ALM approach and a change to an organization's mind-set. An Agile ALM strategy will focus on the customer and will have the ability to adapt to shifting requirements -- from project planning to release management. For example, instead of just implementing controls to force early feedback from testers and business analysts, an organization would also foster a culture of collaboration.\r\n<span style=\"font-weight: bold;\">Are there tools that can help me achieve this?</span>\r\nALM tools are widely available but must be chosen with care, according to Yvette Francino, SearchSoftwareQuality contributor. Organizations should look for tools that facilitate the process without impeding acceptance of changing requirements. They would also need to integrate throughout the application lifecycle and be easy to maintain. In other words, the tool should manage the development process in an Agile way. In an article for SearchSoftwareQuality.com, Amy Reichert provides a list of Agile ALM tools and identifies their strengths and weaknesses. Rally Software, for example, offers a product that works well with Agile but, according to Reichert, does not provide an intuitive workflow. VersionOne, on the other hand, offers a tool that is more user-friendly but less compatible with Agile. Which one is best will depend on the company's needs.\r\n<span style=\"font-weight: bold;\">Are there challenges to Agile ALM that I should be aware of?</span>\r\nThe primary challenge to Agile ALM is in finding a balance between the two methodologies. A common pitfall is to over-ALM the development process. In other words, when developers and testers start to find workarounds to the software rules -- as they often do -- some react by creating more rules in order to more strictly enforce them. Meanwhile, processes lose their agility.\r\n<span style=\"font-weight: bold;\">How can I overcome these challenges?</span>\r\nTesting expert Amy Reichert cautions development teams to keep track of how many rules they add and how those rules are communicated. She also suggests having a discussion with the team, asking them why they are circumventing the process. Once everyone's role has been clarified, project managers can then decide which rules, if any, to add.\r\n<span style=\"font-weight: bold;\">Is Agile ALM a good approach for mobile development?</span>\r\nMobile development is faster and more competitive than traditional software development. It has newer technologies and higher-speed application cycles. These qualities could make mobile an excellent candidate for Agile ALM, but only if the methodology is amended to accommodate the challenges inherent in a more restrictive development process. In an article on mobile ALM, site editor James Denman suggested an ALM approach that focuses on smaller pieces of software and authenticates results as each part is finished. That way, teams can quickly discern whether the app will effectively serve its purpose or if it needs to be taken in a different direction.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Agile_Application_Life_Cycle_Management_Software.png","alias":"agile-application-life-cycle-management-software"},"397":{"id":397,"title":"Mobile Testing","description":" Mobile application testing is the process through which applications are tested for required quality, functionality, compatibility, usability, performance and other characteristics.\r\nIt includes a broad range of application testing and evaluation techniques that encompasses both standard software testing and mobile-platform-specific testing procedures.\r\nMobile application testing is typically performed by mobile application developers after a mobile application is developed or before it is released to consumers. Typically, the key objectives of mobile application testing are:\r\n<span style=\"font-style: italic;\">Hardware compatibility and functionality</span> - The mobile application’s response to a mobile device's physical input and interaction with components. This includes a touch screen, keyboard, display, sensors, network and more.\r\n<span style=\"font-style: italic;\">OS compatibility</span> - Evaluates and ensures that the application is completely compatible with different OS platforms.\r\n<span style=\"font-style: italic;\">Source code evaluation</span> - Identifies and resolves any code errors and bugs within the application.\r\n<span style=\"font-style: italic;\">Usability and Functionality</span> - The application is easy to use and provides all desired functionalities.","materialsDescription":" <span style=\"font-weight: bold;\">How is mobile application testing different from mobile testing?</span>\r\nWhen you are asked to do mobile testing, you must test the mobile phone itself. It may include protocol testing, battery testing, network connectivity testing, software compatibility testing and more.\r\nOn the other hand, mobile application testing is to test applications and software built for mobile phones. In this case, the application needs to be tested to verify whether it meets the specified functional and non-functional requirements.\r\n<span style=\"font-weight: bold;\">What are the different types of mobile application testing?</span>\r\n<ol><li>Functional Testing</li><li>User Interface Testing</li><li>Usability Testing</li><li>Performance Testing</li><li>Stress Testing</li><li>Compatibility Testing</li><li>Interruption Testing</li></ol>\r\n<span style=\"font-weight: bold;\">What is the most important type of mobile application testing?</span>\r\nWhile you cannot neglect any of the above testing types; some of them definitely deserve more attention than the others. For example, user interface testing must be done extensively to make sure that the application’s color schemes, consistency, menu styles, navigation, etc. are perfect.\r\nApart from the listed ones, it is also important to carry out monkey testing of the application to examine the stability of application when continuous invalid user inputs are provided.\r\nAnother important aspect of mobile application testing is to examine how the application reacts when there is no or little network coverage.\r\n<span style=\"font-weight: bold;\">What are the best ways to carry out mobile application testing?</span>\r\nMobile application testing is not just about writing test cases and executing them. Below are some pointers that can help a tester test mobile applications in the most effective manner.\r\n<ul><li>Explore and learn about mobile phones and their attributes. Domain knowledge will really help you see beyond the obvious.</li><li>Understand when, how and where the application will be used and then create test cases.</li><li>Study the mobile phones on which the applications will run and write appropriate test cases.</li><li>Use simulators as often as possible to execute the test cases.</li><li>Use remote device services (RDA) as well.</li></ul>\r\n<span style=\"font-weight: bold;\">Can mobile application testing be automated?</span>\r\nYes, it can. The fact that mobile application testing is gradually grasping the attention of the IT industry may be the reason why mobile test automation tools are being released into the market. It is best to keep your options open and explore all forms of mobile application testing and choose the ones that best suit your needs.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Mobile_Testing.png","alias":"mobile-testing"},"399":{"id":399,"title":"Requirements Visualization, Definition, and Management","description":" Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requirement is a capability to which a project outcome (product or service) should conform.\r\nThe purpose of requirements management is to ensure that an organization documents, verifies, and meets the needs and expectations of its customers and internal or external stakeholders. Requirements management begins with the analysis and elicitation of the objectives and constraints of the organization. Requirements management further includes supporting planning for requirements, integrating requirements and the organization for working with them (attributes for requirements), as well as relationships with other information delivering against requirements, and changes for these.\r\nThe traceability thus established is used in managing requirements to report back fulfilment of company and stakeholder interests in terms of compliance, completeness, coverage, and consistency. Traceabilities also support change management as part of requirements management in understanding the impacts of changes through requirements or other related elements (e.g., functional impacts through relations to functional architecture), and facilitating introducing these changes.\r\nRequirements management involves communication between the project team members and stakeholders, and adjustment to requirements changes throughout the course of the project. To prevent one class of requirements from overriding another, constant communication among members of the development team is critical. For example, in software development for internal applications, the business has such strong needs that it may ignore user requirements, or believe that in creating use cases, the user requirements are being taken care of.\r\nRequirements traceability is concerned with documenting the life of a requirement. It should be possible to trace back to the origin of each requirement and every change made to the requirement should therefore be documented in order to achieve traceability. Even the use of the requirement after the implemented features have been deployed and used should be traceable.\r\nRequirements come from different sources, like the business person ordering the product, the marketing manager and the actual user. These people all have different requirements for the product. Using requirements traceability, an implemented feature can be traced back to the person or group that wanted it during the requirements elicitation. This can, for example, be used during the development process to prioritize the requirement, determining how valuable the requirement is to a specific user. It can also be used after the deployment when user studies show that a feature is not used, to see why it was required in the first place.","materialsDescription":"<span style=\"font-weight: bold; \">Requirements activities</span>\r\nAt each stage in a development process, there are key requirements management activities and methods. To illustrate, consider a standard five-phase development process with Investigation, Feasibility, Design, Construction, and Test, and Release stages.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Investigation</span></span>\r\nIn Investigation, the first three classes of requirements are gathered from the users, from the business, and from the development team. In each area, similar questions are asked; what are the goals, what are the constraints, what are the current tools or processes in place, and so on. Only when these requirements are well understood can functional requirements be developed.\r\nIn the common case, requirements cannot be fully defined at the beginning of the project. Some requirements will change, either because they simply weren’t extracted, or because internal or external forces at work affect the project in mid-cycle.\r\nThe deliverable from the Investigation stage is a requirements document that has been approved by all members of the team. Later, in the thick of development, this document will be critical in preventing scope creep or unnecessary changes. As the system develops, each new feature opens a world of new possibilities, so the requirements specification anchors the team to the original vision and permits a controlled discussion of scope change.\r\nWhile many organizations still use only documents to manage requirements, others manage their requirements baselines using software tools. These tools allow requirements to be managed in a database, and usually have functions to automate traceability (e.g., by allowing electronic links to be created between parent and child requirements, or between test cases and requirements), electronic baseline creation, version control, and change management. Usually, such tools contain an export function that allows a specification document to be created by exporting the requirements data into a standard document application.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Feasibility</span></span>\r\nIn the Feasibility stage, the costs of the requirements are determined. For user requirements, the current cost of work is compared to the future projected costs once the new system is in place. Questions such as these are asked: “What are data entry errors costing us now?” Or “What is the cost of scrap due to operator error with the current interface?” Actually, the need for the new tool is often recognized as these questions come to the attention of financial people in the organization.\r\nBusiness costs would include, “What department has the budget for this?” “What is the expected rate of return on the new product in the marketplace?” “What’s the internal rate of return in reducing the costs of training and support if we make a new, easier-to-use system?”\r\nTechnical costs are related to software development costs and hardware costs. “Do we have the right people to create the tool?” “Do we need new equipment to support expanded software roles?” This last question is an important type. The team must inquire into whether the newest automated tools will add sufficient processing power to shift some of the burdens from the user to the system in order to save people time.\r\nThe question also points out a fundamental point about requirements management. A human and a tool form a system, and this realization is especially important if the tool is a computer or a new application on a computer. The human mind excels in parallel processing and interpretation of trends with insufficient data. The CPU excels in serial processing and accurate mathematical computation. The overarching goal of the requirements management effort for a software project would thus be to make sure the work being automated gets assigned to the proper processor. For instance, “Don’t make the human remember where she is in the interface. Make the interface report the human’s location in the system at all times.” Or “Don’t make the human enter the same data in two screens. Make the system store the data and fill in the second screen as needed.”\r\nThe deliverable from the Feasibility stage is the budget and schedule for the project.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Design</span></span>\r\nAssuming that costs are accurately determined and benefits to be gained are sufficiently large, the project can proceed to the Design stage. In Design, the main requirements management activity is comparing the results of the design against the requirements document to make sure that work is staying in scope.\r\nAgain, flexibility is paramount to success. Here’s a classic story of scope change in mid-stream that actually worked well. Ford auto designers in the early ‘80s were expecting gasoline prices to hit $3.18 per gallon by the end of the decade. Midway through the design of the Ford Taurus, prices had centered to around $1.50 a gallon. The design team decided they could build a larger, more comfortable, and more powerful car if the gas prices stayed low, so they redesigned the car. The Taurus launch set nationwide sales records when the new car came out, primarily because it was so roomy and comfortable to drive.\r\nIn most cases, however, departing from the original requirements to that degree does not work. So the requirements document becomes a critical tool that helps the team make decisions about design changes.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Construction and test</span></span>\r\nIn the construction and testing stage, the main activity of requirements management is to make sure that work and cost stay within schedule and budget, and that the emerging tool does, in fact, meet requirements. A main tool used in this stage is prototype construction and iterative testing. For a software application, the user interface can be created on paper and tested with potential users while the framework of the software is being built. The results of these tests are recorded in a user interface design guide and handed off to the design team when they are ready to develop the interface. This saves time and makes their jobs much easier.\r\nVerification: This effort verifies that the requirement has been implemented correctly. There are 4 methods of verification: analysis, inspection, testing, and demonstration. Numerical software execution results or through-put on a network test, for example, provides analytical evidence that the requirement has been met. Inspection of vendor documentation or spec sheets also verifies requirements. Actually testing or demonstrating the software in a lab environment also verifies the requirements: a test type of verification will occur when test equipment not normally part of the lab (or system under test) is used. Comprehensive test procedures which outline the steps and their expected results clearly identify what is to be seen as a result of performing the step. After the step or set of steps is completed the last step's expected result will call out what has been seen and then identify what requirements or requirements have been verified (identified by number). The requirement number, title, and verbiage are tied together in another location in the test document.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Requirements change management</span></span>\r\nHardly would any software development project be completed without some changes being asked of the project. The changes can stem from changes in the environment in which the finished product is envisaged to be used, business changes, regulation changes, errors in the original definition of requirements, limitations in technology, changes in the security environment and so on. The activities of requirements change management include receiving the change requests from the stakeholders, recording the received change requests, analyzing and determining the desirability and process of implementation, implementation of the change request, quality assurance for the implementation and closing the change request. Then the data of change requests be compiled, analyzed and appropriate metrics are derived and dovetailed into the organizational knowledge repository.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Release</span></span>\r\nRequirements management does not end with product release. From that point on, the data coming in about the application’s acceptability is gathered and fed into the Investigation phase of the next generation or release. Thus the process begins again.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Requirements_Visualization.png","alias":"requirements-visualization-definition-and-management"},"403":{"id":403,"title":"Software Quality Analysis and Measurement","description":" Software quality measures whether the software satisfies its requirements. Software requirements are classified as either functional or non-functional.\r\nFunctional requirements specify what the software should do. Functional requirements could be calculations, technical details, data manipulation, and processing, or any other specific function that defines what an application is meant to accomplish.\r\nNon-functional requirements specify how the system should work. Also known as “quality attributes” non-functional requirements include things like disaster recovery, portability, privacy, security, supportability, and usability.\r\nNote that most factors indicating software quality fit into the non-functional requirements category. And, while it’s obviously important that software does what it’s built to do, this is the bare minimum you would expect from any application.\r\nBelow are some examples of test metrics and methods for measuring the important aspects of software quality. Efficient measuring and testing of your software for quality is the only way to maximize the chances of releasing high-quality software in today’s fast-paced development environments.\r\nYou can measure reliability by counting the number of high priority bugs found in production. You can also use load testing, which assesses how well the software functions under ordinary conditions of use. It’s important to note that “ordinary conditions of use” can vary between low loads and high loads—the point is that such environments are expected.\r\nLoad testing is also useful for measuring performance efficiency. Stress testing is an important variation on load testing used to determine the maximum operating capacity of an application.\r\nStress testing is conducted by inundating software with requests far exceeding its normal and expected patterns of use to determine how far a system can be pushed before it breaks. With stress testing, you get insight into the recoverability of the software when it breaks—ideally, a system that fails should have a smooth recovery.\r\nYou can measure security by assessing how long it takes to patch or fix software vulnerabilities. You can also check actual security incidents from previous software versions, including whether the system was breached and if any breaches caused downtime for users. All previous security issues should, of course, be addressed in future releases.\r\nCounting the number of lines of code is a simple measure of maintainability—software with more lines of code is harder to maintain, meaning changes are more likely to lead to errors.\r\nThere are several detailed test metrics used to check the complexity of code, such as cyclomatic complexity, which counts the amount of linearly independent paths through a program’s source code.\r\nYou can check the rate of delivery by counting the number of software releases. Another measure is the number of “stories” or user requirements shipped to the user.\r\nYou can test the GUI to make sure it’s simple and not frustrating for end-users. The problem is that GUI testing is complex and time-consuming – there are many possible GUI operations and sequences that require testing in most software. And that means it takes a long time to design test cases.\r\nThe complexity of GUI testing competes with the objective of releasing software quickly, which has necessitated the implementation of automated testing. Several test suites that completely simulate user behavior are available.","materialsDescription":" <span style=\"font-weight: bold;\">What is Software Quality Metrics?</span>\r\nThe word 'metrics' refers to standards for measurements. Software Quality Metrics means a measurement of attributes, pertaining to software quality along with its process of development.\r\nThe term "software quality metrics" illustrate the picture of measuring the software qualities by recording the number of defects or security loopholes present in the software. However, quality measurement is not restricted to the counting defects or vulnerabilities but also covers other aspects of qualities such as maintainability, reliability, integrity, usability, customer satisfaction, etc.\r\n<span style=\"font-weight: bold;\">Why Software Quality Metrics?</span>\r\n<ol><li>To define and categorize elements in order to have a better understanding of each and every process and attribute.</li><li>To evaluate and assess each of these processes and attribute against the given requirements and specifications.</li><li>Predicting and planning the next move w.r.t software and business requirements.</li><li>Improving the Overall quality of the process and product, and subsequently of project.</li></ol>\r\n<span style=\"font-weight: bold;\">Software Quality Metrics: a sub-category of Software Metrics</span>\r\nIt is basically, a subclass of software metrics that mainly emphasizes on quality assets of the software product, process and project. A software metric is a broader concept that incorporates software quality metrics in it, and mainly consists of three types of metrics:\r\n<ul><li><span style=\"font-weight: bold;\">Product Metrics:</span> it includes size, design, complexity, performance and other parameters that are associated with the product's quality.</li><li><span style=\"font-weight: bold;\">Process Metrics:</span> it involves parameters like time-duration in locating and removing defects, response time for resolving issues, etc.</li><li><span style=\"font-weight: bold;\">Project Metrics:</span> it may include a number of teams, developers involved, cost and duration for the project, etc.</li></ul>\r\n<span style=\"font-weight: bold;\">Features of good Software Quality Metrics:</span>\r\n<ul><li>Should be specific to measure the particular attribute or an attribute of greater importance.</li><li>Comprehensive for a wide variety of scenarios.</li><li>Should not consider attributes that have already been measured by some other metric.</li><li>Reliable to work similarly in all conditions.</li><li>Should be easy and simple to understand and operate.</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Software_Quality_Analysis_and_Measurement.png","alias":"software-quality-analysis-and-measurement"},"405":{"id":405,"title":"Mobile Enterprise Application Platforms","description":"<span style=\"font-weight: bold; \">A mobile enterprise application platform (MEAP)</span> is a development environment that provides tools and middleware to develop, test, deploy and manage corporate software running on mobile devices.\r\nEnterprise mobile application development addresses the difficulties of developing mobile software by managing the diversity of devices, networks and user groups at the time of deployment and throughout the mobile computing technology lifecycle. Unlike standalone apps, an enterprise mobile app development services a comprehensive, long-term approach to deploying mobility. Cross-platform considerations are one big driver behind using MEAPs. For example, a company can use an enterprise mobile app development to develop the mobile application once and deploy it to a variety of mobile devices (including smart phones, tablets, notebooks and ruggedized handhelds) with no changes to the underlying business logic.\r\nPlatform applications are best for companies that wish to deploy multiple applications on a single infrastructure, scaled to the size of their current mobile field force and available in an online and offline mode. Enterprise mobile app platform provides higher level languages and easy development templates to simplify and speed the mobile application development timeframe, requiring less programming knowledge for mobile business application deployment.\r\nThere are many advantages associated with enterprise mobile application development platform. First of all, it can be run on the cloud. Without maintaining separate sets of code, mobile enterprise application platforms can support multiple types of operating systems and mobile devices. This means a company can deploy a mobile application to different mobile devices with the help of mobile enterprise application platforms without having to worry about compatibility. As most enterprise mobile development platforms have a tool set for modifications, creation of custom app extensions is quite easy and convenient. Enterprise mobile application platforms can centrally manage mobile applications and can also help in integration with multiple server data sources.","materialsDescription":"<h1 class=\"align-center\">What are the benefits of enterprise mobile app platform? </h1>\r\n<ul><li>Create apps and complex forms for any type of mobile device and OS without having to maintain separate sets of code.</li><li>Create tailor-made apps for specific user groups, giving them exactly what they need; usually, a mash-up of reading/writing access to your backend systems, publicly available web services and device features such as camera, GPS, sign-on screen, etc.</li><li>Requires basic and limited coding skills e.g. HTML and CSS.</li><li>Allows a high degree of re-use of the code and interactions developed.</li><li>Provide the offline capability for mobile users in areas without WiFi or cellular coverage.</li><li>Once the platform is integrated into the important back-end systems, creating new apps and forms can be done in hours rather than weeks or months.</li><li>Enterprise mobile application development services can be run on the cloud and purchased on a subscription basis.</li></ul>\r\n<h1 class=\"align-center\">Pros and cons of MEAP</h1>\r\nAlong with the benefits described above, a mobile enterprise application platform extends beyond fourth-generation language (4GL) tools for app development to use a graphical environment and dedicated script language. The tool makes business apps accessible to users from any location at any time. For ease of IT management, some MEAP products can run as a cloud service.\r\nA MEAP, like any technology, comes with challenges. The initial investment is high - it's expensive to begin with, though the total cost of ownership (TCO) goes down with use over time - and it requires IT to perform additional tasks such as updating content, securing data, maintaining applications with updates and managing user authentication.\r\n<h1 class=\"align-center\">Important features</h1>\r\nIn general, a MEAP has two important features:\r\n<ul><li>A mobile application development environment and back-end web services to manage those mobile applications and link them to enterprise applications and databases.</li><li>A centralized management component that enables an administrator to control which users can access an application and what enterprise databases that application can pull data from.</li></ul>\r\nSometimes, organizations will use a mobile enterprise application platform in conjunction with enterprise mobility management (EMM) or mobile device management (MDM). MDM manages mobile devices, while MEAP products manage the enterprise applications running on those devices - although there is sometimes overlap between the functionalities of these two technologies.\r\n<br /><br /> ","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Mobile_Enterprise_Application_Platforms.png","alias":"mobile-enterprise-application-platforms"},"415":{"id":415,"title":"Mobile Enterprise Applications","description":"The term <span style=\"font-weight: bold; \">enterprise mobile application</span> is used in context of mobile apps created/brought by individual organizations for their workers to carry out functions required to run the organization.\r\nAn enterprise mobile app belonging to an organization is expected to be used by only the workers of that organization. The definition of enterprise mobility apps do not include the mobile apps that an organization create for its customers or consumers of the products or services generated by the organization. \r\nProviders of mobile enterprise application solutions create and develop apps for individual organizations that can buy instead of creating the apps themselves. Reasons for Organizations buying the apps include time and cost savings, technical expertise. Today Enterprise Mobility is playing track role for enterprise transformation.\r\nCompanies are rapidly incorporating mobile applications into their larger IT strategies, allowing them to grow their mobile presence further. Big data, the Internet of Things (IoT), and machine learning are all propelling this growth.\r\nNeed for enterprise mobility applications arose with mobile devices becoming essential in the day to day life and with employees using mobile devices for business purposes. This lead companies to adapt to either Bring Your Own Device (BYOD) or Corporate Owned, Personally Enabled (COPE) approach for Enterprise Mobility. BYOD is making significant progress in the business world, with employees using their own technology at work.\r\nOrganizations having their internal mobile teams develop the apps internally and deploy them. However, some organizations go for enterprise mobile app development company with wide experience in creating Mobile strategies and deploying the apps for Medium to Large Scale Enterprises. These companies provide options for Pre built and custom built turn-key suite of apps. ","materialsDescription":"<h1 class=\"align-center\"><span style=\"font-weight: bold; \">What are corporate mobile apps?</span></h1>\r\nConventionally, corporate mobile applications can be divided into several groups.\r\n<ul><li><span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">The first group</span></span> is applications designed only for work. Their main goal is to reduce company costs, optimize business processes, and, as a result, increase profits. Another option is an application to increase the efficiency of the analytical department, giving its users the opportunity to improve monitoring of the market, competitors, quickly collect and process data on prices, points of sale of goods, etc.</li><li><span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">The second group</span></span> is applications that integrate work and communication. These include corporate social networks, so popular recently. Created in the image and likeness of social networks familiar to everyone, they successfully combine work functionality and allow employees to communicate with each other, create personal pages, workgroups, communities, keep blogs, receive news about the company, share important files, create a common information base and use it at any time. </li><li><span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">The third group</span></span> is applications for monitoring remote employees. Office workers are easy to control: most of the day they are at their workplace, and if necessary, you can organize a system of electronic passes. Remote employees are left to their own devices - it’s very difficult to check whether they arrived at the site on time and reached at all, how many points they visited in a day, and whether they used company materials and equipment to fulfill “left” orders. </li><li><span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">The fourth group</span></span> is Service Desk and Help Desk, designed to automate the processing of client requests while providing technical support to users of IT departments. Most of these systems are online, because it is important for the user to solve the problem as quickly as possible. With their help, you can provide customer support directly from your mobile device. Applications provide an opportunity in the background to access the list of applications, view in detail individual applications, make changes to them, respond and work with comments.</li></ul>\r\n<h1 class=\"align-center\">Top 5 enterprise mobility app features you must know</h1>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Centrally Moderated and Strongly Secured Data Infrastructure.</span> Security must never be at bay when it comes to enterprise mobility apps. In the age of information, data is undoubtedly the most valuable commodity, losing which can result in a massive loss for business enterprises. Data sharing done via enterprise mobility apps or solutions need to be monitored. Construct a centrally moderated and highly secure (multi-level security) infrastructure for enterprise mobility solutions. This approach enhances trust and ensures that critical business data remains safe always.</p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Automation of Processes.</span> Automation is the main factor behind the adoption of enterprise mobility in the core business processes by the organizations. Businesses aim to streamline their operations with minimal human intervention and cut back on time/cost. The number of device usage in the enterprise domain is increasing year-after-year. The growth showcases the seriousness of organizations to adopt top enterprise mobile apps for enhancing automation and processes for better efficiency. </p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Real-Time Analytics and Connectivity.</span> The integration of enterprise mobility applications in the existing system leverages the technology benefits for seeking better insights into the ongoing processes. Every enterprise app must have cognitive analytical capabilities to succeed. Modern organizations have to manage thousands of procedures, offerings and deal with hundreds of stakeholders at any point in time. In case of such massive data overloads, every enterprise aims to have a real-time data analysis to make better decisions for growth in the future.</p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Incredible User Experience. </span>An enterprise mobility app must deliver an intuitive user experience. Not only should it focus on making the functionality better, but also on offering the best experience to the users. This step, in turn, will boost app adoption within the enterprise, fulfilling the organization’s aim for automation. The app must contain futuristic features such as in-app notifications, multi-platform support, offline functionality, etc., to offer an incredible user experience. <br /><span style=\"font-weight: bold; \">Event-Driven Approach. </span>Event-driven approach and architecture is the main differentiator, which fuels digital business transformation. This approach mainly revolves around the delivery of solutions that fulfill organizational objectives by offering rapid response to specific events. Moreover, the event-driven approach aims to transform the task flow based on particular circumstances. Businesses would be able to leverage dynamic opportunities to the maximum potential and provide real-time solutions by choosing the event-driven approach for their enterprise mobility applications. </p>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Mobile_Enterprise_Applications.jpg","alias":"mobile-enterprise-applications"},"417":{"id":417,"title":"Product Life-Cycle Management Applications","description":"","materialsDescription":"","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Product_Life_Cycle_Management_Applications.png","alias":"product-life-cycle-management-applications"},"419":{"id":419,"title":"Services Resource Planning Applications","description":" The world economy has become service- and project-driven. Global businesses have realized the new playing field is not based solely on competing with products and price, but rather through client-driven projects that require unique consulting knowledge, skills and experience.\r\nThis project-driven service economy depends on accurately capturing knowledge-worker productivity—how much time, skill, materials, and intellectual property are required to produce favorable client outcomes? New cloud-based services resource planning (SRP) applications have emerged to manage the entire project lifecycle from requirements to quoting, time and expense capture and billing.\r\nSRP provides the systems basis for the initiation, planning, resource management, execution, close and control of projects and services. An SRP solution combines the best elements of previous standalone business applications for accounting (ERP), client relationship management (CRM) and professional services automation (PSA) to support the entire bid-to-bill lifecycle of a project- and service-driven organizations.\r\nA complete SRP solution provides all aspects of project-based finance and accounting to generate invoices based on a variety of methods (time and materials, milestone-based, fixed price, etc.), ensuring accurate invoicing, timely cash collection and revenue recognition.","materialsDescription":" <span style=\"font-weight: bold;\">Six Reasons Services Resource Planning is a Game-Changer for Services Organizations</span>\r\nIn the 1970s and ‘80s, materials requirements planning helped to transform the manufacturing industry.\r\nNow, three decades later, Services resource planning (SRP) is poised to be just as transformative for software and professional services. SRP provides a consistent and comprehensive platform for services organizations to manage the entire client lifecycle, from lead to project to cash. Simply put, services organizations can't afford to ignore the potential of Service Resource Planning. Here are six reasons why:\r\n<ol><li>Integration -- Integrating project management, resource optimization, project accounting, and client management is an idea whose time has come. It is virtually impossible to provide real-time insights to all stakeholders when dozens or even hundreds of simultaneous projects are being managed on spreadsheets, email, and stand-alone systems.</li><li>Decision making -- Until accounting, sales, human resources, project management and field professionals all speak the same languages of planning and execution, it is impossible to make coordinated decisions that lead to better client outcomes and increased efficiencies.</li><li>Globalization -- MRP brought centralized and consistent controls to every step of the manufacturing process at a time when globalization was shrinking the industrial world. American, Asian and European businesses vied with one another for the same customers with the same product lines. MRP sorted the winners from the losers by giving the winners tremendous cost and efficiency advantages. This should sound familiar. The market for professional services and other knowledge-based businesses has become global, and competitive pressures are coming from all corners of the world. SRP delivers the same edge to services businesses today that manufacturers needed in order to succeed three decades ago.</li><li>Coordination -- In the past, it was possible for many organizations to use professional services as a loss-leader to secure a larger piece of business, such as a long-term software contract. Now that the market for professional services is so competitive, this loss-leader mentality is a business-killing dead end. Becoming a profit center requires coordination, and that means SRP.</li><li>Growth -- Accounting and sales departments need to understand future revenue and profit opportunities, which is difficult to do when information about professional services projects and resource utilization is not readily available. SRP gives sales the information they need to understand resource availability when pitching new business, and provides accounting with the insight they need to produce more accurate forecasts and timely invoices.</li><li>Profitability -- The disciplines of Services Resource Planning expose the profitability of every resource and every project. That's the kind of granularity professional services organizations need in order to make competitive strategic decisions in the face of global competition.</li></ol>\r\nSoftware, consulting, advertising and accounting service organizations are already transforming their business with cloud SRP solutions. Here are some of the SRP success stories and take the first steps towards modernizing your own practice.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Services_Resource_Planning_Applications.png","alias":"services-resource-planning-applications"},"421":{"id":421,"title":"Digital Commerce Applications","description":"E-commerce is the activity of buying or selling products on online services or over the Internet. Electronic commerce draws on technologies such as mobile commerce, electronic funds transfer, supply chain management, Internet marketing, online transaction processing, electronic data interchange (EDI), inventory management systems, and automated data collection systems.\r\nModern electronic commerce typically uses the World Wide Web for at least one part of the transaction's life cycle although it may also use other technologies such as e-mail. Typical e-commerce transactions include the purchase of online books (such as Amazon) and music purchases (music download in the form of digital distribution such as iTunes Store), and to a less extent, customized/personalized online liquor store inventory services. There are three areas of e-commerce: online retailing, electric markets, and online auctions. E-commerce is supported by electronic business.\r\nE-commerce businesses may also employ some or all of the followings:\r\n<ul><li>Online shopping for retail sales direct to consumers via Web sites and mobile apps, and conversational commerce via live chat, chatbots, and voice assistants;</li><li>Providing or participating in online marketplaces, which process third-party business-to-consumer or consumer-to-consumer sales;</li><li>Business-to-business buying and selling;</li><li>Gathering and using demographic data through web contacts and social media;</li><li>Business-to-business (B2B) electronic data interchange;</li><li>Marketing to prospective and established customers by e-mail or fax (for example, with newsletters);</li><li>Engaging in pre-retail for launching new products and services;</li><li>Online financial exchanges for currency exchanges or trading purposes.</li></ul>","materialsDescription":" <span style=\"font-weight: bold; \">5 Reasons Why E-commerce Is So Important For Your Business</span>\r\nFrom startups to small businesses right through to huge brands, there are a huge number of companies that can benefit from their own e-commerce website, where they can sell their own products or services. In today's competitive and convenience-focused society, no longer do consumers want to venture to the high street in order to buy items, instead, consumers want to shop from their own homes, making e-commerce a flexible solution for both businesses and buyers.\r\nIf you’re still on the fence about launching an e-commerce store then look no further, here are the top 5 reasons e-commerce is so important for your business and just how you can benefit from moving online this year!\r\n<span style=\"font-weight: bold; \">Can Broaden Your Brand</span>\r\nE-commerce is an ideal way you can take your brand from a traditional brick and mortar store to an innovative, well-loved brand. By offering great products 24 hours a day along with online customer service, blogs and social media, no longer is your business one singular store, with an online presence your business can be the home of your products and the general home of your business, allowing you to fully expand your product ranges without having to worry about moving locations or worrying about not being able to expand your business.\r\n<span style=\"font-weight: bold; \">It’s More Convenient</span>\r\nAn online store is available all day, every day meaning your customers can visit your store at all times, no matter what their schedule might be. These days people don’t always have the time to physically go shopping, instead more and more people are choosing to shop online to find the items they want or need and if your business can offer this for your customers there’s no you shouldn't appeal to a wider range of customers all looking for a convenient and flexible experience.\r\n<span style=\"font-weight: bold; \">Increase Your Reach</span>\r\nDue to the internet’s accessibility, millions of people across the world can view your website at any time, meaning that for those looking to expand their businesses and reach out to a larger audience, you have many more opportunities to do so. Compare the number of people you can reach through a website to the amount you can reach through a high street store or local advertising, there’s no reason you shouldn’t look at taking your business online if you’re looking to improve your reach.\r\n<span style=\"font-weight: bold; \">Gives You Marketing Opportunities</span>\r\nYour website is one of the best marketing tools your business has, not only can the use of SEO when building your site lead to more chances of your business getting found in search engines, but a huge number of marketing techniques can also work alongside your website, including pay per click advertising, your social media marketing, and your email marketing, all of which can include links back to your website.\r\n<span style=\"font-weight: bold; \">Scalable</span>\r\nAs your business grows it’s very likely you’ll want to grow your product range and your target audience, as well as develop your business for customer requirements and consumer demand. An e-commerce site lets you scale your business accordingly, allowing you to add more lines, add more payment options and even grow when you choose to ship to, without having to worry about changing your location or moving to larger premises as you might with a brick and mortar store.\r\nE-commerce offers the business a whole range of opportunities, from marketing opportunities to increase your products ranges to generating more sales and with an optimized and well-developed website, you can not only achieve these goals but also offer your customers around the clock, convenient service, that can boost your business.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Digital_Commerce_Applications.png","alias":"digital-commerce-applications"},"567":{"id":567,"title":"Graphics Design","description":" Graphic design is the process of visual communication and problem-solving through the use of typography, photography, and illustration. The field is considered a subset of visual communication and communication design, but sometimes the term "graphic design" is used synonymously. Graphic designers create and combine symbols, images and text to form visual representations of ideas and messages. They use typography, visual arts, and page layout techniques to create visual compositions. Common uses of graphic design include corporate design (logos and branding), editorial design (magazines, newspapers and books), wayfinding or environmental design, advertising, web design, communication design, product packaging, and signage.\r\nGraphic design is applied to everything visual, from road signs to technical schematics, from interoffice memorandums to reference manuals.\r\nDesign can aid in selling a product or idea. It is applied to products and elements of company identity such as logos, colors, packaging and text as part of branding (see also advertising). Branding has become increasingly more important in the range of services offered by graphic designers. Graphic designers often form part of a branding team.\r\nGraphic design is applied in the entertainment industry in decoration, scenery and visual story telling. Other examples of design for entertainment purposes include novels, vinyl album covers, comic books, DVD covers, opening credits and closing credits in filmmaking, and programs and props on stage. This could also include artwork used for T-shirts and other items screenprinted for sale.\r\nFrom scientific journals to news reporting, the presentation of opinion and facts is often improved with graphics and thoughtful compositions of visual information - known as information design. Newspapers, magazines, blogs, television and film documentaries may use graphic design. With the advent of the web, information designers with experience in interactive tools are increasingly used to illustrate the background to news stories. Information design can include data visualization, which involves using programs to interpret and form data into a visually compelling presentation, and can be tied in with information graphics.","materialsDescription":"<span style=\"font-weight: bold;\">What is graphic design and what does it include?</span>\r\nGraphic design is a design process that combines text and graphics in a way that is intended to communicate a specific message.\r\n<span style=\"font-weight: bold;\">Where is graphic design used?</span>\r\nYou will find graphic design in company logos, printed materials like brochures, posters, signs, greeting cards, postcards, business cards, billboards and ads. Advances in technology have brought us the digital environment complete with websites, online ads, virtual brochures and presentations, and so very much more.\r\n<span style=\"font-weight: bold;\">What do graphic designers use to create these designs?</span>\r\nGraphic designers can use hand-illustrated designs as well as computer-aided designs thanks to a wide range of software with nearly endless digital design tools. The availability of software like Adobe Illustrator and Photoshop have become staples of the graphic designer.\r\n<span style=\"font-weight: bold;\">What can a graphic designer do that I can’t do?</span>\r\nA graphic designer does more than just put their creative skills to work. Though most graphic designers are intuitively creative already, they have generally spent time studying numerous design principles. It’s vital to understand how to use design elements to transmit the required messages and values as well as evoke a certain feeling in the viewer. As a visual communicator, they leverage these design elements and use concepts such as color, typography, space, balance, form and lines to create their visual message.\r\nSome graphic designers are also able to understand the more technical aspects of the design required to create digital assets for a company. For example, a web designer is often able to create wireframes, workflows, and sitemaps and understand how to develop easy navigation for the user experience.\r\n<span style=\"font-weight: bold;\">What else does a graphic designer accomplish as part of the work they produce for a client?</span>\r\nBesides turning their client’s vision, brand image and value proposition into a graphic display, a designer will undertake many specialty tasks as part of a graphic design project. The specialty tasks include collaborating on the concept (usually with a team), attending meetings about the project, paying attention to what customers are clicking on, doing presentations that explain the various potential designs, revising designs, and preparing asset files for others on the team and for client use.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Graphics_Design.png","alias":"graphics-design"},"595":{"id":595,"title":"iOS Software Development","description":"iOS is Apple’s mobile OS that runs on an iPhone, iPad, iPod Touch hardware. Apple provides tools and resources for creating iOS apps and accessories for these devices. As an iOS developer, you can program in native languages such as Swift or Objective-C or build cross-platform native applications using React Native (JavaScript) or Xamarin (C# & F#).<span style=\"font-weight: bold; \"></span>\r\n<span style=\"font-weight: bold; \">Developer Requirements.</span> To develop iOS apps, you need a Mac computer running the latest version of Xcode. Xcode is Apple’s IDE (Integrated Development Environment) for both Mac and iOS apps. Xcode is the graphical interface you'll use to write iOS apps. Xcode includes the iOS SDK, tools, compilers, and frameworks you need specifically to design, develop, write code, and debug an app for iOS. For native mobile app development on iOS, Apple suggests using the modern Swift programming language. It is important to note that Xcode only runs on Mac OS X and the only supported way to develop iOS apps. Like desktop software, iOS development software are designed using a range of programming languages and frameworks.<span style=\"font-weight: bold; \"></span>\r\n<span style=\"font-weight: bold; \">iOS software development kit. </span>Mobile iOS app creation software requires access to software development kits (SDKs) that provide an environment through which programmers can design and test code in a simulated mobile environment. Some iOS SDK essentials are the Cocoa Touch frameworks that include the UIKit, GameKit, PushKit, Foundation Kit, and MapKit. These frameworks and others allow you manipulate the iPhone or iPad camera, add voice interaction using SiriKit, explore music with MusicKit, expand viewing and listening via AirPlay 2, and even add iMessage Business Chat to your application. iOS 11 added the power of machine learning with Core ML and augmented reality (AR) experiences with ARKit.\r\n<p id=\"Beta_Testing\" style=\" color:#232f3e; \"><span style=\"font-weight: bold; \">Beta Testing.</span> <span style=\"font-weight: normal; \">Once you have built and tested (using XCTest framework or iOS Unit test) your app, you can invite users to your apps and collect feedback using TestFlight prior to deploying to the App Store. This is a good time for testing Push Notifications, data storage using Core Data, and making network calls to 3rd party APIs. To get going, you simply upload a beta build of your app, and use iTunes Connect to add the name and email of testers. <br /></span></p>\r\n<p id=\"Beta_Testing\" style=\" color:#232f3e; \"><span style=\"font-weight: bold; \">Cloud Testing.</span><span style=\"font-weight: normal; \">Testing your iOS app on real devices is critically important since the performance of the real device, different operating system versions, modifications made by manufacturer and carriers firmware may lead to unexpected issues with your app. Testing on real device gives you a more accurate understanding of how your users interact with your app. On the other hand, obtaining physical devices for testing is a logistical challenge. This is where cloud testing comes into play. With cloud testing, you can test your application on real devices that are accessible on the cloud. <br /></span></p>\r\n<p id=\"Beta_Testing\" style=\" color:#232f3e; \"><span style=\"font-weight: bold; \">Deployment.</span> <span style=\"font-weight: normal; \">Once you have built, tested, and beta tested your iOS app, you can deploy to the App Store. At this point, you must join the Apple Developer Program. As a member, you’ll get access to beta iOS app development software, advanced app capabilities, extensive beta testing tools, and app analytics.</span></p>\r\n\r\n","materialsDescription":"<h1 class=\"align-center\"><span style=\"font-weight: bold; \">What are the advantages of iOS App Development?</span></h1>\r\n<ul><li><span style=\"font-weight: bold;\">iOS is easy to use interface.</span> Apple’s iPhone becomes the dream of many smartphone users, providing high customer service and become a market leader for offering unmatched devices. You can attract your Apple users easily if an application will be created on a synchronized environment Apple’s platform. These special flexible User Interface of the features of the iOS app can make your business application more desirable and boost up their sales and earn maximum benefits.</li><li><span style=\"font-weight: bold;\">iOS has more security.</span> iOS platform offers its users stay safe from external threats which is the best part and advantage of this platform. While developing an app for the business, providing a powerful shield against malware, virus and other internet threats for app development of a business. iOS applications are secured applications, allows effortless transaction facilities app without spending more time on testing different devices.</li><li>For <span style=\"font-weight: bold;\">business</span>, there are multiple options available in the highly popular iOS app making software market, this is because important to attract new customers to increase sales and chance to empower your business in the global market. The web is not a safe place for so thanks to a well-developed iPhone app Development Company can increase their availability and protect your customer’s information. With an iOS mobile app, always been an attractive device to the public with constant acknowledgment from App Store and business can flourish on a regular basis.</li><li>iOS users are usually <span style=\"font-weight: bold;\">happy users,</span> an efficiently developed iOS app helps to promote your brand or your organization to enhance productivity with profitability services to reach your targeted audience. iOS application builds a strong relationship with customers and clients, and the great audience to deliver your product and solutions to achieve their goals. Better the application is, strong would be the relationship with the superior brand in consumer electronics.</li><li>iOS applications are <span style=\"font-weight: bold;\">innovation </span>and the latest technology used globally and this can help your business to expand the most secure way. With best iOS app development software is accepted globally, you may transforming traditional business processes in a modern way and find customers from every part of the world.</li></ul>\r\n<h1 class=\"align-center\">What is IDE?</h1>\r\nIDE is the acronym for Integrated Development Environment. This contains a set of tools, resources and programming essentials within itself. It helps software/web/ mobile app developers to create new programs. This is a comprehensive solution for creating software or mobile app independently. These resources make development, deployment and debugging processes very simple. Choosing an IDE for iPhone app development is dependent on the budget, kind of programming language you prefer, etc. There are so many functionalities in an IDE that gives you a lot of benefits for app development.\r\nThe IDE makes strategies and streamlines the development phase for your entire team. It has many tools for automation, programming, debugging, compiling and for interpretation. There are three general types of IDE available. They are cloud-based, software as a service (SaaS) type and installing on the server type. IDE for iOS application development software is preferred bycompanies to reduce development time and costs. It helps in accurate testing and easy coding. Integration is also possible with these IDEs. It is as simple as a word processing program used by developers to create robust mobile applications.<br /> ","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_iOS_Software_Development.png","alias":"ios-software-development"},"597":{"id":597,"title":"Android Software Application","description":" Android software development is the process by which new applications are created for devices running the Android operating system. Google states that "Android apps can be written using Kotlin, Java, and C++ languages" using the Android software development kit (SDK), while using other languages is also possible. All non-JVM languages, such as Go, JavaScript, C, C++ or assembly, need the help of JVM language code, that may be supplied by tools, likely with restricted API support. Some languages/programming tools allow cross-platform app support, i.e. for both Android and iOS. Third party tools, development environments and language support have also continued to evolve and expand since the initial SDK was released in 2008. In addition, with major business entities like Walmart, Amazon, Bank of America etc. eyeing to engage and sell through mobiles, mobile application development is witnessing a transformation.\r\nAndroid was created by the Open Handset Alliance, which is led by Google. The early feedback on developing applications for the Android platform was mixed. Issues cited include bugs, lack of documentation, inadequate QA infrastructure, and no public issue-tracking system. In December 2007, MergeLab mobile startup founder Adam MacBeth stated, "Functionality is not there, is poorly documented or just doesn't work... It's clearly not ready for prime time." Despite this, Android-targeted applications began to appear the week after the platform was announced. The first publicly available application was the Snake game.\r\nA preview release of the Android SDK was released on November 12, 2007. On July 15, 2008, the Android Developer Challenge Team accidentally sent an email to all entrants in the Android Developer Challenge announcing that a new release of the SDK was available in a "private" download area. The email was intended for winners of the first round of the Android Developer Challenge. The revelation that Google was supplying new SDK releases to some developers and not others (and keeping this arrangement private) led to widely reported frustration within the Android developer community at the time.\r\nOn August 18, 2008, the Android 0.9 SDK beta was released. This release provided an updated and extended API, improved development tools and an updated design for the home screen. Detailed instructions for upgrading are available to those already working with an earlier release. On September 23, 2008, the Android 1.0 SDK (Release 1) was released. According to the release notes, it included "mainly bug fixes, although some smaller features were added." It also included several API changes from the 0.9 version. Multiple versions have been released since it was developed.\r\nOn December 5, 2008, Google announced the first Android Dev Phone, a SIM-unlocked and hardware-unlocked device that is designed for advanced developers. It was a modified version of HTC's Dream phone. While developers can use regular consumer devices to test and use their applications, some developers may choose a dedicated unlocked or no-contract device.\r\nAs of July 2013, more than one million applications have been developed for Android, with over 25 billion downloads. A June 2011 research indicated that over 67% of mobile developers used the platform, at the time of publication. Android smartphone shipments are forecast to exceed 1.2 billion units in 2018 with an 85% market share.","materialsDescription":" <span style=\"font-weight: bold;\">Where does Android come from?</span>\r\nIt comes from Google, who actually acquired Android in 2005 (no, Google didn't invent it). The search giant performs regular updates along with an annual major update.\r\nThe operating system is based on the Linux kernel – if you have friends who work in IT, you may have heard of it. This is the GNU / Linux operating system based structure, which is a unix type system (portable operating system, multitasking and multi-user). The Linux kernel is one of the most prominent examples of free software.\r\n<span style=\"font-weight: bold;\">Why does Android look different on each phone?</span>\r\nAndroid doesn't look different on every device, but it does have a number of different versions. Android is open-source, which means that manufacturers are free to customize the software and make it their own.\r\nThe 'purest' version of Android is often referred to as 'stock Android' and it's often preferred by the Android community: it's the original software as Google intended.\r\nOther user interfaces (UI) include Samsung's TouchWiz, Sony's Xperia, and Huawei's Emotion. See what they all look like in our Android UI comparison.\r\n<span style=\"font-weight: bold;\">What are the advantages of Android?</span>\r\nChoice. For example, if you want iOS, you have a choice of iPhone, iPhone or iPhone. If you go for Android there are stacks of great devices to choose from, from cheap and cheerful handsets to really impressive flagships. Those flagships are often cheaper than the equivalent Apple devices, too.\r\nAndroid’s choice isn’t just about hardware. It’s about everything else too. Android is incredibly easy to customize, both in terms of how it looks and how it works, and the various app stores aren’t as tightly controlled as its rivals’ stores, like Apple.\r\n<span style=\"font-weight: bold;\">What’s with the candy names?</span>\r\nEach new version of Android gets a code name based on consecutive letters of the alphabet. The most recent version is known as Marshmallow because it is the Android M release. Previous versions have included Lollipop, KitKat, Jelly Bean and Gingerbread.\r\n<span style=\"font-weight: bold;\">What’s the best thing about Android?</span>\r\nOptions, many options. With Android, you have hundreds of gadgets at your disposal, the cheapest, the most expensive and innovative market. Android is also incredibly customizable, both in their roles, as in his appearance. You can really make a unique mobile experience for yourself with this OS.\r\n<span style=\"font-weight: bold;\">What’s the worst thing about Android?</span>\r\nGetting updates. In many cases, manufacturers don’t seem to care about providing software updates for devices they’ve already sold you. Even when they do provide updates they take their sweet time about it. That’s why some consider rooting: you can download the updates yourself and apply them instead of waiting for the manufacturer to get around to it.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Android_Software_Application.png","alias":"android-software-application"},"598":{"id":598,"title":"Mobile Website Development","description":" Today, virtually no company can effectively conduct its business without having its own website. A site is not just the face of the company, which should be nice to look at, not an attribute of doing business, but an urgent need. If the company has its own website, then it:\r\n<ul><li>facilitates potential customers and partners access to information about themselves;</li><li>attracts the target audience from the Internet;</li><li>significantly increases market coverage;</li><li>increases brand awareness;</li><li>facilitates communication both with partners and with the target audience;</li><li>improves customer feedback;</li><li>increases customer loyalty.</li></ul>\r\nHowever, the main advantage of owning a website, of course, is that it helps to significantly increase sales, and, consequently, profit. In general, now having a website is almost a prerequisite for successful business development.\r\nComputers, smartphones, tablets, other mobile devices, and the Internet have penetrated all spheres of our lives. A variety of mobile devices are especially popular, and that is why it is no longer possible to limit oneself to a PC version of a site. The website version for the PC is bad for mobile devices, and this, as you might guess, negatively affects sales and profits. If the site is uncomfortable to use, then the potential client will not rack their brains, but simply use the services of competitors. The vast majority will not even try to find something on the site if it is not adapted for mobile devices.\r\nA separate mobile version of the site is a site specifically designed for mobile users. As a rule, a mobile version of a site is hosted on a dedicated subdomain.\r\nThe mobile version of the site, in most cases, is simply a greatly reduced version of the site for the PC. Only those functions that, according to the developers, maybe needed by those users who access the site with a smartphone or tablets, are left on the mobile site.\r\nThe mobile version of the site is good in that it does not depend on the main one, can be easily changed and edited, loads quickly is quite convenient for users, and also has the option of switching to the main version of the site.","materialsDescription":" <span style=\"font-weight: bold;\">What’s a mobile website?</span>\r\nMobile devices have transformed the way we live, putting the digital world at our fingertips 24 hours a day, wherever we are.\r\nThis means establishing your mobile presence is more important now than ever as you have the opportunity to put your business in the pockets of your consumers and create more meaningful interactions with your users. Almost 80% of people use smartphones to search the internet, so if your business is lacking a mobile website or app, you are missing out on a huge market opportunity.\r\nThere are two types of mobile development – responsive mobile sites and mobile applications. We build easy to use, intuitive and responsive mobile apps and websites, designed for optimization across all devices to keep you ahead of your competitors.\r\nA mobile website is a website with a responsive, fluid design, that is user-friendly on multiple devices and web browsers. A study conducted by Google and Galaxy in June 2015 found that 74% of Australians rely on their phones at least as much as they rely on desktops when searching for information, ideas or advice. This is when responsive design plays a huge role.\r\n<span style=\"font-weight: bold;\">Why do I need a mobile website?</span>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Mobile traffic has taken over</span></span>\r\nAs mobile traffic has taken over desktop traffic in 2015, more and more people only browse the internet on mobile phones. This means that businesses now need to adopt a mobile-first approach to their online strategies.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Search engines are pushing for better UX</span></span>\r\nMobile users tend to have poor experiences on desktop websites. This is something that search engines such as Google have understood, and are putting initiatives in place to improve mobile web experiences. For example, Google released its mobile-friendly update in 2015 and is switching its search index to mobile-first.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Competitive advantage</span></span>\r\nWebsite owners now need to provide compelling experiences to their mobile users. This is something that is now vital in order to reach business goals and lead users to conversion. As a result, the fast adoption of a mobile strategy is a competitive advantage.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Mobile_Website_development.png","alias":"mobile-website-development"},"603":{"id":603,"title":"MacOS Development","description":" The key to great app development lies in having a solid foundation, ideally laid in having a good operating system, to begin with on which your app will stand on and initiate all its operations. For a long time, Windows was the dominating operating system of the nineties.\r\nWhy Should You Use Mac OS X in App Development? A reason for this system’s stagnation in progress is the brand’s fear in offending its corporate clients; therefore every tech change has to be introduced painfully slowly so as to be assimilated by its clients.\r\nApple, on the other hand, has slowly crept up and overtaken Windows and other operating systems primarily because they are not afraid of taking giant leaps. Their “it’s our way or the high way” approach to their operating system has enabled them to make significant improvements in their software, which other operating systems are almost incapable of attaining.\r\nMAC OS X software is essentially a two-layered system. Its impressive GUI sits on top of a UNIX core, and UNIX is notorious for its impressive security features. UNIX makes it’s nearly impossible to install a Trojan or a virus to the system unless the user gives it root access to the system by essentially typing in the admin password into the system.\r\nThe beauty of MAC OS X built-in firewall is that it operates out the box, while at the same time being highly flexible. While MAC users should ideally remain vigilant about foreign files and consequentially never allow them into the system by giving them an admin pass, they then do not need special software to block out these viruses.\r\nMAC OS interface is simple, you can pin as many apps as possible to dock at the bottom of your screen, plus they are always available to you. Besides this, you can run multiple desktops, make use of your iCloud chain to decipher your credit card information, share various files wirelessly through Airdrop, and still monitor the operating system via a set of in-built high-grade utility tools.\r\nThe system also has a rapid start-up resume time. All this is essentially made possible by MAC OS powerful stability. Even though systemic degradation is expected over time, as is the case with just about every operating system, the rate is significantly reduced on MAC products and freezing and crashing are not a common everyday occurrence as is the case with a few operating systems.\r\nMAC’s impressive reliability can be primarily attributed to the fact that the operating system was built from the ground up. Apple essentially controls the production of its software and hardware products from start to finish, and so every part of the system is designed and tested out to work cohesively together.\r\nThose who complain that Apple forces its consumers to use its proprietary software couldn’t be more misguided. MAC OS automatically recognizes and works well with other Apple products including iPads, iPhones, etc.","materialsDescription":"<span style=\"font-weight: bold;\">What is Mac OS X?</span>\r\nMac OS X is an operating system created by Apple for Mac computers (the first version was introduced in 2001), which replaced the then outdated Mac OS 9.\r\nThis is a POSIX-compatible system, that is, all Unix operations can be performed in it. Built on the basis of the XNU core with the Aqua graphical interface.\r\nStarting with version 10.8 it is called OS X.\r\n<span style=\"font-weight: bold; \">What are the advantages of macOS?</span>\r\n<span style=\"font-style: italic; \">Fewer virus attacks:</span>\r\nAs macOS is the second most used operating system and has fewer active users so it has fewer virus attacks also. The other reason for virus safety is its UNIX relationship which is more secure than Windows OS.\r\n<span style=\"font-style: italic; \">Good customer support:</span>\r\nMac users get a good response from their support team as compared to other operating systems. Apple has skilled engineers which help the user in fixing the issues in their hardware and software.\r\n<span style=\"font-style: italic; \">Similar GUI for all the products:</span>\r\nmacOS has the same graphical user interface (GUI) as found in other Apple products like iPhone and tablets. Users feel comfortable in using macOS if they shifted from other Apple products.\r\n<span style=\"font-style: italic; \">Performance and long life:</span>\r\nAs Apple makes both hardware and software so it’s hardware communication is very efficient and it improves performance. The operating system and hardware work great. Apple computer has a longer life than other computers. The battery timing of mac laptops is also longer.\r\n<span style=\"font-style: italic; \">Default apps:</span>\r\nIf you install Windows then it comes with pre-installed apps that slow down your computer e.g. Onedrive slows your computer. But this is not the case with macOS, it comes with powerful apps which don’t affect the performance of your system. Some of the pre-installed apps of macOS are iPhoto and iMovie.\r\n<span style=\"font-style: italic; \">Support NTFS and FAT:</span>\r\nmacOS support Windows file system formats including both NTFS and FAT.\r\n<span style=\"font-style: italic; \">Can run Windows:</span>\r\nYou can run the Windows operating system if you have macOS installed by using Bootcamp or parallels software.\r\n<span style=\"font-weight: bold; \">What are the disadvantages of macOS?</span>\r\n<span style=\"font-style: italic; \">Expensive:</span>\r\nThe minimum cost of a Mac PC is higher than $1000. You can get a good Windows PC at $1000 with more hardware specifications.\r\n<span style=\"font-style: italic; \">Fewer games and software:</span>\r\nMost game developers prefer to make games for the Windows OS because they have more percentages of users. Mac users have fewer games available. Also, mac computers have low graphics capability to run high graphics games. There is some software that is available for Windows and not available for mac users e.g. adobe premiere pro etc.\r\n<span style=\"font-style: italic; \">No hardware customization:</span>\r\nIf you buy any Mac computer/laptop then you cannot change its hardware parts like processor, graphics card, etc. For some mac computers, you can change hardware and RAM but it is not for all mac computers. It is also not possible to change other hardware accessories like internal computer parts, the only choice you have is to buy a new mac computer. On every major release of your operating system you have to change your computer else 50% of your operating system features not work.\r\n<span style=\"font-style: italic; \">Windows cannot read the macOS file system:</span>\r\nmacOS can read NTFS and FAT Windows format but Windows cannot read the macOS file system. You need to install 3rd party software in Windows to do so. Some other software like footnotes has compatibility issues while moving files from macOS to Windows.\r\n<span style=\"font-style: italic; \">Less hardware used:</span>\r\nThe new version of macOS computer supports fewer USB ports and they also not shipped with CD/DVD writer.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_MacOS_Development.png","alias":"macos-development"},"607":{"id":607,"title":"C/C++ Development","description":" C++ is a general-purpose object-oriented programming (OOP) language, developed by Bjarne Stroustrup, and is an extension of the C language. It is therefore possible to code C++ in a "C style" or "object-oriented style." In certain scenarios, it can be coded in either way and is thus an effective example of a hybrid language.\r\nC++ is considered to be an intermediate-level language, as it encapsulates both high- and low-level language features. Initially, the language was called "C with classes" as it had all the properties of the C language with an additional concept of "classes." However, it was renamed C++ in 1983.\r\nC++ is one of the most popular languages primarily utilized with system/application software, drivers, client-server applications and embedded firmware.\r\nThe main highlight of C++ is a collection of predefined classes, which are data types that can be instantiated multiple times. The language also facilitates declaration of user-defined classes. Classes can further accommodate member functions to implement specific functionality. Multiple objects of a particular class can be defined to implement the functions within the class. Objects can be defined as instances created at run time. These classes can also be inherited by other new classes which take in the public and protected functionalities by default.\r\nC++ includes several operators such as comparison, arithmetic, bit manipulation and logical operators. One of the most attractive features of C++ is that it enables the overloading of certain operators such as addition.\r\nA few of the essential concepts within the C++ programming language include polymorphism, virtual and friend functions, templates, namespaces and pointers.","materialsDescription":"<span style=\"font-weight: bold; \"> Bjarne Stroustrup's FAQ</span>\r\n<span style=\"font-weight: bold; \">C is better than C++ for small projects, right?</span>\r\nNot in my opinion. I never saw a project for which C was better than C++ for any reason but the lack of a good C++ compiler.\r\n<span style=\"font-weight: bold; \">Is C a subset of C++?</span>\r\nIn the strict mathematical sense, C isn't a subset of C++. There are programs that are valid C but not valid C++ and even a few ways of writing code that has a different meaning in C and C++. However, C++ supports every programming technique supported by C. Every C program can be written in essentially the same way in C++ with the same run-time and space efficiency. It is not uncommon to be able to convert tens of thousands of lines of ANSI C to C-style C++ in a few hours. Thus, C++ is as much a superset of ANSI C as ANSI C is a superset of K&R C and much as ISO C++ is a superset of C++ as it existed in 1985.\r\n<span style=\"font-weight: bold; \">What is the difference between C and C++?</span>\r\nC++ is a direct descendant of C that retains almost all of C as a subset. C++ provides stronger type checking than C and directly supports a wider range of programming styles than C. C++ is "a better C" in the sense that it supports the styles of programming done using C with better type checking and more notational support (without loss of efficiency). In the same sense, ANSI C is a better C than K&R C. In addition, C++ supports data abstraction, object-oriented programming, and generic programming (see my books).\r\nI have never seen a program that could be expressed better in C than in C++ (and I don't think such a program could exist - every construct in C has an obvious C++ equivalent). However, there still exist a few environments where the support for C++ is so weak that there is an advantage to using C instead.\r\n<span style=\"font-weight: bold; \">Do you really think that C and C++ could be merged into a single language?</span>\r\nI think that it would be a very good thing for the C/C++ community if they were. That is, if the C/C++ incompatibilities were systematically and completely eliminated and that future evolution was organized so as to prevent new incompatibilities from emerging. Whether that's possible is another matter.\r\nMy basic point is that the current C/C++ incompatibilities are "accidents of history" that have no fundamental reasons behind them (though they all "looked like a good idea at the time" to some competent and well-meaning people). The C/C++ incompatibilities provide no benefits to the community at large, cause serious problems to a large section of the C/C++ community, and could - with great difficulty - be eliminated.\r\nFor a far more detailed presentation of my views on C/C++ compatibility, see the series of papers I wrote about this:\r\n<ul><li>B. Stroustrup: C and C++: Case Studies in Compatibility. The C/C++ Users Journal. September 2002.</li><li>B. Stroustrup: C and C++: A Case for Compatibility. The C/C++ Users Journal. August 2002.</li><li>B. Stroustrup: C and C++: Siblings. The C/C++ Users Journal. July 2002.</li><li>B. Stroustrup: Sibling rivalry: C and C++. AT&T Labs - Research Technical Report. TD-54MQZY. January 2002. </li></ul>\r\nI imagine that if incompatibilities were eliminated (by making changes to both C and C++), there would still be entities called C and C++, but then C really would be defined as a subset of C++.\r\n<span style=\"font-weight: bold; \">Why did you make C++ (almost) compatible with C?</span>\r\nI wanted C++ to be compatible with a complete language with sufficient performance and flexibility for even the most demanding systems programming.\r\nAt the time, I considered C the best systems programming language available. That was not as obvious then (1979) as it later became, but I had experts such as Dennis Ritchie, Steve Johnson, Sandy Fraser, Greg Chesson, Doug McIlroy, and Brian Kernighan down the corridor from whom I could learn and get feedback. Without their help and advice, and without C, C++ would have been stillborn.\r\nContrary to repeated rumors, I was never told that I had to use C; nor was I ever told not to use C. In fact, the first C++ manual grew from troff source of the C manual that Dennis gave me. Many new languages were designed at Bell labs; in "Research" at least, there were no rules enforcing language bigotry.\r\n<span style=\"font-weight: bold; \">What do you think of C/C++?</span>\r\nNo that's not really a question I often get. In that sense, it is the only "fake FAQ" in this FAQ. However, it ought to be a FAQ because people use "C/C++" as if it meant something specific and as if they knew what it meant, leading to much confusion and misery. People should ask "What is C/C++?" and then on reflection stop using the term. It does harm.\r\nThere is no language called "C/C++". The phrase is usually used by people who don't have a clue about programming (e.g. HR personnel and poor managers). Alternatively, it's used by people who simple do not know C++ (and often not C either). When used by programmers, it typically indicates a "C++ is C with a few useful and a lot of useless complicated features added" attitude. Often, that is the point of view of people who like to write their own strings and hash tables with little knowledge of the standard library beyond printf and memcpy. There are people who stick to a restricted subset of C++ for perfectly good reasons, but they (as far as I have noticed) are not the people who say "C/C++".\r\nI use C/C++ only in phrases such as "C/C++ compatibility" and "C/C++ community".\r\n<span style=\"font-weight: bold;\">When was C++ invented?</span>\r\nI started work on what became C++ in 1979. The initial version was called "C with Classes". The first version of C++ was used internally in AT&T in August 1983. The name "C++" was used late that year. The first commercial implementation was released October 1985 at the same time as the publication of the 1st edition of The C++ Programming Language. Templates and exception handling were included later in the 1980's and documented in The Annotated C++ Reference Manual and The C++ Programming Language (2rd Edition). The first ISO C++ standard was C++98 as described in The C++ Programming Language (3rd Edition).\r\nThe current definition of C++ The 2011 ISO C++ Standard described in The C++ Programming Language (4th Edition).\r\nYou can find a more complete timeline and more detailed explanations in The Design and Evolution of C++ and A History of C++: 1979-1991 and Evolving a language in and for the real world: C++ 19.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_C_C_Development.png","alias":"cc-development"},"609":{"id":609,"title":".Net Development","description":" .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library named Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named Common Language Runtime (CLR), an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.\r\nFCL provides user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their source code with .NET Framework and other libraries. The framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces an integrated development environment largely for .NET software called Visual Studio.\r\n.NET Framework began as proprietary software, although the firm worked to standardize the software stack almost immediately, even before its first release. Despite the standardization efforts, developers, mainly those in the free and open-source software communities, expressed their unease with the selected terms and the prospects of any free and open-source implementation, especially regarding software patents. Since then, Microsoft has changed .NET development to more closely follow a contemporary model of a community-developed software project, including issuing an update to its patent promising to address the concerns.\r\n.NET Framework led to a family of .NET platforms targeting mobile computing, embedded devices, alternative operating systems, and web browser plug-ins. A reduced version of the framework, .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. .NET Micro Framework is targeted at very resource-constrained embedded devices. Silverlight was available as a web browser plugin. Mono is available for many operating systems and is customized into popular smartphone operating systems (Android and iOS) and game engines. .NET Core targets the Universal Windows Platform (UWP), and cross-platform and cloud computing workloads.","materialsDescription":"When Microsoft formally introduced its .NET strategy in mid-2000, analysts were confused about how the company would pull off such a massive platform shift. Over two years later, they're still wondering. But .NET isn't vaporware, and it's not a pipe dream. In fact, .NET is happening today.\r\n<span style=\"font-weight: bold; \">What is .NET?</span>\r\nActually, .NET is many things, but primarily it's a marketing term for a set of products and technologies that Microsoft is creating to move personal and enterprise computing beyond the PC desktop and into a distributed Internet-based environment. So .NET--which was originally called Next Generation Windows Services (NGWS)--is also a platform, one that Microsoft sees as the successor to Windows. The .NET platform is based on Web services which are, in turn, defined by a language called XML.\r\n<span style=\"font-weight: bold; \">What is XML?</span>\r\nXML--the eXtensible Markup Language--is a self-descriptive, data definition language. It's structure is similar to HTML, the language of the Web, but it's far more powerful because it's not limited to a static list of language constructs ("tags") that the language's authors supply. Instead, XML is extensible and dynamic: Programmers can define new types of data using XML and then describe that data so that others will know how to use it.\r\n<span style=\"font-weight: bold; \">What are Web services?</span>\r\nWeb services are functions exposed by server-side applications. They are programmable units that other applications (and Web services) can access over the Internet.\r\n<span style=\"font-weight: bold; \">Does .NET require Windows?</span>\r\nTechnically, no, but realistically, yes. It's possible the .NET platform could be ported to other operating systems, such as Linux, FreeBSD, the Macintosh, or whatever, and indeed, some work is being done now in this area. However, .NET very much requires Windows today, on both the server and the client. One might say that .NET and Windows have a symbiotic relationship going forward.\r\n<span style=\"font-weight: bold; \">Is .NET is being ported to Linux?</span>\r\nYes. A company called Ximian is porting the standards-based parts of .NET to Linux as you read this, and the work is amazingly far along. Code-named Mono, this project seeks to bring the C# programming language, the Common Language Runtime (CLR, see below), and other .NET features to Linux.\r\nOn a related note, Microsoft has contracted Corel (makers of CorelDRAW and Word Perfect) to port .NET to FreeBSD.\r\n<span style=\"font-weight: bold; \">Isn't .NET just another name for COM, COM+, Windows DNA, or some other previous Windows technology?</span>\r\nActually, no. Microsoft spent considerable time and effort developing and promoting a set of Windows technologies that was at various times called OLE, COM, COM+, and Windows DNA (Distributed InterNet Architecture) but .NET is not the next iteration. Windows DNA, which was the final umbrella term for this set of technologies, was based around a concept where Windows-based software components could expose their services for other local and remote Windows software components. But though this sounds passingly similar to .NET, Windows DNA is very much based on proprietary Windows technologies. By comparison, .NET is based on open standards (XML and various related technologies), so it will be much easier for other vendors to adopt the platform and write compatible software. So we can eventually expect to see .NET clients and servers on platforms other than Windows.\r\n<span style=\"font-weight: bold; \">So what technologies are part of .NET?</span>\r\n.NET is comprised of several related technologies, including:\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">.NET Framework</span></span> - A runtime environment and set of standard services which .NET capable applications and services can utilize. Implemented as a code library, the .NET Framework includes the Common Language Runtime (CLR), the .NET run-time environment; ASP .NET, a Web applications platform; and ADO .NET, for data store access.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">.NET Compact Framework</span></span> - A subset of the .NET Framework designed for Pocket PCs, Microsoft Smart Phones, and other Windows CE .NET-based mobile devices.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">MSN consumer services</span></span> - Microsoft will use its consumer-oriented MSN online service to expose Web services to individuals. The current version, MSN 8, includes the .NET Passport's authentication services, email, address book, calendaring and tasks, and other similar services.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">.NET Enterprise Servers</span></span> - An extensive set of Microsoft server software that runs on Windows servers, including Application Server, BizTalk Server, Exchange Server, Host Integration Server, Internet Security and Acceleration Server, SQL Server, and many others. Microsoft is currently shipping many such server products, but they are all based on Windows DNA currently, not .NET. Future server products--beginning with Windows .NET Server 2003, due in April 2003--will actually be based on .NET technologies for the first time.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Visual Studio .NET</span></span> - Microsoft's .NET development environment, with support for languages such as Visual Basic .NET, Visual C++ .NET, Visual C# .NET, and Visual J#, which all target the .NET Framework. Other vendors can add other language capabilities to Visual Studio .NET, and the suite can be used to target a wide range of applications and services, including .NET Web services, Windows applications, and Web applications. Note that Visual Studio .NET is not required to create .NET applications and services: Developers can download the .NET Framework for free; this download includes compilers for Visual Basic .NET, Visual C++ .NET and Visual C# .NET.\r\n<span style=\"font-weight: bold;\">OK, so what's the point? How does this make my life better?</span>\r\nWith apologies to Microsoft for stealing the term, .NET enables a better PC ecosystem. That is, by making life easier for everyone involved with PCs, the benefits are cross-pollinated. Here's how .NET makes life easier on various groups:\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Programmers</span></span> - Because developers now have a consistent, language-neutral programming environment, they can create better applications and services more quickly. And because .NET encompasses such a wider range of functionality, those applications and services can be connected to back-end services via the Internet, offering better, and more exciting functionality.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">IT administrators</span></span> - Because .NET applications and services do away with the "DLL Hell" found in previous Windows applications, they are amazingly easy to distribute and install.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">End users</span></span> - For the reasons listed above, and many others, a new generation of .NET applications and services will provide new types of connected functionality. Access your email from anywhere. Pay for products online without typing in your credit card information. Access weather, traffic, music, and other personal information from a variety of devices, from anywhere in the world. The future is all connected, and .NET will get us there.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Net_Development.png","alias":"net-development"},"611":{"id":611,"title":"ObjectiveC Development","description":"Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. It was the main programming language supported by Apple for the macOS, iOS and iPadOS operating systems, and their respective application programming interfaces (APIs) Cocoa and Cocoa Touch until the introduction of Swift in 2014.\r\nThe language was originally developed in the early 1980s. It was later selected as the main language used by NeXT for its NeXTSTEP operating system, from which macOS and iOS are derived. Portable Objective-C programs that do not use Apple libraries, or those using parts that may be ported or reimplemented for other systems, can also be compiled for any system supported by GNU Compiler Collection (GCC) or Clang.\r\nObjective-C source code 'implementation' program files usually have .m filename extensions, while Objective-C 'header/interface' files have .h extensions, the same as C header files. Objective-C++ files are denoted with a .mm file extension.\r\nObjective-C was invented in the early 1980s as a means to add Object-Oriented programming capabilities to C. The inventors, Brad Cox and Tom Love, thought that Smalltalk (an early OO language) could provide the tools needed for truly re-usable code and for creating development environments for systems developers.\r\nCox began by writing a pre-processor for C that allowed for the inclusion of Smalltalk-like code, which would then be rendered into compilable C. This turned into a fully-Object-Oriented C extension.\r\nObjective-C was eventually fully defined and described in the book Object-Oriented Programming: An Evolutionary Approach.\r\nNeXT licensed Objective-C in 1988 and developed several tools based on it. These tools eventually became (after several intermediate steps) the Cocoa development environment, which is used by several Apple systems: Mac OS X, iOS, Apple WatchOS.\r\nFor several years now, apps are written for one of these Apple operating systems needed to be written (or compiled to, or run on top of) Objective-C. That situation is changing now as Apple moves its platform to Swift.\r\nIn addition to Cocoa, Objective-C is also used in the GNUstep platform, which can run on Linux, Unix, BSD, and Windows environment, and which closely mirrors Cocoa.","materialsDescription":" <span style=\"font-weight: bold;\">What is Objective-C?</span>\r\nObjective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. This is the main programming language used by Apple for the OS X and iOS operating systems and their respective APIs, Cocoa and Cocoa Touch. This reference will take you through a simple and practical approach while learning Objective-C Programming language.\r\n<span style=\"font-weight: bold;\">What is OOP?</span>\r\nOOP means Object Oriented Programming; it is a type of programming technique that helps to manage a set of objects in a system. With the help of various programming languages, this method helps to develop several computer programs and applications.\r\n<span style=\"font-weight: bold;\">What Objective-C program consists of?</span>\r\nThe objective-c program basically consists of:\r\n<ul><li>Preprocessor commands</li><li>Interface</li><li>Implementation</li><li>Method</li><li>Variables</li><li>Statements & Expressions</li><li>Comments</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_ObjectiveC_Development.png","alias":"objectivec-development"},"613":{"id":613,"title":"C# Development","description":" C#, (C-Sharp) is a programming language that combines object-oriented and aspect-oriented concepts. Developed in 1998–2001 by a group of engineers under the leadership of Anders Hejlsberg at Microsoft as the main language for developing applications for the Microsoft .NET platform. The compiler with C# is included in the standard installation of the .NET itself, so programs on it can be created and compiled even without tools like Visual Studio.\r\nC# refers to a family of languages with a C-like syntax, of which its syntax is closest to C++ and Java. The language has strict static typing, supports polymorphism, operator overloading, pointers to member functions of classes, attributes, events, properties, exceptions, comments in XML format. Having taken a lot from their predecessors - C++, Java, Delphi, Modula and Smalltalk - C#, based on the practice of using them, excludes some models that have proven to be problematic when developing software systems: thus, C # does not support multiple class inheritance (unlike C ++).\r\nC# was developed as an application level programming language for the CLR and, as such, depends primarily on the capabilities of the CLR itself. This concerns, first of all, the C # type system, which reflects FCL. The presence or absence of certain expressive features of the language is dictated by whether a particular language feature can be translated into the corresponding CLR constructs. So, with the development of the CLR from version 1.1 to 2.0, C # itself was significantly enriched; similar interaction should be expected in the future. (However, this pattern was broken with the release of C # 3.0, which are language extensions that do not rely on .NET platform extensions.) The CLR provides C #, like all other .NET-oriented languages, many of the features that the “classical” programming languages lack. For example, garbage collection is not implemented in C # itself, but the CLR is done for programs written in C # just like it is done for programs on VB.NET, J #, and others.","materialsDescription":"<span style=\"font-weight: bold;\"> Why is it necessary to study the C# programming language?</span>\r\n<span style=\"font-weight: bold;\">Reason # 1. Language program C# develops.</span>\r\nNew programming languages appear annually. And the main demand is expanding and progressing. Since the C# programming language was created and accompanied by Microsoft, this technological “hippopotamus” periodically makes improvable with the addition of useful functions in C #, and you can be sure that it will perform many, many iterations ... Also, billions of lines of code are written all over the world not only under Microsoft, so the work is foreseen to everyone who wants to learn the C # programming language.\r\n<span style=\"font-weight: bold;\">Reason # 2. Your bright future with C#.</span>\r\nThis item smoothly continues the previous one. According to the ratings of the domestic DOU, it is clear that the C# programming language in Ukraine is in 3rd place in 2018 among programming languages. And in the world charts on the 4th place by PYPL PopularitY of Programming Language is a rating using Google Trends.\r\n<span style=\"font-weight: bold;\">Reason # 3. The possibility of greater profits.</span>\r\nOf course, this statement should be evaluated relatively by comparison. Today they like to say: “A programmer’s working time is more expensive than additional memory or a more powerful computer processor. It is recommended to choose more modern tools that don’t over-brain a programmer.”\r\nOn the other hand, when they talk about C#, they always mean speed and large, valuable, serious projects, even Megaprojects. For example, in C#, the Linux kernel, Unix, libraries, environment, interpreters of many modern programming languages are written.\r\n<span style=\"font-weight: bold;\">Reason # 4. C# has a huge set of use cases.</span>\r\n<ul><li>The C # programming language is mainly used to create corporate software, financial projects, for example, for banks and stock exchanges, in particular, mobile applications, cloud services.</li><li>Compared to Java, C# interacts more easily with code written in other languages. And it is precisely in C# that extensions are often written for other programming languages used as a layer between the C # library and the language, the possibilities of which are planned to be extended for specific purposes.</li><li>A pretty popular blockchain in C#.</li><li>C# is widely used in developing games on Unity. Have you ever heard of Unity? Unity is a popular game engine. This means that hundreds of thousands of games, including the most popular, were created using C#.</li><li>C# is good for working with iron, the so-called embedded. Asking what is embedded technology? Embedded system - a specialized computer system or computing device designed to perform a limited number of functions, from Wikipedia: traffic lights, cash registers, vending machines, set-top boxes, test equipment, etc.</li><li>The popular C# programming language is equally good for IoT. Again, what is IoT? IoT (Internet of Things) is a concept of a comprehensive Internet, Internet connection of refrigerators, air conditioners, cars and even sneakers with the aim of providing its owner with greater comfort, and on the other hand increasing their retailers' profits, calculating the amount of what, how much and when availability in warehouses, obtaining certain information about a person and his habits, about the environment.</li><li>Science and its application, for example, conducting complex experimental calculations, cryptography, pattern recognition, and the like.</li></ul>\r\n<span style=\"font-weight: bold;\">Reason # 5. C# is strongly typed, so it is easier for them to master beginners</span>\r\nAs for the comparison of programming languages, it should be noted that the C# programming language is multi-level. This means that it is somewhat similar to English. The C# programming language has strong static typing, supports polymorphism, operator overloading, pointers to member functions of classes, attributes, events, properties, exceptions, comments in XML format. Having adopted a lot from their predecessors - C++, Delphi, Modula, Smalltalk - in C #, relying on the practice of using them, deliberately excluded some models that proved to be problematic when developing software systems in the above-mentioned programming languages.\r\nThe syntax is quite minimalistic - with manual memory management. This is inconvenient for many, but tracking the correctness of functions, understanding the transmission of arguments is closely related to the study of the C# programming language.\r\nSince the syntax of C# is close to C, C++ and Java, then, fluent in C #, you can later learn them in one breath.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_C_Development.png","alias":"c-development"},"635":{"id":635,"title":"Python Development","description":" Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.\r\nPython is dynamically typed and garbage-collected. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Python is often described as a "batteries included" language due to its comprehensive standard library.\r\nPython was conceived in the late 1980s as a successor to the ABC language. Python 2.0, released in 2000, introduced features like list comprehensions and a garbage collection system capable of collecting reference cycles. Python 3.0, released in 2008, was a major revision of the language that is not completely backward-compatible, and much Python 2 code does not run unmodified on Python 3.\r\nThe Python 2 language, i.e. Python 2.7.x, was officially discontinued on 1 January 2020 (first planned for 2015) after which security patches and other improvements will not be released for it. With Python 2's end-of-life, only Python 3.5.x and later are supported.\r\nPython interpreters are available for many operating systems. A global community of programmers develops and maintains CPython, an open source reference implementation. A non-profit organization, the Python Software Foundation, manages and directs resources for Python and CPython development.\r\nPython is a multi-paradigm programming language. Object-oriented programming and structured programming are fully supported, and many of its features support functional programming and aspect-oriented programming (including by metaprogramming and metaobjects (magic methods)). Many other paradigms are supported via extensions, including design by contract and logic programming.\r\nPython uses dynamic typing and a combination of reference counting and a cycle-detecting garbage collector for memory management. It also features dynamic name resolution (late binding), which binds method and variable names during program execution.\r\nPython's design offers some support for functional programming in the Lisp tradition. It has filter, map, and reduce functions; list comprehensions, dictionaries, sets, and generator expressions. The standard library has two modules (itertools and functools) that implement functional tools borrowed from Haskell and Standard ML.","materialsDescription":" <span style=\"font-weight: bold;\">What is Python?</span>\r\nPython is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on Windows 2000 and later.\r\n<span style=\"font-weight: bold;\">What is the Python Software Foundation?</span>\r\nThe Python Software Foundation is an independent non-profit organization that holds the copyright on Python versions 2.1 and newer. The PSF’s mission is to advance open source technology related to the Python programming language and to publicize the use of Python. The PSF’s home page is at <link https://www.python.org/psf/.>https://www.python.org/psf/.</link>\r\n<span style=\"font-weight: bold;\">Are there copyright restrictions on the use of Python?</span>\r\nYou can do anything you want with the source, as long as you leave the copyrights in and display those copyrights in any documentation about Python that you produce. If you honor the copyright rules, it’s OK to use Python for commercial use, to sell copies of Python in source or binary form (modified or unmodified), or to sell products that incorporate Python in some form. We would still like to know about all commercial use of Python, of course.\r\n<span style=\"font-weight: bold;\">What is Python good for?</span>\r\nPython is a high-level general-purpose programming language that can be applied to many different classes of problems.\r\nThe language comes with a large standard library that covers areas such as string processing (regular expressions, Unicode, calculating differences between files), Internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, CGI programming), software engineering (unit testing, logging, profiling, parsing Python code), and operating system interfaces (system calls, filesystems, TCP/IP sockets). Look at the table of contents for The Python Standard Library to get an idea of what’s available. A wide variety of third-party extensions are also available. Consult the Python Package Index to find packages of interest to you.<br /><br />","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Python_Development.png","alias":"python-development"},"649":{"id":649,"title":"QA - Quality assurance","description":" <span style=\"font-weight: bold; \">Quality Assurance (QA)</span> is defined as an activity to ensure that an organization is providing the best possible product or service to customers. QA focuses on improving the processes to deliver Quality Products to the customer. An organization has to ensure, that processes are efficient and effective as per the quality standards defined for software products. Quality Assurance is popularly known as <span style=\"font-weight: bold; \">QA Testing. </span>\r\nQA establishes and maintains set requirements for developing or manufacturing reliable products. A quality assurance system is meant to increase customer confidence and a company's credibility, while also improving work processes and efficiency, and it enables a company to better compete with others.\r\nQuality assurance helps a company create products and services that meet the needs, expectations and requirements of customers. It yields high-quality product offerings that build trust and loyalty with customers. The standards and procedures defined by a quality assurance program help prevent product defects before they arise.\r\n<span style=\"font-weight: bold; \">Quality assurance utilizes one of three methods:</span>\r\n<span style=\"font-weight: bold; \">Failure testing, </span>which continually tests a product to determine if it breaks or fails. For physical products that need to withstand stress, this could involve testing the product under heat, pressure or vibration. For software products, failure testing might involve placing the software under high usage or load conditions.\r\n<span style=\"font-weight: bold; \">Statistical process control (SPC),</span> a methodology based on objective data and analysis and developed by Walter Shewhart at Western Electric Company and Bell Telephone Laboratories in the 1920's and 1930's. This methodology uses statistical methods to manage and control the production of products.\r\n<span style=\"font-weight: bold; \">Total quality management (TQM),</span> which applies quantitative methods as the basis for continuous improvement. TQM relies on facts, data and analysis to support product planning and performance reviews.\r\n<span style=\"font-weight: bold; \">Quality assurance in software.</span> Software quality assurance management (SQA) systematically finds patterns and the actions needed to improve development cycles. Finding and fixing coding errors can carry unintended consequences; it is possible to fix one thing, yet break other features and functionality at the same time.\r\nSQA software has become important for developers as a means of avoiding errors before they occur, saving development time and expenses. Even with SQA processes in place, an update to software can break other features and cause defects - commonly known as bugs.\r\n\r\n","materialsDescription":"<h1 class=\"align-center\"> Differences between Software testing and SQA services</h1>\r\n<ul><li><span style=\"font-weight: bold; \">SQA tools</span></li></ul>\r\n- Is about engineering process that ensures quality\r\n- Involve activities related to the implementation of processes, procedures, and standards.\r\n- Process focused \r\n- Preventive technique\r\n- Proactive measure\r\n- The scope of software quality testing tools applied to all products that will be created by the organization\r\n<ul><li><span style=\"font-weight: bold; \">Software Testing</span></li></ul>\r\n- Software Testing is to test a product for problems before the product goes live\r\n- Involves actives concerning verification of product Example - Review Testing\r\n- Product focused\r\n - Corrective technique\r\n- Reactive measure\r\n- The scope of Software Testing applies to a particular product being tested\r\n<h1 class=\"align-center\">Manual QA testing services Vs Automated Quality Assurance Testing</h1>\r\nSoftware testing is a huge domain, but it can be broadly categorized into two areas: manual testing and automated testing. Both of them can be used to achieve the best results, but it is always worth knowing the difference between the two. Each testing type – manual and automated – comes with its own set of advantages and disadvantages. \r\nYou can choose between manual and quality assurance testing services based on a variety of factors. These include:\r\n- Project requirements\r\n- Timeline\r\n- Budget\r\n- Expertise\r\n- Suitability<br /> \r\n<ul><li><span style=\"font-weight: bold; \">Manual Testing </span></li></ul>\r\n<span style=\"font-weight: bold; \">Exploratory Testing:</span> This scenario requires a tester’s expertise, creativity, knowledge, analytical and logical reasoning skills. With poorly written specifications and short execution time, human skills are a must to test in this scenario.\r\n<span style=\"font-weight: bold; \">Ad-Hoc Testing:</span> It is an unplanned method of testing where the biggest difference maker is a tester’s insight that can work without a specific approach.\r\n<span style=\"font-weight: bold; \">Usability Testing:</span> Here you need to check the level of user-friendliness and check the software for convenience. Human observation is a must to make the end user’s experience convenient.\r\n<ul><li><span style=\"font-weight: bold; \">Quality Assurance automation tools</span></li></ul>\r\n<span style=\"font-weight: bold; \">Repeated Execution:</span> When you need to execute a use case repeatedly, automated testing is a better option.\r\n<span style=\"font-weight: bold; \">Regression Testing:</span> Automated automated QA software is better here because the code changes frequently and the regressions can be run in a timely manner\r\n<span style=\"font-weight: bold; \">Performance:</span> You need an automated QA testing software when thousands of concurrent users are simulated at the same time. Additionally, it is a better solution for load testing.\r\n\r\n","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Quality_assurance.png","alias":"qa-quality-assurance"},"651":{"id":651,"title":"Interface Testing","description":"When an application or a software or a website is developed, then there are several components of it. Those components can be server, database etc. The connection which integrates and facilitates the communication between these components is termed as an <span style=\"font-weight: bold;\">Interface</span>.\r\n<span style=\"font-weight: bold;\">Interface Testing</span> is performed to evaluate whether systems or components pass data and control correctly to one another. It is to verify if all the interactions between these modules are working properly and errors are handled properly.\r\n<span style=\"font-weight: bold; \">Interface Testing - Checklist</span>\r\n<ul><li>Verify that communication between the systems are done correctly</li><li>Verify if all supported hardware/software has been tested</li><li>Verify if all linked documents be supported/opened on all platforms</li><li>Verify the security requirements or encryption while communication happens between systems</li><li>Check if a Solution can handle network failures between Web site and application server</li></ul>\r\n<span style=\"font-weight: bold; \">Phases of Interface Testing. </span>\r\nThere are 2 components involved in Interface testing: 1) web server and application server interface and 2) web server and database server interface.\r\nBasically, 3 phases are involved in the Interface testing which is mentioned below:\r\n<b>Configuration and Development. </b>After the configuration of the interface and the development initialization, the configuration is needed to be verified as per the requirement. In simple words, verification takes place.\r\n<p style=\" text-align: justify; \"><b>Validation. </b>After the configuration and development stage, validation of the interface is necessary.</p>\r\n<p style=\" text-align: justify; \"><b>Maintenance.</b> After the completion of the project, when the project reaches it’s working stage, the interface is set to be monitored for its performance.</p>\r\n<p style=\" text-align: justify; \"></p>\r\n<p style=\"text-align: justify; \"><a name=\"StepsinvolvedinInterfaceTesting\"></a></p>","materialsDescription":"<h1 class=\"align-center\">Types of Interface Testing </h1>\r\nDuring Interface Testing various types of testing done on the interface which may include:\r\n<span style=\"font-weight: bold; \">Workflow:</span> It ensures that the interface engine handles your standard workflows as expected.\r\n<span style=\"font-weight: bold; \">Edge cases -unexpected values:</span> This is considered when testing include date, month and day reversed.\r\n<span style=\"font-weight: bold; \">Performance, load, and network testing:</span> A high-volume interface may require more Load Testing than a low-volume interface, depending on the interface engine and connectivity infrastructure.\r\n<span style=\"font-weight: bold; \">Individual system interface testing:</span> This includes testing each system individually. For example, billing system and inventory management system for the retail store should be able to operate separately.\r\n<h1 class=\"align-center\">What is Graphic User Interface (GUI) Testing?</h1>\r\nGraphic User Interface Testing (GUI) testing is the process of ensuring proper functionality of the graphical user interface (GUI) for a specific application. This involves making sure it behaves in accordance with its requirements and works as expected across the range of supported platforms and devices.\r\n<p class=\"align-center\"><span style=\"font-weight: bold; \">GUI Testing Approaches</span></p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Manual Based Testing: </span>Under this approach, the screens of the application are checked manually by testers. They are being confirmed with the requirements that are stated in the business requirements. The UI is also matched with the designs that are provided during the documentation phase of the application.</p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Automation Based Testing:</span> Automated user interface testing approach is performed in 2 steps i.e, record and play. While doing this, the steps are captured/recorded with the help of the automation tool while performing the first round of testing. And during playback, that recorded steps script is run when the application is under test. If the position of any button or image changes that during the playback, it does not get tracked and the test fails.</p>\r\n<h1 class=\"align-center\">What Features Should I Look for in a GUI Testing Tool?</h1>\r\nObviously the first answer is to choose a tool that can automate the specific technologies you’re testing, otherwise your automation is doomed to fail. Secondly you should choose a tool that has some of the following characteristics:\r\n<ul><li>Good interface testing software that makes it easy for your automation engineers to write tests, make changes, find issues and be able to deploy the tests on all the environments you need to test.</li><li>A tool that is well supported by the manufacturer and is keeping up to date with new web browsers, operating systems and technologies that you will need to test in the future. </li><li>An object abstraction layer so that your test analysts can write the tests in the way most natural for them and your automation engineers can create objects that point to physical items in the application that will be robust and not change every time you resort a grid or add data to the system.</li><li>Support for data-driven testing since as we have discussed, one of the big benefits of automation is the ability to run the same test thousands of times with different sets of data.</li></ul>\r\n\r\n","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Interface_Testing.png","alias":"interface-testing"},"665":{"id":665,"title":"User Interface Development","description":" User interface design (UI) or user interface engineering is the design of user interfaces for machines and software, such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizing usability and the user experience. The goal of user interface design is to make the user's interaction as simple and efficient as possible, in terms of accomplishing user goals (user-centered design).\r\nGood user interface design facilitates finishing the task at hand without drawing unnecessary attention to itself. Graphic design and typography are utilized to support its usability, influencing how the user performs certain interactions and improving the aesthetic appeal of the design; design aesthetics may enhance or detract from the ability of users to use the functions of the interface. The design process must balance technical functionality and visual elements (e.g., mental model) to create a system that is not only operational but also usable and adaptable to changing user needs.\r\nInterface design is involved in a wide range of projects from computer systems, to cars, to commercial planes; all of these projects involve much of the same basic human interactions yet also require some unique skills and knowledge. As a result, designers tend to specialize in certain types of projects and have skills centered on their expertise, whether it is a software design, user research, web design, or industrial design.","materialsDescription":" <span style=\"font-weight: bold;\">What is a Graphical User Interface?</span>\r\nThe graphical user interface, developed in the late 1970s by the Xerox Palo Alto research laboratory and deployed commercially in Apple’s Macintosh and Microsoft’s Windows operating systems, was designed as a response to the problem of inefficient usability in early, text-based command-line interfaces for the average user.\r\nGraphical user interfaces would become the standard of user-centered design in software application programming, providing users the capability to intuitively operate computers and other electronic devices through the direct manipulation of graphical icons such as buttons, scroll bars, windows, tabs, menus, cursors, and the mouse pointing device. Many modern graphical user interfaces feature touchscreen and voice-command interaction capabilities.\r\n<span style=\"font-weight: bold;\">How Does a Graphical User Interface Work?</span>\r\nGraphical user interface design principles conform to the model–view–controller software pattern, which separates internal representations of information from the manner in which information is presented to the user, resulting in a platform where users are shown which functions are possible rather than requiring the input of command codes. Users interact with information by manipulating visual widgets, which are designed to respond in accordance with the type of data they hold and support the actions necessary to complete the user’s task.\r\nThe appearance, or “skin,” of an operating system or application software may be redesigned at will due to the nature of graphical user interfaces being independent from application functions. Applications typically implement their own unique graphical user interface display elements in addition to graphical user interface elements already present on the existing operating system. A typical graphical user interface also includes standard formats for representing graphics and text, making it possible to share data between applications running under common graphical user interface design software.\r\nGraphical user interface testing refers to the systematic process of generating test cases in order to evaluate the functionality of the system and its design elements. Graphical user interface testing tools, which are either manual or automated and typically implemented by third-party operators, are available under a variety of licenses and are supported by a variety of platforms. Popular examples include: Tricentis Tosca, Squish GUI Tester, Unified Functional Testing (UFT), Maveryx, Appium, and eggPlant Functional.\r\n<span style=\"font-weight: bold;\">Graphical User Interface Examples</span>\r\nSketchpad, believed to be the first graphical computer-aided design program, was developed in 1962 by Ivan Sutherland while he was at MIT, and consisted of a light pen that enabled users to create and manipulate objects in engineering drawings in real-time with coordinated graphics.\r\nModern operating systems and graphical user interfaces are incorporated into nearly every interactive application, such as ATMs, self-service checkouts, airline self-ticketing and check-in, video games, smartphones, and desktops. Some popular, modern graphical user interface examples include Microsoft Windows, macOS, Ubuntu Unity, and GNOME Shell for desktop environments, and Android, Apple's iOS, BlackBerry OS, Windows 10 Mobile, Palm OS-WebOS, and Firefox OS for smartphones.\r\n<span style=\"font-weight: bold;\">Advantages of Graphical User Interfaces</span>\r\nThe advantage of a graphical user interface is a stark improvement in useability for the average person. The features of a graphical user interface leverage familiar metaphors, such as drag-and-drop for transferring files, and use familiar icons, such as a trash bin for deleted files, creating an environment in which computer operations are intuitive and easily mastered without any prior practice or knowledge of computing machinery or languages. Graphical user interface applications are self descriptive, feedback is typically immediate, and visual cues encourage and steer discoverability.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_User_Interface_Development.png","alias":"user-interface-development"},"669":{"id":669,"title":"MySQL Development","description":" MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language.\r\nMySQL is free and open-source software under the terms of the GNU General Public License, and is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle Corporation). In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL project to create MariaDB.\r\nMySQL is a component of the LAMP web application software stack (and others), which is an acronym for Linux, Apache, MySQL, Perl/PHP/Python. MySQL is used by many database-driven web applications, including Drupal, Joomla, phpBB, and WordPress. MySQL is also used by many popular websites, including Facebook, Flickr, MediaWiki, Twitter, and YouTube.\r\nMySQL is written in C and C++. Its SQL parser is written in yacc, but it uses a home-brewed lexical analyzer. MySQL works on many system platforms, including AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, macOS, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Oracle Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS also exists.\r\nThe MySQL server software itself and the client libraries use dual-licensing distribution. They are offered under GPL version 2, or a proprietary license.\r\nSupport can be obtained from the official manual. Free support additionally is available in different IRC channels and forums. Oracle offers paid support via its MySQL Enterprise products. They differ in the scope of services and in price. Additionally, a number of third party organisations exist to provide support and services, including MariaDB and Percona.\r\nMySQL has received positive reviews, and reviewers noticed it "performs extremely well in the average case" and that the "developer interfaces are there, and the documentation (not to mention feedback in the real world via Web sites and the like) is very, very good". It has also been tested to be a "fast, stable and true multi-user, multi-threaded sql database server".","materialsDescription":" <span style=\"font-weight: bold; \">What is MySQL?</span>\r\n<span style=\"font-style: italic; \">MySQL is a database management system.</span>\r\nA database is a structured collection of data. It may be anything from a simple shopping list or a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL Server. Since computers are very good at handling large amounts of data, database management plays a central role in computing, as stand-alone utilities, or as parts of other applications.\r\n<span style=\"font-style: italic; \">MySQL is a relational database management system.</span>\r\nA relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed and flexibility. The tables are linked by defined relations making it possible to combine data from several tables on request. The SQL part of "MySQL" stands for "Structured Query Language" the most common standardised language used to access databases.\r\nMySQL, the most popular Open Source SQL database, is developed and provided by MySQL AB. The MySQL web site ( http://www.mysql.com ) provides the latest information about MySQL software and MySQL AB.\r\n<span style=\"font-weight: bold;\">Why do I need MySQL?</span>\r\nIf you have any information such as products, dates, customers, pictures, or any data that is not static, a database is an efficient way to manage that information. Sites that contain message boards, guest books, dynamic galleries, contact lists, or online product information can greatly benefit by storing their information on our fast, reliable and secure database server.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_MySQL_Development.png","alias":"mysql-development"},"673":{"id":673,"title":"MS SQL Development","description":" Microsoft SQL Server is a relational database management system, or RDBMS, that supports a wide variety of transaction processing, business intelligence and analytics applications in corporate IT environments. It's one of the three market-leading database technologies, along with Oracle Database and IBM's DB2.\r\nLike other RDBMS technologies, SQL Server is primarily built around a row-based table structure that connects related data elements in different tables to one another, avoiding the need to redundantly store data in multiple places within a database. The relational model also provides referential integrity and other integrity constraints to maintain data accuracy; those checks are part of a broader adherence to the principles of atomicity, consistency, isolation, and durability - collectively known as the ACID properties and designed to guarantee that database transactions are processed reliably.\r\nThe advanced security features supported in all editions of Microsoft SQL Server starting with SQL Server 2016 SP1 include three technologies added to the 2016 release: Always Encrypted, which lets user update encrypted data without having to decrypt it first; row-level security, which enables data access to be controlled at the row level in database tables; and dynamic data masking, which automatically hides elements of sensitive data from users without full access privileges.","materialsDescription":" <span style=\"font-weight: bold;\">What is MS SQL?</span>\r\nMS SQL is short for Microsoft SQL Server. It is a relational web hosting database that is used to store web site information like blog posts or user information. MS SQL is the most popular type of database on Windows servers. It is not free but it has many advanced features that make it suitable for businesses.\r\n<span style=\"font-weight: bold;\">What are the features of MS SQL?</span>\r\nIn basic terms, an MS SQL database is capable of storing any type of data that you want. It will let you quickly store and retrieve information and multiple web site visitors can use it at one time. You will use SQL statements to accomplish all of this. In more technical terms, most versions of MS SQL have the following features:\r\n<ul><li>Buffer management</li><li>Logging and Transaction</li><li>Concurrency and locking</li><li>Replication services</li><li>Analysis services</li><li>Notification services</li><li>Integration services</li><li>Full-text search service</li><li>Stored procedures</li><li>Triggers</li><li>Views</li><li>Sub-SELECTs (i.e. nested SELECTs)</li></ul>\r\n<span style=\"font-weight: bold;\">What is MS SQL used for?</span>\r\nMS SQL is the database of choice for web applications on a Windows platform (using .NET or ASP). These languages make is extremely easy to connect to the MS SQL database. It is also used for many popular content management systems and other scripts.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_MS_SQL_Development.png","alias":"ms-sql-development"},"676":{"id":676,"title":"PostgreSQL Development","description":" PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and technical standards compliance. It is designed to handle a range of workloads, from single machines to data warehouses or Web services with many concurrent users. It is the default database for macOS Server, and is also available for Linux, FreeBSD, OpenBSD, and Windows.\r\nPostgreSQL features transactions with Atomicity, Consistency, Isolation, Durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. PostgreSQL is developed by the PostgreSQL Global Development Group, a diverse group of many companies and individual contributors.\r\nPostgreSQL's developers pronounce PostgreSQL as /ˈpoʊstɡrɛs ˌkjuː ˈɛl/. It is abbreviated as Postgres because of ubiquitous support for the SQL standard among relational databases. Originally named POSTGRES, the name (Post Ingres) refers to the project's origins in that RDBMS that originated at University of California, Berkeley. After a review the PostgreSQL Core Team announced in 2007 that the product would continue to use the name PostgreSQL.\r\nPostgreSQL manages concurrency through multiversion concurrency control (MVCC), which gives each transaction a "snapshot" of the database, allowing changes to be made without affecting other transactions. This largely eliminates the need for read locks, and ensures the database maintains ACID principles. PostgreSQL offers three levels of transaction isolation: Read Committed, Repeatable Read and Serializable. Because PostgreSQL is immune to dirty reads, requesting a Read Uncommitted transaction isolation level provides read committed instead. PostgreSQL supports full serializability via the serializable snapshot isolation (SSI) method.\r\nPostgreSQL is available for the following operating systems: Linux (all recent distributions), 64-bit installers available for macOS (OS X) version 10.6 and newer – Windows (with installers available for 64-bit version; tested on latest versions and back to Windows 2012 R2, while for PostgreSQL version 10 and older a 32-bit installer is available and tested down to 32-bit Windows 2008 R1; compilable by e.g. Visual Studio, version 2013 up up to most recent 2019 version) – FreeBSD, OpenBSD, NetBSD, AIX, HP-UX, Solaris, and UnixWare; and not officially tested: DragonFly BSD, BSD/OS, IRIX, OpenIndiana, OpenSolaris, OpenServer, and Tru64 UNIX. Most other Unix-like systems could also work; most modern do support.\r\nPostgreSQL works on any of the following instruction set architectures: x86 and x86-64 on Windows and other operating systems; these are supported on other than Windows: IA-64 Itanium (external support for HP-UX), PowerPC, PowerPC 64, S/390, S/390x, SPARC, SPARC 64, ARMv8-A (64-bit) and older ARM (32-bit, including older such as ARMv6 in Raspberry Pi), MIPS, MIPSel, and PA-RISC. It was also known to work, but not tested in a while, on Alpha (dropped in 9.5), M68k, M32R, NS32k, and VAX. Beyond these, it is possible to build PostgreSQL for an unsupported CPU by disabling spinlocks.","materialsDescription":" <span style=\"font-weight: bold;\">What is PostgreSQL? How is it pronounced? What is Postgres?</span>\r\nPostgreSQL is pronounced Post-Gres-Q-L.\r\nPostgreSQL is an object-relational database system that has the features of traditional proprietary database systems with enhancements to be found in next-generation DBMS systems. PostgreSQL is free and the complete source code is available.\r\nPostgreSQL development is performed by a team of mostly volunteer developers spread throughout the world and communicating via the Internet. It is a community project and is not controlled by any company.\r\nPostgres is a widely-used nickname for PostgreSQL. It was the original name of the project at Berkeley and is strongly preferred over other nicknames. If you find 'PostgreSQL' hard to pronounce, call it 'Postgres' instead.\r\n<span style=\"font-weight: bold;\">Who controls PostgreSQL?</span>\r\nIf you are looking for a PostgreSQL gatekeeper, central committee, or controlling company, give up --- there isn't one. We do have a core committee and git committers, but these groups are more for administrative purposes than control. The project is directed by the community of developers and users, which anyone can join. All you need to do is subscribe to the mailing lists and participate in the discussions.\r\n<span style=\"font-weight: bold;\">Who is the PostgreSQL Global Development Group?</span>\r\nThe "PGDG" is an international, unincorporated association of individuals and companies who have contributed to the PostgreSQL project. The PostgreSQL Core Team generally act as spokespeople for the PGDG.\r\n<span style=\"font-weight: bold;\">Who is the PostgreSQL Core Team?</span>\r\nA committee of five to seven (currently six) senior contributors to PostgreSQL who do the following for the project: (a) set release dates, (b) handle confidential matters for the project, (c) act as spokespeople for the PGDG when required, and (d) arbitrate community decisions which are not settled by consensus. The current Core Team is listed on top of the contributor's page.\r\n<span style=\"font-weight: bold;\">What about the various PostgreSQL foundations?</span>\r\nWhile the PostgreSQL project utilizes non-profit corporations in the USA, Europe, Brazil, and Japan for fundraising and project coordination, these entities do not own the PostgreSQL code.\r\n<span style=\"font-weight: bold;\">What is the license of PostgreSQL?</span>\r\nPostgreSQL is distributed under a license similar to BSD and MIT. Basically, it allows users to do anything they want with the code, including reselling binaries without the source code. The only restriction is that you not hold us legally liable for problems with the software. There is also the requirement that this copyright appears in all copies of the software.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_PostgesSQL_Development.png","alias":"postgresql-development"},"681":{"id":681,"title":"Software Architecture Design","description":" Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. It functions as a blueprint for the system and the developing project, laying out the tasks necessary to be executed by the design teams.\r\nSoftware architecture is about making fundamental structural choices that are costly to change once implemented. Software architecture choices include specific structural options from possibilities in the design of the software. For example, the systems that controlled the Space Shuttle launch vehicle had the requirement of being very fast and very reliable. Therefore, an appropriate real-time computing language would need to be chosen. Additionally, to satisfy the need for reliability the choice could be made to have multiple redundant and independently produced copies of the program, and to run these copies on independent hardware while cross-checking results.\r\nDocumenting software architecture facilitates communication between stakeholders, captures early decisions about the high-level design, and allows the reuse of design components between projects.","materialsDescription":" <span style=\"font-weight: bold; \">What is the scope of software architecture?</span>\r\nOpinions vary as to the scope of software architectures:\r\n<ul><li>Macroscopic system structure: this refers to architecture as a higher-level abstraction of a software system that consists of a collection of computational components together with connectors that describe the interaction between these components.</li><li>The important stuff—whatever that is: this refers to the fact that software architects should concern themselves with those decisions that have a high impact on the system and its stakeholders.</li><li>That is fundamental to understanding a system in its environment.</li><li>Things that people perceive as hard to change: since designing the architecture takes place at the beginning of a software system's lifecycle, the architect should focus on decisions that "have to" be right the first time. Following this line of thought, architectural design issues may become non-architectural once their irreversibility can be overcome.</li><li>A set of architectural design decisions: software architecture should not be considered merely a set of models or structures, but should include the decisions that lead to these particular structures, and the rationale behind them. This insight has led to substantial research into software architecture knowledge management.</li></ul>\r\n<span style=\"font-weight: bold; \">What are the characteristics of software architecture?</span>\r\nSoftware architecture exhibits the following:\r\n<span style=\"font-weight: bold; \">A multitude of stakeholders:</span> software systems have to cater to a variety of stakeholders such as business managers, owners, users, and operators. These stakeholders all have their own concerns with respect to the system. Balancing these concerns and demonstrating that they are addressed is part of designing the system. This implies that architecture involves dealing with a broad variety of concerns and stakeholders, and has a multidisciplinary nature.\r\n<span style=\"font-weight: bold; \">Separation of concerns:</span> the established way for architects to reduce complexity is to separate the concerns that drive the design. Architecture documentation shows that all stakeholder concerns are addressed by modeling and describing the architecture from separate points of view associated with the various stakeholder concerns. These separate descriptions are called architectural views.\r\n<span style=\"font-weight: bold; \">Quality-driven:</span> classic software design approaches (e.g. Jackson Structured Programming) were driven by required functionality and the flow of data through the system, but the current insight is that the architecture of a software system is more closely related to its quality attributes such as fault-tolerance, backward compatibility, extensibility, reliability, maintainability, availability, security, usability, and other such –ilities. Stakeholder concerns often translate into requirements on these quality attributes, which are variously called non-functional requirements, extra-functional requirements, behavioral requirements, or quality attribute requirements.\r\n<span style=\"font-weight: bold; \">Recurring styles:</span> like building architecture, the software architecture discipline has developed standard ways to address recurring concerns. These "standard ways" are called by various names at various levels of abstraction. Common terms for recurring solutions are architectural style, tactic, reference architecture and architectural pattern.\r\n<span style=\"font-weight: bold; \">Conceptual integrity:</span> a term introduced by Fred Brooks in The Mythical Man-Month to denote the idea that the architecture of a software system represents an overall vision of what it should do and how it should do it. This vision should be separated from its implementation. The architect assumes the role of "keeper of the vision", making sure that additions to the system are in line with the architecture, hence preserving conceptual integrity.\r\n<span style=\"font-weight: bold; \">Cognitive constraints:</span> an observation first made in a 1967 paper by computer programmer Melvin Conway that organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. As with conceptual integrity, it was Fred Brooks who introduced it to a wider audience when he cited the paper and the idea in his elegant classic The Mythical Man-Month, calling it "Conway's Law."\r\n<span style=\"font-weight: bold;\">What is the motivation of software architecture?</span>\r\nSoftware architecture is an "intellectually graspable" abstraction of a complex system. This abstraction provides a number of benefits:\r\n<ul><li><span style=\"font-style: italic;\">It gives a basis for an analysis of software systems' behavior before the system has been built.</span> The ability to verify that a future software system fulfills its stakeholders' needs without actually having to build it represents substantial cost-saving and risk-mitigation. A number of techniques have been developed to perform such analyses, such as ATAM.</li><li><span style=\"font-style: italic;\">It provides a basis for the re-use of elements and decisions.</span> A complete software architecture or parts of it, like individual architectural strategies and decisions, can be re-used across multiple systems whose stakeholders require similar quality attributes or functionality, saving design costs and mitigating the risk of design mistakes.</li><li><span style=\"font-style: italic;\">It supports early design decisions that impact a system's development, deployment, and maintenance life.</span> Getting the early, high-impact decisions right is important to prevent schedule and budget overruns.</li><li><span style=\"font-style: italic;\">It facilitates communication with stakeholders, contributing to a system that better fulfills their needs.</span> Communicating about complex systems from the point of view of stakeholders helps them understand the consequences of their stated requirements and the design decisions based on them. Architecture gives the ability to communicate about design decisions before the system is implemented when they are still relatively easy to adapt.</li><li><span style=\"font-style: italic;\">It helps in risk management.</span> Software architecture helps to reduce risks and the chance of failure.</li><li><span style=\"font-style: italic;\">It enables cost reduction.</span> Software architecture is a means to manage risk and costs in complex IT projects.</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Software_Architecture_Design.png","alias":"software-architecture-design"},"685":{"id":685,"title":"Database Administration","description":" Database administration refers to the whole set of activities performed by a database administrator to ensure that a database is always available as needed. Other closely related tasks and roles are database security, database monitoring and troubleshooting, and planning for future growth.\r\nDatabase administration is an important function in any organization that is dependent on one or more databases.\r\nThe database administrator (DBA) is usually a dedicated role in the IT department for large organizations. However, many smaller companies that cannot afford a full-time DBA usually outsource or contract the role to a specialized vendor, or merge the role with another in the ICT department so that both are performed by one person.\r\nThe primary role of database administration is to ensure maximum up time for the database so that it is always available when needed. This will typically involve proactive periodic monitoring and troubleshooting. This in turn entails some technical skills on the part of the DBA. In addition to in-depth knowledge of the database in question, the DBA will also need knowledge and perhaps training in the platform (database engine and operating system) on which the database runs.\r\nA DBA is typically also responsible for other secondary, but still critically important, tasks and roles. Some of these include:\r\n<ul><li>Database Security: Ensuring that only authorized users have access to the database and fortifying it against any external, unauthorized access.</li><li>Database Tuning: Tweaking any of several parameters to optimize performance, such as server memory allocation, file fragmentation and disk usage.</li><li>Backup and Recovery: It is a DBA's role to ensure that the database has adequate backup and recovery procedures in place to recover from any accidental or deliberate loss of data.</li><li>Producing Reports from Queries: DBAs are frequently called upon to generate reports by writing queries, which are then run against the database.</li></ul>\r\nIt is clear from all the above that the database administration function requires technical training and years of experience. Some companies that offer commercial database products, such as Oracle DB and Microsoft's SQL Server, also offer certifications for their specific products. These industry certifications, such as Oracle Certified Professional (OCP) and Microsoft Certified Database Administrator (MCDBA), go a long way toward assuring organizations that a DBA is indeed thoroughly trained on the product in question. Because most relational database products today use the SQL language, knowledge of SQL commands and syntax is also a valuable asset for today's DBAs.","materialsDescription":" <span style=\"font-weight: bold;\">Data Resource Management</span>\r\nAccording to the Data Management Association (DAMA), data resource management is "the development and execution of architectures, policies, practices and procedures that properly manage the full data lifecycle needs of an enterprise". Data Resource management may be thought of as a managerial activity that applies information system and other data management tools to the task of managing an organization’s data resource to meet a company’s business needs, and the information they provide to their shareholders. From the perspective of database design, it refers to the development and maintenance of data models to facilitate data sharing between different systems, particularly in a corporate context. Data Resource Management is also concerned with both data quality and compatibility between data models.\r\nSince the beginning of the information age, businesses need all types of data on their business activity. With each data created, when a business transaction is made, need data is created. With these data, new direction is needed that focuses on managing data as a critical resource of the organization to directly support its business activities. The data resource must be managed with the same intensity and formality that other critical resources are managed. Organizations must emphasize the information aspect of information technology, determine the data needed to support the business, and then use appropriate technology to build and maintain a high-quality data resource that provides that support.\r\nData resource quality is a measure of how well the organization's data resource supports the current and the future business information demand of the organization. The data resource cannot support just the current business information demand while sacrificing the future business information demand. It must support both the current and the future business information demand. The ultimate data resource quality is stability across changing business needs and changing technology.\r\nA corporate data resource must be developed within single, organization-wide common data architecture. A data architecture is the science and method of designing and constructing a data resource that is business driven, based on real-world objects and events as perceived by the organization, and implemented into appropriate operating environments. It is the overall structure of a data resource that provides a consistent foundation across organizational boundaries to provide easily identifiable, readily available, high-quality data to support the business information demand.\r\nThe common data architecture is a formal, comprehensive data architecture that provides a common context within which all data at an organization's disposal are understood and integrated. It is subject oriented, meaning that it is built from data subjects that represent business objects and business events in the real world that are of interest to the organization and about which data are captured and maintained.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Database_Administration.png","alias":"database-administration"},"687":{"id":687,"title":"Network Administration","description":" Computer networks are critical parts of almost every organization. Network and computer systems administrators are responsible for the day-to-day operation of these networks. They organize, install, and support an organization’s computer systems, including local area networks (LANs), wide area networks (WANs), network segments, intranets, and other data communication systems. Administrators manage an organization’s servers and desktop and mobile equipment. They ensure that email and data storage networks work properly. They also make sure that employees’ workstations are working efficiently and stay connected to the central computer network. In some cases, administrators help network architects design and analyze network models. They also participate in decisions about buying future hardware or software to upgrade their organization’s network. Some administrators provide technical support to computer users, and they also may supervise computer support specialists who help solve users’ problems.\r\nAs with many technical roles, network administrator positions require a breadth of technical knowledge and the ability to learn the intricacies of new networking and server software packages quickly. Within smaller organizations, the more senior role of a network engineer is sometimes attached to the responsibilities of the network administrator. It is common for smaller organizations to outsource this function.\r\nA computer network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices exchange data with each other along with network links (data connections). The connections between nodes are established using either cable media or wireless media. The best-known computer network is the Internet.\r\nNetwork computer devices that originate, route and terminate the data are called network nodes. Nodes can include hosts such as personal computers, mobile phones, servers as well as networking hardware. Two such devices can be said to be networked together when one device is able to exchange information with the other device, whether or not they have a direct connection to each other.\r\nComputer networks differ in the transmission media used to carry their signals, the communications protocols to organize network traffic, the network's size, topology, and organizational intent. In most cases, communications protocols are layered on (i.e. work using) other more specific or more general communications protocols, except for the physical layer that directly deals with the transmission media.\r\nComputer networks support an enormous number of applications such as access to the World Wide Web, video, digital audio, shared use of application and storage servers, printers, and fax machines, and use of email and instant messaging applications as well as many others.","materialsDescription":" <span style=\"font-weight: bold; \">What is a network administrator?</span>\r\nA network administrator is responsible for keeping an organization’s computer network up-to-date and operating as intended. Any company or organization that uses multiple computers or software platforms need a network admin to coordinate and connect the different systems. It seems simple enough—but there’s another common IT job title that may trip you up: systems administrator.\r\n<span style=\"font-weight: bold; \">Is a network administrator the same thing as a systems administrator?</span>\r\nIn short — not really. But the lines can blur depending on the work environment. Careers in IT can sometimes take a page from the rules of Whose Line Is It, Anyway? — “Where the titles don’t matter and the duties are made up!” While that’s clearly a bit of an exaggeration, in many smaller organizations, the terms “network administrator” and “systems administrator” are often interchangeable as they cover the same tasks. That being said, the differences between network and systems administrators become much clearer in large organizations. The best way to differentiate between the two is to examine the type of work they do.\r\n<span style=\"font-weight: bold; \">What are the job duties of network and systems administrators?</span>\r\nThe duties of a network administrator will vary considerably depending on the organization they work for. Some work as broad, jack-of-all-trades generalists who cover everything from hardware setup to troubleshooting servers while others have a much narrower focus.\r\nHere are some sample network and systems administrator job duties. In environments where the duties of network administrators and systems administrators are split and more clearly defined, the italicized duties align more with systems administrators:\r\n<ul><li>Configuring network hardware like servers, routers, and switches</li><li>Upgrading and repairing computer networks</li><li>Troubleshooting network issues</li><li>Assisting network architects with the design of network models</li><li>Deploying and updating software</li><li>Managing servers and their operating systems</li><li>Implementing security measures and basic testing</li><li>Managing cloud and physical network storage</li></ul>\r\n<span style=\"font-weight: bold;\">What skills or traits do the best network administrators possess?</span>\r\nObviously, network administration positions will require substantial technical competence, but there’s more to the job than just knowing your stuff. Here are a few of the most common nontechnical abilities that will benefit you as a network administrator:\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Analyzing and critical thinking</span></span>\r\nNetwork admins need to explore and solve problems logically and consistently. “[The] ability to take the concepts you’ve learned in school and understand how they work and affect other concepts is the bread and butter of being a network administrator,” says Brad Meyer, systems administrator at TechnologyAdvice. Even if you don’t yet know the solution, he believes thinking critically will help you get there.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Time management</span></span>\r\nNetwork admins juggle several projects, people and problems simultaneously. This means it’s essential to be organized in the present and looking ahead to prepare for what’s coming next. It’s like spinning plates—with a little practice, a network admin can keep everything balanced.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Interpersonal skills</span></span>\r\nNetwork admins work with a range of people, from network engineers to help desk employees to end-users, explains IT consultant Eric Jeffery. He says bridging the gap between diverse groups of people requires patience and understanding.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">A drive to learn more</span></span>\r\nThe IT field is no stranger to change—and new technologies can put even well-established network admins behind the eight balls. This means the best network admins have a passion for learning as they adapt to changing tech demands. This desire to learn more is also important for the more mundane day-to-day work—inevitably you’ll encounter issues you’ve never seen before and the only solution is to start researching potential answers.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Network_Administration.png","alias":"network-administration"},"689":{"id":689,"title":"Amazon Web Services","description":"Amazon Web Services (AWS) is a subsidiary of Amazon that provides on-demand cloud computing platforms to individuals, companies and governments, on a metered pay-as-you-go basis. In aggregate, these cloud computing web services provide a set of primitive, abstract technical infrastructure and distributed computing building blocks and tools. One of these services is Amazon Elastic Compute Cloud, which allows users to have at their disposal a virtual cluster of computers, available all the time, through the Internet. AWS's version of virtual computers emulate most of the attributes of a real computer including hardware (CPU(s) & GPU(s) for processing, local/RAM memory, hard-disk/SSD storage); a choice of operating systems; networking; and pre-loaded application software such as web servers, databases, CRM, etc.\r\nThe AWS technology is implemented at server farms throughout the world, and maintained by the Amazon subsidiary. Fees are based on a combination of usage, the hardware/OS/software/networking features chosen by the subscriber, required availability, redundancy, security, and service options. Subscribers can pay for a single virtual AWS computer, a dedicated physical computer, or clusters of either. As part of the subscription agreement, Amazon provides security for subscribers' system. AWS operates from many global geographical regions including 6 in North America.\r\nIn 2017, AWS comprised more than 90 services spanning a wide range including computing, storage, networking, database, analytics, application services, deployment, management, mobile, developer tools, and tools for the Internet of Things. The most popular include Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3). Most services are not exposed directly to end users, but instead offer functionality through APIs for developers to use in their applications. Amazon Web Services' offerings are accessed over HTTP, using the REST architectural style and SOAP protocol.\r\nAmazon markets AWS to subscribers as a way of obtaining large scale computing capacity more quickly and cheaply than building an actual physical server farm. All services are billed based on usage, but each service measures usage in varying ways. As of 2017, AWS owns a dominant 34% of all cloud (IaaS, PaaS) while the next three competitors Microsoft, Google, and IBM have 11%, 8%, 6% respectively according to Synergy Group.","materialsDescription":"<span style=\"font-weight: bold;\">What is "Amazon Web Services" (AWS)?</span>\r\nWith Amazon Web Services (AWS), organizations can flexibly deploy storage space and computing capacity into Amazon's data centers without having to maintain their own hardware. A big advantage is that the infrastructure covers all dimensions for cloud computing. Whether it's video sharing, high-resolution photos, print data, or text documents, AWS can deliver IT resources on-demand, over the Internet, at a cost-per-use basis. The service exists since 2006 as a wholly owned subsidiary of Amazon Inc. The idea arose from the extensive experience with Amazon.com and the own need for platforms for web services in the cloud.\r\n<span style=\"font-weight: bold;\">What is Cloud Computing?</span>\r\nCloud Computing is a service that gives you access to expert-managed technology resources. The platform in the cloud provides the infrastructure (eg computing power, storage space) that does not have to be installed and configured in contrast to the hardware you have purchased yourself. Cloud computing only pays for the resources that are used. For example, a web shop can increase its computing power in the Christmas business and book less in "weak" months.\r\nAccess is via the Internet or VPN. There are no ongoing investment costs after the initial setup, but resources such as Virtual servers, databases or storage services are charged only after they have been used.\r\n<span style=\"font-weight: bold;\">Where is my data on Amazon AWS?</span>\r\nThere are currently eight Amazon Data Centers (AWS Regions) in different regions of the world. For each Amazon AWS resource, only the customer can decide where to use or store it. German customers typically use the data center in Ireland, which is governed by European law.\r\n<span style=\"font-weight: bold;\">How safe is my data on Amazon AWS?</span>\r\nThe customer data is stored in a highly secure infrastructure. Safety measures include, but are not limited to:\r\n<ul><li>Protection against DDos attacks (Distributed Denial of Service)</li><li>Defense against brute-force attacks on AWS accounts</li><li>Secure access: The access options are made via SSL.</li><li> Firewall: Output and access to the AWS data can be controlled.</li><li>Encrypted Data Storage: Data can be encrypted with Advanced Encryption Standard (AES) 256.</li><li>Certifications: Regular security review by independent certifications that AWS has undergone.</li></ul>\r\nEach Amazon data center (AWS region) consists of at least one Availability Zone. Availability Zones are stand-alone sub-sites that have been designed to be isolated from faults in other Availability Zones (independent power and data supply). Certain AWS resources, such as Database Services (RDS) or Storage Services (S3) automatically replicate your data within the AWS region to the different Availability Zones.\r\nAmazon AWS has appropriate certifications such as ISO27001 and has implemented a comprehensive security concept for the operation of its data center.\r\n<span style=\"font-weight: bold;\">Do I have to worry about hardware on Amazon AWS?</span>\r\nNo, all Amazon AWS resources are virtualized. Only Amazon takes care of the replacement and upgrade of hardware.\r\nNormally, you will not get anything out of defective hardware because defective storage media are exchanged by Amazon and since your data is stored multiple times redundantly, there is usually no problem either.\r\nIncidentally, if your chosen resources do not provide enough performance, you can easily get more CPU power from resources by just a few mouse clicks. You do not have to install anything new, just reboot your virtual machine or virtual database instance.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Amazon_Web_Services.png","alias":"amazon-web-services"},"693":{"id":693,"title":"Linux Administration","description":" Linux is an operating system or a kernel created by Linus Torvalds with other contributors. It was first released on September 17, 1991. The main advantage of Linux is that it is distributed under an open-source license means programmers can use the Linux Kernel to design their own custom operating systems. Most of Linux code is written in C Programming Language.\r\nSome of the most popular operating systems that use Linux as kernel are Debian, Knoppix, Ubuntu, and Fedora. Nevertheless, the list does not end here as there are thousands of operating systems based on Linux which offer a variety of functions to the users.\r\nSystem Administration has become a solid criterion for an organization and institute that requires a solid IT foundation. Hence, the need for efficient Linux administrators is the requirement of the time. The job profile might change from each organization as there may be added responsibilities and duties to the role. The main role of the Linux Systems Administrator is to manage the operations like install, observe the software and hardware systems and taking backup. And also have a good ability to describe an In-depth understanding of technical knowledge. Even freshman-level Professionals has great possibilities for the position of System Administrator with the yearly median salary is around INR 3 Lacs, salary increase with an increase in job experience.","materialsDescription":" <span style=\"font-weight: bold;\">What Is Linux?</span>\r\nLinux is the kernel of operating systems that look like and perform as well or better than the famous operating system from AT&T Bell Labs. Linus Torvalds and a loosely-knit team of volunteer hackers from across the Internet wrote (and still are writing) Linux from scratch. It has all of the features of a modern, fully-fledged operating system: true multitasking, threads, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, loadable device driver modules, video frame buffering, and TCP/IP networking.\r\nMost people, however, refer to the operating system kernel, system software, and application software, collectively, as "Linux,'' and that convention is used in this FAQ as well.\r\nLinux was written originally for 386/486/586-based PC's, using the hardware facilities of the 80386 processor family to implement its features. There are now many ports to other hardware platforms.\r\nThere are also Linux distributions specifically for mobile and handheld platforms. An API specification and developers kit for the Crusoe Smart Microprocessor developed by Transmeta Corporation is at <link http://www.transmeta.com/>http://www.transmeta.com/</link> The Linux kernel is distributed under the GNU General Public License.\r\n<span style=\"font-weight: bold;\">What Hardware Is Supported?</span>\r\nA minimal Linux installation requires a machine for which a port exists, at least 2Mb of RAM, and a single floppy drive. But to do anything even remotely useful, more RAM and disk space are needed.\r\nIntel CPU, PC-compatible machines require at least an 80386 processor to run the standard Linux kernel. Linux, including the X Window System GUI, runs on most current laptops.\r\n<span style=\"font-weight: bold;\">What are the duties of a Linux Administrator?</span>\r\nSystem Administration has become a solid criterion for an organization and institute that requires a solid IT foundation. Hence, the need for efficient Linux administrators is the requirement of the time. The job profile might change from each organization as there may be added responsibilities and duties to the role. Below are some duties of a Linux Administrator:\r\n<ul><li>Maintain all internet requests inclusive to DNS, RADIUS, Apache, MySQL, PHP.</li><li>Taking regular back up of data, create new stored procedures and listing back-up is one of the duties.</li><li>Analyzing all error logs and fixing along with providing excellent customer support for Webhosting, ISP and LAN Customers on troubleshooting increased support troubles.</li><li>Communicating with the staff, vendors, and customers in a cultivated, professional manner at all times has to be one of his characteristics.</li><li>Enhance, maintain and creating the tools for the Linux environment and its users.</li><li>Detecting and solving the service problems ranging from disaster recovery to login problems.</li><li>Installing the necessary systems and security tools. Working with the Data Network Engineer and other personnel/departments to analyze hardware requirements and makes acquiring recommendations.</li><li>Troubleshoot, when the problem occurs in the server.</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Linux_Administration.png","alias":"linux-administration"},"697":{"id":697,"title":"Backup Administration","description":" Nowadays, information, along with human capital, is the most valuable asset of every enterprise. The backup system administration is an integral part of data and IT system security structure. It is the backup process quality and method that determine whether in the case of a system failure or data loss it will be possible to maintain functionality and continuity of the enterprise’s operations. This is why careful creation of backup copies is so important.\r\nCreating backup copies may be burdensome and very expensive and time-consuming when you do it all by yourself. On the other hand, the automation of the process introduces a range of improvements, saves time and eliminate the risk of data loss. The copies are created automatically and are protected against interference by third parties. The network administrator is capable of remote backup system management, validity monitoring of created copies as well as retrieving lost information.","materialsDescription":" <span style=\"font-weight: bold;\">The need for backup: when will help out the backup scheme?</span>\r\n<span style=\"font-weight: bold;\">Data corruption</span>\r\nThe need to create a backup is most obvious in the case when your data may undergo damage - physical destruction or theft of the carrier, virus attack, accidental and/or illegal changes, etc.\r\nA working backup plan will allow you to return your data in the event of any failure or accident without the cost and complexity.\r\n<span style=\"font-weight: bold;\">Copying information, creating mirrors</span>\r\nA less obvious option for using the backup scheme is to automatically create copies of data not for storage, but for use: cloning and mirroring databases, web sites, work projects, etc.\r\nThe backup scheme does not define what, where and why to copy - use backup as a cloning tool.\r\n<span style=\"font-weight: bold;\">Test, training and debugging projects</span>\r\nA special case of data cloning is the creation of a copy of working information in order to debug, improve or study its processing system. You can create a copy of your website or database using the backup instructions to make and debug any changes.\r\nThe need for backing up training and debugging versions of information is all the more high because the changes you make often lead to data loss.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Backup_Administration.png","alias":"backup-administration"},"699":{"id":699,"title":"SAP Administration","description":" SAP Basis is the technical foundation that enables SAP applications to function. It consists of middleware programs and tools that support the interoperability and portability of SAP applications across systems and databases.\r\nSAP Basis is essentially the system administration platform for SAP environments from SAP R/3 through SAP S/4HANA. Its purpose is to make sure that all SAP systems in the environment run smoothly and consistently. Tasks SAP Basis handles include:\r\n<ul><li>making sure that all users have the proper access rights and can use the functions they need quickly;</li><li>installing and configuring all SAP systems and applications;</li><li>backing up and restoring data;</li><li>tuning performance and troubleshooting problems;</li><li>managing batch jobs;</li><li>configuring SAP's transportation management system (TMS);</li><li>managing transports;</li><li>running and managing background jobs;</li><li>installing and configuring printers and other devices;</li><li>setting up operation modes.</li></ul>","materialsDescription":" <span style=\"font-weight: bold;\">The differences between SAP Basis and SAP ABAP</span>\r\nWhile SAP Basis is SAP's version of system administration, SAP ABAP (Advanced Business Application Programming) is one of the two primary programming languages that are used to develop SAP applications (the other is Java). ABAP programs run on an SAP NetWeaver ABAP application server.\r\nIn many organizations, the line between SAP Basis administrators and ABAP developers is blurry. Some Basis administrators know ABAP and it's common for ABAP developers to know Basis. However, in most SAP organizations the competency areas of Basis and ABAP remain separate.\r\n<span style=\"font-weight: bold;\">SAP Basis jobs</span>\r\nA number of specific jobs for SAP Basis professionals are available, with titles that include SAP Basis Administrator, SAP Basis Consultant, SAP Basis application support specialist, SAP Basis architect, and SAP HANA Basis, consultant. An organization that uses SAP products may have its own titles and responsibilities for SAP Basis jobs.\r\nSAP Basis administrators are generally responsible for managing an SAP environment on a day-to-day basis. Their responsibilities typically include configuring, monitoring, tuning and troubleshooting the environment, as well as scheduling and running the TMS.\r\nSAP Basis consultants generally provide technical support and high-level leadership for SAP systems. This typically includes establishing standards and requirements, evaluating and directing enhancements or upgrades, implementing processes for performance monitoring, and system configuration, design, and implementation.\r\nSAP offers technical certifications for various levels of SAP Basis administration. These create benchmarks that allow Basis professionals to demonstrate expertise in various tasks or functional areas. SAP certification classes or courseware are available from SAP and other vendors, and certifications are usually achieved after passing an exam. Although SAP Basis certifications can be helpful in advancing careers for Basis professionals, they are not always mandatory for finding Basis jobs.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_SAP_Administration.png","alias":"sap-administration"},"718":{"id":718,"title":"IT Consulting","description":" In management, information technology consulting (also called IT consulting, computer consultancy, business and technology services, computing consultancy, technology consulting, and IT advisory) as a field of activity focuses on advising organizations on how best to use information technology (IT) in achieving their business objectives.\r\nThe IT consulting industry can be viewed as a Four-tier system:\r\n<ul><li>Professional services firms which maintain large professional workforces and command high bill rates.</li><li>Staffing firms, which place technologists with businesses on a temporary basis, typically in response to employee absences, temporary skill shortages and technical projects.</li><li>Independent consultants, who are self-employed or who function as employees of staffing firms (for US tax purposes, employed on Form W-2), or as independent contractors in their own right (for US tax purposes, on "1099").</li><li>Information Technology security consultants</li></ul>\r\nThere are different reasons why consultants are called in:\r\n<ul><li>To gain external, objective advice and recommendations</li><li>To gain access to the consultants' specialized expertise</li><li>Temporary help during a one-time project where the hiring of a permanent employee(s) is not required or necessary</li><li>To outsource all or part of the IT services from a specific company.</li></ul>\r\nThere is a relatively unclear line between management consulting and IT consulting. There are sometimes overlaps between the two fields, but IT consultants often have degrees in computer science, electronics, technology, or management information systems while management consultants often have degrees in accounting, economics, Industrial Engineering, finance, or a generalized MBA (Masters in Business Administration).\r\nAccording to the Institute for Partner Education & Development, IT consultants' revenues come predominantly from design and planning based consulting with a mixture of IT and business consulting. This is different from a systems integrator in that you do not normally take title to product. Their value comes from their ability to integrate and support technologies as well as determining product and brands. ","materialsDescription":"<span style=\"font-weight: bold; \">Who is an information technology (IT) consultant?</span>\r\nAn information technology consultant is a third-party service provider who is qualified to advise clients on the best use of IT to meet specific business requirements. IT consultants may work with a professional IT consultancy firm or as independent contractors. They may conduct a business needs assessment and develop an information systems solution that meets the organization's objectives.\r\nSome information technology consultants emphasize technical issues while others help organizations use IT to manage business processes. Still others specialize in a specific IT area such as information security.\r\nIT consultants need a deep knowledge of both business and information technology. A bachelor's degree in management information systems, computer science, or information science is the typical path into a technical consultancy career. IT certifications supplement this foundation with specialized technical training. Information technology degree and certification programs are available online to accommodate working IT professionals.\r\n<span style=\"font-weight: bold; \">What are the prerequisites and major obstacles?</span>\r\nOnce a business owner defined the needs to take a business to the next level, a decision maker will define a scope, cost and a time-frame of the project. The role of the IT consultancy company is to support and nurture the company from the very beginning of the project until the end, and deliver the project not only in the scope, time and cost but also with complete customer satisfaction.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Project scoping and planning</span></span>\r\nThe usual problem is that a business owner doesn't know the detail of what the project is going to deliver until it starts the process. In many cases, the incremental effort in some projects can lead to significant financial loss.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Business process and system design</span></span>\r\nThe scope of a project is linked intimately to the proposed business processes and systems that the project is going to deliver. Regardless of whether the project is to launch a new product range or discontinue unprofitable parts of the business, the change will have some impact on business processes and systems. The documentation of your business processes and system requirements are as fundamental to project scoping as an architects plans would be to the costing and scoping of the construction of a building.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Project management support</span></span>\r\nThe most successful business projects are always those that are driven by an employee who has the authority, vision and influence to drive the required changes in a business. It is highly unlikely that a business owner (decision maker or similar) will realize the changes unless one has one of these people in the employment. However, the project leadership role typically requires significant experience and skills which are not usually found within a company focused on day-to-day operations. Due to this requirement within more significant business change projects/programs, outside expertise is often sought from firms which can bring this specific skill set to the company.\r\n<span style=\"font-weight: bold;\">What are the skills of IT-consulting?</span>\r\nAn IT consultant needs to possess the following skills:\r\n<ul><li>Advisory skills</li><li>Technical skills</li><li>Business skills</li><li>Communication skills</li><li>Management skills</li><li>Advisory language skills</li><li>Business and management language skills</li><li>Technical language skills</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_IT_Consulting.png","alias":"it-consulting"},"721":{"id":721,"title":"Business Consulting","description":"Business consulting is a type of services related to the preparation of recommendations for the achievement of set goals in economic activity.\r\nBusiness consulting may include not only consulting support but also the implementation of management decisions. A business consultant is included in the search for the best, optimal ways of getting out of a situation that requires outsourcing support.\r\nExperts in the field of business consulting are attracted if companies need external evaluation for further development or to develop a short-term and long-term strategy.\r\nThe result of the work is consulting on business consulting, as well as the development and forecasting of the company-employer.\r\nAs part of business consulting, the following services are usually provided:\r\n<ul><li>drawing up business plans;</li><li>вrawing up marketing plans;</li><li>marketing consulting.</li></ul>","materialsDescription":" Business consultants almost never use the word "problem"; instead, they talk about opportunities to enhance value. Ask any consultant what they do, and they'll likely say "I'm in the solutions business." Despite criticism that's sometimes leveled at business consultants, they truly can add value to your middle market company, but you need to know when and why to use them. There is a huge range of business issues that consultants can provide solutions for, and different types of consultants bring different ideas to the table.\r\nConsultants come in many forms. Most businesses are familiar with the "big four" audit firms: PricewaterhouseCoopers, Deloitte, Ernst & Young, and KPMG. These big-name firms are most likely out of a midmarket business's price range, which will lead midsized companies to work with smaller boutique firms and even individual experts for hire.\r\n<span style=\"font-weight: bold; \">Types of Consultants:</span>\r\nBusiness consultants can generally add value in five major areas of your middle market business:\r\n<ol><li><span style=\"font-weight: bold; \">Management and strategy.</span> Qualified consultants should have a deep understanding of your particular market and bring the best practices from your industry (or even other industries) to your company. If you're looking to expand your markets geographically, extend your product portfolio, reorganize your middle market company to promote efficiency and cost-effectiveness, buy out a smaller competitor, or increase your overall capabilities, then hiring an experienced management/strategy consultant can make perfect sense. Firms such as McKinsey & Company are famous for helping clients develop and execute better strategies.</li><li><span style=\"font-weight: bold; \">Operations.</span> Want to improve the quality and efficiency of your production processes? An operations consultant such as Accenture can help you create and implement a new way of doing just that. Some consultants specialize in business process re-engineering, meaning that they come in and map out your existing processes, analyze opportunities for reducing the number of steps in that process while maintaining quality, and re-engineer your processes in a way that reduces steps and costs. Other consultants are experts in quality control systems and can help you make changes that will reduce defects.</li><li><span style=\"font-weight: bold; \">IT.</span> This is a fast-growing area for consulting, as the demands of new technology are impacting middle market companies every day. Whether you need to develop a new system or integrate your old systems so that they work together, an IT consultant can help. IT consultants such as IBM will enhance your capabilities and also make your IT more flexible in meeting the dynamic needs of internal and external customers.</li><li><span style=\"font-weight: bold; \">HR.</span> Need to improve the overall satisfaction of your employees, recruit top talent, and retain your top performers? HR consultants such as Hay Group specialize in developing compensation strategies that align with your overall business goals, training, and developing your people in areas such as business communication and leadership. They can help you improve performance-related feedback and evaluation to your team, making your employees work smarter.</li><li><span style=\"font-weight: bold; \">Marketing.</span> Whether you need a new logo for your company, a new market position for one of your brands, or a new social media strategy to interact with your customers, marketing consultants can help. Consultants such as The Boston Consulting Group can offer you a creative spark when your own people have run out of ideas, letting you see what other companies have done to attract more customers.</li></ol>\r\n<span style=\"font-weight: bold;\">Reasons for Hiring a Consultant</span>\r\nNow that you know the major types of consultants, why would you need to hire one? Here are five common reasons:\r\n<ol><li><span style=\"font-weight: bold; \">Rent a brain.</span> You don't have the human resources you need because some internal person has quit or your head count has been slashed, so hiring a consultant for a project or on a temporary basis can fill the gap until a full-time internal person is found. You won't have to make a consultant a full-time employee, so breaking off the relationship is relatively easy and cost-effective.</li><li><span style=\"font-weight: bold; \">Manage change (and take the heat).</span> Consultants are experts at fostering change in organizations, so if your midsized company is rife with internal squabbling concerning imminent changes, bringing in a consultant can break the logjam. Consultants know that they're often brought in for political cover and will shoulder blame for unpopular changes such as reducing head count and other cost-cutting measures.</li><li><span style=\"font-weight: bold; \">Teach and implement best practices.</span> Consultants are often the leading experts in the fields they work in. They not only have academic and theoretical expertise, but they've also worked directly with leading companies to implement change. If you want best practices in areas such as IT and management, then consultants are the best source available. Why try to invent a best practice when consultants have already implemented some with multiple clients?</li><li><span style=\"font-weight: bold; \">Infuse creativity.</span> Consultants have a fresh perspective on your business, so having an outsider come in and offer ideas can be tremendously helpful. Sometimes your in-house people are too close to your company and don't have the perspective to examine the bigger picture within your market, but consultants can share valuable insights that boost your internal creative thinking.</li><li><span style=\"font-weight: bold; \">Deliver training.</span> You can hire a consultant to share knowledge about almost anything. Consultants are born trainers, so they're a natural choice to do a training course or day-long presentation for your company in almost any area. A good consultant blends theory and practice, and this can deliver high value to your midmarket company.</li></ol>\r\nConsultants can obviously be expensive, and you need to carefully weigh the costs and benefits. Only you know the particular needs of your midsized firm, but chances are that a consultant can help turn those needs into highly beneficial solutions.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Business_Consulting.png","alias":"business-consulting"},"725":{"id":725,"title":"IT Audit","description":"An information technology audit, or information systems audit, is an examination of the management controls within an Information technology (IT) infrastructure. The evaluation of obtained evidence determines if the information systems are safeguarding assets, maintaining data integrity, and operating effectively to achieve the organization's goals or objectives. These reviews may be performed in conjunction with a financial statement audit, internal audit, or other form of attestation engagement.\r\nIT audits are also known as automated data processing audits (ADP audits) and computer audits. They were formerly called electronic data processing audits (EDP audits).\r\nAn IT audit is different from a financial statement audit. While a financial audit's purpose is to evaluate whether the financial statements present fairly, in all material respects, an entity's financial position, results of operations, and cash flows in conformity to standard accounting practices, the purposes of an IT audit is to evaluate the system's internal control design and effectiveness. This includes, but is not limited to, efficiency and security protocols, development processes, and IT governance or oversight. Installing controls are necessary but not sufficient to provide adequate security. People responsible for security must consider if the controls are installed as intended, if they are effective, or if any breach in security has occurred and if so, what actions can be done to prevent future breaches. These inquiries must be answered by independent and unbiased observers. These observers are performing the task of information systems auditing. In an Information Systems (IS) environment, an audit is an examination of information systems, their inputs, outputs, and processing.\r\nThe primary functions of an IT audit are to evaluate the systems that are in place to guard an organization's information. Specifically, information technology audits are used to evaluate the organization's ability to protect its information assets and to properly dispense information to authorized parties. The IT audit aims to evaluate the following:\r\nWill the organization's computer systems be available for the business at all times when required? (known as availability) Will the information in the systems be disclosed only to authorized users? (known as security and confidentiality) Will the information provided by the system always be accurate, reliable, and timely? (measures the integrity) In this way, the audit hopes to assess the risk to the company's valuable asset (its information) and establish methods of minimizing those risks. ","materialsDescription":" <span style=\"font-weight: bold;\">What Is an IT Audit?</span>\r\nIn the typical software audit, your system administrators will be asked to show that software is not illegally loaded onto machines it shouldn’t be on, that the number of licenses matches up with the number of users or, if you purchased a bulk license, that you don’t exceed the bounds of that license. One thing you definitely don’t want to happen is for an auditor to find that an employee has brought a home version of a software package and installed it on his or her work computer.\r\n<span style=\"font-weight: bold;\">What Do Auditors Want?</span>\r\nIn short, software auditors want to know that companies are following the rules with regard to software licenses. How much slack they’ll give you if they find a minor violation depends on several factors. If you can show your company makes a good-faith effort to stay on top of all software license requirements, it could act in your favor.\r\n<span style=\"font-weight: bold;\">What Should We Do to Prepare for an IT Audit?</span>\r\nIf you have a strong IT asset management program in place, preparation for an audit is far less stressful. When you can easily create reports showing the number of copies installed, the number of licenses, license expiration dates, and hardware where the software is installed, you can create those reports in advance and look for potential problems. If you notice discrepancies, you can take steps to correct them before the auditors arrive.\r\n<span style=\"font-weight: bold;\">How Can We Do a Self-Audit Beforehand?</span>\r\nPerforming periodic self-audits is not just busywork, but could potentially save your company a lot of money and embarrassment. The three main steps in a self-audit are: reading the vendor’s contract, gathering purchase information, and getting an accurate count of how many licenses are deployed:\r\n<ul><li><span style=\"font-weight: bold;\">Read the Contract</span> – Understand license types and models, including maintenance requirements. Learn if there are limitations on where the software can or cannot be used. For example, are you allowed to use it on laptops that travel outside the US?</li><li><span style=\"font-weight: bold;\">Gather Purchase Information</span> – Know where to get your hands on purchase data. If you purchased from a reseller, make sure that the reseller passed on your purchase information to the vendor.</li><li><span style=\"font-weight: bold;\">Get an Accurate License Deployment Count</span> – If your company has a solid IT asset management program, this shouldn’t be a challenge. Otherwise, you’ll need to manually locate receipts and serial numbers and match them up to the machines where the software is deployed.</li></ul>\r\nThe self-audit is much easier to do when you don’t have an actual audit staring you in the face.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_IT_Audit.png","alias":"it-audit"},"727":{"id":727,"title":"IT Security Audit","description":" A <span style=\"font-weight: bold; \">computer security audit</span> is a manual or systematic measurable technical assessment of a system or application. Manual assessments include interviewing staff, performing security vulnerability scans, reviewing application and operating system access controls, and analyzing physical access to the systems. Automated assessments, or CAAT's, include system generated audit reports or using software to monitor and report changes to files and settings on a system. Systems can include personal computers, servers, mainframes, network routers, switches.\r\nAt its root, an <span style=\"font-weight: bold; \">IT security audit</span> includes two different assessments. The manual assessment occurs when an internal or external IT security audit companies interview employees, reviews access controls, analyzes physical access to hardware, and performs vulnerability scans. \r\nAudit, performed by IT security audit services or IT security audit software, analyzes individual technical infrastructure components at a detailed level, ensuring that each is functioning in a manner that reinforces appropriate information security. The stakes are made higher with a number of regulatory compliance requirements mandating that IT audits be included in organizational due diligence efforts. These reviews should occur, at a minimum, annually. Some organizations, however, prefer to do them more frequently.\r\nOrganizations should also review system-generated reports. Automated assessments not only incorporate that data, but also respond to software monitoring reports and changes to server and file settings.\r\nSecurity audits, vulnerability assessments, and penetration testing are the <span style=\"font-weight: bold; \">three main types of security diagnostics. </span>Each of the three takes a different approach and may be best suited for a particular purpose. \r\n<span style=\"font-weight: bold; \">Security audits</span> measure an information system's performance against a list of criteria. \r\nA <span style=\"font-weight: bold; \">vulnerability assessment,</span> on the other hand, involves a comprehensive study of an entire information system, seeking potential security weaknesses. \r\n<span style=\"font-weight: bold; \">Penetration testing</span> is a covert operation, in which a security expert tries a number of attacks to ascertain whether or not a system could withstand the same types of attacks from a malicious hacker. In penetration testing, the feigned attack can include anything a real attacker might try, such as social engineering. Each of the approaches has inherent strengths, and using two or more of them in conjunction may be the most effective approach of all.\r\n\r\n\r\n","materialsDescription":"<h1 class=\"align-center\"> <span style=\"font-weight: bold;\">What is a security audit?</span></h1>\r\nA Security Audit is a process or event where the IT security policy or standards are used as a basis to determine the overall state of existing protection and to verify whether existing protection is being performed properly. It aims to determine whether the current environment is securely protected in accordance with the defined IT security policy.<br />Before performing a security assessment or audit, the organization should define the scope of the security audit, and the budget and duration allowed for the assessment/audit.\r\n<h1 class=\"align-center\"><span style=\"font-weight: bold;\">How often should a security audit be performed?</span></h1>\r\nA security audit only provides a snapshot of the vulnerabilities in a system at a particular point in time. As technology and the business environment changes, periodic and ongoing reviews will inevitably be required. Depending on the criticality of the business, a security audit might be conducted yearly, or every two years.\r\n<h1 class=\"align-center\"><span style=\"font-weight: bold;\">Who should perform a security audit?</span></h1>\r\nA security audit is a complex task requiring skilled and experienced personnel; it must be planned carefully. To perform the audit an independent and trusted third party is recommended. This third party can be another group of in-house staff or an external audit team, dependent on the skills of the internal staff and the criticality/sensitivity of the information being audited.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_IT_Security_Audit.png","alias":"it-security-audit"},"806":{"id":806,"title":"Functional testing tools","description":"Functional testing is the stage of product development when software is tested for compliance. Functional testing can be manual or automatic. Functional testing software usually provides some input so that you can evaluate the output to see how the software works.\r\nFunctional testing is one of the types of testing aimed at checking the compliance of the functional requirements of the software with its actual characteristics. The main objective of functional testing is to confirm that the developed software product has all the functionality required by the customer.\r\nDepending on the purpose, functional testing may be conducted:\r\nBased on the functional requirements specified in the requirements specification. At the same time, test cases are created for testing (test cases), the compilation of which takes into account the priority of software functions that must be covered by tests. Thus, we can make sure that all the functions of the developed product work correctly with different types of input data, their combinations, quantities, etc.\r\nBased on the business processes that the application must provide. In this case, we are not interested in the performance of individual software functions, as we are the correctness of the operations performed, in terms of system usage scenarios. Thus, testing in this case will be based on options for using the system (use cases).\r\nThe aspects described above are implemented using the following types and levels of testing:\r\n<ul><li>Modular (component).</li><li>Integration.</li><li>Systemic.</li><li>Regression.</li><li>Acceptance.</li></ul>\r\nAss well, there are many other types that provide complete and comprehensive testing of functional requirements for software.\r\nChoosing the right functional testing tool for projects is key. Highly qualified testing professionals constantly update the set of tools used, as well as develop their own.","materialsDescription":"<span style=\"font-weight: bold;\">What is functional testing?</span>\r\nFunctional testing is a segment of security testing. The security mechanisms of the system are tested, under operational conditions, for correct operation.\r\nFunctional testing verifies that the end user gets what they want from the application. It involves testing to ensure that the tasks or the steps required for complete functionality work well. Functional testing involves testing of functional requirements as per the specification.\r\n<span style=\"font-weight: bold;\">What are the differences between system and functional testing?</span>\r\nSystem testing has classifications like functional and non-functional testing. Hence the functional testing is a part of system testing.\r\nSystem testing allows the testers to test the typical end product. Every single module, interface and every minute detail are needed to be tested in system testing.\r\nFunctional testing is aimed at testing the functionalities of the product being tested. These functionalities include volume, stress, load, security, scalability, performance, etc. Hardware and software are not concerned with functional testing.\r\nFunctional testing involves testing of functional requirements as per the specification. On the other hand, system testing involves testing the system as a whole. This may involve testing of proper installation and uninstalling of the application. System testing tests for all internal and external components that make the system.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_functional_testing_tools.png","alias":"functional-testing-tools"},"808":{"id":808,"title":"Bug tracking systems","description":" A bug tracking system or defect tracking system is a software application that keeps track of reported software bugs in software development projects. It may be regarded as a type of issue tracking system.\r\nMany bug tracking systems, such as those used by most open-source software projects, allow end-users to enter bug reports directly. Other systems are used only internally in a company or organization doing software development. Typically bug tracking systems are integrated with other project management software.\r\nA bug tracking system is usually a necessary component of a good software development infrastructure, and consistent use of a bug or issue tracking system is considered one of the "hallmarks of a good software team".\r\nA major component of a bug tracking system is a database that records facts about known bugs. Facts may include the time a bug was reported, its severity, the erroneous program behavior, and details on how to reproduce the bug; as well as the identity of the person who reported it and any programmers who may be working on fixing it.\r\nTypical bug tracking systems support the concept of the life cycle for a bug which is tracked through the status assigned to the bug. A bug tracking system should allow administrators to configure permissions based on status, move the bug to another status, or delete the bug. The system should also allow administrators to configure the bug statuses and to what extent a bug in a particular status can be moved. Some systems will e-mail interested parties, such as the submitter and assigned programmers, when new records are added or the status changes.\r\nThe main benefit of a bug-tracking system is to provide a clear centralized overview of development requests (including both bugs and improvements, the boundary is often fuzzy), and their state. The prioritized list of pending items (often called backlog) provides valuable input when defining the product road map, or maybe just "the next release".\r\nIn a corporate environment, a bug-tracking system may be used to generate reports on the productivity of programmers at fixing bugs. However, this may sometimes yield inaccurate results because different bugs may have different levels of severity and complexity. The severity of a bug may not be directly related to the complexity of fixing the bug. There may be different opinions among the managers and architects.\r\nA local bug tracker (LBT) is usually a computer program used by a team of application support professionals (often a help desk) to keep track of issues communicated to software developers. Using an LBT allows support professionals to track bugs in their "own language" and not the "language of the developers." In addition, an LBT allows a team of support professionals to track specific information about users who have called to complain — this information may not always be needed in the actual development queue. Thus, there are two tracking systems when an LBT is in place.","materialsDescription":" <span style=\"font-weight: bold;\">What does Bug Tracking mean?</span>\r\nBug tracking is a process used by quality assurance personnel and programmers to keep track of software problems and resolutions. A bug tracking system is normally put in place to store information about reported bugs. This type of issue-tracking system provides a clear, centralized overview of development requests and their corresponding states.\r\nBug tracking enables users to enter bug reports directly into a system that logs and tracks them. Diligent use of a bug tracking system provides a record of a software team's effectiveness. Local bug trackers are often used by teams of application support professionals to keep track of issues communicated to software developers.\r\nBug tracking systems include a database, which keeps track of facts pertaining to each bug. These facts might include the time a bug was reported, its severity, incorrect program behavior, details on how to recreate the bug,who reported the bug and what the programmers did to fix it. Bug tracking systems are associated with a bug's life cycle, which is tracked through the status assigned to each bug. This allows administrators to set permissions based on a bug's status, move bugs to other statuses or delete them.<br /><br />","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon-bug-tracking-systems.png","alias":"bug-tracking-systems"},"842":{"id":842,"title":"Chatbot Development","description":"A chatbot is a piece of software that conducts a conversation via auditory or textual methods. Such programs are often designed to convincingly simulate how a human would behave as a conversational partner, although as of 2019, they are far short of being able to pass the Turing test. Chatbots are typically used in dialog systems for various practical purposes including customer service or information acquisition. Some chatbots use sophisticated natural language processing systems, but many simpler ones scan for keywords within the input, then pull a reply with the most matching keywords, or the most similar wording pattern, from a database.\r\nThe term "ChatterBot" was originally coined by Michael Mauldin (creator of the first Verbot, Julia) in 1994 to describe these conversational programs. Today, most chatbots are accessed via virtual assistants such as Google Assistant and Amazon Alexa, via messaging apps such as Facebook Messenger or WeChat, or via individual organizations' apps and websites. Chatbots can be classified into usage categories such as conversational commerce (e-commerce via chat), analytics, communication, customer support, design, developer tools, education, entertainment, finance, food, games, health, HR, marketing, news, personal, productivity, shopping, social, sports, travel and utilities.\r\nBeyond chatbots, Conversational AI refers to the use of messaging apps, speech-based assistants and chatbots to automate communication and create personalized customer experiences at scale.\r\nThe process of building, testing and deploying chatbots can be done on cloud-based chatbot development platforms offered by cloud Platform as a Service (PaaS) providers such as Oracle Cloud Platform SnatchBot and IBM Watson. These cloud platforms provide Natural Language Processing, Artificial Intelligence and Mobile Backend as a Service for chatbot development.\r\nSome Companies like Microsoft Azure and AARC are currently providing their Bot Engines through which chatbot Platforms or Software can be developed.","materialsDescription":"New tools designed to simplify the interaction between humans and computers have hit the market: Chatbots or Virtual Assistants. In banking, chatbots and virtual assistants are some of the industry’s newest tools designed to simplify the interaction between humans and computers.\r\n<span style=\"font-weight: bold;\">What is a chatbot?</span>\r\nA chatbot is artificial intelligence (AI) software that can simulate a conversation (or a chat) with a user in natural language through messaging applications, websites, mobile apps or through the telephone.\r\n<span style=\"font-weight: bold;\">Why are chatbots important?</span>\r\nA chatbot is often described as one of the most advanced and promising expressions of interaction between humans and machines. However, from a technological point of view, a chatbot only represents the natural evolution of a Question-Answering system leveraging Natural Language Processing (NLP). Formulating responses to questions in natural language is one of the most typical examples of Natural Language Processing applied in various enterprises’ end-use applications.\r\n<span style=\"font-weight: bold;\">How does a chatbot work?</span>\r\nThere are two different tasks at the core of a chatbot:\r\n<ol><li>user request analysis</li><li>returning the response</li></ol>\r\nUser request analysis: this is the first task that a chatbot performs. It analyzes the user’s request to identify the user intent and to extract relevant entities.\r\nThe ability to identify the user’s intent and extract data and relevant entities contained in the user’s request is the first condition and the most relevant step at the core of a chatbot: If you are not able to correctly understand the user’s request, you won’t be able to provide the correct answer.\r\nReturning the response: once the user’s intent has been identified, the chatbot must provide the most appropriate response for the user’s request. The answer may be:\r\n<ul><li>a generic and predefined text;</li><li>a text retrieved from a knowledge base that contains different answers;</li><li>a contextualized piece of information based on data the user has provided;</li><li>data stored in enterprise systems;</li><li>the result of an action that the chatbot performed by interacting with one or more backend application;</li><li>a disambiguating question that helps the chatbot to correctly understand the user’s request.</li></ul>\r\n<span style=\"font-weight: bold;\">In what is the benefit of chatbots?</span>\r\nChatbot applications streamline interactions between people and services, enhancing the customer experience. At the same time, they offer companies new opportunities to improve the customer's engagement process and operational efficiency by reducing the typical cost of customer service.\r\nTo be successful, a chatbot solution should be able to effectively perform both of these tasks. Human support plays a key role here: Regardless of the kind of approach and the platform, human intervention is crucial in configuring, training and optimizing the chatbot system.\r\n<span style=\"font-weight: bold;\">Which chatbot application is right for you?</span>\r\nThere are different approaches and tools that you can use to develop a chatbot. Depending on the use case you want to address, some chatbot technologies are more appropriate than others. In order to achieve the desired results, the combination of different AI forms such as natural language processing, machine learning, and semantic understanding may be the best option.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/icon_Chatbot_Development.png","alias":"chatbot-development"},"862":{"id":862,"title":"Time Tracking Software","description":"Any business owner knows that they have to keep track of their employees. Their hours must be documented for payroll and, naturally, you would like to know where they are.\r\nTime-tracking software is a category of computer software that allows its employees to record time spent on tasks or projects. The software is used in many industries, including those who employ freelancers and hourly workers. It is also used by professionals who bill their customers by the hour. These include lawyers, freelancers and accountants. The tool could be used as a stand-alone or be integrated with other applications like project management software, customer support and accounting to name just a few. Time tracking software is the electronic version of the traditional paper timesheet. Tracking time can increase productivity, as businesses can track time spent on tasks and get a better understanding of what practices causes their employees to waste time. Time tracking software enhances accountability by documenting the time it takes to finish given tasks. The data is collected in a database and could be used for data analysis by the human resources department. Features offered by time-tracking software include:\r\n<ul><li>Automatic generation of invoices to the professional's clients or customers based on the time spent.</li><li>Tracking of cost overruns for fixed cost projects.</li><li>Workforce management packages that track attendance, employee absences, human resource issues, payroll, talent management and labor analytics.</li></ul>","materialsDescription":"<span style=\"font-weight: bold;\">What are the types of time-tracking software?</span>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Timesheet.</span></span> Allows users to manually enter time spent on tasks.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Time-tracking/recording.</span></span> Automatically records activities performed on a computer.\r\nTime-tracking software can be:\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Standalone.</span></span> Used only to record timesheets and generate reports.\r\n<span style=\"font-style: italic;\">Integrated as part of:</span>\r\n<ul><li>Accounting systems, e.g. timesheet data fed directly to company accounts.</li><li>Billing systems, e.g. to generate invoices, especially for contractors, lawyers, etc.</li><li>Project management systems, e.g. timesheet data used by project management software to visualize the effort being spent on projects or tasks.</li><li>Payroll systems, e.g. to pay employees based on time worked.</li><li>Resource scheduling, e.g. bi-directional integration allows schedulers to schedule staff to tasks, which, once complete, can be confirmed and converted to timesheets.</li></ul>\r\n<span style=\"font-weight: bold;\">What is timesheet software?</span>\r\nTimesheet software is software used to maintain timesheets. It was popularized when computers were first introduced to the office environment with the goal of automating heavy paperwork needs for big organizations. Timesheet software allows documenting time spent performing different tasks.\r\nWhen used within companies, employees enter the time they've spent on tasks into electronic timesheets. These timesheets can then be approved or rejected by supervisors or project managers.\r\nSince 2006, timesheet software has been moving to mobile platforms (smartphones, tablets, smartwatches, etc.) enabling better tracking of employees whose work involves multiple locations.\r\n<span style=\"font-weight: bold;\">What is a time-tracking/recording software?</span>\r\nTime-tracking/recording software automates the time-tracking process by recording the activities performed on a computer and the time spent on each of them. This software is intended to be an improvement over timesheet software. Its goal is to offer a general picture of computer usage. Automatic time-tracking/recording software records and shows the usage of applications, documents, games, websites, etc.\r\nWhen used within companies, this software allows monitoring the productivity of employees by recording the tasks they perform on their computers. It can be used to help fill out timesheets.\r\nWhen used by freelancers, this software helps to create reports for clients (e.g. timesheets and invoices) or to prove work was done.\r\n<span style=\"font-weight: bold;\">What are the time-tracking methods?</span>\r\nThere are several ways companies track employee time using time tracking software.\r\n<span style=\"font-style: italic;\">Durational.</span> Employees enter the duration of the task but not the times when it was performed.<br /><span style=\"font-style: italic;\">Chronological.</span> Employees enter start and end times for the task.\r\n<span style=\"font-style: italic;\">Automatic.</span> The system automatically calculates time spent on tasks or whole projects, using a connected device or a personal computer and user input using start and stop buttons. Users can retrieve logged tasks and view the duration or the start and stop times.\r\n<span style=\"font-style: italic;\">Exception-based.</span> The system automatically records standard working hours except for approved time off or LOA.\r\n<span style=\"font-style: italic;\">Clock-in clock-out.</span> Employees manually record arrival and departure times.\r\n<span style=\"font-style: italic;\">Monitoring.</span> The system records the active and idle time of employees. It might also record screen captures.<br /><span style=\"font-style: italic;\">Location-based.</span> The system determines the working status of employees based on their location.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/time.png","alias":"time-tracking-software"},"864":{"id":864,"title":"Virtual Event Platforms","description":" Virtual events are on the rise. As technology progresses, it has made it possible for companies to host amazing online events - ones that even rival in-person versions. This has led to many benefits for both event planners and attendees alike.\r\nA virtual event, also known as an online event, is an interactive gathering that happens on the internet. Unlike in-person events, virtual ones aren't restricted to a single location. A remote attendee can join and participate from anywhere in the world, given he or she has access to the web.\r\nSome events are completely virtual and every guest attends sessions from the comfort of their own home, favorite coffee shop, or wherever they might be. Others have both in-person and virtual components. Some attendees visit the actual event location and others stream the festivities from their computer.\r\nThere are many reasons why virtual events are valuable. First off, virtual events allow the individuals or companies hosting them to reach a wider audience. Were you to host your event in New York City, for example, not every person in your audience would be able to attend due to the cost of travel. With a virtual event, travel isn't an issue.\r\nIn general, virtual events are also much cheaper to put on. Event planners don't have to book a giant venue or hire a bunch of temporary staff. These cost savings can then be passed on to each virtual attendee in the form of lower ticket prices.\r\nLastly, virtual events are extremely measurable. Companies can easily learn which sessions were the most popular, how many people attended, where those attendees live, how they paid for their tickets, and much more. Just about every attendee action can be easily tracked and analyzed. This information can then be used to improve event strategy.","materialsDescription":" <span style=\"font-weight: bold; \">What is a virtual event?</span>\r\nIn an industry with lots of jargon and acronyms flying about, it’s easy to become bamboozled by terminology. However, in the case of virtual events, there’s little room for ambiguity – they are as they sound – events that take place completely online. Supported by specialist AV technology, virtual events negate the need for a physical location and work to bring people together virtually from across the world. Whilst a virtual event can’t replace the power and value of in-person interactions, they’re an effective tool that can be an engaging and immersive alternative to delivering business content and information.\r\n<span style=\"font-weight: bold; \">How many people can attend a virtual event?</span>\r\nVirtual events have the capacity to facilitate large audience numbers: from hundreds of thousands to thousands, hundreds or smaller groups. Understanding, from the outset, what you want to achieve from your event and the complexity of the program, will provide a good guide to how many attendees should be invited.\r\n<span style=\"font-weight: bold; \">How do attendees gain access to a virtual event?</span>\r\nIn theory, this is an easy one to answer: attendees will receive an invite with access details, which will allow them to enter the virtual event on the date and time outlined. However, before this happens, there are some important things for you to consider first, including:\r\n<ul><li>Are you charging an entry fee for the event?</li><li>Will the event be live, on-demand or a combination of the two?</li><li>How will you market your event, so your audience knows it’s taking place and want to be part of it?</li><li>Is your audience tech-savvy? Might they need a pre-event virtual guide/tour, so they are familiar with how to join and the features of a virtual event set up?</li></ul>\r\nHaving questions like these answered will define the platform required, help maximize attendance and optimize your delegates overall experience of the virtual event offering.\r\n<span style=\"font-weight: bold; \">What are the main benefits of a virtual event?</span>\r\n<ul><li><span style=\"font-weight: bold; \">Scope:</span> Whilst not all events will suit a virtual treatment, many programs can be adapted into a digital format. It really comes down to your objectives and whether or not these can be achieved through holding an online event.</li><li><span style=\"font-weight: bold; \">Accessibility:</span> Expand the reach of your brand without the need for travel. Not only can virtual events connect you with a global audience in real-time, but with event recording, event content can be made available on-demand; providing more opportunities for people to consume your content at a time that suits their schedule best. What’s more, all that attendees and speakers need to attend/talk is a computer, laptop, or mobile device and a good, reliable internet connection.</li><li><span style=\"font-weight: bold; \">Engagement:</span> In-person events are unrivaled in their ability to engage and facilitate real human-to-human connections through creative interactions. For this reason, you might be concerned that virtual events can’t engage audiences. Whilst there’s no escaping the fact that there are limitations vs face-to-face meetings, there are lots of potentials to mix rich content with live polling, Q&As and whiteboards to keep engagement levels high throughout sessions. Social media can also be employed as a great engagement tool – use event hashtags, encourage attendees to post images of their highlights from the event, and get imaginative with other ways a sense of community can be created via social channels.</li><li><span style=\"font-weight: bold; \">Multiple or Single Content Experiences:</span> As with physical events, virtual events offer the opportunity to run multiple content streams concurrently; allowing different speakers to host sessions simultaneously and giving attendees the option to select sessions most relevant to them. If this isn’t required for your event, then a multiple single content experience may be a better fit.</li><li><span style=\"font-weight: bold; \">Networking:</span> While there’s no escaping the fact that in-person events are the most conducive way to network and make meaningful business connections, networking can still be factored into a virtual event program. Give attendees the chance to schedule one-on-one time or assemble into group breakouts, where they can speak to each other, your team, sponsors or speakers over the internet. A range of tools can be used to ensure attendees can leverage the best from their interactions.</li><li><span style=\"font-weight: bold; \">Insight:</span> The metrics and data insights that can be captured from virtual event platforms can help measure ROI and success against pre-defined KPIs. Information derived can be used to articulate if your event was successful and to influence future event decision making.</li></ul>\r\n<span style=\"font-weight: bold; \">Is there a potential to incorporate sponsorship?</span>\r\nYes. Virtual event spaces, presentations and other assets can be customised to reflect your branding and the branding of any sponsors you may partner with. This maximises brand exposure and maintains a sponsor revenue stream coming into your event.\r\n<span style=\"font-weight: bold;\">Can virtual events be used as part of a hybrid event strayegy?</span>\r\nAbsolutely. Incorporating virtual events with a holistic approach can be a good way to enhance your existing event strategy. Integrating virtual events into your wider events and meetings program will give you an additional tool to utilize alongside your live events; extending reach and engagement with your audience further.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/1999104__1_.png","alias":"virtual-event-platforms"},"872":{"id":872,"title":"Telemedicine","description":"Telehealth is the distribution of health-related services and information via electronic information and telecommunication technologies. It allows long-distance patient and clinician contact, care, advice, reminders, education, intervention, monitoring, and remote admissions. Telemedicine is sometimes used as a synonym, or is used in a more limited sense to describe remote clinical services, such as diagnosis and monitoring. When rural settings, lack of transport, a lack of mobility, decreased funding, or a lack of staff restrict access to care, telehealth may bridge the gap as well as provider distance-learning; meetings, supervision, and presentations between practitioners; online information and health data management and healthcare system integration.\r\nHealthcare systems, physician practices, and skilled nursing facilities are using telemedicine to provide care more efficiently. Technologies that comes integrated with telemedicine software like electronic medical records, AI diagnosis and medical streaming devices, can better assist providers in diagnosis and treatment. The latter allows providers to monitor patients in real-time and adjust treatment plans when necessary. Ultimately, this leads to better patient outcomes. \r\nBecause of telemedicine, patients who previously had limited access to health care services can now see a physician without leaving their home. Seniors who would prefer to age in place can now do so with the use of medical streaming devices. The spread of disease is reduced as individuals with contagious diseases don’t have to expose it to others in crowded waiting rooms. \r\nThanks to telemedicine, physicians have the wonderful opportunity to connect with clients wherever they are. Patients who once could not see a physician due to access to care issues, can now do so almost seamlessly. Threre are 3 main types of telemedicine: \r\n<ul> <li>Interactive medicine, also known as “live telemedicine”, allows patients and physicians to communicate in real-time while also maintaining HIPAA compliance. </li> <li>Store and Forward, which allows providers to share patient information with a practitioner in another location. </li> <li>Remote Patient Monitoring, where using patient portals, a physician can gather and share information with their patient. </li> </ul>\r\nAlthough telemedicine brings with it many benefits, there are some downsides to it as well. Providers, payers, and policymakers alike know that there are some gray areas that are difficult to keep up with. While the field will grow exponentially over the next decade, it will bring with it both practical and technological challenges. ","materialsDescription":"Telemedicine refers to the practice of caring for patients remotely when the provider and patient are not physically present with each other. Modern technology has enabled doctors to consult patients by using HIPAA compliant video-conferencing tools.\r\n<b>What is telemedicine?</b>\r\nA tool that makes healthcare more accessible, cost-effective, and that increases patient engagement – is telemedicine. Since making its debut in the late 1950’s, advances in telemedicine has contributed to seniors having the choice to age in place. In addition, the patients that reside in rural areas that previously had difficulties accessing a physician, can now reach them virtually. \r\n<b>What are the benefits of telemedicine? </b>\r\nHealthcare systems, physician practices, and skilled nursing facilities are using telemedicine to provide care more efficiently. Technologies that comes integrated with telemedicine software like electronic medical records, AI diagnosis and medical streaming devices, can better assist providers in diagnosis and treatment. The latter allows providers to monitor patients in real-time and adjust treatment plans when necessary. Ultimately, this leads to better patient outcomes. Because of telemedicine, patients who previously had limited access to health care services can now see a physician without leaving their home. Seniors who would prefer to age in place can now do so with the use of medical streaming devices. The spread of disease is reduced as individuals with contagious diseases don’t have to expose it to others in crowded waiting rooms. \r\n<b>What are the applications of telemedicine? </b>\r\nThanks to telemedicine, physicians have the wonderful opportunity to connect with clients wherever they are. Patients who once could not see a physician due to access to care issues, can now do so almost seamlessly. \r\n<b>What do you need to start telemedicine? </b>\r\nDeciding to start a telemedicine practice is a big decision and requires a very well-thought out plan. While there are wonderful benefits to starting a telemedicine practice, there are also some drawbacks. It is an endeavor that requires up-to-date equipment, trained staff, and an understanding of telemedicine laws. ","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/49087__1_.png","alias":"telemedicine"},"878":{"id":878,"title":"Remote Desktop Software","description":"The term remote desktop refers to a software or operating system feature that allows a personal computer's desktop environment to be run remotely on one system (usually a PC, but the concept applies equally to a server), while being displayed on a separate client device. Remote desktop applications have varying features. Some allow attaching to an existing user's session (i.e., a running desktop) and "remote controlling", either displaying the remote control session or blanking the screen. Taking over a desktop remotely is a form of remote administration.\r\nRemote access can also be explained as remote control of a computer by using another device connected via the Internet or another network. This is widely used by many computer manufacturers and large businesses' help desks for technical troubleshooting of their customers' problems.\r\nRemote desktop software captures the mouse and keyboard inputs from the local computer (client) and sends them to the remote computer (server). The remote computer in turn sends the display commands to the local computer. When applications with many graphics including video or 3D models need to be controlled remotely, a remote workstation software that sends the pixels rather than the display commands must be used to provide a smooth, like-local experience. HP Remote Graphics Software is one such remote workstation solution.\r\nRemote desktop sharing is accomplished through a common client/server model. The client, or VNC viewer, is installed on a local computer and then connects via a network to a server component, which is installed on the remote computer. In a typical VNC session, all keystrokes and mouse clicks are registered as if the client were actually performing tasks on the end-user machine.\r\nThe target computer in a remote desktop scenario is still able to access all of its core functions. Many of these core functions, including the main clipboard, can be shared between the target computer and remote desktop client.\r\nA main use of remote desktop software is remote administration and remote implementation. This need arises when software buyers are far away from their software vendor. Most remote access software can be used for "headless computers": instead of each computer having its own monitor, keyboard and mouse or using a KVM switch, one computer can have a monitor, keyboard, mouse, and remote control software, and control many headless computers. The duplicate desktop mode is useful for user support and education. Remote control software combined with telephone communication can be nearly as helpful for novice computer-users as if the support staff were actually there.\r\nSince the advent of cloud computing, remote desktop software can be housed on USB hardware devices, allowing users to connect the device to any PC connected to their network or the Internet and recreate their desktop via a connection to the cloud. This model avoids one problem with remote desktop software, which requires the local computer to be switched on at the time when the user wishes to access it remotely. (It is possible with a router with C2S VPN support, and Wake on LAN equipment, to establish a virtual private network (VPN) connection with the router over the Internet, if not connected to the LAN, switch on a computer connected to the router, then connect to it.)\r\nRemote desktop products are available in three models: hosted service, software, and appliance.","materialsDescription":"<span style=\"font-weight: bold;\">What is Remote Desktop Software?</span>\r\nRemote Desktop Software is a tool that uses Virtual Network Computing (VNC) to allow one computer to remotely access and control another computer over an internet/network connection.\r\n<span style=\"font-weight: bold;\">How does Remote Desktop Software Work?</span>\r\nRemote Desktop Software uses a client-server model to connect to and control a computer remotely:\r\n<ul><li><span style=\"font-weight: bold;\">Server:</span> The server is a remote device that is being controlled.</li><li><span style=\"font-weight: bold;\">Client:</span> The client is the local device used to control the server.</li></ul>\r\nThe server's UI is displayed on the client monitor which enables the client to control the server via keyboard and mouse inputs. These inputs are executed in the server's environment, and the UI is updated in the client's display accordingly.\r\n<span style=\"font-weight: bold;\">Why is Remote Desktop Software used?</span>\r\nRemote desktop software is a tool that allows you to use the remote desktop feature seamlessly. It is used mainly for the following purposes:\r\n<ul><li><span style=\"font-weight: bold;\">Troubleshooting:</span> IT Admins are on call 24/7 and a remote access tool helps them save time and effort by allowing them to fix issues remotely within a few minutes.</li><li><span style=\"font-weight: bold;\">Help Desk:</span> Help Desk technicians' primary responsibility is to resolve any issues that customers might face while using their product, and this more often than not involves taking remote control of their customers' devices. Work from home: People that work from home often need to remotely connect to and use their corporate devices for various purposes.</li><li><span style=\"font-weight: bold;\">Personal use:</span> You can remotely access a computer at your home when you're on the move, to access files or personal documents you may require urgently.</li></ul>","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/remote.png","alias":"remote-desktop-software"},"897":{"id":897,"title":"Contact Tracing Solutions","description":"<span style=\"font-weight: bold;\">Contact tracing</span> is a set of techniques and tools that enable people and organizations to document contact events that may result in infection and notify the affected people. As outlined by the WHO, contact tracing comprises three steps:\r\n<ul><li>Contact identification</li><li>Contact listing</li><li>Contact follow-up</li></ul>\r\nThe basic function of any contact tracing system is to identify potential exposures and notify people who need to know. A more comprehensive solution provides preventive controls and advice that guides people through the process of identifying symptoms, reporting test results, and responding appropriately.\r\nThe two contact tracing methods that have received the most attention are manual tracing and proximity tracing using mobile apps. <span style=\"font-weight: bold;\">The manual approach</span> employs people to call the contacts of newly diagnosed patients, notify them that they are at risk, offer advice on courses of action, and follow up until they’re in the clear. The problem with the manual approach is that it’s slow, expensive, time-consuming, and certainly not applicable for every vertical and industry. <span style=\"font-weight: bold;\">Mobile proximity tracing</span> automatically logs contacts between people who are running compatible apps on their phones. While app-based anonymous proximity tracing has great value, its potential scope is limited by the fact that people must opt into using the app and the built-in privacy features make the solution unsuitable for situations in which people’s must be known, which is often the case in scenarios like a business complex or school campus\r\nTwo other approaches to contact tracing have received less attention but have a unique value. <span style=\"font-weight: bold;\">Location-based tracing </span>can leverage location data that an organization typically already collects, albeit for other purposes. That can include badge swipes and meeting calendars as well as passive data collection sources such as phone SIM cards, GPS signals, Wi-Fi location monitoring, and temperature readings. <span style=\"font-weight: bold;\">Area monitoring</span> is a preventive technique that enforces area density and capacity controls to ensure physical distancing. It can include sensor data such as temperature, ventilation, and humidity readings that might indicate that too many people are gathered in one location, or to identify individuals with elevated temperatures.<br /><br />","materialsDescription":"<h1 class=\"align-center\">Why do I need a contact tracing solution?</h1>\r\nHealth authorities advise organizations to promptly identify and isolate potentially infectious individuals as a critical step in protecting employees, customers and visitors at a worksite. If someone was at your site and later reports that they are infected with COVID-19, you need a process to help identify the people and areas that may have been exposed to potential infection. Having a comprehensive contact tracing solution can help determine who was in contact with an infected person at your worksite, and when the interaction occurred. This can help minimize the risk of a potentially infected person spreading the virus to others, and can help mitigate the risk of multiple infected employees, which could impact your business productivity. Contact tracing puts your employees and visitors at ease knowing that they will be notified if they have been exposed to an infected person, enabling them to take appropriate steps to quarantine and/or be tested for the virus. \r\n<h1 class=\"align-center\">What technologies are available to help with contact tracing, and will they integrate with my current security system?</h1>\r\nIf you have an existing security access system, you may not realize that it can be used to supplement your contact tracing program. Access systems can track an employee or visitor and determine who else was in the same area at the same time. They provide timely information which is critical for contact protocols. You can choose the amount of time to track. If an employee or visitor displays virus symptoms, these tools can tell you who that person may have come into contact with, and provide the data to notify other individuals who may have been exposed. Ongoing reports can be generated to maintain compliance and meet ever-changing regulations. As these systems are designed for employees and visitors to provide basic contact information, they can be used to generate a prescribed report as to who was in the building, when they were there and with whom they met. Contact tracing benefits come from the basic information a user would enter when prompted, creating a contact list and a record of compliance as to who had entered, when they did and a phone number to reach them.\r\n<h1 class=\"align-center\">What important points that any returning to work plan and contact tracing policy should address?</h1>\r\n<p class=\"align-center\"><span style=\"font-weight: bold; \">Easy Accessibility</span></p>\r\nContact tracing solutions need to be easy to use and, as much as possible, be compatible with the tools organizations are already using. CIO’s and human resource (HR) departments are more likely to consider solutions from companies with whom they already have relationships, or with whom their employees are already familiar. That's especially true when a quick deployment time is important. That said, solutions with a unique value proposition (certainly the case with many contact tracing tools) can solve a variety of problems faster, and so also need to be considered. If your company requires a wearable solution, for example, due to higher-than-average access security concerns, then vendors that can provide all the components of such a solution (the wearables, readers, tracking software, and signal beacons) will be a more compelling requirement than compatibility with other on-site tools.\r\nThe key is determining your needs prior to purchase. That means due diligence with building and facilities staff as well as a dedicated team to manage compliance with state and municipal COVID-19 business guidelines. Once those are determined, you can match them against the needs of your particular business and make a detailed list of the contact tracing features most important to you.\r\n<p class=\"align-center\"> <span style=\"font-weight: bold; \">Data Aggregation</span></p>\r\nNo matter what your individual business needs might be, any contact tracing solution needs to make it easy to both track and collect information. Generally, this is done via some combination of apps, wearables, Wi-Fi networking, and self-reporting. However, business analytics capabilities, in particular, should allow organizations to quickly process collected data for imminent risk and then reach out to potentially impacted employees.\r\nThat means assessing the status of exposed contacts and providing easy ways to understand the risk levels for returning employees across different worksites. IT professionals should look for solutions where the contact tracing data flow is quick and efficient all the way from collection to insight translation. And you should pay special attention to final data presentation so you can make sure it's easy for managers to understand and make quick decisions.\r\nAggregating data from attendance logs, shift management apps, and other HR management solutions is a fairly easy part of the process. Where it gets difficult is being able to effectively time-stamp and cross-reference this data with not only your various office locations but also who was in those locations at any given time. And once that hurdle is crossed, the solution also needs to use the data to determine the risk levels now faced by other employees. Each business’ needs will vary depending on location, the nature of the workforce (meaning size, distribution, and task orientation), and the complexities of the business when it comes to compliance needs and regulation. So, again, that brings you back to the importance of a thorough due diligence process before deciding on one of these solutions.\r\n<p class=\"align-center\"> <span style=\"font-weight: bold; \">Privacy and Security</span></p>\r\nOne of the key factors for businesses when considering any contact tracing application or technology is to make sure it’s in line with data protection and privacy regulations. For buyers, that means it’s essential for any contact tracing solution to maintain the company's data privacy policies, which usually also means obtaining consent from employees.\r\nThis is even more critical when it involves employees’ personal health information. Employees need to know that their personal information is only being collected for health purposes and that it will never be shared with any outside agencies, like law enforcement or immigration.\r\nAn effective, though a usually pricier option, is to select a system that's token-based. Such solutions ensure that only key data points are collected, and they generally go a long way in convincing employees to participate in the necessary data collection while still feeling comfortable from a privacy perspective.\r\n<p class=\"align-center\"><span style=\"font-weight: bold;\">Breaking the Participation Barrier</span></p>\r\nSuccessful contact tracing requires both participation and privacy. Clearly articulating the benefits and being transparent about how an individual’s data is used is critical to successful implementation.\r\nSo when making a buying decision, you need to put focus on not just data collection but the features you'll need to ensure buy-in from employees. To help, some contact tracing tools provide features akin to an email marketing app that give managers the ability to send out health-oriented email newsletters to employees. Others offer tight integration with team messaging and online survey apps, such as Slack or Microsoft Teams.\r\nYou should use evaluation versions and detailed conversations with sales staff to determine which ones best suit your organization. But do it soon as none of these solutions can be put in place without some significant lead times, since you'll need to handle not only customization and data integration, but also employee training and buy-in challenges.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/contact_tracing.png","alias":"contact-tracing-solutions"},"903":{"id":903,"title":"Staff Augmentation","description":"Staff augmentation is a strategy used by businesses to increase their workforce temporarily by hiring external professionals or contractors. This approach allows companies to quickly and efficiently fill gaps in their teams, scale up for a specific project or peak season, or access specialized skills and expertise that may not be available in-house.\r\nStaff augmentation can be used in various industries and departments, including IT, software development, customer service, marketing, finance, and more. It provides flexibility and cost-effectiveness compared to traditional hiring methods, as businesses can avoid the lengthy recruitment process and associated expenses such as benefits, training, and onboarding.\r\nWhen implementing staff augmentation, businesses typically partner with staffing agencies or consulting firms that have a pool of pre-screened professionals with the desired skills and experience. These agencies handle the recruitment, selection, and placement of the external staff, while the client company retains control over the project management and overall direction.\r\nThe duration of staff augmentation can vary based on the needs of the business, ranging from a few weeks to several months or even longer-term contracts. It offers companies the ability to quickly adapt to changing market conditions, scale their operations, and access specialized talent without the long-term commitments of traditional hiring.\r\nOverall, staff augmentation is a flexible and efficient solution for businesses seeking to expand their workforce temporarily, enhance their capabilities, and achieve specific objectives.","materialsDescription":"<span style=\"font-weight: bold;\">What is staff augmentation?</span>\r\nStaff augmentation is a business strategy where organizations hire external talent to supplement their existing workforce for a specific project or period of time. These external resources, also known as augmented staff, work alongside the internal team to provide additional expertise and manpower.\r\n<span style=\"font-weight: bold;\">How does staff augmentation work?</span>\r\nStaff augmentation involves partnering with a staffing agency or outsourcing company to source qualified professionals who possess the skills and experience needed for a particular project. These professionals are then integrated into the client's team, working under their direction and guidance.\r\n<span style=\"font-weight: bold;\">What are the benefits of staff augmentation?</span>\r\nStaff augmentation offers several benefits, including access to specialized skills, flexibility in scaling the workforce, cost-effectiveness compared to hiring permanent employees, reduced recruitment and onboarding time, and the ability to quickly respond to changing project requirements.\r\n<span style=\"font-weight: bold;\">When is staff augmentation suitable?</span>\r\nStaff augmentation is suitable in various scenarios, such as when organizations need to fill temporary skill gaps, handle short-term projects, meet tight deadlines, access specialized expertise for specific tasks, or avoid long-term commitments associated with permanent hires.\r\n<span style=\"font-weight: bold;\">What are the potential challenges of staff augmentation?</span>\r\nWhile staff augmentation has its advantages, there are also challenges to consider. These may include potential differences in company culture, integration difficulties between augmented staff and existing team members, communication and coordination issues, and the need for effective management and oversight to ensure successful collaboration.","iconURL":"https://old.roi4cio.com/fileadmin/user_upload/Staff-Augmentation-1.png","alias":"staff-augmentation"}},"companyUrl":"https://volo.global/","countryCodes":["ARM","UKR","USA"],"certifications":[],"isSeller":true,"isSupplier":false,"isVendor":true,"presenterCodeLng":"","seo":{"title":"VOLO","keywords":"","description":" At VOLO, we put our 17+ years of expertise to help leading companies and innovative scale-ups worldwide create tech products that advance them further within their industries. We specialize in\r\n\r\nSoftware Development Consulting\r\nCustom End-to-End Product","og:title":"VOLO","og:description":" At VOLO, we put our 17+ years of expertise to help leading companies and innovative scale-ups worldwide create tech products that advance them further within their industries. We specialize in\r\n\r\nSoftware Development Consulting\r\nCustom End-to-End Product","og:image":"https://old.roi4cio.com/uploads/roi/company/Original_volo_logo_color_1.png"},"eventUrl":"https://calendly.com/mariam-ayvazyan/45min","vendorPartners":[],"supplierPartners":[],"vendoredProducts":[],"suppliedProducts":[],"partnershipProgramme":null}},"aliases":{},"links":{},"meta":{},"loading":false,"error":null},"implementations":{"implementationsByAlias":{},"aliases":{},"links":{},"meta":{},"loading":false,"error":null},"agreements":{"agreementById":{},"ids":{},"links":{},"meta":{},"loading":false,"error":null},"comparison":{"loading":false,"error":false,"templatesById":{},"comparisonByTemplateId":{},"products":[],"selectedTemplateId":null},"presentation":{"type":null,"company":{},"products":[],"partners":[],"formData":{},"dataLoading":false,"dataError":false,"loading":false,"error":false},"catalogsGlobal":{"subMenuItemTitle":""}}