All Projects → IBM → banking-digitalization-using-hybrid-cloud-with-mainframes

IBM / banking-digitalization-using-hybrid-cloud-with-mainframes

Licence: Apache-2.0 license
The following journey will introduce the available Banking APIs published on IBM Cloud with logical business programs running on the IBM Z Mainframe through a simulated retail bank called MPLbank.

Programming Languages

HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to banking-digitalization-using-hybrid-cloud-with-mainframes

detect-timeseriesdata-change
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Stars: ✭ 21 (+0%)
Mutual labels:  bluemix, ibm-developer-technology-cloud, ibmcode
visualize-data-with-python
A Jupyter notebook using some standard techniques for data science and data engineering to analyze data for the 2017 flooding in Houston, TX.
Stars: ✭ 60 (+185.71%)
Mutual labels:  bluemix, ibmcode, call-for-code
ibm-cloud-functions-serverless-ocr-openchecks
Serverless bank check deposit processing with object storage and optical character recognition using Apache OpenWhisk powered by IBM Cloud Functions. See the Tech Talk replay for a demo.
Stars: ✭ 40 (+90.48%)
Mutual labels:  bluemix, ibm-developer-technology-cloud, ibmcode
node-red-dsx-workflow
This journey helps to build a complete end-to-end analytics solution using IBM Watson Studio. This repository contains instructions to create a custom web interface to trigger the execution of Python code in Jupyter Notebook and visualise the response from Jupyter Notebook on IBM Watson Studio.
Stars: ✭ 26 (+23.81%)
Mutual labels:  bluemix, ibm-developer-technology-cloud, ibmcode
Cognitive Social Crm
An application that monitors a Twitter feed and determines customer sentiment using IBM Watson Assistant, Tone Analyzer, Natural Language Understanding, as well as CloudantDB
Stars: ✭ 71 (+238.1%)
Mutual labels:  bluemix, ibmcode
Serverless Home Automation
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Stars: ✭ 38 (+80.95%)
Mutual labels:  bluemix, ibmcode
Cognitiveconcierge
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Stars: ✭ 100 (+376.19%)
Mutual labels:  bluemix, ibmcode
predictive-model-on-watson-ml
Create and deploy a predictive model using Watson Studio and Watson Machine Learning
Stars: ✭ 51 (+142.86%)
Mutual labels:  ibmcode, call-for-code
watson-vehicle-damage-analyzer
A server and mobile app to send pictures of vehicle damage to IBM Watson Visual Recognition for classification
Stars: ✭ 62 (+195.24%)
Mutual labels:  ibmcode, call-for-code
Scalable Wordpress Deployment On Kubernetes
This code showcases the full power of Kubernetes clusters and shows how can we deploy the world's most popular website framework on top of world's most popular container orchestration platform.
Stars: ✭ 173 (+723.81%)
Mutual labels:  bluemix, ibmcode
ibm-cloud-functions-rest-api-trigger
IBM Cloud Functions building block - HTTP REST Trigger - This project provides a starting point for handling events from REST API calls with IBM Cloud Functions powered by Apache OpenWhisk.
Stars: ✭ 17 (-19.05%)
Mutual labels:  bluemix, ibm-developer-technology-cloud
Java-MicroProfile-on-Kubernetes
This application demonstrates the deployment of a Java based microservices application using Microprofile on Kubernetes Cluster. MicroProfile is a baseline platform definition that optimizes Enterprise Java for a microservices architecture and delivers application portability across multiple MicroProfile runtimes
Stars: ✭ 76 (+261.9%)
Mutual labels:  ibm-developer-technology-cloud, ibmcode
watson-multimedia-analyzer
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode. A Node app that use Watson Visual Recognition, Speech to Text, Natural Language Understanding, and Tone Analyzer to enrich media files.
Stars: ✭ 23 (+9.52%)
Mutual labels:  bluemix, ibmcode
watson-discovery-ui
Develop a fully featured Node.js web app built on the Watson Discovery Service
Stars: ✭ 63 (+200%)
Mutual labels:  ibmcode, call-for-code
Gameon Java Microservices On Kubernetes
This code demonstrates deployment of a Microservices based application Game On! on to Kubernetes cluster. Game On! is a throwback text-based adventure built to help you explore microservice architectures and related concepts.
Stars: ✭ 88 (+319.05%)
Mutual labels:  bluemix, ibmcode
crud-using-nodejs-and-db2
Create CRUD application using Node.js and IBM Db2 Database on Cloud
Stars: ✭ 15 (-28.57%)
Mutual labels:  db2, ibmcode
Scalable Cassandra Deployment On Kubernetes
In this code we provide a full roadmap the deployment of a multi-node scalable Cassandra cluster on Kubernetes. Cassandra understands that it is running within a cluster manager, and uses this cluster management infrastructure to help implement the application. Kubernetes concepts like Replication Controller, StatefulSets etc. are leveraged to deploy either non-persistent or persistent Cassandra clusters on Kubernetes cluster.
Stars: ✭ 184 (+776.19%)
Mutual labels:  bluemix, ibmcode
global-citizen
WARNING: This repository is no longer maintained ⚠️ This repository, which contains assets to run a Hyperledger Composer application, is not being actively maintained due to a shift to focus on Hyperledger Fabric. This repository will not be updated. The repository will be kept available in read-only mode.
Stars: ✭ 54 (+157.14%)
Mutual labels:  ibmcode, call-for-code
Kubernetes Container Service Gitlab Sample
This code shows how a common multi-component GitLab can be deployed on Kubernetes cluster. Each component (NGINX, Ruby on Rails, Redis, PostgreSQL, and more) runs in a separate container or group of containers.
Stars: ✭ 240 (+1042.86%)
Mutual labels:  bluemix, ibmcode
powerai-vision-object-detection
Use deep learning to create a model and a REST endpoint to allow your app to detect, locate and count your product on store shelves
Stars: ✭ 93 (+342.86%)
Mutual labels:  ibmcode, call-for-code

Read this in other languages: 中国.

Banking Digitalization using Hybrid Cloud with IBM Z.

The following journey will introduce the available Banking APIs published on IBM Cloud with logical business programs running on the IBM Z mainframe through a simulated retail bank called MPLbank.

MPLbank

Architecture

This journey accesses a fictitious retail banking system called MPLbank. MPLbank integrates an Account Management System, a Payment Hub (not shown in the schema), a Customer Management System and a Financial Risk Management System. On top of these components, an API layer hosted in IBM Cloud has been set up to deliver a banking API, and make them reachable from all kind of applications.

alt text

Published banking API includes:

  • /customers/ operation path calls the Customer Database services in MPLbank.
  • /accounts/ operation path calls the Account Management System services in MPLbank.
  • /customers/loan/ operation path calls the Financial Risk Management System service in MPLbank.

The Customer Database System and Financial Risk Management System expose services through built-in REST/JSON interfaces. In front of the Account Management System, IBM z/OS Connect EE has been set up to create REST/JSON Interfaces from COBOL programs running in CICS. As a result, these 3 sub-systems are flexible and reachable using REST/JSON APIs. These sub-systems act as micro-services by delivering REST/JSON interfaces and IBM API Connect acts as an API layer to manage a unique and final set of banking REST/JSON APIs. The resulting hybrid architecture approach enables the best of both worlds and builds a fast and secure API Economy.

More information about data in MPLbank Readme.

The objectives of this journey are to discover, test and use this Banking API using a sample banking application, then enhance it using IBM Cloud.

Included components

The journey is accomplished by using a Hybrid IBM Cloud / IBM Z Mainframe architecture.

More information about Technologies in MPLbank Readme.

Steps

Part A: Discover and test the banking API

  1. Start with the API Developer Portal
  2. Subscribe to the banking API
  3. Work with the banking API

Part B: Make your own banking application

  1. Download and review the banking application code
  2. Run the banking application

Part C: Extend the banking application in Cloud

  1. Start with Node.js on Cloud

EXTRA : Start with Internet Of thing and the banking API


Part A: Discover and test the banking API

1. Start with the API Developer Portal

  1. Sign up for an IBM ID if you don't have one already.

  2. Go to the API Developer Portal.

  3. Create an account if you have not done that already. alt text

    • Click Create an Account.
    • Provide all required information. Be sure to use your IBM ID (email address) for this account.
    • Click Submit.

    An account activation email will be sent to your registered IBM ID email. Click on the link in this email to activate your account.

  4. Login to your account.

  5. Create a new application. alt text

    • Click Apps from the menu.
    • Click Create new App.
    • Fill in all required fields.
    • Click Submit.

    Make a note of the client ID and client Secret. You will need them to access the API later. alt text

2. Subscribe to the banking API

  1. Before working with the banking API, you need to subscribe to it first. Display the list of available API products. alt text

    • Click API Products from the top menu.
    • Click Banking Product in the list.
  2. Subscribe to the Banking API. alt text

    • Click Subscribe to the Default Plan.

    alt text

    • Select the App that you have just created before.
    • Click Subscribe.

3. Work with the banking API

  1. Go to the Banking API page. alt text

    • Click Banking APIs.

    This page has 3 sections:

    • The left panel is the navigation panel that lists all the available operations and their definitions.
    • The middle panel displays detail information for the item you have selected.
    • The right panel contains sample code in various programming languages.
  2. Discover the operation GET /customers/{customerID} by reading its documentation. alt text

    • Click GET /customers/{customerID}.

    This operation gives personal data relative to a banking customer. All available customers ID are in the /identifier/customerIDs.txt file in this Github repository.

  3. Generate code for the operation GET /customers/{customerID} following the right panel of this operation. alt text

    • Click a programming language that you want to work with.

    Sample code for the selected programming language and an example output of a successful response are displayed. You can copy the code and use it in your own application.

  4. Test the operation GET /customers/{customerID} in your programming language.

    alt text

    • Scroll down to the Try this operation section.

    IMPORTANT: All available customers ID are in the /identifier/customerIDs.txt file in this Github repository. Do not forget to fill the x-ibm-client-id and x-ibm-client-secret with yours.

    • Click Call Operation.

    You should see the returned output at the bottom of the page.

    alt text

  5. Replay this scenario in order to test all operations in this banking API. Other operations input parameters can be found in the JSON output of the GET /customers/{customerID} operation request.


👍 Congratulations! You have successfully discovered and tested the banking API.


Part B: Make your own banking application

A quick banking application has been developed in order to help you to start coding. This web application (HTML/CSS/Javascript) uses the banking API introduced before.

1. Download and review the banking application code

  1. Download and import the project bankingApplication located in this Github repository into your preferred IDE like Eclipse. alt text

    • Either click on Download ZIP
    • Or use Git Command :

    git clone https://github.com/IBM/banking-digitalization-using-hybrid-cloud-with-mainframes.git

  2. Review the index.html file in order to understand how it is working.

  3. Review the bankingAPI.js file in order to understand how the script works. alt text

    • Change the customer ID if needed. It has been hardcoded for this sample code.

    NOTE: You can change the customer identifier through the identifier folder in this Github repository. 1000 customers have been generated, meaning it represents 1000 different banking customers.

    • Replace IBM_CLIENT_ID and IBM_CLIENT_SECRET variables by yours and save the file.

2. Run the banking application

  1. Open the index.html in your favorite web browser. The application will automatically run.

    NOTE: There is no need to compile JS/HTML/CSS from any IDE! Just edit those files in the IDE and refresh the index.html in the web browser (or Ctrl + F5 shortcut key) to reload this web application.

    alt text

  2. Click on the button Click here to load a banking customer profile. alt text

    This will call the published operation GET /customer/{customerID}.

  3. Understand the output JSON response from this operation call.

  4. Call each other services in the sample banking application. Each service matches a published banking operation:

    • Customer contract
    • Banking Account - Balance Inquiry
    • Banking Account - Transaction Inquiry
    • Banking Account - Detail

👍 Congratulations! You have successfully developed your first banking application.


Part C: Extend the banking application in Cloud

1. Start with Node.js on Cloud

  1. Sign up or login to IBM Cloud

    NOTE: Use IBM Cloud to create, test and deploy a quick application. Choose among JAVA Liberty Profile, Node.js servers, Ruby, Python, etc. This platform also provides DevOps tools for a continuous delivery (Git, automatic deployment) and a lot of innovative features and services.

  2. Go to the navigation menu and go to Cloud Foundry.

    alt text

    alt text

  3. On the Cloud Foundry screen, inside Public Applications box, click on the Create button alt text

  4. Configure your Node.js project. On the Configure Resource menu alt text

    • Select "SDK for Node.js"
    • Provide an App name.
    • Click Create.
  5. Wait for the Node.js Runtime creation.

  6. Once created, explore this panel to be familiar with it. alt text

    • Install IBM Cloud CLI on your workstation
    • Click Visit App URL. The default Node.js Project (Hello World) has been provided.
    • Explore each menu on the left panel to understand the Runtime, connections, logs, etc.
    • Read the Getting Started.
  7. Clone the project from Git https://github.com/IBM-Cloud/get-started-node.git

  8. Edit the cloned Hello World sample application on your laptop to integrate the Financial application files:

    • Copy the js folder from the financial application into the views folder.
    • Remove the views/stylesheets* folder to delete the default CSS style.
    • Copy the css folder from the financial application into the views folder.
    • Replace the index.html from the financial application to the views folder.
    • Edit the manifest.yml to change the app name and delete the random route line. The new app name should be the "App name" provided at step 3 in lower cases (another name will create a new Node.js instance). alt text
  9. Re-Deploy the new code to the Node.js Runtime in Cloud using the ibmcloud commands you read in step 6 and followings commands:

    • "ibmcloud cf install"
    • "ibmcloud login" or "ibmcloud login -sso"
    • "ibmcloud target -g default"*
    • "ibmcloud target --cf"
    • "ibmcloud cf push" (ignore messages "Failed to retrieve logs ")
  10. Re-Click Visit App URL on Cloud. alt text

The banking application is now hosted in Cloud and use the banking API.


👍 Congratulations! You have successfully developed your first banking cognitive application in Cloud.


  1. You can remove your server.
    • Click on the navigation menu
    • Select Resource List
    • Expand "Cloud Foundry Apps"
    • Click on the dots at the end of the line of your server and choose "Delete". Accept route removal warning.

License

This code pattern is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.

Apache License FAQ

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].