Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Modern Enterprise integration Strategies

7,190 views

Published on

This document explores the history of the evolution of integration technologies in the enterprise from EAI to micro-services.

Published in: Software
  • Be the first to comment

Modern Enterprise integration Strategies

  1. 1. Modern Enterprise Integration Strategies
  2. 2. Agenda • About US • The enterprise integration landscape • Enterprise application integration servers • Enterprise service bus • Integration platform as a service • New trends in enterprise integration
  3. 3. The Enterprise Integration Landscape
  4. 4. Types of Integration Platforms Early 2000s Enterprise Application Integration Platforms 2005+ Enterprise Service Bus 2011+ Integration Platform as a Service 2014+ Microservices Architecture
  5. 5. Enterprise Application Integration Platforms
  6. 6. Goals • Based on the traditional enterprise integration patterns architecture • Enable integration between different enterprise line of business systems • Facilitate long running processes • Support for B2B standards like EDI or Rosettanet
  7. 7. Technological Foundation • Orchestration engine • Business rules platform • Business activity monitoring • B2B interfaces
  8. 8. Strengths • Implementing long running processes • Supporting B2B processes • Rapid integration with line of business systems
  9. 9. Challenges • Expensive to implement • Lack of extensibility • Lack of support for modern architecture styles like microservices or cloud computing
  10. 10. Platforms • Microsoft BizTalk Server • Tibco Businessworks • Oracle SOA suite • IBM WebSphere Process Server • Software AG • …….
  11. 11. Enterprise Architect Standpoint • Implementing enterprise app integration server is an expensive endeavor both technologically and financially • Require on-premise infrastructure • Development using proprietary workflow and orchestration tools • Training • Challenge hiring talent
  12. 12. EAI Example: BizTalk Server
  13. 13. BizTalk Server Capabilities Management and Operations RFID Platform Business Rule Framework Business to Business Integration Business Activity Monitoring Messaging Orchestration Tools AppFabric Connect Integration
  14. 14. BizTalk Server Integration Scenario Suppliers Application 1 3 2 4 Inventory Application Enterprise Resource Planning (ERP) Application Microsoft BizTalk Server 2010 IT Pros and Developers Manage and Operate Design and Implement RFI 5 EDI Messaging Messaging Assign Supplier Policy Filter Tags Policy Re-stock Orders Orchestration Read Shipment RFID Tags Up-to-date KPIs in BAM Business Users Messaging
  15. 15. BizTalk Server Runtime Architecture www.devscope.net Receive Port Orchestration XML EDI or Flat File XML EDI or Flat File Send Port Send Adapter Send Pipeline MessageBox Mapping TO: NWTraders (Flat file format) FROM: Fabrikam (XML format) Mapping FROM: Contoso (Flat file format) TO: Fabrikam (XML format) Receive Location Receive Adapter Receive Pipeline
  16. 16. Enterprise Service Bus
  17. 17. Goals • Provide integration capabilities in service oriented solutions • Enable a lighter, messaging-centric model to integrate services in a SOA architecture
  18. 18. Technological Foundation • Messaging channels • Services • Topics, queues • Routing rules
  19. 19. Strengths • Lightweight messaging between services • Abstract infrastructure capabilities such as routing and transformation in a SOA solution • Enable traditional messaging patterns such as persistent messaging, reliable messaging, retransmissions, multi-cast, uni-cast, publish- subscribe etc
  20. 20. Challenges • Lack of B2B support • Scalability challenges with centralized messaging models • Fundamentally based on .NET and J2EE programming models • Lack of support for modern architecture styles such as APIs, micro- services etc
  21. 21. Platforms • MuleSoft • WSO2 • BizTalk ESB Toolkit • Oracle ESB • WebSphere ESB
  22. 22. ESB Example: Mule ESB
  23. 23. ONN
  24. 24. ESBFrameworks  Apache ServiceMix Sun (Oracle) OpenESB JBoss ESB Fuse ESB Mule ESB    
  25. 25. Messaging Framework  •RoutingConnectivity (HTTP, JMS, FTP) • Cloud connect (Salesforce, Facebook,Twitter) Web Services (SOAP, REST)   
  26. 26. Flow  Message source Message processor   Component Transformer Filter Router Endpoint     Subflow – Private Flow
  27. 27. Message  Properties Variables Payload Attachments   
  28. 28. 3 <mule xmlns:jdbc="http://www.mulesoft .org/schema/mule/jdbc" xmlns:sftp="http://www.mulesoft .org/schema/mule/sftp" xmlns:mulexml="http://www.muLesoft .org/schema/mul 4 http://ww1uulesoft .org/schema/mule/xml http://ww11.mulesoft .org/schema/mule/xmL/current/mule-xmL.xsd 5 http://www.mulesoft.org/schema/mule/sftp http://www.mulesoft.org/schema/mule/sftp/current/mule-sftp.xsd 6 http://www.mulesoft.org/schema/mule/jdbc http://www.mulesoft.org/schema/mule/jdbc/current/mule-jdbc.xsd 7 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 8 http://www.mulesoft .org/schema/mule/core http://www.mulesoft .org/schema/mule/core/current/mule.xsd 9 http://111111.mulesoft .org/schema/mule/scripting http://111111.mulesoft .org/schema/mule/scripting/current/mule-scripting.xsd "> 10 <flow name="VcuPreApprSFTP" doc:name="VcuPreApprSFTP"> 11 <jdbc:inbound-endpoint queryKey="GetPADataForVCU"queryTimeout="-1" pollingFrequency="600000"connector-ref="NySQL"doc:name="GetPADataForVCU"> 12 <jdbc:querykey="GetPADataForVCU"value="call sp_GetPreApprovedinfo(173,${last.approved.hours})"></jdbc:query> 13 </jdbc:inbound-endpoint> 14 <logger message="####Payload #(message.payload)" level="INFO"doc:name="Logger"></logger> 15 <choice doc:name="Choice"> 16 <when expression="payload( 'resultsetl '].size()==@"> 17 <processor-chain> 18 <logger message="NoData Found for VCUPA" level="INFO"doc:name="NoData Found"></logger> 19 </processor-chain> 20 </when> 21 <othemise> 22 <processor-chain> 23 <componentclass="com.chromeriver.mule.export.preapprove.component.VCUPreApproveDataCompoent" doc:name="VCUPreApproveDataComponent"><Icomponent 24 <mulexml:object-to-xml-transformer doc:name="Object to XNL"></mulexml:object-to-xml-transformer> 25 <sftp:outbound-endpoint exchange-pattern="one-way" outputPattern="PreAppr_#{function:datestamp:yyyyfYl.ddHHmmss].xml" host="${ftp.panam.host}" po 26 </processor-chain> 27 </othemise> 28 </choice> 29 <rollback-exception-strategy doc:name="Rollback Exception Strategy"></rollback-exception-strategy> 30 </flow> 31 32 33 </mule>
  29. 29. flo VcuPreApprSFTP @::' ------------------------------------------------ Processor Chain @::' f lGetPADataForVCU Logger Choice NoDataFound Deffault·- - - - - - -:------------------ ProcessorChain @::' Ill ) aObject toXML SFTPtoVCUFolder I IVCUPreApproveDataComponent
  30. 30. Filter: Select 'aEndpoints • Hfti'lpl'. w - • CS)IMAP Q JMS HTIP- >SOAP - -- > • ->· Je EliScopes fillComponentscustom-interceptor WsMatter Transformers <X> mlByte-AT.1t fu "Se1ializable mlByte Arrayto String mlEmailto String ( ? ,Filters (? .Flow Control Error Handling (e Cloud Connectors Iii!Amazon SQS G D CMIS 0 Facebook M essage Flow Global Elements Configuration XM L
  31. 31. Enterprise Architect Standpoint • Implementing a ESB platform should be part of a broader SOA strategy • An ESB implementation will require professional services and training
  32. 32. Integration Platform as a Service
  33. 33. Goals • Deliver integration in a cloud computing model • Enable seamless integration with SaaS platforms • Leverage cloud infrastructure to run and scale integration solutions • Facilitate cloud-to-on-premise integration models
  34. 34. Technological Foundation • Adapters • Messaging channels • Services • Topics, queues • Routing rules • On-Premise agents
  35. 35. Strengths • Deep integration with modern SaaS platforms • Based on simpler architectures than its predecessors
  36. 36. Challenges • Lack of support for complex orchestrations and choreographies • Not designed for pure on-premise integration scenarios • Security, regulatory and compliance challenges
  37. 37. Platforms • Azure BizTalk Services • MuleSoft CloudHub • IBM Castiron Live • Dell Boomi
  38. 38. iPaaS Example: Azure BizTalk Services
  39. 39. Azure BizTalk Services
  40. 40. Bridges in BizTalk Services
  41. 41. Transformation
  42. 42. Property
  43. 43. Routing
  44. 44. Hybrid Connectivity Server Explorer (Visual Studio) PowerShell CmdLets Management Service REST API Lob Relay (Service Host)
  45. 45. Enterprise Architect Standpoint • Implementing an iPaaS should be part of a broader cloud strategy • iPaaS should be focused on on-premise to cloud integration scenarios
  46. 46. Modern Integration Strategies
  47. 47. Some Thoughts • The industry has evolved from centralized to federated models • Cloud infrastructures are called to play an important role in integration solutions • SOA is being replaced with new architecture models based on APIs and Microservices • Modern integration strategies should take into consideration mobile and IOT solutions
  48. 48. Microservices
  49. 49. Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things Isolate Failure Deploy Independently Highly Observable
  50. 50. DUMB-PIPES, SMARTENDPOINTS Magical Mystery Bus
  51. 51. Principles of Microservices Integration • Focus on messaging brokering capabilities • Routing • Transformation • Protocol adaptation • Integration infrastructure optimized fro working with hundreds of endpoints • Highly dynamic, continuously changing in
  52. 52. API-Oriented Architecture
  53. 53. In the beginning…. Data Application
  54. 54. Proliferation Application Data CRM Data ERP Data Risk Application
  55. 55. Applications Become Services Service interface Data Service implementation SOAP, JMS, XML…
  56. 56. Services in the Network Controlled Interconnection and Re-use Data CRM Data ERP Data Risk
  57. 57. A Service Bus Data CRM Data ERP Data Risk The Service or Message Bus
  58. 58. OSS Other Corporate SVs BSS Enterprise Orchestration BPM BRMS Application REMOTE DATA CENTER Deployment Option C REMOTE DATA CENTER Deployment Option B REMOTE DATA CENTER Deployment Option A Application Application Application Application Orchestration BPM BRMS DOMAIN ESB Platform Application Application Application Orchestration BPM BRMS DOMAIN ESB Platform Application External Mashups External Mashups Hosted Services (e.g., google, facebook) BPM BRMS Java Service Delivery Orchestration Identity & Access Management (Common) MAIN ESB – A API Gateway Internal Mashups (e.g., web 2.0) ESB Gateway Invocation Module API Directory External Users MAIN ESB – B MAIN ESB – CORPORATE SVCs Big Data Profile DB Service Events Mgmt, Processing & Continuous Intelligence Other Modules We’ve All Been Here
  59. 59. Changing Constraints 2005: Yahoo Maps API 2005: Flickr API 2007: First iPhone & SDK
  60. 60. Service Orientation? Meet the Smartphone
  61. 61. SOA Strict contracts Basic Connectivity Few, known developers, Strictly managed Slow, unreliable, segmented networks APIs Loose contracts Minimal “stack” Self-service 1000s of developers O(10^4) users, external Always connected apps Different Sets of Requirements
  62. 62. Changes in Technology Why OAuth and not WS-Security? Why JSON and not XML? Why the focus on HTTP? Why add Developer on-boarding? Why add Analytics?
  63. 63. The metaphor gets us to think differently. Rapid iteration Programmability from anything Loose documentation YAGNI APIs as Design Metaphor
  64. 64. Thanks

×