?
Data-Driven apps and LightSwitch TechEd sessions Domain-Driven Design,.NET and Loosely-coupled approaches TechEd sessions Windows Apps Modernization TechEd sessions Session DEVB204 - Positioning Microsoft development technologies Cesar de la Torre
?
Small/medium Business Applications Large Mission critical Business Applications Productivity | Easy to get startedLong-term | Core business. Approaches Data-driven development. Simple approaches Rapid development (RAD). Approaches Domain-driven design or similar. Decoupled architectures. Long-term, evolving maintenance.
Categorizing Applications or Sub-Systems? Mission-Critical Application Small-med size Application Mission-Critical Core-Business Sub-system Collateral & simple Subsystem Large composite application VS.
Small-medium Business Applications
What is a Data-Driven Application? Basically, it is a CRUD application (CREATE, READ, UPDATE, DELETE). The Business Logic volume is usually low ISSUE when evolving to large volumes of business logic CREATE READ UPDATE DELETE Application User’s knowledge Procedures Manual Data-Driven Applications
As part of the VS UPDATE 2, a new version of LightSwitch was released, including the LightSwitch HTML5 Client final version. Great for Web Data-Driven applications VS 2012 UPDATE 2 Download: studio-2012-update
Large Mission-Critical Core-Business Applications
Martin Fowler.Eric Evans, Jimmy Nilsson, Vaughn Vernon, etc. Microsoft P&P ‘CQRS Journey,’ Greg Yound, Udi Dahan. Greg Young, Martin Fowler, etc. Use of Dependency Injection and IoC containers Microsoft P&P Unity, MEF, Ninject, Castle Windsor, etc. Dan North, Chris Matts, etc. Frameworks: SpecFlow, Nspec, Cuke4Nuke, Nbehave, and MSpec. Single Responsibility principle. Open/close principle. Liskov substitution principle. Interface segregation principle. Dependency Inversion principle.
Several subsystems or bounded-contexts with different architectures Unified UI—Visual aggregation UI DAL Legacy system LARGE APPLICATION Background Server Tier Web/app Tier Database Tier MyApp-Event-Bus (In-memory or Service Bus or Queues, etc.)Asynchronous communication Integration Events
Application Modernization Modern Times!
Services Devices + + Emerging patterns Servers Client Established patterns
Established application patterns Foundational applications for the business Web and desktop applications Centered on existing business processes Modern Business Applications Small/Medium Business Applications Productivity Easy to get started Large Mission-Critical Business Applications Long-Term Core-Business Emerging application patterns End-user centric Innovation Mobility & Cloud Foundational Business New Experiences Extending Fixed On-Premises Elastic Cloud and Hybrid Evolving
NATIVE APPLICATIONS WEB APPLICATIONS SERVICES
Small/medium Business Applications Productivity | Easy to get started. Approaches Data-driven development. Productive dev. environment. Rapid development (RAD). Keep flexibility and extensibility. Technologies End-to-end productive technologies. LightSwitch. ASP.NET web forms or MVC. Apps for SharePoint. Apps for Office. WPF. ASP.NET Web-API or WCF Services. Entity framework model and DB first. SQL Server. Windows Server or Windows Azure. Mission-critical Business Applications Long term | Core business. Approaches Domain-driven design or similar. Decoupled architectures. Long-term agile maintenance. QoS (Quality of Service) High scalability. Technologies Fine-grain technologies. MVC and SPA (Single Page Applications) WPF for desktop. ASP.NET Web-API services or WCF services. Custom.NET libraries and layers. Inversion of control containers and DI. Entity framework POCO Codefirst. Service bus (Azure or server). Workflow foundation. SQL Server. Windows Server or Windows Azure.