Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises

Similar documents
Sentinet for Microsoft Azure SENTINET

Technical Overview. Elastic Path Commerce

Microservices with Red Hat. JBoss Fuse

IP-PBX for Service Oriented Architectures Communications Web Services

Mission-Critical Enterprise Cloud Applications

JBI based ESB as backbone for SOI applications. Michael Wisler Zühlke Engineering AG Submission ID: 687

: ESB Implementation Profile

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Sentinet for BizTalk Server SENTINET

The 7 Habits of Highly Effective API and Service Management

IP PBX for Service Oriented Architectures Communications Web Services

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

MetaMatrix Enterprise Data Services Platform

SUMMARY LAYERED ARCHITECTURE

Overview SENTINET 3.1

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

Service-Oriented Architecture (SOA)

Service-Oriented Architecture

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

REPORT MICROSOFT PATTERNS AND PRACTICES

First Utility. Deploying Axway API Gateway to secure public APIs, while enabling a low cost-to-serve

Quality - The Key to Successful SOA. Charitha Kankanamge WSO2 February 2011

A Perspective on the Transformation of zseries to Support New Workloads

Architectural patterns and models for implementing CSPA

Enterprise Architecture Deployment Options. Mark Causley Sandy Milliken Sue Martin

(9A05803) WEB SERVICES (ELECTIVE - III)

Services Oriented Architecture and the Enterprise Services Bus

Service Mesh and Microservices Networking

Sentinet for Windows Azure VERSION 2.2

DevOps Tooling from AWS

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

SOA with Web Services in Practice. SOA with Web Services

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse

Upgrade Your MuleESB with Solace s Messaging Infrastructure

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Open ESB v2, Open ESB.next and Project Fuji. Andreas Egloff Lead Architect SOA / Business Integration Sun Microsystems

efax Corporate for Independent Agent Offices

Web Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics

TECHED USER CONFERENCE MAY 3-4, 2016

Monitoring services on Enterprise Service Bus

For Performance and Scalability, Amadeus Chooses Data Center

CAS 703 Software Design

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

OpenESB Keh-Yoe Ong FAST (Field Assistance Support Team)

Sterling Talent Solutions Automates DevOps and Orchestrates Data Center Operations. SaltStack Enterprise case study

IEC : Implementation Profile

Overview. Requirements. Aims. Services and messages. Architecture overview. JBossESB. What are the aims behind JBossESB?

How Cisco IT Improves Commerce User Experience by Securely Sharing Internal Business Services with Partners

ActiveVOS Technologies

Oracle Application Development Framework Overview

Microservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER

Introduction to RESTful Web Services. Presented by Steve Ives

Lesson 19 Software engineering aspects

Third Wave. How to Incorporate Legacy Devices to the. of Internet Evolution

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases

Creating engaging website experiences on any device (e.g. desktop, tablet, smartphone) using mobile responsive design.

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Sentinet for BizTalk Server VERSION 2.2

What protocol to choose

SOA-14: Continuous Integration in SOA Projects Andreas Gies

OpenIAM Identity and Access Manager Technical Architecture Overview

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

Design Patterns for the Cloud. MCSN - N. Tonellotto - Distributed Enabling Platforms 68

Integrating your CX, ERP and HCM Clouds with your On-premises Applications CON7012

Cloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.

Introduction to WebSphere Platform Messaging (WPM)

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Edge Foundational Training

How to Evaluate a Next Generation Mobile Platform

Magnolia Community Edition vs. Enterprise Edition. Non-Functional Features. Magnolia EE. Magnolia CE. Topic. Good value for money.

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

Let s say that hosting a cloudbased application is like car ownership

Enabling Mainframe Assets to Services for SOA

Connecting ESRI to Anything: EAI Solutions

SwiftStack and python-swiftclient

AN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS. Marius Bogoevici Christian Posta 9 May, 2018

WebSphere Application Server, Version 5. What s New?

What is a Lean Cloud Platform? May 2011 Paul Fremantle CTO and Co-Founder,

Crossing boarders with the bus Integrating enterprise data with public APIs!

1. Introduction. 2. Technology concepts

What To Ask Your SD-WAN Vendor

Software MEIC. (Lesson 20)

Oracle Exam 1z0-478 Oracle SOA Suite 11g Certified Implementation Specialist Version: 7.4 [ Total Questions: 75 ]

XBS Application Development Platform

Enterprise IPv6, Affecting Positive Change

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

AKAMAI CLOUD SECURITY SOLUTIONS

CENTRIX Condition Monitoring

IBM Rational Application Developer for WebSphere Software, Version 7.0

Build application-centric data centers to meet modern business user needs

Artix Version Getting Started with Artix: Java

21ST century enterprise. HCL Technologies Presents. Roadmap for Data Center Transformation

Microsoft Architecting Microsoft Azure Solutions.

Web Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics

powered by Cloudian and Veritas

Scaling Out Tier Based Applications

Next-Generation SOA Infrastructure. An Oracle White Paper May 2007

Transcription:

Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises A little bit about myself Jason Whaley Web Infrastructure Engineer Leapfrog Enterprises jwhaley@leapfrog.com What Will be Covered Overview of Leapfrog s Connected Products SOA implementation How we implemented and deployed in under a year Technologies used: What Why How What You Should Walk Away With Knowledge of what can go right and wrong with a fast paced SOA project Ideas from our project that you can apply and problems you can avoid in your own SOA project How to take advantage of the same technologies found in our SOA ecosystem Challenges and lessons learned The Problem to be Solved Four new Connected toys to be released in 08 with potentially more to come Uploading of tons of game play data that we want to use in diverse ways Integration with desktop applications and several web applications How do we collect that data and then expose it for consumption in diverse ways? Usages such as Game modification Game play rewards Learning progress reporting to parents Recommendation of new titles and/or toys and just about anything else our business can come up with The Solution? A Service Oriented Architecture Logically defined groups of loosely coupled services representing an abstraction of heterogeneous sources of data and and business logic that work together All Java-based Everything is exposed as a service Device uploading Data reporting Content (text and media) [Insert next requirement from our business here] 1

Rewind to early 07 Leapfrog does not host any externally exposed web applications itself All web applications and e-commerce outsourced and hosted by a third party Very few developers focused on the web and services located inhouse Connected products being developed but none in the marketplace No SOA pieces in place Little to no requirements for new upcoming products available The First Steps - Second Half of 07 Recruiting and contracting talent Team grew from single digits to 30+ members Bringing the website in-house Remove dependence on our third party providers Manage our website, content, and media with a content management system - Day Communiqué (more later ) The First Steps - Second Half of 07 End of 07 - What We Ended Up With Beginning of initial SOA Architecture Atlassian Crowd used for single sign-on and identity management Mule ESB to abstract and handle routing for communications between Legacy CRM System Third party e-commerce provider Crowd identity management Ad-hoc processes Begin planning and architecture for new products First Half of 08 - The Rubber Meets the Road Release date of our SOA platform established in late May - Five months for actual development and testing SOAP + CXF chosen for service and service client development Development begins on new CRM backend to be exposed by some services First Half of 08 - The Rubber Meets the Road (Cont.) Services to be hosted and wired together using: A set of Mule servers as a typical ESB Another set of Mule servers as an application container CMS (Communiqué) content exposed via its own RESTful service layer Web Applications used by consumers developed using Apache Wicket with a dependency on the new services 2

First Half of 08 - The Rubber Meets the Road (Cont.) The New Architecture: Bird s Eye View Porting integration with e-commerce provider to new architecture No changes needed by the client! All handled at the ESB level through endpoint abstraction and payload transformation Preparing to Scale - Late 08 Endpoint abstraction allowed easy horizontal scaling But many services were synchronous or too granular E.g. Device log data uploading - large payloads processed synchronously Preparing to Scale - Late 08 (Cont.) Introduce asynchronous queuing to device uploading and processing In the ESB Backbone - passing a device log for object transformation Cache responses for services that do not require the newest customer data Take advantage of ability to horizontally scale by adding more hardware Store often used media that gets referenced in services on Amazon S3 3

Device log processing object transformation and queuing Device log processing object transformation and queuing Device log processing - polling from the queue. Processing now asynchronous - will scale to high traffic Queuing and routing logic is separated from the actually processing logic Platform Selection Mule - Service Bus and Services Container Protocol abstraction Messaging and routing through configuration, not code Implementation code written in POJOs Negatives we ve experienced Not a completely mature product (Version 1.x). at the time of implementation, although much better now Internal developer adoption Sparse documentation Platform Selection Day Communiqué / CRX - Web and Content Management Agility for our business users Better solution for content management than alternatives Vendor supplied caching layer very beneficial for horizontal scaling Underlying CRX repository (JSR-170 compliant) easy to write services for Negatives we ve experienced VERY difficult for builds and deployment Difficult API (ContentBus) 4

Platform Selection Atlassian Crowd - SSO Solution Easy to use identity management system SOAP based Very stable under normal load Negatives we ve experienced Scalability under high load Platform Selection Apache Wicket - Web App Framework of Choice Component based web development Outstanding separation of presentation and logic No xml configuration Speedy to develop with (components encourage re-use) Development challenges Several geographically dispersed development teams. Several concurrent projects with multiple dependencies on each other Rapid releases for internal QA ing (2 to 3 releases required a week!) Solutions to Development Challenges Continuous Integration Began with Cruise Control, moving to Atlassian Bamboo Emphasis on keeping working builds at all times Apache Maven Dependency management enforced at build time Convention over configuration - allowed any developer to quickly and easily view and work on another project Synchronous Communication with each other at all working hours Lessons Learned A single source (group or person) of architecture needed Address scalability up front Turn synchronous services to asynchronous where possible. Consider transport overhead when writing your services. Keep your services decoupled as much as possible Future Work Mule 2.1 Communiqué 5 Crowd Clustering with Terracotta DSO Using leading edge technologies means owning their flaws - be prepared 5

Questions 6