Enterprise Service Bus (ESB) (Chapter 9)

Slides:



Advertisements
Similar presentations
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Advertisements

An architecture for webb applications, J2EE
Oracle Fusion Middleware 11g Abhishek Khanolkar. What is Oracle Fusion? “Oracle Fusion Middleware is a ‘preintegrated’ portfolio of customer- proven software.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Chapter 13 Physical Architecture Layer Design
The Architecture of Transaction Processing Systems
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
MyVRM Architectural Review October Agenda myVRM Quick Review Overall Architectural Concepts Design Principals Implementation Detail Q&A.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
Enterprise Resource Planning
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
SOA-14: Deploying your SOA Application David Cleary Principal Software Engineer.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
T ECHVERZE Tibco BW Online Training. I NTRODUCTION TO T IBCO BW TIBCO Business Works is an enterprise platform for implementing world-class integration.
Copyright © 2006, Oracle. All rights reserved Oracle Web Services Manager.
J2EE Platform Overview (Application Architecture)
Access Policy - Federation March 23, 2016
Enterprise Service Bus
Netscape Application Server
The Client/Server Database Environment
Sabri Kızanlık Ural Emekçi
Enterprise Service Bus
CORBA Alegria Baquero.
Cloud Computing Platform as a Service
Systems Analysis and Design With UML 2
Introduction to J2EE Architecture
University of Technology
Inventory of Distributed Computing Concepts and Web services
Java Messaging Service (JMS)
Inventory of Distributed Computing Concepts
Web-Services-based Systems Architecture, Design and Implementation
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Interpreter Style Examples
CORBA Alegria Baquero.
Java Messaging Service (JMS)
Services-based Systems Architecture, Design and Implementation
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Distribuerte Systemer Viktigere enn vi tror, vanskeligere enn det høres Komponenttorget ‘99 Trondheim Trygve Reenskaug Numerica Taskon Distaribuerte.
Distributed Object-based systems
Service Oriented Architecture (SOA)
Technology Landscape and Enterprise Objectives
Komponentbasert utvikling Den sanne objektorientering
SOA in Action Chapter 10 B. Ramamurthy 1/16/2019.
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Enterprise Integration
AIMS Equipment & Automation monitoring solution
Seminarium on Component-based Software Engineering
Distributed System using Web Services
Grid Computing Software Interface
Inventory of Distributed Computing Concepts
Presentation transcript:

Enterprise Service Bus (ESB) (Chapter 9) B. Ramamurthy 11/20/2018

The concept of bus Consider a hardware bus: connects chips of different functions and from different vendors Now imagine a software bus: a standardized way of hooking together any software components; examples OMG’s CORBA (synchronous) EJB in J2EE (synchronous) IBM’s MQSeries (asynchronous) Tibco’s Rendezvous (asynchronous) 11/20/2018

Types of ESB Ideal software bus supports a single communication model (fig.9.1). A software bus may also support various communication models at the same time (fig.9.2): synchronous, asynchronous, and file-based. The infrastructure of a real-world enterprise will normally consist of various products that support similar communication models. An enterprise is a meta bus that supports various products and technologies of the enterprise Example: Credit Suisse uses a synchronous information bus, an asynchronous event bus infrastructure and a file transfer-based bulk integration infrastructure driven by application which in turn are driven by business demands. 11/20/2018

ESB Functions Stub/dispatcher code generation (development) Execution container functions (deployment) Logging and auditing (runtime management) An important item is missing in the text: provisioning Availability and scalability Securing an SOA 11/20/2018

Service stub and dispatcher op1 Service stub Service dispatcher op2 implementation Client API op3 … Op n client server Stub and dispatcher are automatically generated 11/20/2018

Execution containers Application servers Server farms Generic features set of an execution container are: Dispatching and servicing Transaction management Security Logging Billing Systems management functionality Message transformation Execution container Resources: queues, Data Sources, security details 11/20/2018

Cross-container integration Execution containers provide a rich set of functionality that makes deployment and management of individual services reasonably straightforward. However the key challenge of an enterprise SOA is to define an architecture that enables applications to use different services independently of their container. Challenges are: interoperability including transactionality and security Solution: in a system where services are implemented on incompatible execution containers, one must introduce a horizontal infrastructure layer that manages technical cross-container integration of services. 11/20/2018

Cross-container Integration Service container Access control service Customer management service Flight reservation service Horizontal cross-container infrastructure (security, transactions, logging) System managing & monitoring 11/20/2018

Logging and Auditing You must best practices to build robust systems. Even with such systems failures are unavoidable A error or failure must be reported to the user, to a log file or database and to a systems management system. Severity of the error is indicated by standard notations such as: “DEBUG”, “ TRACE”, “INFO”, “WARN”, “ERROR”, “FATAL”, and “AUDIT” Error reporting (SOAP error mechanism “fault”), distributed logging protocols (log locally, view globally) See Fig. 9-13 11/20/2018

Call Chain Airline Ticket service Ticketing Billing Reservation Log file Start billing Finish billing Start reservation Finish reservation Start ticketing Finish ticketing Airline Ticket service Ticketing Billing Reservation 11/20/2018

Availability and Scalability Scalability: how well can you system perform under heavy load? What is the max load it can handle? Availability: How is a failure of a system handled? Failstop Failover Degraded performance (low availability) 11/20/2018

Design Choices for scalability and availability Scalability and availability using WS Using enterprise java beans Using CICS Using CORBA Legacy applications Heterogeneous SOA: beware of the weakest link for uptime 11/20/2018

Security: Authentication Authentication means that a service caller is using a mechanism to prove its identity to the called resource. Individual login : user name , password SOA level login: Single sign on for all the requests in a session (fig 9-17) Authenticate yourself with an authentication service that provides tokens or tickets for interaction with subsequent interactions Security Assertion Markup Language (SAML) 11/20/2018

Security: Authorization Authorization is the mechanism used to grant a caller access to a specific resource. Static group membership Role based access and dynamic group membership The concept of trust domain: appropriate for SOA? Strict enforcement at application front-end; once certified by this level, can freely access service at lower levels. 11/20/2018

Other Security topics Firewalls (/proxies) Encryption with various strengths Secure socket layer (SSL) Provisioning Sarbanes-Oxley compliance 11/20/2018

Securing SOA ESB takes responsibility for securing an SOA Trusted domains: airlines offering reservation on other airlines 11/20/2018

ESB Summary ESB supports easy integration of the various SOA artifacts: routing, messaging, invocation, mediation etc. ESB also provides the non-functional aspects such as security, availability, reliability, scalability, single sign-on etc. ESB is sold a software product by such as TIBCO. 11/20/2018