Legal Copyright 2016 Magento, Inc.; All Rights Reserved. Magento and its respective logos are trademarks, service marks, registered trademarks, or registered service marks of Magento, Inc. and its affiliates. Other trademarks or service marks contained in this presentation are the property of the respective companies with which they are associated. This presentation is for informational and discussion purposes only and should not be construed as a commitment of Magento, Inc. or of any of its affiliates. While we attempt to ensure the accuracy, completeness and adequacy of this presentation, neither Magento, Inc. nor any of its affiliates are responsible for any errors or will be liable for the use of, or reliance upon, this presentation or any of the information contained in it. Unauthorized use, disclosure or dissemination of this information is expressly prohibited.
Magento Commerce Order Management Integration
Alan Kent Magento Chief Architect Aaron Chidley Balance Internet
Merchant Challenges are Increasing Growth Merchants need a platform that can grow with them In functionality In extensibility In performance / scalability In reliability Brand differentiation need to maintain/grow public brand identity Cost efficiencies need to keep reducing costs Systems are multiplying a constant demand to keep up Multiple vendors need to interconnect multiple, diverse, technologies
Magento has Grown Magento Cloud Magento Marketplace Deploy, Manage Extend Magento Digital Commerce Magento Shared Service Definitions Magento Commerce Order Management
But More is Needed Carrier Integrations PIM Gift Card Providers ERP Systems Tax Logistic Systems Warehouse Management Systems
MDC vs MCOM Different Extension Strategies Public web stores need engaging, branded user experiences Deep code integration HTML, CSS, JavaScript, Backend order management systems do not they need integrations Clearly defined data model and integration points Synchronous and asynchronous information flows
The Magento Vision Replicating the openness of MDC with the MCOM SaaS model Enablement via shared service definitions Merchants standardized solutions Solution partners simpler integration of different technologies Extension developers MCOM extensions via Magento Marketplace Magento enables an ecosystem to grow through standardization
Magento Shared Service Definitions Open, extensible specifications rather than open, extensible code Set of data structure definitions and communication patterns for connecting COM, RAP, and DC default is JSON over AMQP Extensible per installation or by marketplace extension to cope with custom metadata https://github.com/alankent/shared-services
Extension Model Production Environment MDC (web store) MCOM extensions Core module Orders Warehouse Connector 3 rd Party Warehouse Management System Core module RabbitMQ Store Connector 3 rd party Extension Shipping 3 rd party Connector Payments &Tax Magento Commerce Order Management RAP Middleware 3 rd Party SaaS Offering
Service Specifications Magento Shared Service Definition Extensible specification comprising of Extensible data structures Extensible service definitions Overview Service Specification Language Service Interaction Flows Core Transport Bindings TODO: SHOW XML OF A SERVICE AND DATA STRUCTURE TODO: URL OF SITE
Message Based Interactions EVENT Broadcast to all listeners (publisher/subscriber model) COMMAND Instruction for action, with returned status information QUERY Request for information, with no persistent side effects Product Manager Web Store Native Mobile App Loyalty EVENT New Product Created QUERY Catalog Lookup COMMAND Create New Order EVENT New Order Created Catalog Search Order Capture
Example Deployment One product may implement multiple services Magento Digital Commerce Product Manager Catalog Search Web Store Magento RAP Native Mobile App Non-Magento implemented services may sit on same bus 3 rd Party Loyalty EVENT New Product Created QUERY Catalog Lookup COMMAND Create New Order EVENT New Order Created Magento Shared Service Definitions coverage Order Capture Magento Commerce Order Management
Switching a Service Implementation Can iteratively adopt small incremental changes with minimal risk Product Updater Magento Digital Commerce Catalog Search QUERY Catalog Lookup Web Store Magento RAP Native Mobile App 3 rd Party Loyalty EVENT New Product Created COMMAND Create New Order EVENT New Order Created Product Manager Akeneo Product Information Manager may start as a Digital Commerce store but be spun out using a separate tool Order Capture Magento Commerce Order Management
Demonstration Balance Internet
Magento Imagine Integration of Akeneo PIM with Magento Suite using message broker 13 th April 2016
Evolving ecommerce environment and new integration challenges Major challenges - Demand for real-time integration of many information systems to increase automation level and gain a competitive advantage - Increased data volumes and requirements for scalability of data processing - Demand for decoupling of systems across customer s implementation to provide agility Solutions - SOA architecture; Asynchronous processing of data and service calls - Usage of reliable scalable messaging systems for data exchange and as a transport for service calls - Utilise benefits of message brokers including persistency, transactions and routing - Utilise Enterprise service bus, Business process managers and other system integration solutions
Prototype overview - Luma products are loaded into Akeneo - Akeneo RabbitMQ export profile has been implemented based on data schemas provided by Magento - Routing in RabbitMQ has been configured to populate product data to Magento Digital Commerce and MCOM
Prototype showcase
Lessons learned Usage of RabbitMQ as a transport for system integration is quite straightforward and will allow achievement of major goals such as scalability and decoupling Messaging significantly improves transparency of data flows and allow for convenient logging and debugging New approach with classic topology of integration of pairs of the systems brings significant benefits and is quite simple for implementation New approach allows system decoupling and asynchronous service calls resulting in an ability of building significantly more complex integrations. That, in turn, brings new challenges including more complex exception processing, data integrity tracking/ assurance/reconciliation and data recovery in any of the systems Thanks to the Magento crew for participation in an exciting exercise!
Contact Details Magento Commerce www.magento.com msonier@magento.com Balance Internet, Australia www.balanceinternet.com.au connect@balanceinternet.com.au Magento Chief Architect / Presenter: Alan Kent @akent99 MCOM Product Management: Michael Sonier Rob Sweeney. Business Perspective / Presenter: Aaron Chidley Architecture and Implementation: Mal Williams Maxim Baibakov Kostya Ogar