Скачать презентацию AGENDA 10 00 — 11 00 Patterns in Скачать презентацию AGENDA 10 00 — 11 00 Patterns in

0f4722ef8f1efd35b8f88bb9c7c474d5.ppt

  • Количество слайдов: 58

AGENDA: 10. 00 - 11. 00 Patterns in the Enterprise 11. 00 - 11. AGENDA: 10. 00 - 11. 00 Patterns in the Enterprise 11. 00 - 11. 30 Break 11. 30 - 12. 30 Integration Patterns 12. 30 - 13. 30 Lunch 13. 30 - 14. 30 Showcase 14. 30 - 15. 00 Break 15. 00 - 16. 00 Web Services: Interoperability and Integration 16. 00 - 16. 15 Summary - The book ? Questions ? Visual Studio 2005 Beta ? Review form ? EMEA

AGENDA: 10. 00 - 11. 00 Patterns in the Enterprise Repeatable success in delivering AGENDA: 10. 00 - 11. 00 Patterns in the Enterprise Repeatable success in delivering complex enterprise systems depends on the ability to leverage experience from past systems. On an architectural level, direct reuse is usually not practical and blueprint architectures are often not flexible enough for complex systems. However, design patterns provide a middle-ground by describing idiomatic use of technologies and capturing the essence of successful designs. Erik Doernenburg is a Senior Developer and Architect at Thought. Works, Inc. Coming from a background in enterprise applications and new media systems, Erik is currently exploring advanced patterns of enterprise integration and application architecture on the Microsoft. NET and J 2 EE platforms. Erik has been an advocate of domain-driven design and agile development for many years. Erik holds a degree in Informatics from the University of Dortmund. EMEA

AGENDA: 11. 30 - 12. 30 Integration Patterns Based on the Integration Patterns book AGENDA: 11. 30 - 12. 30 Integration Patterns Based on the Integration Patterns book from Microsoft's Patterns & Practices team, this session discusses how patterns can be used to describe an integration architecture from business to implementation. Christopher Baldwin is an Architect with the Microsoft EMEA Developer and Platform Evangelism Group. With 25 years experience in software engineering across numerous environments, Christopher now helps enterprises leverage the Microsoft. NET platform. Prior to joining Microsoft 9 years ago, Christopher’s background was in the financial industry. Christopher’s latest studies are in the software factories area. Christopher holds a Bachelor of Science degree in Computer Science from Westminster College. EMEA

AGENDA: 13. 30 - 14. 30 Showcase Know IT presents an integration solution in AGENDA: 13. 30 - 14. 30 Showcase Know IT presents an integration solution in Microsoft Biz. Talk Server using integration patterns and a SOA based architecture. Anders Kingstedt has been active in the IT industry since the latter part of the 80’s, previously working as a developer and systems designer. Having worked in the web industry for a few years, Anders is currently employed as a consultancy manager at Know IT, focusing on integration solutions. Anders is also the Alliance Manager with Microsoft at Know IT. Alan Smith is a Biz. Talk expert and the only Biz. Talk MVP in Sweden. Alan is form the north of England, and living in Stockholm Sweden, he has been working as a developer with Microsoft technologies since 1995. EMEA

AGENDA: 15. 00 - 16. 00 Web Services: Interoperability + Integration This session addresses AGENDA: 15. 00 - 16. 00 Web Services: Interoperability + Integration This session addresses the use of web services to build highly interoperable solutions that fit into an enterprise integration architecture. Daniel Akenine is an Architect Evangelist at Microsoft. For the last five years he has been focusing on Enterprise Application Development – on both the J 2 EE and Microsoft platforms. Previously he has been working as a researcher at Karolinska Institutet, division IT-manager at the Karolinska Hospital and as a technical specialist and counsellor for a number of IT projects in the Stockholm Financial Sector – e. g. the OMX stock exchange. Daniel holds a M. Sc in Engineering Physics. EMEA

Theme Interoperability + Integration > open Interoperability w Able to operate in conjunction 1 Theme Interoperability + Integration > open Interoperability w Able to operate in conjunction 1 Integration w Combining of diverse parts into a complex whole 1 Open w Open system, open source, open solution 1 Definition from Oxford Dictionary EMEA

Thought. Works at a Glance Company: > 600 employees > $80 M in revenue Thought. Works at a Glance Company: > 600 employees > $80 M in revenue > Global WW Reach > Major corporations Industries: > Insurance > Asset Finance > Mortgage > Retail Expertise: > NET > Java > SOA > EAI > Open Source > Agile > DA < Thought. Works’ publications EMEA 8

Web Services: Interoperability + Integration Daniel Akenine Architect Evangelist dakenine@microsoft. com EMEA 10 Web Services: Interoperability + Integration Daniel Akenine Architect Evangelist dakenine@microsoft. com EMEA 10

Are we serious ? 3 feb – 2005: Bill Gates and interopability “interoperability is Are we serious ? 3 feb – 2005: Bill Gates and interopability “interoperability is a proven approach for dealing with the diversity and heterogeneity of the marketplace. . ” Our strategy: Work with what you got: w Host Integration Server, Biz. Talk, Identity Integration Server w Apple. Talk, Netware, Unix/Linux, C++, JAVA, Oracle, Sybase, DB 2, SAP, Siebel, SWIFT, HL 7, Use XML to get "Interoperability by Design“ w Office XML, WS-* EMEA

Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future EMEA

Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future EMEA

Why are we talking about SOA today ? It is not the strongest of Why are we talking about SOA today ? It is not the strongest of the species that survive, or the most intelligent, but the ones most responsive to change. - Charles Darwin EMEA

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

The “service oriented enterprise” Devices User interface Services Infrastructure EMEA The “service oriented enterprise” Devices User interface Services Infrastructure EMEA

Services and Systems are not the same A service is a program you interact Services and Systems are not the same A service is a program you interact with via message exchanges w Services are built to last w Availability and stability are critical A system is a set of deployed services cooperating in a given task w Systems are built to change w Adapt to new services after deployment EMEA

What is Service Orientation (SO)? An approach to building systems using services which adhere What is Service Orientation (SO)? An approach to building systems using services which adhere to the 4 tenets of Service Orientation: w w Boundaries are Explicit Services are Autonomous Services share schema and contract, not class Service compatibility is determined based on policy EMEA

Understanding Tenet 1: Boundaries are Explicit Each Service interaction is a boundary crossing Crossing Understanding Tenet 1: Boundaries are Explicit Each Service interaction is a boundary crossing Crossing service boundaries may have costs Service Orientation makes interaction formal, intentional, and explicit Respect my Boundaries. EMEA

Understanding Tenet 2: Services are Autonomous Topology of a system evolves over time No Understanding Tenet 2: Services are Autonomous Topology of a system evolves over time No presiding authority Services in a system are deployed, managed, versioned independently Don’t be Codependent. EMEA

Understanding Tenet 3: Services Share Schema and Contract, not Class Services interact solely on Understanding Tenet 3: Services Share Schema and Contract, not Class Services interact solely on schemas for structures, contract for behaviors Unlike OO classes, services do not combine structure and behavior Contracts and schema remain stable over time Don’t (expect me to) overshare. EMEA

Understanding Tenet 4: Service Compatibility is Determined Based on Policy Separates the interactions the Understanding Tenet 4: Service Compatibility is Determined Based on Policy Separates the interactions the service can have from the constraints on those interactions. Service capabilities and requirements are expressed in terms of a policy expression Assertions identified by stable, globally unique names The fact that I can, doesn’t mean I will. EMEA

Service-Oriented Architecture From Tightly Coupled Objects… Loosely Coupled Services To Your Partner You Programming Service-Oriented Architecture From Tightly Coupled Objects… Loosely Coupled Services To Your Partner You Programming Language Database Programming Language Agreements Object Model Contract Operating System Database Application Operating System Application Complexity EMEA

Architecting with Services Promoting Loose Coupling Service provider Service consumer How is it implemented? Architecting with Services Promoting Loose Coupling Service provider Service consumer How is it implemented? What does it do? How does it work? How to build it? Where to host it? Contract How to use it? Where to find it? How to publish it? EMEA

What kind of tools do we need to do SOA ? “A fool with What kind of tools do we need to do SOA ? “A fool with a tool is still a fool : -)” - Old saying EMEA

Visual Studio Team System Visual Studio Team Architect Team Developer Team Test Application Modeling Visual Studio Team System Visual Studio Team Architect Team Developer Team Test Application Modeling Dynamic Code Analyzer Load Testing Logical Infra. Modeling Static Code Analyzer Manual Testing Deployment Modeling Code Profiler Test Case Management Visual Studio Industry Partners Process and Architecture Guidance Visual Studio Unit Testing Code Coverage Class Modeling Visio and UML Modeling Team Foundation Client VS Pro Visual Studio Team Foundation Change Management Reporting Integration Services Build Server Work Item Tracking Project Site Project Management EMEA

Visual Studio Team System Visual Studio Team Architect Team Developer Team Test Application Modeling Visual Studio Team System Visual Studio Team Architect Team Developer Team Test Application Modeling Dynamic Code Analyzer Logical Infra. Modeling Static Code Analyzer Deployment Modeling Code Profiler nt e pm lo ve : -) de ld st or be w he t ly in ab ol ob to Pr Visual Studio Industry Partners Process and Architecture Guidance Visual Studio Load Testing Manual Testing Test Case Management Unit Testing Code Coverage Class Modeling Visio and UML Modeling Team Foundation Client VS Pro Visual Studio Team Foundation Change Management Reporting Integration Services Build Server Work Item Tracking Project Site Project Management EMEA

Service-Oriented Architecture model Number 1 Application Designer Port Details editor EMEA Service-Oriented Architecture model Number 1 Application Designer Port Details editor EMEA

Logical Infrastructure Designer Number 2 Infrastructure Designer Services assigned to logical infrastructure Architecture validated Logical Infrastructure Designer Number 2 Infrastructure Designer Services assigned to logical infrastructure Architecture validated against operational settings and constraints EMEA

Class Designer and two-way code synch And the last. Class designer EMEA Class Designer and two-way code synch And the last. Class designer EMEA

Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future EMEA

Web services is the only way to do integration ! Web services is the only way to do integration ! "Every generalization is dangerous, especially this one. " — Mark Twain EMEA

A basic web service is not always OK ! Messaging Metadata Security Reliable Messaging A basic web service is not always OK ! Messaging Metadata Security Reliable Messaging Transactions • Encryption • Guaranteed delivery • Coordinated activity • Authentication • In order processing • Atomic transaction • Authorization • Idempotency • Business activity • Non-repudiation Reliable • Federation Security Transactions Messaging Transactions Reliable Security • Trust Messaging XML • Data • Schema • Interoperability XML Messaging • Functional data • Operational data • Address services & resources • Attach binary data Metadata • Service description • Policy • Discovery EMEA

Integration WS-I JVM Windows Linux J CA eb XM L J TA JM S Integration WS-I JVM Windows Linux J CA eb XM L J TA JM S Se c u r i ty Ad a p t e r s O r c h e st r a t i o n ES ES M SM Q Se c u r i ty J 2 EE CLR EMEA . NET

EMEA EMEA

Existing Client/Server Application Enterprise Integration? DCOM Database Client Application (VB 6, Delphi or Power. Existing Client/Server Application Enterprise Integration? DCOM Database Client Application (VB 6, Delphi or Power. Builder) Server Components EMEA

C/S 1: Expose Database Enterprise Web Service Façade DCOM Database Client Application (VB 6, C/S 1: Expose Database Enterprise Web Service Façade DCOM Database Client Application (VB 6, Delphi or Power. Builder) Server Components EMEA

C/S 2: Expose Server Enterprise Web Service Façade DCOM Database Client Application (VB 6, C/S 2: Expose Server Enterprise Web Service Façade DCOM Database Client Application (VB 6, Delphi or Power. Builder) Server Components EMEA

C/S 3: Expose Client Web Service Façade Enterprise DCOM Database Client Application (VB 6, C/S 3: Expose Client Web Service Façade Enterprise DCOM Database Client Application (VB 6, Delphi or Power. Builder) Server Components EMEA

Web Services: Messaging and more Web services provide the benefits of messaging w loose-coupling Web Services: Messaging and more Web services provide the benefits of messaging w loose-coupling w service oriented And more w vendor neutral w suitable for access through Internet EMEA

Web Services: Tenets Boundaries are explicit Services are autonomous Services share schema and contract Web Services: Tenets Boundaries are explicit Services are autonomous Services share schema and contract Service compatibility is based on policy Tenet conformance gives better Interoperability Better Interoperability means stronger Integration EMEA

Web Services: Active community Web Services are expected to become the default Messaging solution Web Services: Active community Web Services are expected to become the default Messaging solution in the future WS-* standards are evolving rapidly, most important w WS-Security w WS-Policy w WS-Addressing WS-I defines profiles, sample applications and testing tools w Profiles are guidelines for using WS specifications w Use Basic profile 1. 1 to build interoperable solutions Further research on WS is being carried out EMEA

Why integrate through Web Services? To get w Messaging and more w Tenets w Why integrate through Web Services? To get w Messaging and more w Tenets w Active community Required for external integration Beneficial for internal integration EMEA

Building Interoperable Web Services EMEA Building Interoperable Web Services EMEA

Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future EMEA

The Web Services Maturity Model Drivers Technical Business Enterprise Industry/ Ecosystem Service Perspective Technical The Web Services Maturity Model Drivers Technical Business Enterprise Industry/ Ecosystem Service Perspective Technical Interface Business Capability Business Product Domain Standard Service Deployments Integrated Architected Measured and Managed Federated Collaborations Internal Limited External Virtual Business Anonymous Momentum Extended Momentum Reengineered Standardized Early Learning Integration Reengineering Maturity Service Process EMEA

Phase 1 - Early Learning In this phase the predominant service deployments will be: Phase 1 - Early Learning In this phase the predominant service deployments will be: Mostly internal Low-risk external Using existing security mechanisms Not mission critical Focused on better application integration EMEA

Phase 2 – Integration Business process oriented Project level implementation Mostly internal usage EMEA Phase 2 – Integration Business process oriented Project level implementation Mostly internal usage EMEA

Phase 3 – Reengineering Enterprise level, with common services used right across organizations Services Phase 3 – Reengineering Enterprise level, with common services used right across organizations Services implemented as an integral part of business products Supported by guarantees and standards based measurement and monitoring systems EMEA

Phase 4 – Maturity Services are ubiquitous Federated services collaborate and create complex products Phase 4 – Maturity Services are ubiquitous Federated services collaborate and create complex products with individual services provided from potentially many providers Services are designed to support the consumer in their ecosystem, not in a company specific system or service EMEA

Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and Agenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future EMEA

Microsoft SOA Technology Today ASMX (aka ASP. NET Web Services) Windows XP, Server 2003, Microsoft SOA Technology Today ASMX (aka ASP. NET Web Services) Windows XP, Server 2003, . NET Visual Studio 2003 WSE 2. 0 Office System 2003 Biz. Talk Server 2004 SQL Server 2000 Tomorrow ASMX (VS 2005 enhancements) WSE 3. 0 Indigo (Beta) Visual Studio 2005 Longhorn (Beta) SQL Server 2005 Future Indigo Longhorn Federation Server Visual Studio 2007? (Orcas) EMEA

SOA Technology Roadmap WSE 1 WSE 2 WSE-n Indigo ASMX Enterprise Services. NET Remoting SOA Technology Roadmap WSE 1 WSE 2 WSE-n Indigo ASMX Enterprise Services. NET Remoting Com(+) MSMQ EMEA

Road to Indigo Secure, Reliable, Transacted – ASP. NET class Entity. Service { } Road to Indigo Secure, Reliable, Transacted – ASP. NET class Entity. Service { } [Web. Method] public void Add. Entity( string entity ) { // Custom security X 509 Certificate. Collection collection = new X 509 Certificate. Collection(); Int. Ptr blob = Marshal. Alloc. HGlobal(Marshal. Size. Of( typeof(CRYPTOAPI_BLOB))); Int. Ptr data = (Int. Ptr)((int)blob + Marshal. Size. Of(typeof(CRYPTOAPI_BLOB))); . . . // Custom reliable messaging Seq. Ack. Range range = new Seq. Ackn. Range( id, low, high ); Seq. Ack. Range[] ranges = { range }; Reliable. Queue. Process. Acks( ranges ); . . . // Custom DTC transaction context hr = p. ITx. Dispenser->Begin. Transaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, p. ITx. Options, &p. ITransaction); . . . } EMEA

Road to Indigo Secure, Reliable, Transacted – WSE class Entity. Service { } [Web. Road to Indigo Secure, Reliable, Transacted – WSE class Entity. Service { } [Web. Method] public void Add. Entity( string entity ) { // Integrated WS-Security support foreach ( Security. Token token in request. Context. Security. Tokens ) { X 509 Security. Token x 509 = token as X 509 Security. Token; . . . } // Custom reliable messaging Seq. Ack. Range range = new Seq. Ackn. Range( id, low, high ); Seq. Ack. Range[] ranges = { range }; Reliable. Queue. Process. Acks( ranges ); . . . // Custom DTC transaction context hr = p. ITx. Dispenser->Begin. Transaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, p. ITx. Options, &p. ITransaction); . . . } EMEA

Road to Indigo Secure, Reliable, Transacted – Indigo [Confidentiality] [Reliability( Guarantees. Exactly. Once | Road to Indigo Secure, Reliable, Transacted – Indigo [Confidentiality] [Reliability( Guarantees. Exactly. Once | Guarantees. In. Order )] [Service] class Entity. Service { } [Transaction. Coupling( Transaction. Coupling. Options. Required )] [Service. Method] void Add. Entity( string entity ) {. . . } EMEA

More information www. microsoft. se/arkitekt www. microsoft. com/interoperability www. ws-i. org/ EMEA More information www. microsoft. se/arkitekt www. microsoft. com/interoperability www. ws-i. org/ EMEA

Please complete your session feedback form THANK YOU Please complete your session feedback form THANK YOU