Coder Social home page Coder Social logo

funny-quotes-demo's Introduction

PCF .NET Demo

This solution demonstrates the use of multiple microservices built using multiple .NET technologies and running on PCF. The primary goal is to show that PCF can handle legacy code that existed as early as .NET version 1.0, with common stacks introduced as part of .NET framework up to the newest .NET core application. The solution demonstrates a natural progression / evolution that a customer would take towards making their apps cloud native.

Technical Features Demonstrated:

  • Running WebForms application
  • Use of ASMX services
  • WCF service connectivity
  • OWIN bootstrap into IIS
  • .NET core MVC application on Linux stack
  • Service discovery via Eureka (using ASMX, WCF, and REST)
  • MySQL connectivity using EntityFramework
  • Config server with GIT repo

Solution Projects

Architecture

The solution revolves around a simple application that displays random quotes when a button is pressed. It also features a Kill command to simulate application failure.

  • FunnyQuotesUIForms - Web forms GUI. Depends on Eureka and Config Server. Depending on config value served by Config Server, the source of the messages shown will be switched between local in memory, ASMX service, WCF service, or REST
  • FunnyQuotesLegacyService - Contains ASMX service and WCF service implementations for serving messages
    • ASMX fetches it's data from database connectivity via classic DataSet / DataAdapter approach
    • WCF featches data from database using a more modern approach using entity Framework
  • FunnyQuotesServicesOwin - Rest based implementation using OWIN with WebAPI. Intended to be run on Windows stack with HWC
  • FunnyQuotesUICore - Modern .NET core version running on linux stack. Calls backend services directly from javascript.

How to build

  • Open Visual Studio.
  • Publish each product using supplied publish profile.
  • Output is places in \publish\ folder
  • Use create-services.bat and manifest.yml in \scripts to push everything to PCF (copy manifest into publish folder)

Prerequisites

  • Visual Studio 2017 with .NET core support
  • Docker with images for
    • Config server
    • Eureka
    • Hystrix dashboard
    • MySQL

Config Repo: https://github.com/Pivotal-Field-Engineering/funny-quotes-config

How to present

See docs folder

funny-quotes-demo's People

Contributors

macsux avatar

Watchers

Felipe Gutierrez avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.