Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
Persistent Systems Limited
3rd and 4th, October 2017 [NTR Administration Block, 3rd Floor, Room No. – 3 ]
Government of Andhra Pradesh
ePragati - Hackathon Solution
2© 2017 Persistent Systems - Confidential
Hackathon Team
Understanding Problem Statement
Hackathon Engineering Process Planning – Agile SAFe
Milestone-1
Requirement Analysis
Data Model, Dimensions
Technical Architecture and Design (JADR)
Key Value/Functionality Mapping
Identify Best Practices
Architecture & Design Review Checklist from JADR Perspective
Citizen Centricity – Identify 1st Use Case
Milestone-2
Requirement Checklist Creation
Kanban Boarding
Sample Screenshots
Citizen Centricity – Implement 1st Use Case
Citizen Centricity – Identify 2nd Use Case
Data Preparation and Readiness for Analytics
Table of Contents
Milestone-3
Kanban Boarding
Actors Finalized (People/Processes/Systems/Bots)
Sample Screenshots
Milestone-4
Factors considered during Development
Minimum Viable Product Factors
Outcomes
Artifacts Submitted
Key Learnings
Compliance for Outcome and Application Configurability Check
Innovation Matrix
Evidences for 100% Application Configurability Checks
3© 2017 Persistent Systems - Confidential
NOTE – this document not only covers the Hackathon Solution, but it also helps demonstrate
- The SAFe /Agile methodology followed during the Hackathon - How team achieved 100% compliance to the requirements- And innovations achieved at different stages
Software 4.0 (Agile SAFe) for Hackathon Release Cycle – Coordination & Execution
Activity & Tasks, Source Code Management, Collaboration - GitHub, Kanban BoardQuality Management – Appian TDD, Share Insights Automation Framework
Build & Release - Jenkins
Sandbox
Engineering Hub
Continuous capture of Logs, Screenshots of all activities, including Design, Develop, Test, Deploy, Change/Enhance
Delivery Hub
Challenge,Brainstorming,
Solution Approach, Design,
Release Planning
Milestone 112:00 Noon
Milestone 2 (6 hours)6:00 PM
Milestone 4Next Day –
5:30 PM
Develop + QA + Operate(DevOps)
Regression, Release, Video Recording
UAT
Discover, Define Develop, Delivery, Operate Optimize
Develop + QA + Operate(DevOps)
Demo
Milestone 3 (6 hours)Next Day – 12:00 Noon
Snapshot
Activity & Tasks, Source Code Management, Collaboration - GitHub, Kanban BoardQuality Management – Appian TDD, Share Insights Automation Framework
Build & Release - Jenkins
Sandbox
Engineering Hub
Continuous capture of Logs, Screenshots of all activities, including Design, Develop, Test, Deploy, Change/Enhance
Delivery Hub
Challenge,Brainstorming,
Solution Approach, Design,
Release Planning
Milestone 112:00 Noon
Milestone 2 (6 hours)6:00 PM
Milestone 4Next Day –
5:30 PM
Develop + QA + Operate(DevOps)
Regression, Release, Video Recording
UAT
Discover, Define Develop, Delivery, Operate Optimize
Develop + QA + Operate(DevOps)
Demo
Milestone 3 (6 hours)Next Day – 12:00 Noon
Data Model, DimensionsStudent StudentMarks
SrNo StudentParent SrNo StuentBankAccount
Name SrNo UID SrNo
UID UID Sub1 UID
Gender ParetName Sub2 BankName
Category Relation Sub3 AccountNumber
LoginTime Income Medium
NativePlace
SeatReservConfig
Quota FeeConfig EnggFeeMaster ColllegeSeat CollegeMaster
Category Quota Quota SrNo SrNo
Gender Category Branhc CollegeId CollegeNmae
Percentage Gender Categroy Quota City
Concession Fees Branch TotalSeats
Total Branch1
Allocated Branch2
Available Branch3
Branch4
Branch5
CollegeId
Source Tables DerivedTables
Student STUDENT_DETAILS
StudentParent
StudentMarks
StudentBankAccount
SeatReserveConfig DIM_QUOTA_CATEGOGY_GENDER
FeesMaster
FeesConfig
CollegeSeat DIM_COLLEGE
CollegeMaster
Based on Persistent’s proven digital framework for scale, agility, extensibility
Core platform deployment and integrations at speed
Low-Code components for rolling out e-Services faster
Minimum 3rd Party COTs
Support for Indian Languages
Ability to monetize APIs
Re-usability
Support for futuristic capabilities such as ML, AI, HMI, Blockchain, RPA
Key Solution Principles
CMS
Digital Experience Platform for Speed and Scalability
12
Web Mobile Point of Service
Devices and Things
CitizensGovt
EmployeesAffiliatesBusinesses
Digital Abstraction – Standardized API Layer and Management
Experience Framework
Experience
EMRs
ERP
SaaSSaaS
BackendServices
CuratedData
Identity
ESB/SOAServices
ExistingData
Analytics
CloudServices
Integration
Data & Integration
IIS Web Server
MySQL Business Database
JDBC
System Integrations
HTTPS(REST/SOAP)
Message Bus
Mail ServerSMTP
More Connectors
Web APIs
iOS Android Browser Admin Console
Hortonworks Data Platform
YARN Hive Spark
Data Lake Cluster
Python Connector
Talend
Responsive Browser
JavaScript OLAP
Widgets(High
Charts)
Insights / Dashboard
HTTPS
HTTPS
HTTPS
High volume data ingestion
Jetty
PSL LIMA Bot Server
Bot Knowledge Repository
Java HTTP Server
Govt Services
Social Media
Amazon Alexa
Google Home
Intelligent Assistants
HTTPS
HTTPS HTTPS
Lambda Functions
HTTPS
HTTPS
Hackathon Technical Architecture and Solution Design that Inherits broader Enterprise Architecture Vision
RDMBS SQL Lite
Nginx + Flask
Code Gen Engine
Connectors
ShareInsights Web + App Server
Secured Data Abstraction LayerShareInsights DS API
JBoss App Server
Secured Data Abstraction LayerAppian
Appian Engine
Smart Services Interface
BusinessProcesses
Department DR Database
IIS Web Server
JBoss App Server
MySQL Business Database
Secured Data
Abstraction Layer
Appian Engine
JDBC
System Integrations
HTTPS(REST/SOAP)
Message Bus
Mail ServerSMTP
More Connectors
Web APIs
iOS Android Browser Admin Console
Hortonworks Data Platform
YARN Hive Spark
Data Lake Cluster
Python Connector
Nginx + Flask
Code Gen Engine
Connectors
Talend
Responsive Browser
JavaScript OLAP
Widgets(High
Charts)
Insights / Dashboard
ShareInsights Web + App Server
HTTPS
HTTPS
HTTPS
High volume data ingestion
Jetty
PSL LIMA Bot Server
Bot Knowledge Repository
Java HTTP Server
Govt Services
Social Media
Amazon Alexa
Google Home
Intelligent Assistants
HTTPS
HTTPS HTTPS
Lambda Functions
HTTPS
HTTPS
Smart Services Interface
BusinessProcesses
Key Value/Functionality Mapping to Hackathon Technical Architecture
RDMBS SQL Lite
Data Lake
Central Data Store
Business IntelligenceAnalyticsInsights
DepartmentDashboard
Visualizations
Student Admission Business Process Execution
Secured Data Abstraction Layer
Admission Process Data Store
External Systems
Connectivity
MessagingREST/SOAP
APIs,…
Channels
Govt Services forConvenience & Inclusiveness
Smart POS Touchpoints
Social
Citizen Centricity Enablement
16© 2017 Persistent Systems - Confidential
Best Practices Identified from JADR PerspectiveSr No. Solution Requirement Aspects Best Practices
1 Ease of Design Process, Personas, Common Data Model & Dimensions, Common Solution Checklist covering expanded understanding of functional and non-functional Requirements, User FAQ, Innovations identified in Milestone-1
2 Ease of Development Use Appian and Share Insights Drag & Drop, Test Driven Development Framework, Common Re-Usable Email/SMS OTP components, Reuse Twitter, Facebook, Google Maps/Leaflet Maps Integration; Common APIs prioritized
3 Ease of Deployment Use Appian 2-click Deployment, Leverage GitHub, Jenkins, Share Insights Automation Framework
4 Ease of Change/ Enhancement Change in Appian and Share Insights achieved through drag & drop. Versioning in Appian allows for easy switch over to previous / next functionality. Forking ofdashboards in Share Insights allows similar features.
5 Data privacy Share Insights Data Security Framework (User Roles based Access, Sensitive Data Encryption in Hortonworks), HTTPS compliance
6 Multi department data exchange API Achieved through Share Insights Upload API that accepts data and External Data API that provides data along with authentication/HMAC based access either way
7 External Data API access External Data API available from Share Insights with role based access
8 Legacy Application Integration API exposed for legacy applications to hook into workflow (demonstrated through twitter – trigger workflow and send back updates on twitter), Upload API for Share Insights available for departments to share Data in CSV format
17© 2017 Persistent Systems - Confidential
Architecture & Design Review Checklist from JADR Perspective
Architecture & Design Review Concern Compliance
Is the overall organization of the program clear, including a good architectural overview and justification? Yes
Are modules well defined, including their functionality and their interfaces to other modules? Yes
Are all the functions listed in the requirements covered sensibly, by neither too many or too few modules? Yes
Is the architecture designed to accommodate likely changes? Yes
Are necessary buy-vs.-build decisions included? Done at EA level
Does the architecture describe how reused code will be made to conform to other architectural objectives? Yes
Is the database organization and content justified? Yes
Is a strategy for handling user input described? Are key aspects of the user interface defined? Yes
Does the architecture set space and speed budgets for each module? Yes
Are the major system goals clearly stated? Yes
Does the whole architecture hang together conceptually? Yes
Does design take care of 3rd party App integrations? Yes
Is design going to enable low code productivity? Yes
Citizen Centricity : User FAQsFAQ for Student Admission Process
Actor: Student
Que What is the registration process
Ans
You have to go to the student admission website and click on Register here. You need to enter your First Name, Last Name, Mobile Number and Email ID. After entering these details you
will get SMS or Email for further notification for activation.
Que What are the required document do I need to produce to get the admission?
Ans The Student has to upload the Rank Document, Inter Mark Sheets, and Identification Document (Government issued) along with the parent Identification proof.
Que How do I select branch?
Ans Before you select the branch, you have to enter the Rank and College Name in which you want admission.
Que Why do I see many colleges in Contextual Help?
Ans
Colleges may be listed out depending on the preferred groups that you have applied, depending on your nearest location with your Geographic origin by applying the NAC or AICTE
ranking a suggestion.
Que I received SMS and Email, what do I do with it?
Ans You might have get SMS or Email regarding on confirmation of registration process, further notification to admission process. Please follow the instructions in the SMS or Email.
Snapshot
Activity & Tasks, Source Code Management, Collaboration - GitHub, Kanban BoardQuality Management – Appian TDD, Share Insights Automation Framework
Build & Release - Jenkins
Sandbox
Engineering Hub
Continuous capture of Logs, Screenshots of all activities, including Design, Develop, Test, Deploy, Change/Enhance
Delivery Hub
Challenge,Brainstorming,
Solution Approach, Design,
Release Planning
Milestone 112:00 Noon
Milestone 2 (6 hours)6:00 PM
Milestone 4Next Day –
5:30 PM
Develop + QA + Operate(DevOps)
Regression, Release, Video Recording
UAT
Discover, Define Develop, Delivery, Operate Optimize
Develop + QA + Operate(DevOps)
Demo
Milestone 3 (6 hours)Next Day – 12:00 Noon
Requirement Compliance Checklist is preparedActor Workflow Functionality
Covered
Admission Panel1,2; College Admin Non-Student Registration, Email/SMS Verification To be filled
Student Student Registration, Email/SMS verification To be filled
Student Student Log IN, Workflow Instructions To be filled
Student Student Eligible Branch List & UID generation for Application (Application UID) To be filled
Student Student Contextual Help To be filled
Student Student Legal/Privacy Policy Compliance (from CMS) To be filled
Student Student Upload Education Qualifications - Rank, Inter Marks Sheet (to DMS) To be filled
Student Student Upload Govt ID - Self, Parent Identification (to DMS) To be filled
Admission Panel1 (Govt ID Verification) AP1 verifying Govt ID - Que, Doc from DMS, Y/N/Query-to-student, Notify Student & AP2 To be filled
Admission Panel2 (Education Qualification Verification)
AP2 verifying Educational Quals - Que, Doc from DMS, Y/N/Query-to-student, Notify Student & College Admin, Sync College and Central DBs
To be filled
College Admin College Admin payment-pending, notification-pending Que - send notification with fee structure To be filled
Student Payment reminder (every 4 hours).Cancellation of Application UID (if not paid in 24 hours). To be filled
Student Payment link accessible through Application UID - College, Branch, Start Date, Own Communication details, College Contact person's details. Payment channels, Payment confirmation. Admission Conformation.
To be filled
College Admin College Admin payment-pending, notification given Que - check payment status, Non-digital payment confirmation. Admission conformation.
To be filled
Finance Department Daily Report (in email, accessible in Audit DMS through link) - Total admissions done in previous day, college codes, names, total fee credited
To be filled
Audit Department Daily Report (in email, accessible in Audit DMS through link) - Total admissions done in previous day, college codes, names, total fee credited
To be filled
Citizen Centricity : Innovative Dashboards Design
College Finder (before application process) Student Goal Prediction (for aspiring junior students)
Data Preparation and Readiness for Analytics : Data for Pivot-Quota-Category-Gender-Logic
Qouta General 60 Quota Category Gender Percentage
Qouta Management 40 General SC Female 2.9997
Gender Female 33.33 General ST Female 1.19988
Category SC 15 General BC-A Female 1.39986
Category ST 6 General BC-B Female 1.9998
Category BC-A 7 General BC-C Female 0.19998
Category BC-B 10 General BC-D Female 1.39986
Category BC-C 1 General BC-E Female 0.79992
Category BC-D 7 General Physically handicapped Female 0.59994
Category BC-E 4 General NCC, Sports & Extra curricular activities Female 0.9999
Category Physically handicapped 3 General Ex-service men & defence personnel residing in the
State Female 0.59994
Category NCC, Sports & Extra curricular activities 5 General SC Male 6.0003
Category Ex-service men & defence personnel residing in the State 3 General ST
Male 2.40012
General BC-A Male 2.80014
General BC-B Male 4.0002
General BC-C Male 0.40002
General BC-D Male 2.80014
General BC-E Male 1.60008
General Physically handicapped Male 1.20006
General NCC, Sports & Extra curricular activities Male 2.0001
General Ex-service men & defence personnel residing in the State Male
1.20006
General OC Male 15.60078
GEneral OC Female 7.79922
Management SC Female 1.9998
Management ST Female 0.79992
Management BC-A Female 0.93324
Management BC-B Female 1.3332
Management BC-C Female 0.13332
Management BC-D Female 0.93324
Management BC-E Female 0.53328
Management Physically handicapped Female 0.39996
Management NCC, Sports & Extra curricular activities Female 0.6666
Management Ex-service men & defence personnel residing in the State
Female 0.39996
Management SC Male 4.0002
Management ST Male 1.60008
Management BC-A Male 1.86676
Management BC-B Male 2.6668
Management BC-C Male 0.26668
Management BC-D Male 1.86676
Management BC-E Male 1.06672
Management Physically handicapped Male 0.80004
Management NCC, Sports & Extra curricular activities Male 1.3334
Management Ex-service men & defence personnel residing in the State
Male 0.80004
Management OC Male 10.40052
Management OC Female 5.19948
100
Snapshot
Activity & Tasks, Source Code Management, Collaboration - GitHub, Kanban BoardQuality Management – Appian TDD, Share Insights Automation Framework
Build & Release - Jenkins
Sandbox
Engineering Hub
Continuous capture of Logs, Screenshots of all activities, including Design, Develop, Test, Deploy, Change/Enhance
Delivery Hub
Challenge,Brainstorming,
Solution Approach, Design,
Release Planning
Milestone 112:00 Noon
Milestone 2 (6 hours)6:00 PM
Milestone 4Next Day –
5:30 PM
Develop + QA + Operate(DevOps)
Regression, Release, Video Recording
UAT
Discover, Define Develop, Delivery, Operate Optimize
Develop + QA + Operate(DevOps)
Demo
Milestone 3 (6 hours)Next Day – 12:00 Noon
Snapshot
Activity & Tasks, Source Code Management, Collaboration - GitHub, Kanban BoardQuality Management – Appian TDD, Share Insights Automation Framework
Build & Release - Jenkins
Sandbox
Engineering Hub
Continuous capture of Logs, Screenshots of all activities, including Design, Develop, Test, Deploy, Change/Enhance
Delivery Hub
Challenge,Brainstorming,
Solution Approach, Design,
Release Planning
Milestone 112:00 Noon
Milestone 2 (6 hours)6:00 PM
Milestone 4Next Day –
5:30 PM
Develop + QA + Operate(DevOps)
Regression, Release, Video Recording
UAT
Discover, Define Develop, Delivery, Operate Optimize
Develop + QA + Operate(DevOps)
Demo
Milestone 3 (6 hours)Next Day – 12:00 Noon
Loose Coupling of the Services, extensibility, and high availability.
Please refer the Technical Architecture and Design Review slides in Milestone 1
Use of the Multiple databases with data in sync (Data Integrity) – Data Abstraction Layer
IIS Web Server
Database Location-1
JDBC
Web APIs
HTTPS
HTTPS
JBoss App Server
Secured Data Abstraction LayerAppian
Appian Engine
Smart Services Interface
BusinessProcesses
Database Location-2RDMBS SQL Lite
Hive Database
Nginx + Flask
Code Gen Engine
Connectors
ShareInsights Web + App Server
Secured Data Abstraction LayerShareInsights DS API
HTTPS
Python Connector
Data Lake Services Business Process Management Services
Technical Architecture JADR document with communication protocol
Please refer the Technical Architecture and Design Review slides in Milestone 1
Artifacts Submitted
• Solution/JADR Presentation, including milestone reports (this document)
• End of Day Machine Event Logs – Day1 and Day 2
• End of Day Server Logs – Day1 and Day 2
• Screenshots – Design, Development, Test, Deployment, Changes
• Documentation – Admin Guide, User Guide, Release Notes
• Demonstration Video
• Application Configurability Checks Screenshots
Key Learnings
•Proposed e-Pragati platform will be a vehicle to take AP “ Digital by Default” regime
• This can be only achieved through proposed proven digital platform blueprint
• Design is all about working platform
• Bringing Dynamic , Inclusive and Analytics driven Governance
•Speed is the key concern of the current government for rolling out e-Services
• The only solution to this is fastest and easiest (low code) solution development platform
•For e-Service take-up ( Take off ) it is essential to achieve citizen centricity through simple interface
• By supporting all government-citizen (G2C) interfaces through local language support
• By delivering unique experience through web, mobile, Kiosk, social, chatbots, intelligent voice assistants such as Amazon Alexa, Google Home
• Address multiple development missions through common investment
• This can be achieved through highly scalable and robust futuristic digital architecture
• Digital Transformation of the state through one information highway
Final Outcome and Configurability Checks – 100% Achieved
Final Outcome Checklist
Actor Workflow Status
Admission Panel1,2; College Admin
Non-Student Registration, Email/SMS Verification
Student Student Registration, Email/SMS verification
Student Student Log IN, Workflow Instructions
Student Student Eligible Branch List & UID generation for Application (Application UID)
Student Student Contextual Help
Student Student Legal/Privacy Policy Compliance (from CMS)
Student Student Upload Education Qualifications - Rank, Inter Marks Sheet (to DMS)
Student Student Upload Govt ID - Self, Parent Identification (to DMS)
Admission Panel1 (Govt ID Verification)
AP1 verifying Govt ID - Que, Doc from DMS, Y/N/Query-to-student, Notify Student & AP2
Admission Panel2 (Education Qualification Verification)
AP2 verifying Educational Quals - Que, Doc from DMS, Y/N/Query-to-student, Notify Student & College Admin, Sync College and Central DBs
College Admin College Admin payment-pending, notification-pending Que - send notification with fee structure
Student Payment reminder (every 4 hours).Cancellation of Application UID (if not paid in 24 hours).
Student Payment link accessible through Application UID - College, Branch, Start Date, Own Communication details, College Contact person's details. Payment channels, Payment confirmation. Admission Conformation.
College Admin College Admin payment-pending, notification given Que - check payment status, Non-digital payment confirmation. Admission conformation.
Finance Department Daily Report (in email, accessible in Audit DMS through link) - Total admissions done in previous day, college codes, names, total fee credited
Audit Department Daily Report (in email, accessible in Audit DMS through link) - Total admissions done in previous day, college codes, names, total fee credited
Application Configurability Checklist
Statement Status
Vacant versus Occupies based on Category change
Weightage of allocation to female 100%
Ex Service Man check
After admissions college closed – students to be adjusted in nearest colleges
After 3 months, increase in quota .. first preference accommodation for second students admitted in second preference
Any abnormalities in Any Bank Account Information
Based on data … auto admission process is triggered
Concession percentage changed
New Category added BC-F… percentage changes applied
UI Validations
Multilingual, SSO validation Omni Channel
Race Condition check for only 1 seat left two concurrent students applying
In between process, connection drops, the APP has to restart where stopped
Reusable APIs catering to two different functionalities
Innovation Matrix – examples
Innovations Process Suggestions / Amendments Integration Component Reuse
ProcessEfficiency
Finance, Audit departments interface through email; Twitter based registration and notification; Form-in-Outlook
Leaflet Map Library Integration Python scripts that automatically generate data-as-a-service APIReusable APIs, etc.
Process Effectiveness
College Aspiration Prediction Dashboard, College Finder Dashboard, Facebook Chatbot FAQ; Voice Chatbot FAQ; Telugu UI; Speech-to-text on mobile;
Digi locker (simulated); Govt ID verification (simulated); Payment-gateway integration (simulated)
Arima/Polynomial algorithm for prediction in R, wrapped in Python scriptsThrough Business Process Design
Process Compliance
Email/SMS OTP VerificationsAadhar based verification
NAAC list (Jan-17) External Data Ingestion
Nginx Access Logs generator, Flask User Info Log generator
Rapid Development
Data Lake Explorer (used to explore multiple datasets and identify quick data insights)BPM Process / rules / API rapid development usage
Twitter integration, HighChartsIntegration
Share Insights Out-of-boxWidgets and Tasks, Forking dashboards for incremental development; Drag & Drop
Rapid Deployment
Already covered in platform components Pythion scripts for Spark code generator, Python scripts for Web-Backend Code generator, HTML/Java script code generator
Vacant versus Occupied based on Category ChangeDynamic Calculation of the Fee structure, Gender Check
After admissions College closed
After admissions College is closed, the admitted students have to be adjusted in the nearest college of the student origin
After 3 months of admissions increase in College seats
After 3 months of admission the Government increases the Quota of the branches in certain colleges, based on the preference if student is admitted in the second preference, if first preference branches are increased, option of revisiting / reallocation of the first preference branch has to be accommodated.
Any Abnormalities in Any Bank Account Information
Duplicate Bank Accounts for Students
Bank Name and Accounts Information mismatch
Auto Admission processBased on the Data (Interboard provides along with Percentage of the marks of main subjects MPC, and rank is mapped to the student) with a click of Button the admission process with all rules remaining the same, Auto Admission process is triggered.
New Category is added (for reservation)
New Category is added BC-F, percentage for one category has to be decreased and the same will be applied (BC-A 3%, BC-B 2%), BC-F will be 5%
UI Validations
(We demoed validations by adding minimum 5 characters check in runtime, also changed the limitation on number of branches selected from 3 to 5 branches in run time)
Multilingual, SSO validation on Omni Channel
(We have showcased multi-lingual in web and multi-lingual along with speech-to-text in Telugu entries in native mobile APP. SSO across web and mobile APP. We have also showcased multi-channel integration such as Twitter, Chatbot on Facebook and Alexa bot)
(For Facebook chatbot, please refer to Milestone 2 slides)
Multilingual, SSO validation on Omni Channel - 2
(We have showcased SSO capabilities of Appian – screenshots below)
Race Condition Check
Race condition check, for only seat left two concurrent Student applying for the same condition
Connection dropIn between the process, the connection drops, the APP has to restart at from the state where the connection has dropped