![]() The save-check-images action downloads the check image and puts two resized copies (50% and 25% scaled) into an archive CouchDB database and the original in an audit database. For each file found, it invokes the save-check-images action asynchronously, which processes them in parallel. This find-new-checks action queries the object storage service. (An alternative implementation should use an OpenStack Swift webhook to push this event instead of polling). Primary workflowĪ mobile app user or teller at a bank branch scans a check and puts the image into an object storage service (the incoming container) named with the customer email, deposit to account, amount of the check, and timestamp encoded in the file name, for example, poll-for-incoming-checks trigger invokes the find-new-checks action every 20 seconds to poll the object storage service for new check images. ![]() This shows both the polyglot nature of OpenWhisk, as well as the ability to package any arbitrary program, as is needed in this case to leverage an OCR library. One of the actions is written as a shell script and packaged in a Docker container. Most of the actions are written in JavaScript using the default Node.js version 6 environment on Cloud Functions. When new checks are detected a workflow downloads, resizes, archives, and reads the checks then it invokes an external system to handle the transaction. This project uses a set of actions and triggers linked by rules to process images that are added to an object storage service. Retail bank deposit processing with OpenWhisk Apache CouchDB (IBM Cloudant on Bluemix).Apache OpenWhisk via IBM Cloud Functions.Other storage services could include FileNet or Cleversafe. On-premises, it could use Apache CouchDB and OpenStack Swift. It is currently built on the public Cloud Functions service and relies on Cloudant and SoftLayer Object Storage. You'll also need a Bluemix account and the latest OpenWhisk command line tool ( wsk) installed and on your PATH. If not, try the action, trigger, and rule demo first. You should have a basic understanding of the OpenWhisk programming model. Furthermore, it demonstrates a use case where polyglot development is applied in order to package an third-party C library for OCR as an action. It also highlights a few OpenWhisk development concepts, which include rules, triggers, sequences, and invoking actions from other actions directly. You can also see a deeper dive and extended demo with the Tech Talk replay. You can learn more about this scenario in the IBM Code blog post and associated Code Pattern. This sort of use case is ideal for a serverless architecture because it addresses compute-intensive and highly elastic payday deposit processing where the workload spikes for one particular timeframe every two weeks. This project demonstrates serverless technology - powered by Apache OpenWhisk with IBM Cloud Functions - in the context of a retail banking scenario where deposited checks are processed digitally (such as through a mobile banking app) using optical character recognition (OCR). Serverless check deposit processing with Apache OpenWhisk on IBM Cloud Functions
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |