Enterprise Application Integration (Middleware)

Similar documents
Service Oriented Architectures

Lesson 18 Web Services and. Service Oriented Architectures

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

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

The Service Revolution software engineering without programming languages

Enterprise Application Integration (Middleware)

Introduction to Service-Oriented Architecture for Business Analysts

Federal Enterprise Architecture and Service-Oriented Architecture

APIs vs. SOA Integrations with SX without the ION Investment

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

LinuxWorld Conference & Expo Server Farms and XML Web Services

SOA CERTIFIED CONSULTANT

Architectural Requirements for an SOA Based on Web Services. Jim Bole VP, Engineering Infravio, Inc. April 23, 2003

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Service-Oriented Architecture and Software Engineering

Fundamentals of Web Programming a

SERVICE ORIENTED ARCHITECTURE

Service Oriented Architecture

Cloud Computing: Computing as a Service. Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad

SOA and Cloud in practice - An Example Case Study

Distributed systems. Distributed Systems Architectures

SOA CERTIFIED JAVA DEVELOPER (7 Days)

Business Process Management Tampereen Teknillinen Yliopisto

Service Oriented Architecture

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Introduction to Cloud Computing

Business Process Management Enabled by SOA

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Integrating Siebel CRM 8 with Oracle Applications

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

NCTA Cloud Architecture

White paper. Planning for SaaS Integration

Virtualizing Apache Hadoop. June, 2012

Datacenters and Cloud Computing. Jia Rao Assistant Professor in CS

Getting The Best Performance From Apps Built With Integration Platforms

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

WOLKEN KOSTEN GELD GUSTAVO ALONSO SYSTEMS GROUP ETH ZURICH

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Het is een kleine stap naar een hybrid cloud

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

Copyright bizagi

Topics. Images courtesy of Majd F. Sakr or from Wikipedia unless otherwise noted.

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

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

Implementation and Usage Aspects of a Private JEE Cloud

The Application of BizTalk in Public Sector

1 What Are Web Services?

Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach

10 Years of Hype Cycles - Do We Forget Knowledge?

SOA Myth or Reality??

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Service-oriented architecture in e-commerce applications

Distributed Systems Architectures

AquaLogic ESB Design and Integration (3 Days)

15 Years of Service Oriented Architecture at Credit Suisse

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

JOURNAL OF OBJECT TECHNOLOGY

Chapter 2: Remote Procedure Call (RPC)

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

Emerging Technology for the Next Decade

Security Issues in Cloud Computing

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

Implementing Microsoft Azure Infrastructure Solutions

Hadoop s Entry into the Traditional Analytical DBMS Market. Daniel Abadi Yale University August 3 rd, 2010

1 What Are Web Services?

Enterprise Integration EAI vs. SOA vs. ESB

Managing Data in Motion

Oracle SOA Suite Then and Now:

Welcome to the unit of Hadoop Fundamentals on Hadoop architecture. I will begin with a terminology review and then cover the major components

BBM467 Data Intensive ApplicaAons

SNUG June 16, 2006 The Future of PeopleSoft Integration

Last time. Data Center as a Computer. Today. Data Center Construction (and management)

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

Oracle SOA Infrastructure Deployment Models/Patterns

Introduction into Web Services (WS)

OSCi Workshop Beijing, China A Cloud Platform for Service Oriented Software Development & Running

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

IBM Global Technology Services September NAS systems scale out to meet growing storage demand.

Multi-Tenant Engineering Architecture in SaaS

Planning the Migration of Enterprise Applications to the Cloud

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

How To Understand A Services-Oriented Architecture

Transcription:

Enterprise Application Integration (Middleware) Gustavo Alonso Systems Group Computer Science Department - ETH Zurich alonso@inf.ethz.ch http://www.systems.inf.ethz.ch/

EAI Course Administration Lecture: Tuesdays 13.15-15:00 CAB G 11 Discussion and Exercises: Thursdays 08:00 10:00 CAB G 11 Web site http://www.systems.ethz.ch/courses/fall2012/eai Getting in touch with us: Gustavo Alonso alonso@inf Pratanu Roy pratanu@inf Dimitrios Karampinas dkarampi@inf Practical exercises: Based on reading assignments 3 written reports during the semester Apply the concepts of the lecture, see their use in practice Reports are mandatory (topics are included in the exam) Course material: Foils of the lecture (download from the course website) Additional documents (see web site) Exam: Written exam, during exam session Gustavo Alonso, Systems Group, ETH Zurich 2

Course outline Introduction Enterprise Architecture Layers of an enterprise IT system Basic components and patterns of an EAI platform Synchronous interaction patterns Traditional Middleware Transactional support TP Monitors Asynchronous interaction patterns Messaging Cloud computing in perspective Web Services SOAP WSDL / UDDI Messaging Business processes Workflow and orchestration - BPEL Service Oriented Architectures Gustavo Alonso, Systems Group, ETH Zurich 3

The course: Enterprise Application Integration Enterprise Architecture

What is enterprise architecture? Enterprise Architecture is the practice of applying a comprehensive and rigorous method for describing a current and/or future structure and behavior for an organization's processes, information systems, personnel and organizational sub-units, so that they align with the organization's core goals and strategic direction. Although often associated strictly with information technology, it relates more broadly to the practice of business optimization in that it addresses business architecture, performance management, organizational structure and process architecture as well. Wikipedia (http://en.wikipedia.org/wiki/enterprise_architecture) Our focus will be on information technology The course is an introduction to the topic Many sub-topics need a course on their own Additional courses available (Web Services and SOA in Spring Semester) Goals for the course: Understand what is enterprise architecture Known and understand the basic technology Become familiar with basic design patterns and systems Gustavo Alonso, Systems Group, ETH Zurich 5

Enterprise architecture at Credit Suisse Multiple backends, multiple frontends, flexible composition Graphic courtesy of Claus Hagen, Stephen Murer and Hanspeter Uebelbacher of Credit Suisse Gustavo Alonso, Systems Group, ETH Zurich 6

Enterprise Application Integration (EAI) Enterprise Application Integration (EAI) is defined as the uses of software and computer systems architectural principles to integrate a set of enterprise computer applications. Wikipedia (http://en.wikipedia.org/wiki/enterprise_application_integration) Can be seen as the techniques necessary to build the IT part of an enterprise architecture The key word is integration The course will cover EAI extensively: Technologies Design patterns and architectures Tools and systems Goals of the course: Know the technology, what it does and why Know the design options and how to choose between them Become familiar with the common problems of EAI Gustavo Alonso, Systems Group, ETH Zurich 7

Integration Infrastructure - Credit Suisse Client Client Client Client App Logic App App Logic App Logic App Logic CS Service Infrastructure (CORBA, Web Service based) Server Core Banking Systems (Host) Bought Applications Other Business Units International IT IT Platforms Data Warehouses Business Partners CS EventBus Infrastructure (Message based) Bulk integration infrastructure (File Transfer) Graphic courtesy of Claus Hagen, Stephen Murer and Hanspeter Uebelbacher of Credit Suisse Gustavo Alonso, Systems Group, ETH Zurich 8

The course: Basic concepts

Architectural patterns We will use architectural patterns to capture existing solutions As an abstract concept As a general configuration and to study General properties Design options Constraints and limitations Patterns have to be used with care in enterprise architecture (they are far more general and vague than in the case of development patterns) Yet, they are useful to capture existing knowledge. The course will introduce you to basic design and architectural patterns and their general properties. From IBM E-business patterns Gustavo Alonso, Systems Group, ETH Zurich 10

RUNTIME PATTERN APPLICATION PATTERN Example application and runtime Gustavo Alonso, Systems Group, ETH Zurich 11

Example product mapping Gustavo Alonso, Systems Group, ETH Zurich We will not cover this in the course 12

Enterprise Service Bus Gustavo Alonso, Systems Group, ETH Zurich 13

SOA Governance Gustavo Alonso, Systems Group, ETH Zurich 14

SOA governance SOA governance introduces different aspects to standard software engineering concepts: Service definition (the scope, interface, and boundaries of a service) Service deployment lifecycle (the lifecycle stages) Service versioning (including compatibility) Service migration (deprecation and sunsetting) Service registries (dependencies) Service message model (canonical data models) Service monitoring (problem determination) Service ownership (corporate organization) Gustavo Alonso, Systems Group, ETH Zurich 15

Integration vs programming Enterprise Architecture Systems EAI Applications Gustavo Alonso, Systems Group, ETH Zurich 16

Two examples Why using a database? 70-90 % of the software costs are maintenance costs. Databases used as services remove about 40 % of the code of commercial applications Software as a Service (SaaS): Completely outsource the running of some of the software needed in a company Rental and use cost lower than the costs of running the software locally Gustavo Alonso, Systems Group, ETH Zurich 17

Enterprise Architecture cycle Enterprise Architecture is a complex process Many frameworks exist to develop and maintain an enterprise architecture (e.g., TOGAF) In the course we will focus in the Information System Architectures and Technology Architecture phases We will do this by studying: Architectures Architectural patterns Systems Tools Basic components The Open Group Architecture Framework Architecture Development Method (TOGAF ADM) Gustavo Alonso, Systems Group, ETH Zurich 18

The course: Basic technology

Scale-up versus Scale-out Scale-up Scale up is based on using a bigger computer as the load increases. This requires to use parallel computers (SMP) with more and more processors. Scale out is based on using more computers as the load increases instead of using a bigger computer. Both are usually combined! Scale out can be applied at any level of the scale up. Diagrams courtesy of Jim Gray, Microsoft Scale-out Gustavo Alonso, Systems Group, ETH Zurich 20

Big computers Modern computers: Multi-core: scale up Multitenant -> virtualization More resources available (memory) More can be done inside a single machine Clusters: scale out Main memory systems High degrees of parallelism Commodity hardware Gustavo Alonso, Systems Group, ETH Zurich 21

Clusters Computer clusters require: Commodity hardware (to scale out to large numbers without incurring prohibitive costs) Parallel computation models (to exploit the cycles available) Mechanisms for fault tolerance and dynamic provisioning (to cope with the constant failures that occur at these scales and for this hardware) The biggest problem is the network!! Gustavo Alonso, Systems Group, ETH Zurich 22

Parallel Computation models MapReduce No rigid schema No built-in indexes Low-level programming (fully general) No automatic support for data distribution and skew Pull-based transfer of intermediate data (materialized) Finer-grained failure handling Novel methods to deal with slow nodes and load imbalance Parallel Databases Pre-defined schema Hash and B-tree indexes SQL-based programming (extensible with UDFs) Optimizations sensitive to data distribution and skew Push-based transfer of intermediate data (nonmaterialized) Transaction-level f. h. No special methods for slow nodes Gustavo Alonso, Systems Group, ETH Zurich 23

Why cloud computing - III Business case Peak provisioning Costs of large installations Need for consolidation Computing becoming invisible Gustavo Alonso, Systems Group, ETH Zurich Part 1 24