- Overview of attendance functionality
- Feature/service architecture
- Integration architecture
- Impact and future guidelines
- Foundation for future integrations into product portfolio
- Separate application and data store, singer source of truth
- API First
- Take advantage of latest tech
- Multi-tenant service, data serrated by unique user I’d
- Application tier developed in java
- Dropwizard library for API/controllers
- JDBI for data access
- Flyway for database scheme management
- Deployed as docker containers on Kubernets
- Postgres 9.6 for database
Building Functionality as a separate service has advantages.
- Separate application & database adds no load to learn
- Natively built on REST API, easy to integrate into other products
- Standalone, small service can choose the most appropriate technologies for a given function
- Separate service can be tested and deployed in isolation.
- Standalone SaaS easily integrated across portfolio
- integrate 3rd party services through developer portal (future)
- API first (REST) enables complete access to service functionality through APIs
- Building services as separate has advantages can can be applied to broad set of problems
- Important architectural pattern that will help apply on larger scale over time
- Leads to tighter integration and more consistent functionality across product suite
- Services can be gradually rolled out and integrated Bb applications
- Scalability of entire eco-system will improve over monolithic application: more stable, more consistent and predictable performance
- Used in other areas besides attendance, box integration, cloud storage integration, Ultra institution pages.
- Service based architecture is mostly transparent to end users, but affects developers and integrators.
- Not all data I contained in LEARN anymore
- Not all functionality is available via Java API anymore
- Data will be aggregated into data lake
- Functionality is exposed through REST APIs
- Use REST APIs to future prof customizations and extensions.