{"id":10039,"date":"2017-05-10T20:48:56","date_gmt":"2017-05-10T18:48:56","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/"},"modified":"2017-05-10T20:48:56","modified_gmt":"2017-05-10T18:48:56","slug":"apex-connect-2017-day-2","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/","title":{"rendered":"APEX Connect 2017 &#8211; Day 2"},"content":{"rendered":"<p>After the Keynote about &#8220;Oracle Application Express &#8211; Ahead of it&#8217;s time. Leading the way forward&#8221; by Joel Kallmann (Director of Software Development for APEX) and some overall presentation about Development with APEX 5.1, I decided to attend presentations on following topics oriented towards tools to make developer&#8217;s life easier:<br \/>\n&#8211; APEX OOS Tools and helper<br \/>\n&#8211; Useful APEX plugins<br \/>\n&#8211; LESS is more<br \/>\n&#8211; JavaScript Debugging and Tuning<br \/>\n&#8211; Introduction to Oracle JET<\/p>\n<p><strong>Oracle Application Express &#8211; Ahead of it&#8217;s time. Leading the way forward<\/strong>:<br \/>\nIn 2008 APEX was already matching the definition of cloud given by the NIST (National Institute of Standards and Technology) and even matching the definition of PaaS in 2002: APEX was ahead of it&#8217;s time!<br \/>\nAPEX allows to increase productivity and consistency, reducing complexity due to it&#8217;s declarative framework setup. It&#8217;s therefore to be seen as lowcode development environment: <a href=\"https:\/\/apex.oracle.com\/lowcode\/\">https:\/\/apex.oracle.com\/lowcode\/<\/a><br \/>\nWhat is impressive about APEX is that a packaged app written in 2008 is still able to run on apex.oracle.com today.<br \/>\nIt&#8217;s the most used development platform within Oracle for running there internal business.<br \/>\nThere is now an online APEX curriculum available for free on Oracle academy: <a href=\"https:\/\/academy.oracle.com\/en\/solutions-curriculum-full.html#progsql\">APEX on Oracle academy<\/a><br \/>\nOracle database free services online will be launched, replacing apex.oracle.com.<\/p>\n<p><strong>Upcoming features in APEX 5.2:<\/strong><br \/>\nThe next version of APEX may contain features like:<br \/>\n&#8211; Blueprint wizard: allows to integrate features from existing packaged apps in your on application declaratively<br \/>\n&#8211; Improved packaged apps<br \/>\n&#8211; Update of JET and JQuery versions<br \/>\n&#8211; Enhancements in Page designer:<br \/>\n  -* Dialogs\/pop-overs<br \/>\n  -* Client side dialogs<br \/>\n  -* Adaptive UI based on preference options declaratively enabled\/disabled<br \/>\n  -* Removal of legacy component view<br \/>\n&#8211; Enhancements on JET Charts:<br \/>\n  -* New Gantt chart<br \/>\n  -* New pyramid report<br \/>\n  -* New Box Plot<br \/>\n  -* New interactive report and websheet charts<br \/>\n  -* Removal of 32k limit of data visualization<br \/>\n&#8211; Improved interactive grids<br \/>\n  -* Flexible row height<br \/>\n  -* Group by view<br \/>\n  -* Pivot view<br \/>\n  -* Region button position<br \/>\n  -* Printing<br \/>\n  -* Subscription<br \/>\n  -* Computation<br \/>\n  -* Required filtering<br \/>\n  -* Complex filtering and highlighting<br \/>\n  -* No stretch columns<br \/>\n  -* Copy down facility<br \/>\n  -* API documentation<br \/>\n  -* Migration for interactive reports<br \/>\n&#8211; Improved REST services<br \/>\n  -* Declarative support of REST services<br \/>\n  -* REST services as data source for APEX components<br \/>\n  -* Simple access to Cloud services<br \/>\n  -* ORDS remote SQL data access<br \/>\n  -* SQL execution on remote DB<br \/>\nAll very nice and promising features \ud83d\ude42<\/p>\n<p><strong>APEX OOS Tools and helper:<\/strong>:<br \/>\nOracle Open Source Tools and other useful Open Source projects can be found in GitHub within different repositories.<br \/>\nMost famous OOS tools for APEX developers are:<br \/>\n&#8211; oracle-db-tools<br \/>\n&#8211; oraclejet<br \/>\n&#8211; db-sample-schemas<br \/>\n&#8211; node-dboracle<br \/>\n&#8211; docker-images<br \/>\nLink to oracle GitHub: <a href=\"https:\/\/github.com\/oracle\">https:\/\/github.com\/oracle<\/a><br \/>\nBeside that to Open Source community provides various other tools for APEX developers:<br \/>\n&#8211; oxar (automated installation of full development environment)<a href=\"https:\/\/github.com\/OraOpenSource\/OXAR\">https:\/\/github.com\/OraOpenSource\/OXAR<\/a><br \/>\n&#8211; docker images <a href=\"https:\/\/github.com\/Dani3lSun\/docker-db-apex-dev\">https:\/\/github.com\/Dani3lSun\/docker-db-apex-dev<\/a><br \/>\n&#8211; Logger <a href=\"https:\/\/github.com\/OraOpenSource\/Logger\">https:\/\/github.com\/OraOpenSource\/Logger<\/a><br \/>\n&#8211; APEX Diff (comparison of application exports based on JSON using node.js and sqlcl) <a href=\"https:\/\/github.com\/OraOpenSource\/apex-diff\">https:\/\/github.com\/OraOpenSource\/apex-diff<\/a><br \/>\n&#8211; APEX Client extension <a href=\"https:\/\/github.com\/OraOpenSource\/apex-frontend-boost\">https:\/\/github.com\/OraOpenSource\/apex-frontend-boost<\/a><br \/>\n&#8211; PL\/SQL libraries like Alexandria <a href=\"https:\/\/github.com\/mortenbra\/alexandria-plsql-utils\">https:\/\/github.com\/mortenbra\/alexandria-plsql-utils<\/a><br \/>\n&#8211; APEX backup scripts <a href=\"https:\/\/github.com\/OraOpenSource\/apexbackup\">https:\/\/github.com\/OraOpenSource\/apexbackup<\/a><br \/>\nThere is a lot out there to make you life easier. Enjoy them!<br \/>\nThanks a lot to all contributors!<\/p>\n<p><strong>Useful APEX plugins:<\/strong>:<br \/>\nAPEX is a very nice development framework but it sometimes needs more than what is provided by Oracle.<br \/>\nFortunately APEX allows to write extensions to fill-in the gap: plug-ins<br \/>\nThere are many to be found on apex.world<br \/>\nHere is an non exhaustive list of useful plug-ins that were presented at APEX connect:<br \/>\n&#8211; select2 <a href=\"https:\/\/select2.github.io\/\">https:\/\/select2.github.io\/<\/a><br \/>\n&#8211; Date range (based on JS moment library) <a href=\"http:\/\/apex.pretius.com\/apex\/f?p=105:DATERANGE:::NO:::\">http:\/\/apex.pretius.com\/apex\/f?p=105:DATERANGE:::NO:::<\/a><br \/>\n&#8211; Help text tooltip <a href=\"http:\/\/apex.pretius.com\/apex\/f?p=105:HELPTEXT:::NO:::\">http:\/\/apex.pretius.com\/apex\/f?p=105:HELPTEXT:::NO:::<\/a><br \/>\n&#8211; Dropzone (for multiple file upload) <a href=\"https:\/\/github.com\/Dani3lSun\/apex-plugin-dropzone\">https:\/\/github.com\/Dani3lSun\/apex-plugin-dropzone<\/a><br \/>\n&#8211; Excel to collections <a href=\"http:\/\/www.apex-plugin.com\/oracle-apex-plugins\/process-type-plugin\/excel2collections_271.html\">http:\/\/www.apex-plugin.com\/oracle-apex-plugins\/process-type-plugin\/excel2collections_271.html<\/a><br \/>\n&#8211; Enhanced notification <a href=\"http:\/\/apex.pretius.com\/apex\/f?p=105:NOTIFICATIONS:::NO:::\">http:\/\/apex.pretius.com\/apex\/f?p=105:NOTIFICATIONS:::NO:::<\/a><br \/>\n&#8211; Nested reports <a href=\"http:\/\/apex.pretius.com\/apex\/f?p=105:NESTED_REPORTS:::NO:::\">http:\/\/apex.pretius.com\/apex\/f?p=105:NESTED_REPORTS:::NO:::<\/a><br \/>\nThanks to all developers who provide those plug-ins and make APEX be even more enjoyable!<\/p>\n<p><strong>LESS is more:<\/strong>:<br \/>\nWhat is LESS?<br \/>\nLESS is a CSS pre-processor which allows to use variable, mix-ins and nested rules to facilitate the rules CSS management.<br \/>\nIt&#8217;s already in use in APEXso that you can leverage thattool to adjust your application to your Corporate identity guidelines.<br \/>\nThe Theme roller of APEX 5.x make use of it, but the core.css of APEX is not modified that way.<br \/>\nI would suggest you to visit following website if you are interested in who LESS works:<br \/>\n<a href=\"http:\/\/lesscss.org\/\">http:\/\/lesscss.org\/<\/a><\/p>\n<p><strong>JavaScript Debugging and Tuning:<\/strong>:<br \/>\nAPEX makes use of JQuery.<br \/>\nIn some cases you might run into performance issues while loading or using your application pages.<br \/>\nHere are some tips and tricks to optimize JavaScript in your application based on experience.<br \/>\n&#8211; Use the right selector to reducing searches in the DOM (from the most to the less selective: id, element, class, attribute, pseudo)<br \/>\n&#8211; Use loops the right way (arrays can help)<br \/>\n&#8211; Use variables to reduce DOM access<br \/>\n&#8211; Use detach function to have an &#8220;offline&#8221; DOM and reduce the cost of parsing and accessing the DOM<br \/>\n&#8211; In some case native JavaScript is faster than JQuery<br \/>\nThere are tools to help you measure the performance of your page:<br \/>\n&#8211; jsperf.com<br \/>\n&#8211; ESBench.com<br \/>\n&#8211; Chrome Canary developer tools<br \/>\nWhen it comes about page load performance, the size of your JavaScript library file is key. This can be reduced using tools like uglifyJS.<br \/>\nFor Debugging and Logging purpose you can make use of the client console.log or even better the APEX.debug wrapper on it. Unfortunately those logs are only visible on the client console during runtime. One option to centralize them would be to write the result of the logs into a DB table using AJAX. Also stacktrace.js is of help as it captures the user context which can then be put with the logs to better understand the issue.<br \/>\nUltimately REST service could also be an alternative to send back the logs to the DB.<\/p>\n<p><strong>Introduction to Oracle JET:<\/strong><br \/>\nOracle JET: JavaScript Extension Toolkit<br \/>\nIt supports multilingual and follows W3C standards.<br \/>\nA JET module is always made of at least 2 parts:<br \/>\n&#8211; JavaScript file (view Models)<br \/>\n&#8211; HTML file (views)<br \/>\nWhen using JET modules you always have to take care of the required libraries\/modules (dependencies).<br \/>\nAPEX only makes use of the JET Charts for now.<br \/>\nI can only recommend to visit the Oracle web page on that subject:<br \/>\n<a href=\"http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/index.html\">http:\/\/www.oracle.com\/webfolder\/technetwork\/jet\/index.html\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After the Keynote about &#8220;Oracle Application Express &#8211; Ahead of it&#8217;s time. Leading the way forward&#8221; by Joel Kallmann (Director of Software Development for APEX) and some overall presentation about Development with APEX 5.1, I decided to attend presentations on following topics oriented towards tools to make developer&#8217;s life easier: &#8211; APEX OOS Tools and [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[368],"tags":[304,1090,1091,1092,96,1093,1094],"type_dbi":[],"class_list":["post-10039","post","type-post","status-publish","format-standard","hentry","category-development-performance","tag-apex","tag-javascript","tag-less","tag-oos","tag-oracle","tag-oracle-jet","tag-plugin"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>APEX Connect 2017 - Day 2 - dbi Blog<\/title>\n<meta name=\"description\" content=\"Blog about APEX Connect 2017 Day2, Focused on Tools and JavaScript\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"APEX Connect 2017 - Day 2\" \/>\n<meta property=\"og:description\" content=\"Blog about APEX Connect 2017 Day2, Focused on Tools and JavaScript\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-10T18:48:56+00:00\" \/>\n<meta name=\"author\" content=\"Alain Lacour\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alain Lacour\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\"},\"author\":{\"name\":\"Alain Lacour\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0\"},\"headline\":\"APEX Connect 2017 &#8211; Day 2\",\"datePublished\":\"2017-05-10T18:48:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\"},\"wordCount\":1153,\"commentCount\":0,\"keywords\":[\"APEX\",\"JavaScript\",\"LESS\",\"OOS\",\"Oracle\",\"Oracle JET\",\"Plugin\"],\"articleSection\":[\"Development &amp; Performance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\",\"name\":\"APEX Connect 2017 - Day 2 - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2017-05-10T18:48:56+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0\"},\"description\":\"Blog about APEX Connect 2017 Day2, Focused on Tools and JavaScript\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"APEX Connect 2017 &#8211; Day 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0\",\"name\":\"Alain Lacour\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g\",\"caption\":\"Alain Lacour\"},\"description\":\"Alain Lacour has more than 15 years of experience in application development with Oracle technologies. He is specialized in APEX, Java, and PL\/SQL development. His expertise also includes middleware technologies such as Oracle Weblogic and EMC Documentum. He also has a broad experience in business analysis and architecture solutions as well as in service and project management. Prior to dbi services, Alain Lacour was Senior Consultant at IMS Health in Basel. He also worked as a Software Engineer for M&amp;H Informatics in Basel. Alain Lacour holds a Master of Science in Industrial Computing from the University of Mulhouse (F). His branch-related experience mainly covers the pharma industry, with an in-depth knowledge of the drug development process as well as drug distribution.\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/alain-lacour\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"APEX Connect 2017 - Day 2 - dbi Blog","description":"Blog about APEX Connect 2017 Day2, Focused on Tools and JavaScript","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/","og_locale":"en_US","og_type":"article","og_title":"APEX Connect 2017 - Day 2","og_description":"Blog about APEX Connect 2017 Day2, Focused on Tools and JavaScript","og_url":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/","og_site_name":"dbi Blog","article_published_time":"2017-05-10T18:48:56+00:00","author":"Alain Lacour","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alain Lacour","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/"},"author":{"name":"Alain Lacour","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0"},"headline":"APEX Connect 2017 &#8211; Day 2","datePublished":"2017-05-10T18:48:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/"},"wordCount":1153,"commentCount":0,"keywords":["APEX","JavaScript","LESS","OOS","Oracle","Oracle JET","Plugin"],"articleSection":["Development &amp; Performance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/","url":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/","name":"APEX Connect 2017 - Day 2 - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2017-05-10T18:48:56+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0"},"description":"Blog about APEX Connect 2017 Day2, Focused on Tools and JavaScript","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/apex-connect-2017-day-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"APEX Connect 2017 &#8211; Day 2"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/acabba2b6ca473b44b098c2de61294b0","name":"Alain Lacour","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/455c4c7743e192ae868a6f9e6ed875415c5887567577eccbbbf2d65012cd976a?s=96&d=mm&r=g","caption":"Alain Lacour"},"description":"Alain Lacour has more than 15 years of experience in application development with Oracle technologies. He is specialized in APEX, Java, and PL\/SQL development. His expertise also includes middleware technologies such as Oracle Weblogic and EMC Documentum. He also has a broad experience in business analysis and architecture solutions as well as in service and project management. Prior to dbi services, Alain Lacour was Senior Consultant at IMS Health in Basel. He also worked as a Software Engineer for M&amp;H Informatics in Basel. Alain Lacour holds a Master of Science in Industrial Computing from the University of Mulhouse (F). His branch-related experience mainly covers the pharma industry, with an in-depth knowledge of the drug development process as well as drug distribution.","url":"https:\/\/www.dbi-services.com\/blog\/author\/alain-lacour\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=10039"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10039\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=10039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=10039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=10039"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=10039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}