8. Technology development (Tools Git, ngrok)¶
Technology Development - includes research and development, process automation, and other technology development used to support the value-chain activities.
8.1. The digitization¶
The digitization is “Digitization, less commonly digitalization, is the process of converting information into a digital (i.e. computer-readable) format, in which the information is organized into bits.”
In short, developing software mimicking manual processes while adding new capabilities such enabling the communication between IT systems from different companies that couldn’t have been integrated using another way.
8.1.1. Digitization for the Insurance industry¶
188.8.131.52. Presentation layer¶
The presentation layer is the layer that is in connection with your customers through several means or devices :
A service desk supporting the requests on the phone
184.108.40.206.2. Robo advisor¶
A Robo advisor is a class of financial adviser that provide financial advice or Investment management online with moderate to minimal human intervention
220.127.116.11.3. Mobile or Smartphone¶
Mobile phones accessing the insurer’ services through SMS, email, voice of mobile app means
The customer interacts with the Insurer using SMS. The answers to the SMS are made by a Robo advisor, a Chatbot or a human. The help desks uses an IT system and (s)he is not necessarily answering using a mobile phone.
18.104.22.168.5. Web Browser¶
a software used to access the Web site of the insurer or the underwriter (i.e. Firefox, Opera, Ecosia, Microsoft Internet Explorer, Google Chrome, Microsoft Edge, Safari)
The Chatbot is a piece of software that conducts a conversation via auditory or textual methods.
The Chatbot tries to answer customers’ questions that human would have had as a conversation. Some chatbots use sophisticated natural language processing systems but are most of time supported by a service desk run by humans when the Chatbot can’t understand the demands made by the customer.
The presentation layer counts the front office as well as the back office. The back office is all the resources of the company that are devoted to actually producing a product or service and all the other labor that isn’t seen by customers, such as administration or logistics.
22.214.171.124.7. Back office workstation¶
Those are the collaborators managing the operations ensuring the correct exection of the processes :
- quote an offer
- validate personal data
- validate the filling of a form
- perform the dunning services duties
The back office requires documentation, software and reports to perform their duties.
126.96.36.199.8. Middle office workstation¶
The middle office is made up of the risk managers and the information technology managers who manage risk and maintain the information resources.
- Track claim settlement times
- Customer satisfation ratings
- Long-term trends in customer activity
Data collected during the operations are stored into IT systems operated by a multitude of managers (risks, operations, HR, Marketing)
Those data are analysed and supports the value chain (logistics, operations, marketing, sales, support) by giving a broad and exact view of the financial situation of the company.
After a careful analysis, the data are shared with the back office who can act and interact with prospects, customers and suppliers depending on the situation (dunning service, quotation, billing, closing off the contract)
Try the Insurance claims analysis dashboard
188.8.131.52.9. Call centre¶
Three types of call centres might be operated by a financial service company:
- An inbound call center is operated by a company to administer incoming product or service support or information enquiries from consumers.
- An outbound call center is operated for telemarketing, for solicitation of charitable or political donations, debt collection, market research, emergency notifications, and urgent/critical needs blood banks.
- A contact center, further extension to call centers administers centralized handling of individual communications, including letters, faxes, live support software, social media, instant message, and e-mail.
184.108.40.206.10. Customer portal¶
A website accessible through a Web browser or a mobile phone enabling the customer to access all the aspects of his duties and rights towards the insurer.
The portal gives access to diverse functionalities:
Information platform: share details about the products and services, how to contact the insurer
Transaction platform: create, update or delete information, stop a current insurance, pay electronically the remaining Bills
Sales platform: generate up-sell and cross-sell opportunities, promote the Robo advisor capabilities
Rewards platform: Insurers retain their customers through the Perceived Value of the customer, the Affinity that the customer has with his insurer, and the Barriers to Exit
- Perceived value: does the customer feels that (s)he has coverage at a competitive and fair price?
- Affinity: do the customer has a emotional connection with the customer? Insurance products may tend to have a limited value due to the commoditized nature of the product
- Barriers to Exit: does the customer has strong and effective reasons to do not leave an insurer? the lack of competition, the increase of costs, the loss of a unique protection, a decrease of the quality of service
220.127.116.11.11. Broker portal¶
A broker portal is a website enabling the broker to perform her/his duties
- Information platform: share details about the products and services, how to contact the insurer, the customers
- Sales platform: support the sales process (from a quote to a signed contract), generate up-sell and cross-sell opportunities
- Marketing platform: identify new sales opportunites by advertising the products and identify the most profitable or potential prospects
- CRM platform: maintain data related to the prospects and customers (contact details, online and offline interactions)
- Dunning service platform: inform and give the tools to enable the broker to run after unpaid invoices till the termination of the contract
18.104.22.168. Business logic tier¶
22.214.171.124.1. API Gateway¶
The API describes the functions or the interfaces available between a client and a server.
APIs are enablers of the platform economy, and allow users to enhance and add services over existing products.
For example: An API enables an application ‘A’ to query a system ‘B’ and collects the schedule of the public transportation (See https://opendata.stib-mivb.be/store/data)
Look at the description of the API from a dunning Service https://dunningcashflow-api.azurewebsites.net/swagger/index.html
126.96.36.199.2. Business Risk Management¶
The financial services must comply with a multitude of risks.
Here are a list of pure risks (loss or no loss only) that an insurer or a underwriter may be confronted with:
- Regulatory Compliance: Invoice compliance, MiFID ii, MiFID 2, Solvency II, Solvency 2
- Tax Compliance: Tax determination, Fiscal reporting, VAT reporting
- Liability risk exposure: product liability risks, or contractual liability risks
- Operational risk: mistakes in process and procedure
- Intellectual property violation risk
- Mortality and morbidity risk at the societal and global level
- Speculative risks are not described in this documents. i.e. market risk, reputational risk, brand risk, product success risk…
188.8.131.52.3. Business Process Management¶
The Business Process Management is a discipline aimed at managing all aspect of the business processes; from process design to modeling and analysis to execution and improvement.
Here is the description of a process: Data entry of a claim
184.108.40.206.4. Finance management¶
220.127.116.11.5. Customer management¶
18.104.22.168.6. Claims management¶
22.214.171.124.7. Product management¶
126.96.36.199.8. Policy management¶
188.8.131.52.13. Entreprise services¶
184.108.40.206. Data tier¶
220.127.116.11.1. CDI (Customer Data Integration)¶
18.104.22.168.2. CRM (Customer Relationship Management)¶
22.214.171.124.3. Products catalog¶
126.96.36.199.4. Money collection¶
8.2. GIT lifecycle¶
Description of how to manage the versions, branches in a git repository as well the operations of the software
How to write relevant commits?
8.2.1. A successful git branching model¶
A successful Git branching model : https://nvie.com/posts/a-successful-git-branching-model/
8.2.2. GIT : commit conventions¶
source : conventional commits : https://github.com/conventional-commits
Semantic messages: http://seesparkbox.com/foundry/semantic_commit_messages
build chore (maintain i.e. updating grunt tasks etc; no production code change) ci (continuous integration) docs (documentation) feat (feature) fix (bug fix) perf (performance improvements) refactor (refactoring production code) revert style (formatting, missing semi colons, …) test (adding missing tests, refactoring tests; no production code change)
- enumeration : https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional#type-enum
- Install commitlint : https://conventional-changelog.github.io/commitlint/#/
188.8.131.52. Example of commits¶
8.2.3. GIT : how to manage the versions, branches … ?¶
GIT : Create a branch : [BRANCH-DEV] – [BRANCH-PARENT]
DEV : Local development on Software engineer machine
MERGE GIT : Merge the [BRANCH-DEV] with the [BRANCH-PARENT]
- The code is merged into the [BRANCH-DEV]
STAGING : The Software is deployed on the staging environment
MERGE GIT : Merge the [BRANCH-DEV] with the [BRANCH-PARENT]
- The code is merged into the [BRANCH-PARENT]
PROD : Test the PROD version of the software
LIVE : deploy the PROD version of the software on the PROD server
8.2.4. GIT LFS Large File System¶
- git commands
- Install git lfs https://git-lfs.github.com
- git lfs lock images/foo.jpg
- git lfs locks
- git lfs unlock images/foo.jpg
- git lfs push origin master –all
184.108.40.206. Create a .gitattributes file¶
.. include:: .gitattributes
220.127.116.11. Commands to add files into the repository, and push the code¶
git lfs install git lfs track "*.jpg" --lockable git lfs track "*.JPG" --lockable git lfs track "*.png" --lockable git lfs track "*.zip" --lockable git lfs track "*.mp4" --lockable git lfs track "*.MP4" --lockable git lfs track "*.docx" --lockable git lfs track "*.svg" --lockable git lfs track "*.gif" --lockable git lfs track "*.psd" --lockable git lfs track "*.sketch" --lockable git lfs track "*.ai" --lockable git add "*.jpg" "*.JPG" "*.png" "*.zip" "*.mp4" "*.MP4" "*.docx" "*.svg" "*.gif" git lfs ls-files git lfs env git config lfs.https://inlsprl.visualstudio.com/[ProjectName]/_git/[ProjectName].git/info/lfs.locksverify true git push origin master git lfs push origin master --all
8.3. ngrok - Public URLs for exposing your local web server¶
Use ngrok to grant access to your localhost to anyone
open the port where the web server is located. run the following command :
- [path to ngrok]\ngrok.exe http [port to open on your localhost] -host-header=rewrite
share the URL to the person who needs to access your local machine. i.e. https://a1cc816e.ngrok.io
ngrok by @inconshreveable Session Status online Account [the account name] (Plan: Free) Update update available (version 2.2.8, Ctrl-U to update) Version 2.2.3 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://a1cc816e.ngrok.io -> localhost:4624 Forwarding https://a1cc816e.ngrok.io -> localhost:4624
8.4. How to write a bug report?¶
- Copy paste the content hereunder
- Create a new issue: https://bitbucket.org/altf1be/software-architecture/issues/new
## WHAT STEPS WILL REPRODUCE THE PROBLEM? 1. Open the page 2. 3. ## WHAT IS THE EXPECTED OUTPUT? * StratEx is loaded ## WHAT DO YOU SEE INSTEAD? * The screenshot attached to this email * StratEx cannot be opened because of a problem ## WHAT VERSION OF THE PRODUCT ARE YOU USING? * Version: 3.5.6245.20028 * on [https://www.stratexapp.com](https://www.stratexapp.com) * on [https://staging.stratexapp.com](https://staging.stratexapp.com) * on [https://develop.stratexapp.com](https://develop.stratexapp.com) ## ON WHAT OPERATING SYSTEM, BROWSER, ETC.? * Windows 7.1 * Chrome Version 54 * Internet Explorer 11 * Opera Version 41 * Windows 10 * Internet Explorer * Edge * Mac OS X 10.9 (13A603) * Safari Version 7.0 (9537.71) * Chrome Version 31.0.1650.57 ## PLEASE PROVIDE ANY ADDITIONAL INFORMATION BELOW. * None * Extra files are available on [StratExApp files on Google Drive] * Find the private [Videos generated on GDrive] * Find the public [Videos on StratEx YouTube channel] * Find the public [Documentation on Read The Docs] ## Bug report (if any) * None [StratExApp files on Google Drive]: https://drive.google.com/a/alt-f1.be/folderview?id=0B9L2cx0TUjLGUFZBSkF6WlFCYms&usp=sharing#list [Videos generated on GDrive]: https://drive.google.com/a/alt-f1.be/folderview?id=0B9L2cx0TUjLGa190N1ZURHBpUFE&usp=sharing [Videos on StratEx YouTube channel]: https://www.youtube.com/channel/UCuwGfoVoozq0ZTmHJ3WCvTQ [Documentation on Read The Docs]: http://stratexapp-docs.readthedocs.org/en/latest/
8.5. Research & Development topics¶
Use Technologies supported by Microsoft
Single Page Application (SPA)
- Build a SPA such as Microsoft Azure for our customers
- Test SPA App
IT Automation best practices
In general we should go for 1-click test/deployment
Test (SPA, Web apps)
- UAT (user acceptance test)
- User manual
8.6. Open Authentication (OAuth)¶
OAuth is an open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
Source: Wikipedia contributors. (2019, March 19). OAuth. In Wikipedia, The Free Encyclopedia. Retrieved 12:20, March 23, 2019, from https://en.wikipedia.org/w/index.php?title=OAuth&oldid=888559139
8.6.1. Use case for Open Authentication¶
A user requires access to a resource on a web application (eg StratEx) using her credentials from another website (eg Microsoft Office365).
- She needs to login using the form from Office365
- Office365 will generate a token
- The token is used by StratEx ensuring that the user is effectively logged using her Office365 credentials
- StratEx can use the resources made available by Office365 such as username, firstname, lastname, email address, read access to OneDrive, write and send new emails…
8.6.2. Open authentication using Office365¶
Microsoft graph documentation makes available Office365 resources of each registrered user:
Request an access token to Office 365:
Description of each parameter (see use-the-authorization-code-to-request-an-access-token):
- ? client_id =f5d835b0-4bc1-98e7-f98cb4aaef31
- & scope =https%3A%2F%2Fgraph.microsoft.com%2Fuser.read
- & response_type =code
- & redirect_uri =https%3A%2F%2Ftimesheet-stg-inlsprl.azurewebsites.net%2Fsignin-microsoft
- & state =Ao8m01yi1E76wQIXPJW-F92Fq1v