Learning How To Build Distributed, Scalable Applications With COM+

Similar documents
Basic Web Applications. Extreme Java G Web Server. Enterprise Data. Client Browser

Developing Microsoft Azure Solutions: Course Agenda

Oracle WebLogic Server 12c: Administration I

Developing Microsoft Azure Solutions (MS 20532)

Course Outline. Lesson 2, Azure Portals, describes the two current portals that are available for managing Azure subscriptions and services.

Microsoft Pro: Windows 7, Enterprise Desktop Administrator. Download Full Version :

MaaS360 and TeamViewer Integration Guide

Ideas Gallery - Sai Kishore MV (Kishu)

Azure Development Course

Service Discovery in Pervasive Computing Environments

Course Outline. Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led

HOW PERSISTENT CHAT SERVER WORKS

Table of Contents. VMware AirWatch: Technology Partner Integration

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

Using and Developing with Azure. Joshua Drew

UPGRADING IMIS NEWLIN

Connect and Transform Your Digital Business with IBM

Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

Techno Expert Solutions

Build planetary scale applications with compartmentalization

Send me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.

Architecting ArcGIS Server Solutions for Performance and Scalability

2018 GLOBALSCAPE TRAINING OVERVIEW

Deccansoft Software Services

20532D: Developing Microsoft Azure Solutions

PayPal Delivers World Class Customer Service, Worldwide

Workshare Client Extranet. Getting Started Guide. for Mac

AWS Lambda: Event-driven Code in the Cloud

File Services. File Services at a Glance

Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda

Zend PHP Cloud Application Platform

Enterprise print management in VMware Horizon

Streaming Real-Time Data into Xcelsius Applications

This video is part of the Microsoft Virtual Academy.

INTRODUCING THE OFFICE 365 DEV PNP PARTNER PACK

Developing Microsoft Azure Solutions

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Office 365 and Azure Active Directory Identities In-depth

Microsoft 365 powered device webinar series Microsoft 365 powered device Assessment Kit. Alan Maddison, Architect Amit Bhatia, Architect

Name: Vijay Rajagopalan Title : Principal Architect Company : Microsoft Corporation Session Code:

PaaS Cloud mit Java. Eberhard Wolff, Principal Technologist, SpringSource A division of VMware VMware Inc. All rights reserved

Think Small to Scale Big

the road to cloud native applications Fabien Hermenier

Developing In The Cloud

IBM Lotus Sametime Advanced 8

FRONT USER GUIDE Getting Started with Front

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

Minnesota Microsoft Unified Communications User Group Welcome! March 26, 2009

ebay Marketplace Architecture

Account Customer Portal Manual

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies

Developing Enterprise Cloud Solutions with Azure

Microservices with Red Hat. JBoss Fuse

Address new markets with new services

Service Manager. Installation and Deployment Guide

IBM License Metric Tool 9.0 Installation

Zabbix on a Clouds. Another approach to a building a fault-resilient, scalable monitoring platform

TeamViewer 12 Manual Management Console. Rev

Er XenApp død og begravet? Allan Bak, edgemo A/S

05 Indirect Communication

Scribe Insight Installation Guide. Version August 10, 2011

Mobility and Portability with Today's Rockwell Software

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

VMware Cloud Application Platform

AGENDA Introduction Pivotal Cloud Foundry NSX-V integration with Cloud Foundry New Features in Cloud Foundry Networking NSX-T with Cloud Fou

Building Real-time Data in Web Applications with Node.js

ITBraindumps. Latest IT Braindumps study guide

Keep Calm and Call On! IBM Sametime Communicate Softphone Made Simple. Frank Altenburg, IBM

VMware Enterprise Desktop Solutions. Tommy Walker Enterprise Desktop Specialist Engineer Desktop Platform Solutions

Introduction to ArcGIS Server Architecture and Services. Amr Wahba

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

WHITE PAPER. Good Mobile Intranet Technical Overview

Application Lifecycle Management for SharePoint in the Enterprise. February 23, 2012

Admin Plus Pack Option. ExecView Web Console. Backup Exec Admin Console

China SMS Login. V1.X for M2. User Guide / Sunf

Smart Client Offline Data Caching and Synchronization

Interaction Supervisor Printed Help. PureConnect powered by Customer Interaction Center (CIC) 2018 R2. Abstract

USER MANUAL. Clever Multiple Sales Order / Quotation Templates TABLE OF CONTENTS. Version: 1.0

Kunal Mahajan Microsoft Corporation

NeuralStar Installation Guide

Oracle Identity and Access Management

Java Development and Grid Computing with the Globus Toolkit Version 3

USER GUIDE Summer 2015

Codewords: A Massively Multiplayer Board Game built with Angular

USER GUIDE Spring 2016

Docker and Oracle Everything You Wanted To Know

VIVIT TQA Webinar: "DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API" May 12th 2010

Kaseya 2. Installation guide. Version R8. English

Enterprise Scaling with AZURE STORAGE and AZURE SERVICE BUS

Module 2a. Part 1 Deploying Microsoft Lync Server 2010

Salesforce CRM Content Implementation Guide

DEPLOYMENT GUIDE DEPLOYING F5 WITH ORACLE ACCESS MANAGER

Hosted Azure for your business. Build virtual servers, deploy with flexibility, and reduce your hardware costs with a managed cloud solution.

InLoox 9 Web App Product Presentation

Administering SQL Servers for Development Teams. Mike Acord & Tony Sebion Omni Resources

PRO: Supporting and Troubleshooting Applications on a Microsoft Windows Vista Client for Enterprise Support Technicians.

Electronic Payment Systems (1) E-cash

Proactive Performance Monitoring for Citrix XenApp & XenDesktop

eservices Multitenancy and Load Balancing Guide eservices 8.1.4

Transcription:

Learning How To Build Distributed, Scalable s With COM+ COM+ Team Microsoft Corporation Agenda Goals Scenario recap and requirements (continued) Using COM+ to meet application requirements (continued) Even easier - coming soon (part 2) Conclusion

Goals Show by example that COM+ makes it: As easy to develop Components as it is to develop Client Components As easy to deliver enterprise apps as it is to deliver workgroup apps! Technology Scenario COM+ MTS COM COM+ Services: Events Security Load Balancing Queued Components In Memory Database Compensating Resource Manager Administration COM+ The Caring, Sharing Environment for your components MTS Services: Transactions Resource Pooling Security Administration The Model Tools Support Multi-Language Discovery (QI)

Scenario Online service like MSN or AOL User login causes two databases to be updated Customer Log Customer login status Total connect time is tracked User is notified of various activities while they are logged in (i.e., chat rooms) Flow Web clients Logon Web infrastructure Security billing Business applications billing system Real-time Profile-directed information Customer online system Logoff Content billing system Other systems

Tackling The Requirements - Part 2 Ultimate customer response and availability Always accept legitimate Logon No freebies! Always bill for entire time online billing system dev resources Other Keep billing, Customer Online and other systems consistent Real-time two way info on who is on Real-time info on what is going on Flexible administration Maximize use of platform, minimize development time Contradictory Requirements! Always accept logon: Implies that we have to complete the customer login even if the billing system is unavailable Always bill for entire time online: Implies that we must not accept logons when billing system is not available

Tolerance Issues: Availability Resilience Failure Handling Client Component Bus_Customer IFoo Component IFoo Component Tolerance COM+ solution: Queued Components Features: delivery of creation,, method invocation,, and life cycle management over MSMQ queues with transactions IRecorder Client Component Recorder MSMQ Player IFoo Component

Queued Components Example Code and attribute walkthrough Login example would not allow a person to logon if the billing database was not available It is not necessary for the billing DB to be available right now as long as we are guaranteed that the login information will be recorded Ref: AS10 Tackling The Requirements - Part 2 Ultimate customer Keep billing, response and Customer Online and availability other systems Always accept consistent legitimate logon Real-time two way info No freebies! Always on who is on bill for entire Real-time info on what time online is going on Flexible billing system administration Maximize use of dev resources platform, minimize Other development time

Responding To Environment Issues You Never Told Me That! Changing Environment Object Model? What Object Model? BusCustomerC Bus_ Bus_Customer BusCustomerA BusCustomerX Bus_23 Responding To Environment Solution: COM+ Events Features: sources consume event sinks, system provided event class,, managed binding and delivery options Event Admin Unicast Sink1 ICustLogin Client Event Class IEventXXX Event Database Multicast Unbound Sink2 ICustLogin Sink3 ICustLogin Sink4 ICustLogin Unbound

Events Example Events Walkthrough When the user logs in the customer status database is updated In order to notify the user on things that they are interested you can publish the interesting events and have clients Poll the status database on a regular basis and then push information to them; this is not very efficient doing a lot of unnecessary work; or you can Build specific interfaces, protocols, and infrastructure for notification Code walkthrough Ref: AS07 Tackling The Requirements - Part 2 Ultimate customer response and availability Always accept legitimate logon No freebies! Always bill for entire time online billing system dev resources Other Keep billing, Customer Online and other systems consistent Real-time two way info on who is on Real-time info on what is going on Flexible administration Maximize use of platform, minimize development time

Even More Scalability And Availability Issues: We ll never go above 600 clients! Honest! Of course my application scales What hardware are you running? Clients 1 IBank 1 IBank coclass Bank [LB=Yes,] IIBank Even More Scalability And Availability Solution: COM+ Dynamic Load Balancing Features: system provided response time load balancing engine, @ activation server machine selection Client Create LB Activator Select server LB Service Response Time Engine Response Time Runtime Track Group 1 IBank 1 IBank coclass Bank [LB=Yes,] IIBank

Load Balancing Example Load Balancing Walkthrough As the online service increases in popularity they will need to run the application on multiple servers Load Balancing will distribute the work of the application over the available servers In COM+ Preview, balancing algorithm is based on tracker statistics LB set up and attribute walkthrough Ref: AS08 Tackling The Requirements - Part 2 Ultimate customer response and availability Always accept legitimate logon No freebies! Always bill for entire time online billing system dev resources Other Keep billing, Customer Online and other systems consistent Real-time two way info on who is on Real-time info on what is going on Flexible administration Maximize use of platform, minimize development time

Ultimate Performance Issue No matter how well I do everything the Database is still the bottleneck! Clients Group 1 IBank 1 IBank coclass Bank [LB=Yes,] IIBank DBMS Ultimate Performance COM+ Solution: IMDB provides memory speed access to data, transient state management Client IMDB DBMS

IMDB - How It Works HTTP DCOM Client Component Process IMDB Proxy A "typical" IMDB Node Client component process IMDB Proxy R/W IMDB Core R/O R/W R/W R/O Tables in Shared Memory RDBMS RDBMS IMDB Example IMDB Walkthrough Selecting data for use with IMDB IMDB code and administration walkthrough Ref: AS11

Tackling The Requirements - Part 2 Ultimate customer response and availability Always accept legitimate logon No freebies! Always bill for entire time online billing system dev resources Other Keep billing, Customer Online and other systems consistent Real-time two way info on who is on Real-time info on what is going on Flexible administration Maximize use of platform, minimize development time Ultimate Scalability Issue: You are doing Pooling Why can t t I? Client COM+ Process IFoo Object instances

Ultimate Scalability COM+ Solution: Object Pooling: ultimate efficiency for components whose in Method time is less than their construction Time COM+ Process Client Pooling Service IFoo Pooled instances Ultimate Scalability Object Pooling Walkthrough Ref: AS14 COM+ Process Client Pooling Service IFoo Pooled instances

Tackling The Requirements - Part 2 Ultimate customer response and availability Always accept legitimate logon No freebies! Always bill for entire time online billing system dev resources Other Keep billing, Customer Online and other systems consistent Real-time two way info on who is on Real-time info on what is going on Flexible administration Maximize use of platform, minimize development time Dealing With Legacy Apps COM+ Solution: compensating Resource Manager Features: easy template for wrapping an application or a resource so that it can participate in transactions with other resources Components CRM Legacy App DBMS

How Are We Doing? Ultimate customer response and availability Always accept legitimate logon No freebies! Always bill for entire time online billing system dev resources Other Keep billing, Customer Online and other systems consistent Real-time two way info on who is on Real-time info on what is going on Flexible administration Maximize use of platform, minimize development time Even Easier! Coming soon to a language near you: Attribute Based Programming In Part 1 even easier we showed integration of the IDE using Attributes and administration The logical next step is direct Attribute Based Programming (ABP) ABP demo

Conclusion COM+ makes it: As easy to develop Components as it is to develop Client Components As easy to deliver enterprise apps as it is to deliver workgroup apps! Call To Action Architecting, designing, developing: Assume COM+ level of service and use Windows NT 5.0 Beta 2 now Deploying and in production: Use MTS now - your components will be uplifted when COM+ is installed Everything discussed will be a standard feature of Windows NT 5.0

Resources http://www.microsoft.com/com http://www.microsoft.com/msdn PDC CD: COM+ SDK COM+ Wizard preview Hands-on theatre All the code from the COM+ sessions See Visual C++ sessions for more on ABP!

1998 Microsoft Professional Developers Conference Premier Sponsors Partner Sponsors