Share PowerPoint. Anywhere!

2 Microsoft 050210 SOA seminarium

Uploaded from authorPOINT Lite
Download as Download Not Available PPT
Presentation Description

No description available

Like authorSTREAM?


You can vote once a day till December
10th, Vote Now!
Views: 132
Like it  ( Likes) Dislike it  ( Dislikes)
Added: February 20, 2008 This presentation is Public
Presentation Category :Education
Presentation StatisticsNew!
Views on authorSTREAM: 128 | Views from Embeds: 4
- 1 views

Others - 3 views
Presentation Transcript

Microsoft, SOA and the future : Microsoft, SOA and the future Daniel Akenine Architect Evangelist Microsoft


Systemutveckling - Trender : Systemutveckling - Trender Systemutveckling blir bara enklare och enklare… Systemutveckling blir bara svårare och svårare… Trend 1 Trend 2


Slide3 : Hypotes: Vi kan göra allt mer komplexa saker – därför gör vi det…


Evolution : Evolution Polymorphism Encapsulation Subclassing Message-based Schema+Contract Binding via Policy 1980s 2000s Interface-based Dynamic Loading Runtime Metadata 1990s Object-Oriented Service-Oriented Component-Based


Service orientation is a means for building distributed systems... : Service orientation is a means for building distributed systems... At its most abstract, service orientation views everything—from the mainframe application to the printer to the shipping dock clerk to the overnight delivery company—as a service provider... Service providers expose capabilities through interfaces. Service-oriented architecture maps these capabilities and interfaces so they can be orchestrated into processes The service model is "fractal": the newly formed process is a service itself, exposing a new, aggregated capability. Some SOA definitions


SOA är ett ägg : SOA är ett ägg En lantbrukare föreställer sig en kyckling En kock ser en omelett Ett barn ser ett ägg att måla på Vad ser du ?


Vad är SOA för Microsoft? : Vad är SOA för Microsoft? An approach to building systems using autonomous services which adhere to the 4 tenets of Service Orientation Boundaries are Explicit Services are Autonomous Services share schema and contract, not class Service compatibility is determined based on policy Tenet \Ten"et\, n. Any opinion, principle, dogma, belief, or doctrine, which a person holds or maintains as true. Source: Webster's Revised Unabridged Dictionary, © 1996, 1998


The “service oriented world” : The “service oriented world”


.NET : .NET User Experiences Web Services PCs and Smart Devices Infrastructure Identity Notification Application Center 2000 BizTalk Server 2000 Commerce Server 2000 Exchange 2000 SQL Server 2000 ISA Server 2000 Mobile Information 2001 Server Host Integration Server 2000 VisualStudio.NET .NET Framework Developer Tools


Services  Distributed Objects : Services  Distributed Objects Messages Agreements Programming Language Object Model Application Server Database Operating System Database Operating System Programming Language Object Model Application Server You Your Partner Tightly coupled distributed object solution Service Oriented Architecture


Så hur passar objektorientering in ? : Så hur passar objektorientering in ? Object Orientation Assume homogeneous platform and execution environment Share classes, not schemas Assume cheap, transparent communication Are linked: Object identity and lifetime maintained by infrastructure Typically require deployment of both client and server in sync Are easy to talk about and become a natural path for customers to follow Customers have 20+ years of experience and great intuition about what “object oriented is” Service Orientation Assume heterogeneous platform and execution environment Share schemas, not classes Assume variable cost, explicit communication Are autonomous: Security and failure isolation are a must Ease “continuous deployment” of client and server separately Builds on ideas from component software, distributed objects, and MOM Dominant theme is to manage/reduce sharing between services Objektorientering är här för att stanna !


Implementing SOA with Web Services : Implementing SOA with Web Services


Integration : Integration Windows CLR .NET Security Adapters Orchestration ES MSMQ Linux JVM J2EE Security JCA ebXML JTA JMS


Vad har SOA för nackdelar ? : Vad har SOA för nackdelar ? Kräver mer design och modellering Kräver mer av systemutvecklaren Kräver mer teknik för säkerhet och transaktioner


Vad vill jag säga ? : Vad vill jag säga ? Deployment Säkerhet Orkestrering Change Management Test Profiling Prestanda Modellering


Slutsats: Utvecklingsverktygen MÅSTE hjälpa oss med att hantera den nya komplexiteten… : Slutsats: Utvecklingsverktygen MÅSTE hjälpa oss med att hantera den nya komplexiteten…


Outinvesting Industry Peers Total R&D Investments : Outinvesting Industry Peers Total R&D Investments Siebel .3 Microsoft Dell IBM Sun Oracle Intel HP Cisco Nokia Microsoft Pfizer J&J Novartis AstraZeneca Merck Pharmacy Company R&D Spend FY’03 (except Microsoft), $B Technology Company R&D Spend FY’03 (except Microsoft), $B *Forecast for FY’04; SAP BEA .1 .5


Visual Studio Team System : Visual Studio Team System Visual Studio Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test


Visual Studio Team System : Visual Studio Team System Visual Studio Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test


Team Architect : Team Architect Distributed Application Designer Whiteboard mode for application design Web Services Enhancements (WSE) support Validation against logical infrastructure Logical Infrastructure Designer Settings and constraints editor SDM generation and compiler Click-once support Class Designer Two-way code synchronization


Application Designer : Application Designer


Logical Infrastructure Designer : Logical Infrastructure Designer


Class Designer : Class Designer


Microsoft SOA Technology : Framtiden Indigo Longhorn Federation Server Visual Studio 2007? (Orcas) Imorgon ASMX (VS2005 enhancements) WSE 3.0 Indigo (Beta) Visual Studio 2005 Longhorn (Beta) SQL Server 2005 Idag Microsoft SOA Technology ASMX (aka ASP.NET Web Services) Windows XP, Server 2003, .NET Visual Studio 2003 WSE 2.0 Office System 2003 BizTalk Server 2004 SQL Server 2000


SOA Technology Roadmap : SOA Technology Roadmap Indigo kommer att ersätta nuvarande teknologier Andra teknologier kommer att fortsätta stödjas Indigo ASMX Enterprise Services .NET Remoting Com(+) MSMQ ASMX WSE1 WSE2 WSE-n


Road to Indigo Secure, Reliable, Transacted – ASP.NET : Road to Indigo Secure, Reliable, Transacted – ASP.NET class EntityService { [WebMethod] public void AddEntity( string entity ) { // Custom security X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); . . . // Custom reliable messaging SeqAckRange range = new SeqAcknRange( id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); . . . // Custom DTC transaction context hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); . . . } }


Road to Indigo Secure, Reliable, Transacted – WSE : Road to Indigo Secure, Reliable, Transacted – WSE class EntityService { [WebMethod] public void AddEntity( string entity ) { // Integrated WS-Security support foreach ( SecurityToken token in requestContext.Security.Tokens ) { X509SecurityToken x509 = token as X509SecurityToken; . . . } // Custom reliable messaging SeqAckRange range = new SeqAcknRange( id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); . . . // Custom DTC transaction context hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); . . . } }


Road to Indigo Secure, Reliable, Transacted – Indigo : Road to Indigo Secure, Reliable, Transacted – Indigo [Confidentiality] [Reliability( Guarantees.ExactlyOnce | Guarantees.InOrder )] [Service] class EntityService { [TransactionCoupling( TransactionCouplingOptions.Required )] [ServiceMethod] void AddEntity( string entity ) { . . . } }


Slutsatser : : Slutsatser : Alla IT leverantörer mobiliserar sig för SOA Microsoft och IBM är drivande Verktygen kommer att bli större, viktigare och hantera allt mer


Slide31 : Läs mer om SOA på: http://msdn.microsoft.com/architecture/soa/ http://www.microsoft.se/arkitekt Daniel Akenine dakenine@microsoft.com


Visual Studio Team System : Visual Studio Team System Visual Studio Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test


Team Developer : Team Developer Static code analysis Support for managed and native code Code profiling Sequence view examines running threads GC view of object allocation and lifetime Caller-callee, callstack, and function views Code coverage Integrated unit testing and framework


Static Code Analysis : Static Code Analysis


Code Coverage : Code Coverage


Unit Testing : Unit Testing


Team Developer V2 Roadmap : Team Developer V2 Roadmap Runtime Analysis: System level profiling and application monitoring Integration of runtime analysis with operations Static Analysis: Editor integration (Squigglies) More rules & targets


Visual Studio Team System : Visual Studio Team System Visual Studio Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test


Team Test : Team Test Load testing Web services load testing via protocol-based script Perf counter collection and threshold monitoring Test case management


Load Testing Creation : Load Testing Creation


Load Testing : Load Testing


Test Case Management : Test Case Management


Team Test V2 Roadmap : Team Test V2 Roadmap Functional UI Testing For Avalon, Windows.Forms, Win32, and IE Test Lab Management Setup, tear down, distribution, and baselining Historical Code Coverage Trends on a per-method basis Test Case Prioritization


Visual Studio Team System : Visual Studio Team System Visual Studio Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test


Team Foundation : Team Foundation Work Item management Project management Microsoft Project and Excel integration Change management Branching, changesets, shelving Build Server Reporting and analytics Project portal Project creation and navigation Project Creation Wizard Process editor for customized guidance


Work Items Everywhere : Work Items Everywhere


Change Management Check In : Change Management Check In


Slide48 : Build Server


Reporting : Reporting


Project Portal : Project Portal


Project Creation : Project Creation


Vad är SOA för Microsoft? : Vad är SOA för Microsoft? An approach to building systems using autonomous services which adhere to the 4 tenets of Service Orientation Boundaries are Explicit Services are Autonomous Services share schema and contract, not class Service compatibility is determined based on policy Tenet \Ten"et\, n. Any opinion, principle, dogma, belief, or doctrine, which a person holds or maintains as true. Source: Webster's Revised Unabridged Dictionary, © 1996, 1998


Tenet 1: Boundaries are Explicit : Tenet 1: Boundaries are Explicit You know where the boundaries are Crossing service boundaries can be costly Consciously opt in to SOA Explicit message passing Agnostic to platform, middleware, language choices


Tenet 2: Services are Autonomous : Tenet 2: Services are Autonomous Services in a system are deployed, managed, versioned independently Topology of a system evolves over time Services expect to run in the wild Consuming apps can and will fail Without notice or notification Mitigate with transactions, queues Assume probability of malformed or malicious messages Require signing, authentication Use trust relationships, not logins


Tenet 3: Services Share Schema and Contract, not Class : Tenet 3: Services Share Schema and Contract, not Class Services interact solely on schemas for structures contract for behaviors Contracts and schema remain stable over time Ergo, schema and contract must be flexible


Tenet 4: Service Compatibility is Determined Based on Policy : Tenet 4: Service Compatibility is Determined Based on Policy Structural compatibility (what we’ll say) separate from semantic compatibility (how we’ll say it) Services express capabilities and requirements in terms of a machine readable policy expression