140 likes | 386 Views
SOA, EDA, ECM and more. Discover a pragmatic architecture for an intelligent enterprise, to maximize impact on the business Patrice Bertrand Software Architect. Agenda. Context Enterprise architectures SOA – EDA – ESB - … SOS! ECM integration Sample case Questions. The context.
E N D
SOA, EDA, ECM and more Discover a pragmatic architecture for an intelligent enterprise, to maximize impact on the business Patrice Bertrand Software Architect
Agenda • Context • Enterprise architectures • SOA – EDA – ESB - … SOS! • ECM integration • Sample case • Questions
The context • New IT projects rarely start in an empty context: • Business applications • CRM • File servers • Databases • Workflow engines • Web servers • Portal • … • Organizations tend to change frequently • Organisational changes • Mergers & Acquisitions • Outsourcing • … • IT evolves quickly • New products • New standards • New technologies
The proposed approach • We need an architecture which: • Is capable of supporting all the required services • Is flexible (from the IT and the organization perspective) • Is scalable • Is evolutive and will last! • Everything can change but the architecture itself must stay!
« Enterprise » Architectures • Not all architectures are equal… N*(N-1)/2 N
SOA/EDA: definitions • Service-oriented architecture (SOA) • Set of design principles for design and integration • Packages functionality as a suite of interoperable services • Services can be used within multiple separate systems from several business domains • Loosely coupled • Synchronous architecture (request/response style) • Event-driven architecture (EDA) • Software architecture pattern • Production, detection, consumption of, and reaction to events. • Decoupled • Asynchronous (publish/subscribe style) • SOA and EDA are different but complement each other...
The ESB: combining the best of both worlds • The Enterprise Service Bus typically provides: • A distributed services architecture, which includes a lightweight container model for hosting integration components as remote services • An enterprise messaging backbone for reliable delivery of messages between applications and services • XML data transformation • Service orchestration and intelligent routing of messages based on their content • A flexible security framework • A management infrastructure that lets you configure, deploy, monitor, and manage your remote services Enterprise Service Bus: Theory in Practice (O'Reilly)
SOA and EDA complementarity • EDA: • Horizontal • Workflow type • Large processes ESB • SOA: • Vertical • Request/reply • Transactional
Integrating ECM • Integrating ECM into the enterprise means: • Acquisition: acquire content from many sources and many modes (push, pull, scheduled) • Processing: transform, aggregate, index, repurpose, replicate content • Delivery: syndicate or publish in multiple formats over multiple channels • Integration: integrate with other information sources to enrich content
ECM integration possibilities • All major ECM products offer some SOA/EDA integration support: • CMIS (REST) • SOAP Webservices • JCR (JSR 170) connectors • APIs… and coding • Webdav, FTP, watch folders,… • Check what your ECM supports
ECM, SOA and EDA: an example • Poll an external ftp or mailboxfor scanned images • Perform OCR and extract data • Transform this content into PDF/A • Store PDF in the content repository for retention • Send data to a business application • Legacy application archives the produced documents in the content repository
Questions? SOA EDA ESB ECM SOS?