Patterns & practices for Application Architectures Developer Days, Warsaw, October, 2003 Wojtek Kozaczynski Architect, PAG

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

Windows Server ® 2008 File Services Infrastructure Planning and Design Published: June 2010 Updated: November 2011.
Technical - SharePoint SharePoint grew out of the Exchange Development Teams collaboration work and Digital Dashboard initiative. SharePoint Team Services.
Microsoft SharePoint 2010 technology for Developers
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Executional Architecture
ARCH-01: Introduction to the OpenEdge™ Reference Architecture Don Sorcinelli Applied Technology Group.
MICROSOFT PLATFORM  Microsoft is a platform company is committed to providing a rich ecosystem for building and managing connected systems.  Microsoft.
Enterprise development reference architecture (EDRA) -Deepti Seelamsetti.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
© 2006 IBM Corporation IBM Software Group Relevance of Service Orientated Architecture to an Academic Infrastructure Gareth Greenwood, e-learning Evangelist,
Leveraging Enterprise Library in Your Applications Keith Elder Quicken Loans Manager, Sr. Software Engineer Microsoft MVP Keith a t keithelder dot net.
Patterns & practices Enterprise Library Brian Button Consultant/Developer patterns & practices.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Microsoft Dynamics.
Enhanced Collaboration and other benefits of Sharepoint Technologies Kern Sutton Business Productivity Group Microsoft Corporation.
UNIT-V The MVC architecture and Struts Framework.
JVM Tehnologic Company profile & core business Founded: February 1992; –Core business: design and implementation of large software applications mainly.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Terminal Services in Windows Server ® 2008 Infrastructure Planning and Design.
SOA, BPM, BPEL, jBPM.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
“Behind the Scenes” of the Enterprise Development Reference Architecture (EDRA) Jonathan Wanagel Microsoft patterns & practices
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Enterprise Library v1.0 A Technical.
ESB Guidance 2.0 Kevin Gock
.NET Enterprise Architecture Michael Platt Architect Emeritus Platform Strategy Group Microsoft Corporation.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
1. Windows Vista Enterprise And Mid-Market User Scenarios 2. Customer Profiling And Segmentation Tools 3. Windows Vista Business Value And Infrastructure.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Microsoft.NET Platform Adam Seligman Strategy Advisor and.NET Agitator
Microsoft Confidential Office as a Development Platform Tim Heuer
SharePoint 2007 Overview and Solution Examples Inetium.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Module 7: Fundamentals of Administering Windows Server 2008.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
DEP350 Windows ® Rights Management (Part 1): Introduction, Concepts, And Technology Marco DeMello Group Program Manager Windows Trusted Platforms & Infrastructure.
OEI’s Services Portfolio December 13, 2007 Draft / Working Concepts.
Concepts and capabilities Key takeaway #1 Standardized integration stack Key takeaway #2 Enhanced integration features Key takeaway #3 Integration considerations.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
DEV362.NET Reference Building Blocks Ron Jacobs Product Manager Microsoft Patterns & Practices.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
DEV333 Instrumenting Applications for Manageability with the Enterprise Instrumentation Framework David Keogh Program Manager Visual Studio Enterprise.
Terminal Services Technical Overview Olav Tvedt TVEDT.info Microsoft Speaker Community
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Comprehensive Project Management Solutions with the.NET Server family.
Windows SharePoint Services. Overview Windows SharePoint Services (WSS) Information Worker Infrastructure component delivered in Windows Server 2003 Enables.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
IPS Infrastructure Technological Overview of Work Done.
Packaging Design and Architecture Guidance for Visual Studio Tom Hollander Wojtek Kozaczynski Harry Pierson Microsoft.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
The best of WF 4.0 and AppFabric Damir Dobric MVP-Connected System Developer Microsoft Connected System Division Advisor Visual Studio Inner Circle member.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
J2EE Platform Overview (Application Architecture)
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 1: Overview of Planning A Windows Server 2003 Network.
Beyond the BDC\BCS Model
Business Connectivity Services in SharePoint 2010 and Office 2010
Accessing and Surfacing LOB Data in SharePoint 2010
Enterprise Library Overview
The Power Of Generic Infrastructure
The Application Lifecycle
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

patterns & practices for Application Architectures Developer Days, Warsaw, October, 2003 Wojtek Kozaczynski Architect, PAG

Outline  Overview of PAG Offerings  PAG Content Portfolio Development  Reference Architecture Project  Call to action

IT Infrastructure Information Worker Solutions Content Teams IT Infrastructure Built for IT Professionals. Architecture, design, deployment, and operations of IT Infrastructure including network hardware and system software Information Worker Architecture, design, deployment, and operations of Information Worker scenarios, including Microsoft Office System-based Collaboration and Project Management Application Platform Built for enterprise solution architects and developers. Architecture guidance on design, development, deployment, and operations of custom applications. Windows Office PAG Application Platform

Microsoft & Partner Solutions Custom Solutions and Services Product Features, Operations Troubleshooting, Reference Development and Mgmt Tools Windows Server System Solutions Documentation Technology Platform Architecture Guidance “Complex projects, security issues, unpredictable results, high-risk.” Experience Guides, Patterns, Application Blocks, Ref Architectures and Implementations Arch. Guidance

Reference Architectures ApplicationBlocks Guidance on architectural principles and cross-cutting Issues such as security and performance PAG Content TypesPatterns DADI A D I DADI A D I Atomic solutions to recurring problems Sub-system-level guidance for common services System-level guidance for common customer scenarios DADI A D I GuidesGuides

Pattern Help Architects and Designers By…  Documenting simple mechanisms that work  Providing a common vocabulary and taxonomy  Enabling solutions to be described concisely as combinations of patterns  Enabling reuse of architecture, design, and implementation decisions

Pattern Frame

Web Presentation Cluster Model-View-Controller Front Controller Page Cache Intercepting Filter Implementing MVC with ASP.Net Implementing Front Controller with ASP.Net Implementing Intercepting Filter with ASP.Net Implementing Page Cache with ASP.Net Implementation Design Page Controller Implementing Page Controller with ASP.Net Application

Deployment Cluster Architecture

Service Cluster

Distributed Systems Cluster Application

Data Cluster

.NET Patterns

Application Blocks  Reusable “block” of applications  A service  A part of application architecture  VS solution with one or multiple assemblies  Distributed as source code  Customizable at three levels  Metadata-driven  Class framework  Code generation

Users Data Sources Services Operational Management UI Components SecurityCommunication UI Process Components Business Workflows Service Interfaces Business Components Business Entities Data Access Logic Components Service Agents Configuration Management - Store configuration anywhere you like - Encrypted configuration - Caching for performance and scalability - Pluggable storage Files, SQL Server, Active Directory, Registry - Security Included Encryption and Digital Signatures Scalability & Management - Caching of Data, configuration-driven string myStuff = ConfigurationSettings.AppSettings[ “foo” ]; string myStuff = ConfigurationManager.Items[ “foo” ]; User Interface Process - Use the Model-View-Controller Pattern - Share state across windows forms & web pages - Start, Pause, Re-Start user ‘tasks’ - Define Use Cases as ‘screen flows’ in XML - Change use cases after deployment! -Pluggable state storage location, visual transitions - Works for Windows, Web, Voice.. cart browse error checkout congrats addItemfail resume passCheckout checkout fail Updater Application Block - Self-Updating App - Secure manifests of what’s downloaded - Pluggable downloader and validator - Provided BITS downloader - Use it instead of the older appUpdater Update Controller (Application or separate EXE) Update Controller (Application or separate EXE) Updater Applicat ion Block Application Update Manif est 1 1 Server Client Downloader 2 2 Application Poll & Download Controller XML Configuration File File Copy Admin uses Manifest Utility Validator Post Processor (optional) 5 5 Downloader Validator Caching - Performance and Scalability - For UI (windows & Web), business logic, and data layers - Storages: SQL Server, Shared Memory, AppDomain SQL Server, Shared Memory, AppDomain - Security: Encryption and Signing - Pluggable Expirations: Time, SQL Notifications, API Calls, [your own] Time, SQL Notifications, API Calls, [your own] ICacheStorage CacheManager CacheService Dependencies Scavenging Statistics MemoryStorage SQLNotification WMI From App Etc. LRU LFU Many More! - Service Aggregation - Asynchronous Invocation In Development - Authorization and Profile Management - Logging in SQL, MSMQ - WSE Filters for Web Services - Offline Smart Clients - Persistence & Business Entities GotDotNet: Search for “patterns & practices” in Workspaces

Architecture Guides  Application Architecture for.NET  Improving Web Application Security: Threats and Countermeasures  Deploying.NET Applications  Operating.NET-Based Applications

PAG Portfolio PatternsApplication BlocksReference Architectures Guides Web Cluster Deployment Cluster Service Cluster Distributed Cluster Data Cluster... UIP Data Access for.NET Exception Management in.NET Configuration Management Caching Application Updater Service Aggregation Asynchronous Invocation Application Architecture for.NET Building Secure ASP.NET Applications Deploying.NET Applications Operating.NET-Based Applications

All Available Now (

Major Content Cumming Up PatternsApplication BlocksReference Architectures Guides Integration Cluster Smart Client Cluster Persistence & Business Entity User Profile Authorization Logging WSE Filters UIP for Smart Client Smart Client Offline SOA Architecture Guide Performance and Scalability Guide Shadowfax Reference Architecture and Implementations Smart Client LOB Applications SOA EAI

PAG Product Planning Microsoft GTM & Scenarios Competitive Threads Customer Project Trends Technical Challenges Microsoft Input Customer Input PatternsApplication BlocksReference Architectures Guides

Internet Banking Wireless Aggregation Branch Banking CRM Core Banking Wealth Management Treasury / Forex Trading / Back office Payment Systems and Card Mgmt 3D Secure Business Intelligence EAI Straight through Processing ATM / POS No Application Is An Island

Problem: exposing business services « subsystem » Integration Service Agents « subsystem » Business Component « subsystem » Business Component « subsystem » Business Component « subsystem » Business Component « subsystem » Service Interfaces Service Interfaces : Security Transactions Logging Data mapping …

Problem: accessing diverse services - S 11 - S 12 - S 13 - S 21 - S 22 - S 31 - S 32 - S 33 Customer Accounts Customer Loans Credit Bureau Enterprise Systems External Systems « subsystem » Common Needs Integration Service Agents Integration : Communication Security Transactions Logging Data mapping … Integration Service Agents

Architecture for Handling Service Requests - S 11 - S 12 - S 13 - S 21 - S 22 - S 31 - S 32 - S 33 Customer Accounts Customer Loans Credit Bureau Enterprise Systems External Systems Business Capability Channel Communication Security Transactions Logging Data mapping Service instantiation & invocation Coordination Business events … Set of business related services Multiple access channels Simple client programming model Uniform service handling model Service location and implementation transparency Common transaction model Common security model … Service Request Broker Business Component « subsystem »

Request Flow « subsystem » Request Broker Event Notification Policies Service Agents - S 11 - S 12 - S 13 - S 21 - S 22 - S 31 - S 32 - S 33 Savings Accounts Check Accounts Investment Accounts Enterprise Systems External Systems « subsystem » Request Dispatcher « subsystem » Request Dispatcher « subsystem » Request Dispatcher « subsystem » Request Dispatcher « subsystem » Business Component Internal Business Service Channels Port « subsystem » Service Agent Customer

Architectural Objectives (1) Provide a framework for developing enterprise applications on the.Net platform  Provide uniform model of exposing business services Allow access to services over multiple channels Align with directions of future products  Provide uniform model of handling service requests Allow for declarative specification of service request handling Localize code implementing different request handling aspects Support service implementation by multiple (legacy) systems Allow for run-time changes in how services are handled  Provide business event notification  Support easy workflow integration  Support security and manageability of the architecture !Assure performance and scalability !Make the architecture elegant and minimal

Architectural Objectives (2) Demonstrate use of patterns and PAG blocks while adhering to PAG guidance for security, performance and scalability Allow reuse of at multiple levels  Reuse of reference implementation or its fragments  Reuse of architecture framework  Reuse of selected application blocks  Reuse of design principles

Logical View of Request Flow Port A Port B Channel Request Queue Result Queue « subsystem » Business Component Dispatcher « subsystem » Service Agent « subsystem » Business Component kl m Context Dispatching Controller Event Queue Error Queue

Many Interesting Challenges  Multiple Channels  Heterogeneous Services  Scalability  Reliability  Security  Policy Pipelines  Client Programming Model  … and many more

You Can Help  If you live in this problem space  If you have built parts of the architecture  If you want to share your experience with the p&p community …. …. let me know

Thank You! If you have questions, comments or suggestions about our existing content, or about our ongoing projects please don’t hesitate to send me a message at