EMEA AGENDA: Patterns in the Enterprise Break Integration Patterns Lunch Showcase Break Web Services: Interoperability and Integration Summary - The book ? Questions ? Visual Studio 2005 Beta ? Review form ?
EMEA AGENDA: 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 ThoughtWorks, 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 J2EE 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: 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: Showcase Know IT presents an integration solution in Microsoft BizTalk 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 BizTalk expert and the only BizTalk 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: 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 J2EE 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 Able to operate in conjunction 1 Integration Combining of diverse parts into a complex whole 1 Open Open system, open source, open solution 1 Definition from Oxford Dictionary
EMEA 8 Industries: Insurance > Insurance Asset Finance > Asset Finance Mortgage > Mortgage Retail > RetailExpertise: NET > NET Java > Java SOA > SOA EAI > EAI Open Source > Open Source Agile > Agile DA > DA Company: 600 employees > 600 employees $80M in revenue > $80M in revenue > Global WW Reach > Major corporations < ThoughtWorks’ publications publications ThoughtWorks at a Glance
EMEA 10 Web Services: Interoperability + Integration Daniel Akenine Architect Evangelist
EMEA Are we serious ? 3 feb – 2005: Bill Gates and interopabilityBill 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: Host Integration Server, BizTalk, Identity Integration Server AppleTalk, Netware, Unix/Linux, C++, JAVA, Oracle, Sybase, DB2, SAP, Siebel, SWIFT, HL7, Use XML to get "Interoperability by Design“ Office XML, WS-*
EMEA AgendaAgenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future
EMEA AgendaAgenda - 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 the species that survive, or the most intelligent, but the ones most responsive to change. - Charles Darwin
EMEA 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
EMEA The “service oriented enterprise” Infrastructure Services User interface Devices
EMEA Services and Systems are not the same A service is a program you interact with via message exchanges Services are built to last Availability and stability are critical A system is a set of deployed services cooperating in a given task Systems are built to change Adapt to new services after deployment
EMEA What is Service Orientation (SO)? An approach to building systems using 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
EMEA 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 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 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 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 Contract Agreements Programming Language Object Model Application Database Operating System Database Operating System Programming Language Object Model Application You Your Partner Complexity To Loosely Coupled Services From Tightly Coupled Objects…
EMEA Architecting with Services Promoting Loose Coupling Contract How is it implemented? How to build it? How to publish it? How does it work? Where to host it? How to use it? What does it do? Where to find it? Service provider Service consumer
EMEA 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 Change ManagementWork Item Tracking ReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit Testing Code Coverage Visio and UML ModelingTeam Foundation Client VS ProClass Modeling Load TestingManual Testing Test Case Management Application Modeling Logical Infra. Modeling Deployment Modeling Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners Build Server
EMEA Visual Studio Team System Change ManagementWork Item Tracking ReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit Testing Code Coverage Visio and UML ModelingTeam Foundation Client VS Pro Load TestingManual Testing Test Case Management Application Modeling Logical Infra. Modeling Deployment Modeling Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners Application ModelingLogical Infra. ModelingDeployment Modeling Class Modeling Build Server Probably the best development tool in the world :-)
EMEA Number 1 Application Designer Service-Oriented Architecture model Port Details editor
EMEA Number 2 Infrastructure Designer Logical Infrastructure Designer Services assigned to logical infrastructure Architecture validated against operational settings and constraints
EMEA And the last. Class designer Class Designer Class Designer and two-way code synch
EMEA AgendaAgenda - 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 ! "Every generalization is dangerous, especially this one." — Mark Twain
EMEA A basic web service is not always OK ! Security Reliable Messaging Transactions Messaging Metadata XML Security Reliable Messaging Transactions Messaging XML Metadata Service description Policy Discovery Metadata Service description Policy Discovery XML Data Schema Interoperability XML Data Schema Interoperability Messaging Functional data Operational data Address services & resources Attach binary data Messaging Functional data Operational data Address services & resources Attach binary data Reliable Messaging Guaranteed delivery In order processing Idempotency Reliable Messaging Guaranteed delivery In order processing Idempotency Security Encryption Authentication Authorization Non-repudiation Federation Trust Security Encryption Authentication Authorization Non-repudiation Federation Trust Transactions Coordinated activity Atomic transaction Business activity Transactions Coordinated activity Atomic transaction Business activity
EMEA Integration Windows CLR.NET SecurityAdapters Orchestration ES MSMQ Linux JVM J2EE Security JCA ebXML JTA JMS WS-I
Existing Client/Server Application Client Application (VB6, Delphi or PowerBuilder) Server Components DCOM Database Enterprise Integration?
EMEA Enterprise C/S 1: Expose Database Client Application (VB6, Delphi or PowerBuilder) Server Components DCOM Database Web Service Façade
EMEA Enterprise C/S 2: Expose Server Client Application (VB6, Delphi or PowerBuilder) Server Components DCOM Database Web Service Façade
EMEA Enterprise C/S 3: Expose Client Client Application (VB6, Delphi or PowerBuilder) Server Components DCOM Database Web Service Façade
EMEA Web Services: Messaging and more Web services provide the benefits of messaging loose-coupling service oriented And more vendor neutral suitable for access through Internet
EMEA 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 in the future WS-* standards are evolving rapidly, most important WS-Security WS-Policy WS-Addressing WS-I defines profiles, sample applications and testing tools Profiles are guidelines for using WS specifications 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 Messaging and more Tenets Active community Required for external integration Beneficial for internal integration
EMEA Building Interoperable Web Services
EMEA AgendaAgenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future
EMEA The Web Services Maturity Model Early LearningIntegrationReengineeringMaturity IntegratedArchitectedMeasured and Managed FederatedService Deployments Technical Interface Business Capability Business Product Domain Standard Service Perspective TechnicalBusinessEnterpriseIndustry/ Ecosystem Drivers InternalLimited External Virtual Business Anonymous Collaborations MomentumExtended Momentum ReengineeredStandardizedService Process
EMEA 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 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 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 AgendaAgenda - Service Oriented Architecture - Web Services and Integration - Web Services and maturity - Services in the future
EMEA Future Indigo Longhorn Federation Server Visual Studio 2007? (Orcas) Tomorrow ASMX (VS2005 enhancements) WSE 3.0 Indigo (Beta) Visual Studio 2005 Longhorn (Beta) SQL Server 2005 Today 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
EMEA SOA Technology Roadmap Indigo ASMX Enterprise Services.NET Remoting Com(+) MSMQ ASMX WSE1 WSE2 WSE-n
EMEA 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);... }
EMEA 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);... }
EMEA Road to Indigo Secure, Reliable, Transacted – Indigo [Confidentiality] [Reliability( Guarantees.ExactlyOnce | Guarantees.InOrder )] [Service] class EntityService { [TransactionCoupling( TransactionCouplingOptions.Required )] [ServiceMethod] void AddEntity( string entity ) {... }
EMEA More information
Please complete your session feedback form THANK YOU