1 / 17

Architecture Guidance From Microsoft

Steve Rose Solution Architect, Rose Solutions Pty Ltd President, Canberra .Net Developers User Group msug@rosesolutions.com. Architecture Guidance From Microsoft. In the beginning. Circa 1997

gaia
Download Presentation

Architecture Guidance From Microsoft

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Steve Rose Solution Architect, Rose Solutions Pty Ltd President, Canberra .Net Developers User Group msug@rosesolutions.com Architecture Guidance From Microsoft

  2. In the beginning • Circa 1997 • Introducing Windows DNA: Framework for a New Generation of Computing Solutions <http://msdn.microsoft.com/library/en-us/dndna/html/dnasolutions.asp?frame=true> • Windows DNA: Building Windows Applications for the Internet Age <http://msdn.microsoft.com/library/en-us/dndna/html/msdn_windnapps.asp?frame=true> • Building Windows DNA Applications <http://msdn.microsoft.com/library/en-us/dndna/html/windnadesign.asp?frame=true> • Circa 2000 • Frequently Asked Questions about Windows DNA <http://msdn.microsoft.com/library/en-us/dndna/html/dnafaq.asp?frame=true> • Top Windows DNA Performance Mistakes and How to Prevent Them <http://msdn.microsoft.com/library/en-us/dndna/html/windnamistakes.asp?frame=true>

  3. The .Net Story • Masses of material being generated by a new team within “patterns and practices” • Microsoft's Version of SOA (Service-Orientated-Architecture) <http://www.microsoft.com/windowsserversystem/content/WhtPaper_WSS_Integration_and_Evolution.doc> • Architecture and Design of Distributed .NET Applications <http://msdn.microsoft.com/library/en-us/dnbda/html/distapp.asp?frame=true> • Enterprise Solution Patterns Using Microsoft .NET <http://msdn.microsoft.com/practices/type/Patterns/Enterprise/default.asp>

  4. Teaser #1 • Microsoft's Version of SOA (Service-Orientated-Architecture) • http://www.microsoft.com/windowsserversystem/content/WhtPaper_WSS_Integration_and_Evolution.doc • 25 pages essay by Pat Helland

  5. How does the business capability interact with the outside? • Browser-based interaction • N-tier client/server • “The technique is challenging because it involves synchronous calls that lock up the client. Although the platform supports it, it is not the strategic choice for new business capabilities in Windows Server System.” • Service-oriented architecture (SOA)

  6. SOA

  7. How to think about data

  8. Teaser #2 • Architecture and Design of Distributed .NET Applications • http://msdn.microsoft.com/library/en-us/dnbda/html/distapp.asp?frame=true • 166 pages led by Ed Jezierski

  9. Design layers in.NET

  10. Example system design

  11. User Process

  12. Designing business comp’s • Rely on message-based communication • Exposed processes must be idempotent • Choose transaction boundaries carefully (retries, composition) • Run in the context of any service • Consistent data format (such as XML, DataSet, and so on) for input parameters and return values • Set transaction isolation levels appropriately

  13. Product Map

  14. Teaser #3 • Enterprise Solution Patterns Using Microsoft .NET • http://msdn.microsoft.com/practices/type/Patterns/Enterprise/default.asp • 367 pages, from the Prescriptive Architecture Guidence Team

  15. Service Interface Pattern Includes sample code, test harnesses, benefits/liabilities, etc

  16. My Special Notes • Use of Office • As a presentation layer UI • Office Document as a message format • “…recommended that you avoid designs requiring you to transfer data in a custom object-oriented format, because doing so requires custom serialization implementation and can create a performance overhead. Generally, you should use a more data-centric format, such as a DataSet, to pass the data from the data access logic components to the business layers, and then use it to hydrate a custom business entity if you want to work with the data in an object-oriented fashion. In many cases, though, it will be simpler just to work with the business data in a DataSet.”

More Related