SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Full-stack JavaScript based
micro-services for complete
automation of Higher Education
Institutions (HEIs)
Arun kumar Krishnamoorthy
Software Technologies
Thinking Big in JavaScript
Your Footer Here 2
• Increased
Tooling
across dev
life cycle
• Abundance
of
frameworks
across value
chain
 Richer Language
Features
 More reliable,
better
performing
server-side
middleware
2 Biggest Motivations of using
JavaScript across layers
10 Jan 2019 https://jsfoo.in/2019-pune/ 3
• Open
source for
life time
 One core
technology
across layers
Functions of Higher Education
Institution
10 Jan 2019 https://jsfoo.in/2019-pune/ 4
Admissions
Application
Ranking and
Selection
Admissions
Process
Students
Management
Profile
Life cycle
Student
Services
Curriculum
Design
Programmes
and Scheme
Detailed
Syllabus
Review and
Publish
Faculty and
Staff
Management
Profile
Faculty
Services
Performance
Reporting &
Awards
Functions of Higher Education
Institution
10 Jan 2019 https://jsfoo.in/2019-pune/ 5
Fees
Collection
Accounting
Structure
Fee
Components,
Structure
Fee Collection
and tracking
Academic
Administration
Calendar,
Workloads,
Attendance
Assessments,
Outcome
Attainment
Academic
Activities, IQAC
Examination
Enrollments,
Exam Fees
Exam Calendar,
Seating, Hall
ticket
Evaluation,
Outcome,
Results
Placements
Company
database
Placement
Schedule,
Student select
Interview
process, Status
tracker
Functions of Higher Education
Institution
10 Jan 2019 https://jsfoo.in/2019-pune/ 6
Events
Co-curricular
and Extra-
curricular
Agenda,
Gallery, Write-
up
Registrations,
ticketing
Grievance
/ Feedback
Authorities for
redressal
Logging and
tracking
Escalation
rules
Alumni
Alumni
Database
Periodic News
letter
Posts,
Collaboration
for a cause
Hostels
Requests and
Room
Allotments
Fees, Caution
Deposit, Mess
Bills
In-out tracker,
approval,
notifications
Functions of Higher Education
Institution
10 Jan 2019 https://jsfoo.in/2019-pune/ 7
Showcase
through a
dynamic,
engaging
Website
Awards
Events
Courses
Infra
Characteristics of the Problem
Domain
• Well-defined, well-managed and controlled functions
• Clear ownership of data
• Ex. Admissions, Students enrollments, Programme scheme
and syllabus
• Predictable peak, average workloads
• Ex. last date of applications, results announcements, last date
of fees payment, important news / events / announcements
• Inherent data partitions – Transactional in an academic
year, Analytical for historical data
• Deadlines are truly real and availability is very critical
• Ex: Exam dates, fees payment due date, reopening date
Your Date Here https://jsfoo.in/2019-pune/ 8
Architecture Drivers
• Schema less across layers to cater to varying needs
of different fields of Higher Education
• Loosely coupled across functions
• Scale-up / Scale-down independently
• Distributed deployment, cloud agnostic, hybrid
• Open source reducing Total Cost of Ownership
• Shallow learning curve and Rapid prototyping /
development
• Single-sign-on across functions
1/18/2019 https://jsfoo.in/2019-pune/ 9
Design Principles
• Single Responsibility Principle
• Inversion of Control (Dependency Injection)
• Interface over Implementation
1/18/2019 https://jsfoo.in/2019-pune/ 10
Microservice
An architectural style that structures an application
as a collection of services that are
• Highly maintainable and testable
• Loosely coupled
• Independently deployable
• Organized around business capabilities
1/18/2019 https://jsfoo.in/2019-pune/ 11
Microservice
• Enables the continuous delivery/deployment of
large, complex applications
• Enables an organization to evolve its technology
stack
https://microservices.io
1/18/2019 https://jsfoo.in/2019-pune/ 12
JavaScript +
MicroService
To our rescue
A Typical MicroService
• Traditional MEAN Stack
• MongoDB Native Driver
• Auth using KeyCloak
• API based Remoting
• Messaging based Pub / Sub
• Logging – HTTP and Application logging
• pm2 for runtime and process management
• Entry in nginx for routing
• Jenkins Pipeline and Docker
1/18/2019 https://jsfoo.in/2019-pune/ 14
Reusable DAO Layer
• Native MongoDB Driver over Mongoose
• Schema and field validation / restriction moved to
Business Logic Layer
• Flexible data model accommodates varying data model
• Generics in Java Vs Closure in JavaScript
• Link to BaseDao -
https://github.com/arunramkrish/hasgeek-jsfoo-
pune-2019/blob/master/dao/baseDao.js
1/18/2019 https://jsfoo.in/2019-pune/ 15
Auth using Keycloak
• One user realm for all microservices
• One keycloak application client for each
microservice
• User associated to Groups and each group
associated to client specific roles
• Customized login theme with branding
https://www.keycloak.org/docs/3.0/securing_apps/t
opics/oidc/javascript-adapter.html
1/18/2019 https://jsfoo.in/2019-pune/ 16
REST Client for API based
Integration
• Using node-rest-client
1/18/2019 https://jsfoo.in/2019-pune/ 17
Rabbit MQ for Messaging / Event
Bus
• Pub-Sub
• P2P
• Reliable
• Link to npm module for connecting to RabbitMQ
• As a sender
• As a receiver
https://www.npmjs.com/package/event-gateway-psg
1/18/2019 https://jsfoo.in/2019-pune/ 18
Logging
• Effective use of Log levels, log formats, file roll over
on size / date
• Separate logs for disparate use cases
1/18/2019 https://jsfoo.in/2019-pune/ 19
PM2 as Process Manager
• High availability
• Auto-recovery from crashes
• Start-up config with NODE_ENV variable
https://pm2.io/doc/en/runtime/overview/
1/18/2019 https://jsfoo.in/2019-pune/ 20
NGINX
• Routes traffic to different Microservice
• Acts as reverse proxy
• Terminates SSL to use HTTP with Microservice
https://docs.nginx.com/nginx/admin-guide/
1/18/2019 https://jsfoo.in/2019-pune/ 21
Jenkins and Docker
• Delivery Pipeline Automation
• Build versions and auto tagging
1/18/2019 https://jsfoo.in/2019-pune/ 22
PDFKit
• Complete control of PDF
• Text, Images, Fonts, Shapes
• Multiple pages, different page sizes
1/18/2019 https://jsfoo.in/2019-pune/ 23
NativeScript Angular
• Truly native mobile App for Android and iPhone
from a single codebase using single skillset
https://www.nativescript.org/nativescript-is-how-
you-build-native-mobile-apps-with-angular
1/18/2019 https://jsfoo.in/2019-pune/ 24
Thank you
https://github.com/arunramkrish
arunram.krish@gmail.com
@arunramkrish
1/18/2019 25

Weitere ähnliche Inhalte

Ähnlich wie Full stack JavaScript based microservices for HEIs

Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP SlidesXamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP SlidesXamarin
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web FrameworksSarika Jadhav
 
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshService-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshChristian Posta
 
MuleSoft Meetup Valletta 1.0
MuleSoft Meetup Valletta  1.0MuleSoft Meetup Valletta  1.0
MuleSoft Meetup Valletta 1.0Anastasiia Linnas
 
Backend for Frontend in Microservices
Backend for Frontend in MicroservicesBackend for Frontend in Microservices
Backend for Frontend in MicroservicesIRJET Journal
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entityjordigilnieto
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entityToni Jara
 
Cloud service api design rules presentation
Cloud service api design rules presentationCloud service api design rules presentation
Cloud service api design rules presentationesebeus
 
Architecting a Real-World Microservices Architecture and DevOps Strategy on A...
Architecting a Real-World Microservices Architecture and DevOps Strategy on A...Architecting a Real-World Microservices Architecture and DevOps Strategy on A...
Architecting a Real-World Microservices Architecture and DevOps Strategy on A...Amazon Web Services
 
Certified Cloud Computing Specialist (CCCS)
Certified Cloud Computing Specialist (CCCS)Certified Cloud Computing Specialist (CCCS)
Certified Cloud Computing Specialist (CCCS)GICTTraining
 
Updated resume
Updated resumeUpdated resume
Updated resumeArun Kiran
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET Journal
 
Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...eSAT Journals
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET Journal
 

Ähnlich wie Full stack JavaScript based microservices for HEIs (20)

Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP SlidesXamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
 
Cloud Customer Architecture for API Management
Cloud Customer Architecture for API ManagementCloud Customer Architecture for API Management
Cloud Customer Architecture for API Management
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshService-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
 
MuleSoft Meetup Valletta 1.0
MuleSoft Meetup Valletta  1.0MuleSoft Meetup Valletta  1.0
MuleSoft Meetup Valletta 1.0
 
Backend for Frontend in Microservices
Backend for Frontend in MicroservicesBackend for Frontend in Microservices
Backend for Frontend in Microservices
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
 
GauthamRaj_SI_Resume
GauthamRaj_SI_ResumeGauthamRaj_SI_Resume
GauthamRaj_SI_Resume
 
Cloud service api design rules presentation
Cloud service api design rules presentationCloud service api design rules presentation
Cloud service api design rules presentation
 
Architecting a Real-World Microservices Architecture and DevOps Strategy on A...
Architecting a Real-World Microservices Architecture and DevOps Strategy on A...Architecting a Real-World Microservices Architecture and DevOps Strategy on A...
Architecting a Real-World Microservices Architecture and DevOps Strategy on A...
 
CV_Lakshman_Kolluru
CV_Lakshman_KolluruCV_Lakshman_Kolluru
CV_Lakshman_Kolluru
 
Certified Cloud Computing Specialist (CCCS)
Certified Cloud Computing Specialist (CCCS)Certified Cloud Computing Specialist (CCCS)
Certified Cloud Computing Specialist (CCCS)
 
Updated resume
Updated resumeUpdated resume
Updated resume
 
MicroForntends.pdf
MicroForntends.pdfMicroForntends.pdf
MicroForntends.pdf
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...
 
CV_ShobhitPaliwal
CV_ShobhitPaliwalCV_ShobhitPaliwal
CV_ShobhitPaliwal
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming Environment
 
Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service
 

Kürzlich hochgeladen

How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 

Kürzlich hochgeladen (20)

How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 

Full stack JavaScript based microservices for HEIs

  • 1. Full-stack JavaScript based micro-services for complete automation of Higher Education Institutions (HEIs) Arun kumar Krishnamoorthy Software Technologies
  • 2. Thinking Big in JavaScript Your Footer Here 2 • Increased Tooling across dev life cycle • Abundance of frameworks across value chain  Richer Language Features  More reliable, better performing server-side middleware
  • 3. 2 Biggest Motivations of using JavaScript across layers 10 Jan 2019 https://jsfoo.in/2019-pune/ 3 • Open source for life time  One core technology across layers
  • 4. Functions of Higher Education Institution 10 Jan 2019 https://jsfoo.in/2019-pune/ 4 Admissions Application Ranking and Selection Admissions Process Students Management Profile Life cycle Student Services Curriculum Design Programmes and Scheme Detailed Syllabus Review and Publish Faculty and Staff Management Profile Faculty Services Performance Reporting & Awards
  • 5. Functions of Higher Education Institution 10 Jan 2019 https://jsfoo.in/2019-pune/ 5 Fees Collection Accounting Structure Fee Components, Structure Fee Collection and tracking Academic Administration Calendar, Workloads, Attendance Assessments, Outcome Attainment Academic Activities, IQAC Examination Enrollments, Exam Fees Exam Calendar, Seating, Hall ticket Evaluation, Outcome, Results Placements Company database Placement Schedule, Student select Interview process, Status tracker
  • 6. Functions of Higher Education Institution 10 Jan 2019 https://jsfoo.in/2019-pune/ 6 Events Co-curricular and Extra- curricular Agenda, Gallery, Write- up Registrations, ticketing Grievance / Feedback Authorities for redressal Logging and tracking Escalation rules Alumni Alumni Database Periodic News letter Posts, Collaboration for a cause Hostels Requests and Room Allotments Fees, Caution Deposit, Mess Bills In-out tracker, approval, notifications
  • 7. Functions of Higher Education Institution 10 Jan 2019 https://jsfoo.in/2019-pune/ 7 Showcase through a dynamic, engaging Website Awards Events Courses Infra
  • 8. Characteristics of the Problem Domain • Well-defined, well-managed and controlled functions • Clear ownership of data • Ex. Admissions, Students enrollments, Programme scheme and syllabus • Predictable peak, average workloads • Ex. last date of applications, results announcements, last date of fees payment, important news / events / announcements • Inherent data partitions – Transactional in an academic year, Analytical for historical data • Deadlines are truly real and availability is very critical • Ex: Exam dates, fees payment due date, reopening date Your Date Here https://jsfoo.in/2019-pune/ 8
  • 9. Architecture Drivers • Schema less across layers to cater to varying needs of different fields of Higher Education • Loosely coupled across functions • Scale-up / Scale-down independently • Distributed deployment, cloud agnostic, hybrid • Open source reducing Total Cost of Ownership • Shallow learning curve and Rapid prototyping / development • Single-sign-on across functions 1/18/2019 https://jsfoo.in/2019-pune/ 9
  • 10. Design Principles • Single Responsibility Principle • Inversion of Control (Dependency Injection) • Interface over Implementation 1/18/2019 https://jsfoo.in/2019-pune/ 10
  • 11. Microservice An architectural style that structures an application as a collection of services that are • Highly maintainable and testable • Loosely coupled • Independently deployable • Organized around business capabilities 1/18/2019 https://jsfoo.in/2019-pune/ 11
  • 12. Microservice • Enables the continuous delivery/deployment of large, complex applications • Enables an organization to evolve its technology stack https://microservices.io 1/18/2019 https://jsfoo.in/2019-pune/ 12
  • 14. A Typical MicroService • Traditional MEAN Stack • MongoDB Native Driver • Auth using KeyCloak • API based Remoting • Messaging based Pub / Sub • Logging – HTTP and Application logging • pm2 for runtime and process management • Entry in nginx for routing • Jenkins Pipeline and Docker 1/18/2019 https://jsfoo.in/2019-pune/ 14
  • 15. Reusable DAO Layer • Native MongoDB Driver over Mongoose • Schema and field validation / restriction moved to Business Logic Layer • Flexible data model accommodates varying data model • Generics in Java Vs Closure in JavaScript • Link to BaseDao - https://github.com/arunramkrish/hasgeek-jsfoo- pune-2019/blob/master/dao/baseDao.js 1/18/2019 https://jsfoo.in/2019-pune/ 15
  • 16. Auth using Keycloak • One user realm for all microservices • One keycloak application client for each microservice • User associated to Groups and each group associated to client specific roles • Customized login theme with branding https://www.keycloak.org/docs/3.0/securing_apps/t opics/oidc/javascript-adapter.html 1/18/2019 https://jsfoo.in/2019-pune/ 16
  • 17. REST Client for API based Integration • Using node-rest-client 1/18/2019 https://jsfoo.in/2019-pune/ 17
  • 18. Rabbit MQ for Messaging / Event Bus • Pub-Sub • P2P • Reliable • Link to npm module for connecting to RabbitMQ • As a sender • As a receiver https://www.npmjs.com/package/event-gateway-psg 1/18/2019 https://jsfoo.in/2019-pune/ 18
  • 19. Logging • Effective use of Log levels, log formats, file roll over on size / date • Separate logs for disparate use cases 1/18/2019 https://jsfoo.in/2019-pune/ 19
  • 20. PM2 as Process Manager • High availability • Auto-recovery from crashes • Start-up config with NODE_ENV variable https://pm2.io/doc/en/runtime/overview/ 1/18/2019 https://jsfoo.in/2019-pune/ 20
  • 21. NGINX • Routes traffic to different Microservice • Acts as reverse proxy • Terminates SSL to use HTTP with Microservice https://docs.nginx.com/nginx/admin-guide/ 1/18/2019 https://jsfoo.in/2019-pune/ 21
  • 22. Jenkins and Docker • Delivery Pipeline Automation • Build versions and auto tagging 1/18/2019 https://jsfoo.in/2019-pune/ 22
  • 23. PDFKit • Complete control of PDF • Text, Images, Fonts, Shapes • Multiple pages, different page sizes 1/18/2019 https://jsfoo.in/2019-pune/ 23
  • 24. NativeScript Angular • Truly native mobile App for Android and iPhone from a single codebase using single skillset https://www.nativescript.org/nativescript-is-how- you-build-native-mobile-apps-with-angular 1/18/2019 https://jsfoo.in/2019-pune/ 24

Hinweis der Redaktion

  1. Well-defined, well-managed and controlled functions Clear ownership of data – Ex. Admissions, Students enrollments, Programme scheme and syllabus Predictable peak, average workloads – Ex. last date of applications, results announcements, last date of fees payment, important news / events / announcements Inherent data partitions – Transactional in an academic year, Analytical for historical data Deadlines are truly real and availability is very critical – Exam dates, fees payment due date, reopening date
  2. © Copyright Showeet.com
  3. https://www.digitalocean.com/community/tutorials/how-to-use-pm2-to-setup-a-node-js-production-environment-on-an-ubuntu-vps