Www.itu.dk 1 Integration and Extension Hohmann Chapter 8.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

NGT Information Technology Technical Discussion Bob DeHoff Info Tech, Inc.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Web Applications Development Using Coldbox Platform Eddie Johnston.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
SE 464: Industrial Information systems Systems Engineering Department Industrial Information System LAB 02: Introduction to SAP.
1 Portability Hohmann Chapter The Perceived Advantage of Portability By supporting multiple platforms, we can address new markets.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Implementation/Acceptance Testing / 1 Implementation and Acceptance Testing Physical Implementation Criteria: 1. Data availability 2. Data reliability.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
 Humberto Lezama Program Manager Microsoft Corporation  Ben Riga Sr. Evangelism Manager Microsoft Corporation BB08.
Chapter 1: The Database Environment
Oakkar Fall The Need for Decision Engine Automate business processes Implement complex business decision logic Separation of rules and process Business.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Data Access Patterns. Motivation Most software systems require persistent data (i.e. data that persists between program executions). In general, distributing.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
Open source administration software for education software development simplified KRAD Kuali Application Development Framework.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Presented by…. Group 2 1. Programming language 2Introduction.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
Business Processes and Workflow How to go from idea to implementation
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
CiviCRM - Advanced Topics Dave Greenberg Michal Mach
What is Workflow?  Workflow or Business Process Management (BPM) consists of Processes, States and Actions.  A Process (e.g. Customer Order fulfillment)
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
An Introduction to Software Architecture
Chapter 1 In-lab Quiz Next week
WordFreak A Language Independent, Extensible Annotation Tool.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Capture the Movement: Banner 7.0 and Beyond Susan LaCour, Senior Vice President, Solutions Development California Community Colleges Banner Group.
DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl,
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 12-5 Software Engineering Design Goals.
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
EBZ 321 Extending CMS 2002 Publishing Processes Scott Fynn Microsoft Consulting Services National Practices.
L. A. S. E. R Local Authority Security Enterprise Reporting System Architecture.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Model View Controller MVC Web Software Architecture.
ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Differences Training BAAN IVc - BaanERP 5.0c: Development BaanERP 5.0c Tools.
The IPSO Factor Enriching portfolios with market data.
Devanshu Bawa Customization Specialist Logo Business Solutions.
Chapter 9  Definition of terms  List advantages of client/server architecture  Explain three application components:
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Capture and Storage of Tabular Data Leveraging Ephesoft and Alfresco W. Gary Cox Senior Consultant Blue Fish Development Group.
DEV-21: Embracing OpenEdge ® Architect Sunil S Belgaonkar Software Architect.
Agenda for Today  DATABASE Definition What is DBMS? Types Of Database Most Popular Primary Database  SQL Definition What is SQL Server? Versions Of SQL.
ImageJ2. Why ImageJ2? ● Support the next generation of image data ● Interoperate and collaborate with other projects ● Broaden the ImageJ community ●
The Holmes Platform and Applications
Headstart Designer R Pasi Lehtinen TKP Tieto Oy
Computer System Structures
SERVICENOW ADMIN & ADVANCED ONLINE TRAINING
iVend Retail Extensibility
Chapter 13 Logical Architecture.
Chapter 2 Database Environment.
Enterprise Architecture Patterns
Lecture 1: Multi-tier Architecture Overview
ARCH-1: Application Architecture made Simple
Chapter 13 Logical Architecture.
An Introduction to Software Architecture
The Database Environment
ASP.NET MVC Imran Rashid CTO at ManiWeber Technologies.
NIEM Tool Strategy Next Steps for Movement
Remedy Integration Strategy Leverage the power of the industry’s leading service management solution via open APIs February 2018.
ONAP Architecture Principle Review
Presentation transcript:

1 Integration and Extension Hohmann Chapter 8

2 Definitions Hohmann talks about customer’s ability to extend and integrate your software Integration Extension

3 Motivations for Integration/Extension Plan for change Customers want flexible solutions Large solutions consist of integrated subcomponents You want to increase switching cost You want to create a Product Ecosystem It’s easy money: your core probably already has an API

4 Layered Business Architectures Fig 8-1 Persistent Data Domain Model Services User Interface UI and UI Management (Actions, Buttons, input fields, etc.) Services (Make / cancel flights reservations etc.) Domain Objects (Flight, customer, etc.) Files/DB Object Translation

5 Spiking: Creating a Business Architecture UI Services Domain Database

6 Spiking: Creating a Business Architecture UI Services Domain Database

7 Spiking: Creating a Business Architecture UI Services Domain Database

8 Spiking: Creating a Business Architecture UI Services Domain Database

9 Spiking: Creating a Business Architecture UI Services Domain Database

10 Integration and Extension at the Business Logic Layers Case: Enterprise Software Important to know the locus of control –Caller is in control: your application most likely treated as service that creates and produces a result –System is in control: you’re almost always using a either a registration or callback model in which the caller registers some aspects of functionality to the system (plug-in, PN modul)

11 Integration through APIs (caller in control) Important items to consider when creating APIs –Should the API be platform dependent: e.g. COM/.NET interface, or C library –What is the market preference –What are your partners preference (product ecosystem) –Make your API easy to use (naming conventions etc.) –Expose only what customers need –Explain what you API can and cannot. Train customers in understanding you application –Possibly create several APIs (internal,externel)

12 Integration through APIs (caller in control) Managing APIs over multiple releases. –Give plenty warning. Rule of thumb: one release cycle –Provide one release overlap. Functionality not fully deprecated before after 2 releases –Provide “unsupported” backward compatibility layers as e.g. an optional module –Provide automated tools to translate code to new API

13 Extension through Registration (system in control) Think: PostNuke modules and Plug-ins It is key to define how these extension can be made 1.What language / file organization conventions exist 2.How are modules called (events) 3.How are resources shared with the system

14 Integration and Extension of Persistent Data Normally a no-go: if customers can change DB data there is a high risk of data corruption Workarounds –Views: only read access –User fields in DB: however, this often makes data suspect –Hook Tables System tableCustomer Hook table Events Create Delete etc.