Saturday, April 15, 2017

Microservices Anatomy..

Overview of Microservices

Antifragile Software and Evolution 


Microservices in term of their Principles, Benefits and Challenges

Explore the forces (stressors) of change on software

Trending: Monolith to Microservices

Design by decomposition:
a. Decomposition by Business Capability
b. Decomposition by Sub-Domain

Introduction to Spring Boot

Working with traditional RDBMS & NoSQL

Building Microservices: Using an API Gateway

Introduction to Eureka/Service Registry

Inter-Process Communication in a Microservices Architecture

Service Discovery in Microservices Architecture

Reactive Extension: Future/Promises

Introduction to Domain Driven Development

Event-Driven Data Management for Microservices
Event Sourcing
Application Events

Designing and Implementing Microservice Failover and Auto-Recovery Strategies using the Circuit Breaker Pattern
Introduction to Hystrix Circuit Breaker
Introduction to DevOps
Applying effective health and monitoring for microservices
Building the Containers with Docker/Kubernetes

Deploying Microservices

1.   Aspect of Microservices from Client Application perspects
2.   Microservices Orchestration : Architecture + Tools + Considerations
3.   Versioning of services : Maintenance of version + Management of different versions
4.   Polyglot : Architecture + Consideration
6.   Polyglot Persistence
7.   Service definition/ binding/integration
8.   Integration with third party services/store
9.   Microservices Complexity : Complexity as a Service
11.Data Synchronization : Tools + Guidance

Friday, May 6, 2016

Angular Template Engineering with DOTnet..

This will show how we can stringify template from CSHTML & pass as a JS variable to leverage:

============== cshtml ====================


    <header id="mainHeader" ui-view="mainHeader" class="rcorners2"></header>

    <section ui-view="container" class="rcorners2"></section>
    <footer id="mainFooter" ui-view="mainFooter" class="rcorners2"></footer>
    <script src="../../../Resources/Scripts/base/myApp.js"> </script>
    <script type="text/javascript" language="javascript">
    window.onload = function () {
        angular.element(document).ready(function () {
            angular.bootstrap(document, ['myApp']);
    var _htmlHeader = Html.Partial("Header", null);
    var _htmlRawHeader = _htmlHeader.ToString().Replace("\n", String.Empty).Replace("\t", String.Empty).Replace("\r", String.Empty);
    var _htmlFooter = Html.Partial("Footer", null);
    var _htmlRawFooter = _htmlFooter.ToString().Replace("\n", String.Empty).Replace("\t", String.Empty).Replace("\r", String.Empty);
    var _headerTemplate = '@_htmlRawHeader';

    var _footerTemplate = '@_htmlRawFooter';



======================= js ============================

    var app = angular.module("myApp", ['ui.router', 'ngResource']);
               app.controller("DefaultController", function($scope) {
                 $scope.message = "Hello, welcome global";       
    .controller("HeaderController", function($scope) {   
                              $scope.instanceName = 'Core';
                              $scope.Pages = ['1','2','3'];
    .controller("FooterController", function($scope) {$scope.datetime= new Date();});

                    .state('home', {
                        url: '',
                        cache: false,
                        views: {              
                            'mainHeader@': {
                                template: $('< div / >').html(_headerTemplate).text(),

                                controller: 'HeaderController'
                            'mainFooter@': {
                                template: $('< div / >').html(_footerTemplate).text(),

                                controller: 'FooterController'