Three SOA Case Studies understanding what to use where. Paul Fremantle Chief Technology Officer WSO2 Inc



Similar documents
Building an Enterprise Service Bus Using Web Services and Apache Synapse v2

AquaLogic Service Bus

SOA Myth or Reality??

A standards-based approach to application integration

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

ebay : How is it a hit

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

A Quick Introduction to SOA

Service Virtualization: Managing Change in a Service-Oriented Architecture

Service Governance and Virtualization For SOA

HexaCorp. White Paper. SOA with.net. Ser vice O rient ed Ar c hit ecture

IBM WebSphere ESB V6.0.1 Technical Product Overview

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

What s New in Sonic V7.5 Rick Kuzyk

WELCOME TO Open Source Enterprise Architecture

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Service-Oriented Architecture and Software Engineering

Accelerate your SOA Projects through Service Simulation

Introduction to Service Oriented Architecture (SOA)

An Open Policy Framework for Cross-vendor Integrated Governance

The Way to SOA Concept, Architectural Components and Organization

Developers Integration Lab (DIL) System Architecture, Version 1.0

SONIC ESB 7. KEY CAPABILITIES > Connects, mediates and controls. KEY BENEFITS > Creates new processes using

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

SOA GOVERNANCE MODEL

Run-time Service Oriented Architecture (SOA) V 0.1

Getting started with API testing

Eclipse Open Healthcare Framework

IBM WebSphere application integration software: A faster way to respond to new business-driven opportunities.

.NET and J2EE Intro to Software Engineering

SOA Best Practices (from monolithic to service-oriented)

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

An Oracle White Paper Dec Oracle Access Management Security Token Service

BEA BPM an integrated solution for business processes modelling. Frederik Frederiksen Principal PreSales Consultant BEA Systems

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

Core Feature Comparison between. XML / SOA Gateways. and. Web Application Firewalls. Jason Macy jmacy@forumsys.com CTO, Forum Systems

SERVICE ORIENTED ARCHITECTURE

Secure Identity Propagation Using WS- Trust, SAML2, and WS-Security 12 Apr 2011 IBM Impact

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Managing SOA Security and Operations with SecureSpan

Service-oriented architecture in e-commerce applications

Securing Web Services From Encryption to a Web Service Security Infrastructure

IBM WebSphere Enterprise Service Bus, Version 6.0.1

OsEra Enterprise Service Bus

Web Services Implementation: The Beta Phase of EPA Network Nodes

Achieving business agility and cost optimization by reducing IT complexity. The value of adding ESB enrichment to your existing messaging solution

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

1 What Are Web Services?

1 What Are Web Services?

SIF 3: A NEW BEGINNING

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Avoiding Web Services Chaos with WebSphere Service Registry and Repository

Asynchronous Peer-to- Peer Web Services and Firewalls

SOA, BPM, and Microsoft: A Pragmatic View

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

AS4: Web Services for B2B. GS1 etg White Paper. Issue 1, Approved, July AS4: Web Services for B2B GS1 etg White Paper

ESB solutions Title. BWUG & GSE Subtitle guy.crets@i8c.be. xx.yy@i8c.be

Building the European Biodiversity. Observation Network (EU BON)

Simplifying Processes Interoperability with a Service Oriented Architecture

Oracle SOA Suite: The Evaluation from 10g to 11g

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Bridging the Gap between On-Premise BizTalk ESB and Windows Azure platform AppFabric

Cloud Ready Data: Speeding Your Journey to the Cloud

White Paper. Web Services External (WS-X) An AS4 Implementation at Cisco

How To Build A Financial Messaging And Enterprise Service Bus (Esb)

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

Introduction to Service Oriented Architectures (SOA)

WebSphere ESB Best Practices

SCA-based Enterprise Service Bus WebSphere ESB

Setting Up an AS4 System

White Paper Delivering Web Services Security: The Entrust Secure Transaction Platform

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

WEB SERVICES SECURITY

Web Services Advanced Topics

Enterprise Integration with WSO2 ESB

Putting the power of Web 2.0 into practice.

Redbook Overview Patterns: SOA Design with WebSphere Message Broker and WebSphere ESB

New Features in Neuron ESB 2.6

An Oracle White Paper November Oracle Primavera P6 EPPM Integrations with Web Services and Events

Federated Service Oriented Architecture for Effects-Based Operations

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Increasing IT flexibility with IBM WebSphere ESB software.

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

So far in the first three chapters of this book we have studied an overview of SAP

WebSphere Stack Update

Increasing IT flexibility with IBM WebSphere ESB software.

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

REST and SOAP Services with Apache CXF

Szolgáltatásorientált rendszerintegráció. WS-* standards

Exploring ADSS Server Signing Services

Transcription:

Three SOA Case Studies understanding what to use where Paul Fremantle Chief Technology Officer WSO2 Inc

Introduction Paul Fremantle, CTO, WSO2 Co-Chair, OASIS WSRX TC VP, Apache Synapse Previously STSM in WebSphere Architecture This is based on projects I ve worked on at WSO2 Case study #1 Integrating legacy systems for reporting at Concur Case study #2 Building a National SOA OIO SOI Case study #3 Using SOA to integrate IT Management systems Anti-study Some lessons learnt NOT on WSO2 projects!

A very short plug for WSO2 Open Source SOA Startup Since 2005 A complete SOA platform available under the Apache License WSO2 Carbon OSGi-based runtime including ESB Service Hosting Web Services Application Server Data Services Registry / SOA Governance Business Process Server No Gimmicks / Gotchas Full 24x7 support Training and Consultancy Hear more tomorrow at 16:45 SkillsMatter booth

Case study 1

Integration at the glass

Concur Concur is an online expense management company >$200m revenue Multiple legacy systems: Customer Relationship Management ERP Sales Force Automation In house HR employee application Main requirement enable better reporting across applications Internal project only not in the direct flow of external customer systems Needed an approach that supported: Iterative development Support changes to the underlying systems Flexible

Architecture Mashups Registry ESB routing, synchronization and transformation SOAP Services Restful WSAS Data Services Spring Services SOAP File Access Existing Databases Existing Applications Bug Tracking / ITIL Ticket / CRM / SFA / HR / (10 systems in alland growing)

Technical details Everything deployed on Windows 2003 running on VMWare Internal systems so limited security Basic authentication Some use of digital signature Running in a blade server to simplify test and scaling Currently Hot/Cold but moving to Hot/Hot ~75,000 transactions a day 95% SOAP, 5% Restful at this point WSDLs and Schema s stored in WSO2 Registry Embedded in the ESB Currently 18 services across 10 backends with 120 operations Growing Looking at moving to a more event-based approach in the future

Iterative development

Project Approach Planned for iterative development over phases Staff self-educated on SOA and looked at Open Source systems before talking to vendors One week kickstart education and POC session Built a data synchronization application Proof to the business: Concur built a prototype that offered real value to executives: Single customer view mashup pulled open CRM tickets, ERP and CRM data. The demo was an instant hit gaining an executive sponsor Team identified re-usable services Put extra effort into the design Several refactoring iterations

Benefits Lower cost of licenses/users on SaaS systems Previously were using licenses for occasional users Intermittent users were being trained on systems that they rarely used the new mashups replaced this requirement The SOA design has allowed incremental replacement of some legacy systems Existing test plans for Sarbanes-Oxley could be re-used Open source meant that a POC could prove the benefits to the business without upfront expenditure

Lessons Learnt Keep it Simple In-house expertise has paid off Steeper learning curve but Better technology selection Lower overall cost More agility Use of open source projects has Reduced cost Been more flexible Given better access to the community and developers

Business to Government

Case Study 2 OIO SOI

OIO SOI Danish Government wanted to simplify electronic business Especially for Business-to-Government (B2G) Potential savings of 630m Euros by digitalizing business Requirements Reliable delivery Secure encrypted and signed messages Support small businesses

OIO SOI Several aspects A registry for service lookup A profile of transport protocols Open Source toolkits for Java and.net A reference implementation of a message handler A legal framework Some existing framework A nationwide digital certificate framework A standard XML syntax for invoices and orders (UBL2)

Registry A profile of OASIS UDDI v3.0 A central registry run by the Danish Government Designed to be used by electronic clients Not to be browsed by humans! Requires a Danish Certified Certificate to publish https://publish.uddi.ehandel.gov.dk:12443/registry/uddi/web

RASP

RASP Reliable Asynchronous Secure Profile A profile of SOAP 1.2 WS-Security 1.1 WS-ReliableMessaging 1.0 WS-Addressing Two bindings: HTTP and SMTP Why SMTP? To allow small businesses to communicate No requirement to host a web server No 24x7 operation No firewall configuration Only an email address

RASP capabilities Authentication Confidentiality Integrity Non-repudiation / proof of delivery Support for intermediaries Asynchronisity

Interoperability RASP includes libraries for both.net based on WCF 3.0 Java based on Apache Axis2 Defined a set of tests and run using a continuous test environment Biggest problems were found with WSRM and SMTP

NITA Interop

Logical architecture This is logically a complete peer-to-peer architecture With only a central registry Any company can talk to any other company Even those with only mail accounts Cannot track all the requests!

Results 18,500 companies sending invoices via RASP Mandatory to send invoices to all government agencies Scanning companies and a web gateway allow bridging

Lessons learnt SMTP in the real world is tricky Spam filters can modify or drop messages Our email accounts got shut down for spamming i.e. sending many messages in a short time Timeouts were too long for the RM system We made mistakes layering SMTP and WS-Addressing Publishing interoperable reference implementations was a big win Proved interoperability Formed the basis for other implementations to test against The RASP team is now working on a European initiative: PEPPOL http://peppol.eu Trying to bring the same results across Europe

Resources RASP specs and pointers to implementations http://tinyurl.com/azwhx5 Peppol http://peppol.eu

Case Study #3 Enterprise IT Management

Enterprise IT Management Problem statement: Customers have multiple installed management systems Network Management User Management Systems Management All from the same vendor! These are not just stock systems each has been customized for each installation Customers have to keep these systems in sync By data entry Any solution needs to be flexible, extensible, modifiable

This is a difficult problem! Synchronizing multiple different systems But: Systems have different underlying formats Some of the systems may be more accurate than others Need to be able to scale to different numbers of systems Must be extensible / reprogrammable

Event based models

Actuators and Sensors An actuator emits an event A sensor accepts events Each of the systems produces events when something changes within the system An Adapter converts the event into an XML and publishes it The XML can be in an Application Specific format These events are transformed by the ESB into Generic

Managing the Event Subscriptions A header carries the Topic E.g. /config/hardware/server/windows/xp Subscribers can subscribe to a specific topic, or all sub-events The topic space is represented as a tree in the registry Subscriptions are simply URLs stored as entries at a point in the tree /config/ /software/ /hardware/ /server/ /linux/ /windows /xp/ URL1 / URL2 (etc) The G-message schemas match the structure /config/hardware/server extends /config/hardware The master data services are all generated from a schema-driven DSL

Feedback!

Feedback problems change Black Box update

Feedback loops Event Broker Black Box system Adapter Adapter Black Box system http://pzf.fremantle.org/2008/09/interesting-problem-in-event-driven.html

Adding Master Data into an Event Based Architecture

Understanding the flow Adapter produces an AS-Event ESB transforms to a G-Event and sends to subscribers Master receives the event Decides if it is an echo (and drops) Executes policy based on the topic/message This may execute a business process or ruleset Master updates the master db Republishes in a second topic space using a G-Event This is now the master event This gets transformed to an update of the other systems using the AS-schema

Technologies used SOAP WS-Transfer for the updates Both the adapters and the master data WS-Eventing for the events WS-Security for authentication, encryption, signatures WS-ReliableMessaging for reliable message delivery The system is manageable using JMX But can also be managed by logging events with a new subscriber

Project approach Kickstart1 week Thin Slice end-to-end Several teams Adapter Master Data Eventing Transformation Integrated Iterative development Start with two key Use Cases Open Source In close partnership with WSO2 for support and consultancy

Anti-patterns Use a full waterfall model Don t budget time for integration test Assume that standard coding unit test->integration test will work Build unit tests that don t test interoperability E.g. Simulate XML request/response inside the calling system rather than calling a remote system Wait until all the systems are ready before starting any integration test A delay to one system will hold up testing all the others Don t bother with continuous build and test Even better build by hand Even better test by hand too Have a nice complex process to hand over from development to test That way each defect will take a long time Wait until the project is failing to find out your team doesn t have the skills

Conclusions

Thin slice prototyping is always a good idea

Iterative project plans are essential

Prove the concept to the business

KISS Keep it Simple, Stupid!

Questions?