Agile SOA Agile EAI How do we achieve agility in Enterprise Integration?

Slides:



Advertisements
Similar presentations
IBM SMB Software Group ® ibm.com/software/smb Maintain Hardware Platform Health An IT Services Management Infrastructure Solution.
Advertisements

New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Rational Unified Process
Introduction To System Analysis and Design
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
SOA, EDA, ECM and more Discover a pragmatic architecture for an intelligent enterprise, to maximize impact on the business Patrice Bertrand Software Architect.
Package design and the Iterative process model. What is a package? Classes are not sufficient to group code –Some classes collaborate, implying dependencies.
Microsoft CRM 3.0 Features that provide values for customers.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Chapter 1: The Database Environment
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Merlin ITEA Symposium Merlin Overview2 Problem domain Companies hardly develop embedded products completely on their own Embedded systems need.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Release & Deployment ITIL Version 3
CRM On Demand Integration Capabilities Joerg Wallmueller CRM Sales.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Effective Methods for Software and Systems Integration
SOA – Development Organization Yogish Pai. 2 IT organization are structured to meet the business needs LOB-IT Aligned to a particular business unit for.
Kevin Hudson Oracle Corporation October Evolution of Oracle from Application to Infrastructure.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
AGENT-BASED GATEWAY OPERATING SYSTEM FOR RFID- ENABLED UBIQUITOUS MANUFACTURING ENTERPRISE - JI FANG, TING QU, ZHI LI, GANGYAN XU, GEORGE Q. HUANG HKUZIRI.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
UML - Development Process 1 Software Development Process Using UML (2)
Project Management Development & developers
©2013 Lavastorm Analytics. All rights reserved.1 Lavastorm Analytics Engine 5.0 New Feature Overview.
PROJECT NAME: DHS Watch List Integration (WLI) Information Sharing Environment (ISE) MANAGER: Michael Borden PHONE: (703) extension 105.
An Introduction to Software Architecture
Asset Record Does Not Equal CI: The confusion between Asset and Configuration Management Christine M. Russo Manager, IT Asset Management and Property.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Using the Open Metadata Registry (openMDR) to create Data Sharing Interfaces October 14 th, 2010 David Ervin & Rakesh Dhaval, Center for IT Innovations.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Dynamics AX TAP Knowledge Transfer Wave 2. Application Integration Framework (AIF) Overview Dean WiermanSøren Vagn Andersen Lead Program ManagerProgram.
Introduction To System Analysis and Design
© 2007 by Prentice Hall 1 Introduction to databases.
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Progress SOA Reference Model Explained Mike Ormerod Applied Architect 9/8/2008.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Improving pS-PS Service Architecture , perfSONAR-PS Developers Meeting Aaron Brown, Andrew Lake, Eric Pouyoul.
CYBERINFRASTRUCTURE FOR THE GEOSCIENCES Data Replication Service Sandeep Chandra GEON Systems Group San Diego Supercomputer Center.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Developed by Reneta Barneva, SUNY Fredonia The Process.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
State of Georgia Release Management Training
Pattern Libraries: Theory Adrian Slade Principal Pattern Engineer
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
T Iteration Demo Tempus I1 Iteration
Development Project Management Jim Kowalkowski. Outline Planning and managing software development – Definitions – Organizing schedule and work (overall.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
Final Review Systems Analysis and Design in a Changing World, 4th Edition 1 Final Review u Chapters 1-6, 8-10, 13, 14, 15 u Multiple choice, short answer,
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
Zachman Framework Lecture 2.
IEEE Std 1074: Standard for Software Lifecycle
A Messaging Infrastructure for WLCG
Service-centric Software Engineering
Tools of Software Development
An Introduction to Software Architecture
Distributed Systems Bina Ramamurthy 4/7/2019 B.Ramamurthy.
SOA Strategies for Enterprise X
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Office 365 Development July 2014.
Presentation transcript:

Agile SOA Agile EAI How do we achieve agility in Enterprise Integration?

What is Enterprise Integration?  Enterprise Integration is the main activity of an in-house software development organization. Building software products is not our main activity.  Why? DTE is in a mature industry and a relatively stable environment. As a result we can buy almost all of the software we need cheaper than we can build it.  But we still need to create interfaces for almost everything we buy.  Enterprise Integration means building application-to-application (A2A) and business-to-business (B2B) interfaces.

Contents Context Analysis Planning Managing Testing Deploying What is Enterprise Integration? The message is the feature-set. Release planning is a multi-player game. Concurrent engineering requires a different approach to project management. Re-usable components and services require automated test suites. Deployment requires configuration control.

The message is the feature.  The message is the feature in EAI and SOA.  Analysis: Enterprise Patterns.  How to identify the messages quickly and simply.  Messages are speech acts.  Identify messages in complete sentences.  Nouns identify business objects (data entities).

The message is the feature … because:  Enterprise Integration implements communications between business processes.  The simple way to plan the integration features is to think about the messages that are exchanged between business processes.  A major application is the IT proxy or interface for some business process.  A2A or B2B -- It is the same thing. What if your enterprise decides to out-source a business process?

Analysis: What to look for … In-coming Messages  Request  Work Order Request  Question  Work Order Status  Entity State (data)  Subscribed Event  External Event of Interest to Me  Data Subscribed Out-going Messages  Response  Work Order Complete  Answer  Progress / Exception  Business Object (data)  Published Event  Event I Observe or Validate of Interest to Others  Data Published

Messages are speech acts. Express each message as a complete sentence.  Request: Please install a new service S at location L. ervice Slocation L  Response: Service S installed at location L.  Question: What is the status of work order W?  Notice: Inventory asset A moved from location L1 to location L2.

Noun ==> Business Object Write each message as a complete sentence. Use nouns in a consistent way. Avoid application-specific jargon. service S location L  Request: Please install a new service S at location L. Service Slocation L  Response: Service S installed at location L. work order W  Question: What is the status of work order W? asset A location L1location L2  Notice: Inventory asset A moved from location L1 to location L2.

Message Patterns ==> Design Patterns  Request-Response (work order … publish-subscribe)  Client: Please replace meter M at location L with a meter of type T.  Service: Meter M1 with reading R1 replaced with meter M2 reading R2.  Question-Answer (query … remote procedure call)  Client: Order status S = What is the status of work order W?  Service: Work order W has status S.  Event Notice (event … publish-subscribe)  Publisher: Work order W will be delayed due to problem P.  Subscriber: (updates local work management)

Example: Metering Service In-coming Messages  Request: (We accept the request.) Please install a meter of type T for service S at location L.  Query: (We answer the question.) Metric M = How much energy has been used at meter M?  Response: (When the work is done, the delegate responds with work order results.) Work order W completed normally with results R  Notice: (We subscribe to notice.) Meter M needs a new battery before date D. Out-going Messages  Request: (We delegate work to …) Please install a meter of type T for service S at location L.  Query: (We ask the delegate.) Status S = What is status of work order W?  Publish: (We publish the event.) Meter M is monitoring service S at location L.

Business Collaboration - a Use Case Scenario FromToMessage ClientMetering Service Please replace meter M at location L with a meter of type T. (This is work order WO-A received from the Client.) Metering Service Field Service Please replace meter M at location L with a meter of type T. (This is work order WO-B delegating work to Field Service.) Field Service Metering Service Meter M1 reading R1 replaced with meter M2 reading R2. (Work order WO-B completion report received from Field Service.) Metering Service Client Meter M1 reading R1 replaced with meter M2 reading R2. (This is work order WO-A completion report sent to Client.) Metering Service Subscribers Meter M1 reading R1 replaced with meter M2 reading R2. (This event notice is published for all interested subscribers.) Subscriber(self)Each subscriber updates its world-model (stored in a database) to reflect the business event. There may be additional side-effects.

Release planning is a multi-player game. Planning and Budgeting  Business Process -- owner / governor  Application Portfolio -- owner / governor  Component Library -- architect / planner Design and Construction  Software Architect -- designer / planner / coordinator  Project Manager -- planner / coordinator  Software Developer -- builder / tester / operator / maintainer

How do you plan a release? A release is a coherent set of features  for a specific audience (UI feature set)  for a specific process (EAI feature set) Ask which features are necessary and sufficient.  Is data replication necessary and sufficient?  Is passive notification of exceptions sufficient?  Is workflow needed?

Interface Packaging ==> Wrappers within wrappers publish subscribe Business Process A Application 1 Application 2 Application 3 Business Process B Application 4 Application 5 Application 6 Message Delivery Service Question Answer Create services by building wrappers on business services, legacy applications, and the message delivery system.

Business Service Wrapper Business Process == Business Service Application A Application B Application C Business Process Workflow Request Response Published Event Subscribed Event

Legacy Application Wrappers Business Process == Business Service Application A Application B Application C Request Response Published Event Subscribed Event Database Question-Answer

Work Breakdown Structure Sender  Detect the event / need.  Assemble the business objects into the message.  Send the message. What about workflow?  Workflow is essential for handling business-process exceptions.  Each process manages its own workflow and no other workflow. Receiver  Receive the request.  Translate the business objects into local form.  Call the equivalent method. Workflow Responsibilities  Delegate work as needed.  Respond to process exceptions.  Publish events.  Feed back results.  Collect statistics.

Concurrent Engineering Who should do which components?  Each application’s maintenance team has the local knowledge to …  Write logic to detect events.  Write logic to translate between local representation and standard representation.  Write application wrappers (API).  Each business-process team has the knowledge to …  Define and implement local workflows.  Define and implement end-to-end tests.  Design business-process monitoring (dashboard displays and reports).  A tooling team has the skill and focus to …  Create commonly-used components and services.  Create and maintain a repertoire of common business objects.  The project coordinators have the skills and tools to …  Identify project-to-project dependencies.  Coordinate release plans. Messages and business objects provide clear and succinct points of contact for design discussions and release coordination

SOA requires automated test suites. Why do you need automated test suites?  If you have a service with clients, and you are about to deploy a new release … You can ask all of the clients to re-test. -OR- You can exhaustively test the service to assure backward compatibility.  For a service of any complexity, automated tests are the only robust solution.  By definition, integration tests cross system boundaries.  Business process tests tend to require set-up, tear-down, etc. Some services have 100’s of clients

Configuration Control Challenges  Where is each component used?  To whom do we send release notices?  Where is this service used?  When the service is down, who is affected?  Which version is used where?  When a method is deprecated, who is at risk?

Summary  Business processes communicate via messages.  That means the message is the feature (the user story) for agile EAI and agile SOA.  Secret Sauce: Identify each message with a complete sentence.  Secret Organization: Concurrent engineering reduces time to solution.

To achieve EAI / SOA agility: Focus on the business-process message exchanges.