43
Integration and infrastructures Kari Smolander [email protected]

Integration and infrastructures

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integration and infrastructures

Integration and infrastructuresKari Smolander

[email protected]

Page 2: Integration and infrastructures

Content

• Integration of a software application to its use and business environment• What is integration?• Enterprise point-of-view

• EAI – enterprise application integration

• Application Integration approaches• Platforms, infrastructures and

ecosystems

Page 3: Integration and infrastructures

Part I: Enterprise Application Integration

Page 4: Integration and infrastructures

Software integrates always to a platform• Old ideals of computing• Hide implementation details from application

programmers• Allow separation of concerns to different modules• Facilitate interoperability between applications• Facilitate hardware independence through abstraction• More recent ideals• ”online platforms”, networked runtime environments

that• Enable two-sided markets• Enable platform-based innovation

Page 5: Integration and infrastructures

Meaning of integration

Rodon (2006) identifies eight meanings of integration:• 1) integration as the interoperability of systems• 2) integration as developing a whole new system• 3) integration when combining existing systems into

one logical system• 4) integration as establishing communication

between systems• 5) integration as inter-organizational process

reengineering• 6) integration as standardizing existing systems• 7) integration as becoming a natural extension of the

users or a routine• 8) integration as the adoption or diffusion of a

system.External infrastructures and development platforms provide means for many of these• Interoperability, combination, communication,

process reengineering, standardizing, extension

Page 6: Integration and infrastructures

What is enterprise

application integration

(EAI)

• A process of linking information systems or IT applications together in an organization (or between organizations)• Sharing of data and business processes to any connected application or data source• Different operating systems• Different types of databases• Legacy systems, new systems• Geographical distribution, varying

infrastructure• Crossing organizational borders• A typical example: a system deals with any kind of financial transactions an integration with the accounting system must be implemented

Page 7: Integration and infrastructures

Software architecture

vs. Enterprise architecture

• Software architecture• The software architecture of a

program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. (Bass, 2003)

• Enterprise architecture• Enterprise architecture is the

organizing logic for business processes and IT infrastructure of a company. (Ross & al., 2006)

Page 8: Integration and infrastructures

The problem of enterprise computing

8

(Ross & al. 2006)

Page 9: Integration and infrastructures

Enterprise architecture

An enterprise wide design/structure including such elements as Business processes and strategies Information systems and IT

applications Information and databases Technical infrastructure

May describe Current or “as-is” status Target or “to-be” structures A migration plan describing how to

reach the target from the current

Page 10: Integration and infrastructures

Enterprise architecture vs. software architecture

Application integration “connects” software architecture to enterprise architecture Each system must integrate to its environment Integration must be taken into account in both EA and SA Point-to-point integration may be too hard to manage in large organizations

The number of connections is very large and there is too much variability in integration methods

A separate strategy for integration is needed in large organizations – it should not be the responsibility of individual systems

Kari Smolander

EnterpriseArchitecture

SoftwareArchitectureApplication integration

Page 11: Integration and infrastructures

Application Integration

Approaches

• The following is based on the book David S. Linthicum: ”Next Generation Application Integration: From Simple Information to Web Services”, Addison-Wesley, 2004• (an old book, but the main points are

still valid)• Linthicum identifies four basic alternatives for application integration• Information-oriented integration• Business process integration• Service-oriented integration• Portal solutions

Page 12: Integration and infrastructures

Approach 1: Information-oriented integration

Information flow between source and target systems• From/to databases• From/to API’s• From/to devices• File transfer between applicationsTraditional and well-known way to integrate applications

Kari Smolander

Application A

Application B

Information

Page 13: Integration and infrastructures

Characteristics of information

oriented integration

• Only simple information is transferred• Usually no need to change source and target

systems• Can be implemented with simple file or database

transfers• No need to manage issues with state, logic and sequences – no behavior linked with integration

• Simple, easy to understand and implement with single systems

• A good solution for simple cases – but• No behavior attached to integration• Management of business rule changes may be a

nightmare• Number of point-to-point connections may cause

management problems when the number or systems grow (the number grows in squares)

Page 14: Integration and infrastructures

Patterns of information

oriented integration

• Linthicum identifies four patterns of IOAI:• Database• Application• User interface• Embedded device• The classification is based on the types of systems that produce and consume information

Page 15: Integration and infrastructures

Pattern 1: database level integration

Applications communicate directly with databases• Use of SQL• Call-level interfaces

- ODBC, JDBC

Databases control their content with database definitions• Possibilities of attaching behaviour/business transactions is very limited• Database triggers

Information structure is not bound to business entities – the database structure must be known• Calculations, business rules, and associations between data items are not in the result

set

Kari Smolander

Data Calling Application

SQL

Information

Page 16: Integration and infrastructures

Database level integration:Data replication

Automatic or scheduled data transfer between two or more databases• E.g. database replicas in locations that have unsure connectionsRequires a DBMS that supports data replicationMost of modern DBMSs include replication feature

Kari Smolander

DB1 DB2

Page 17: Integration and infrastructures

Database level integration:Data federation/federated databasesIntegrates many databases as one virtual oneRequires a special software that implements the feature and the connections

DB2

Oracle

Informix

Sybase

Virtualdatabase

Kari Smolander

Page 18: Integration and infrastructures

Pattern 2: application level integration

The target application implements an application programmer’s interface• A non-standard programming language interface (such as C)• RESTful HTTP API• A standard component interface

- JCA (J2EE Connectivity Architecture), .NET components- Web services (more later)- “Standard” package interface (such as SAP BAPI)

The target application has a full control for implementation and execution

Kari Smolander

Target application API ApplicationInformation

Page 19: Integration and infrastructures

Pattern 3: User

interface level

integration

• “screen scraping”: accessing screen information through a programmatic mechanism• The only alternative in many old legacy

systems• A fake user interface is driven by the

integration program and information is fetched directly from the character-based screen

• Used when no database access nor API is available from a remote location

• Good thing: the legacy application will take care of all business rules and behavior

• Also: software robots do screen scraping, but also include other mechanisms, such as auditing

Page 20: Integration and infrastructures

Pattern 4: Device

level integration

• Using sensors, automation devices, etc.• Usually API-based and proprietary mechanisms• http://www.programmableweb.com/ca

tegory/internet-things/api - hundreds of different APIs

• The trend towards REST APIs• A specific problem: the devices can not always store information• The information must flow freely from

the device

Page 21: Integration and infrastructures

Approach 2: Business process

integration

• Instead of defining integration between application pairs, an enterprise level perspective is taken

• The business of the enterprise is modelled and the integration between systems (and humans) is defined based on the model

• The integration may be implemented with any other approach (such as information-oriented)

Page 22: Integration and infrastructures

Business process integration is based on models

Defined top-level process where the information systems of the organization are integratedThe objective is to implement a model-based integration• Ideal: when the actual processes

change, the formally defined business process model is changed

Organization A Organization B Organization C

Process integration model

Kari Smolander

Page 23: Integration and infrastructures

Business Process

Modeling

• Business process modeling with a graphical tool• BPM Engine• Needs a formal process model• Integrates the applications as defined in the

process model• Examples of business processes to be modelled• Processing a customer request• Manufacturing an automobile• Delivering a product to a customer• Processing a financial transaction• The BPM engine takes care of the logic of a transaction and implements the integration

Page 24: Integration and infrastructures

BPM in practice

• Some standards exist• BPEL, BPELWS – Business Process

Execution Language• BPML – Business Process Modelling

Language• ebXML – Electronic Business Extensive

Markup Language (exchange of business information)

• RosettaNet – a process-based standard for exchanging trade information

• Some use of business process modeling in large enterprises, for example in logistics

Page 25: Integration and infrastructures

Approach 3: Service-oriented integration

The delivery of business logic through published services

Kari Smolander

Application A

Aplication B

Application C

Application D

Composedapplication End user

Page 26: Integration and infrastructures

SOA components

Services• Contract

- Each service includes a definition of what and in what conditions it will do- The service commits to implementation of the contract

• Implementation- The service will be implemented using whatever technique that is suitable – many times there is a connection to

an enterprise system

• Interface- The interface is implemented with a standard mechanism and definition language

Service repository• Includes the published service definitions (contracts and interfaces)

(Enterprise) Service bus• An optional component through which the delivery of services is centralized• Service users do not need to know all service providers – the bus takes care of service

delivery and provides infrastructure services

Kari Smolander

Page 27: Integration and infrastructures

Web services

• Publication and description of services with standardized methods, e.g.• WSDL, Web Services Description Language

• Service definitions, contracts• UDDI, Universal Description, Discovery and

Integration• Service repository

• SOAP, Simple Object Access Protocol• Service invocation

• Communication with HTTP(S) in XML format• Available in almost all platforms and

environments• Enables also inter-organizational implementation

Page 28: Integration and infrastructures

Approach 4: Portal solutions

Integration of user interface in a web browserUser is the integrator• Services are provided to

the user who can use the same user interface for different functions

• Company intranets are typical examples

Kari Smolander

Web Browser

Web Server+

Middleware

SAP

Oracle

Tailored sales system

Tailored warehousesystem

Page 29: Integration and infrastructures

Features of portals

• They concentrate on data representation• Real time functions and transactions do not usual integrate across applications• User takes care of needed integration• Single sign-on is a typical mechanism in portals• Mash-up• A web application that combines data

from more than one source into a single integrated tool

• Very popular in web, e.g. use of Google Maps

• Aggregates content in a finer level than a portal

Page 30: Integration and infrastructures

Part II: Platforms, Infrastructures and

EcosystemsKari Smolander

Page 31: Integration and infrastructures

Topic area

• Software ecosystems and infrastructures• Or: platforms for software development and

business

• How software integrates to its business and use environment• Most often this is implemented through existing

ecosystems or infrastructures• They offer some basic and general functionality

(economy of scale)• They provide means to access a large audience of

users and technology providers (two-sided markets)

• Many kinds of infrastructures, for many purposes• Enterprise-wide, national, global• General, domain specific• A single software application may integrate to many

of these.

Page 32: Integration and infrastructures

Platforms, Infrastructures

and Ecosystems in

Software Development

• Why is this topic important and interesting?• Software is always on a platform• Different levels of platforms• There is an infrastructure underneath• Enterprises have an infrastructure as

well

Page 33: Integration and infrastructures

Examples of different levels of platforms

Single computer• Operating system• APIs

Local/enterprise• Enterprise infrastructure, enterprise architecture• Enterprise service bus• Database management systems, application servers

National/regional• Healthcare data exchange, electricity smart grid, ...

Global• Google Play, App store – Android, IOS, ...• Industry-specific platforms• Amazon web services• Steam, Playstation, ...

Kari Smolander

Page 34: Integration and infrastructures

There is an infrastructure

underneath

• All recent digital innovations require a running infrastructure that integrate users, service providers, devices and other parties• Cloud computing

• Software as a service• Platform as a service• Infrastructure as a service

• Big data• The data provided by the infrastructure

from various sources• Internet of Things

• Requires integration to a cloud infrastructure

• Social media, human interaction• ...

Page 35: Integration and infrastructures

Enterprises have an infrastructure as well

IT infrastructure (ITIL v3)• a combined set of hardware, software, networks, facilities, etc.

(including all of the information technology), in order to develop, test, deliver, monitor, control or support IT services

In other words• What kind of information technology is needed in the enterprise?• How is this IT planned and developed?• How is IT and its change monitored and controlled?• How is its use supported?Enterprise architecture• A model and a plan of the combination of business processes and IT

Kari Smolander

Page 36: Integration and infrastructures

Platforms/infrastructure enable the economy of scopeInstead of economy of scale, platforms and infrastructures are about economy of scope• Economy of scale is not so relevant in software”Design hierarchy” is essential in product development, especially in software• Use and reuse of common assets as templates for product innovation• Platforms can be seen as component and subsystem assets“Economies of scope” exist when the cost of joint production is less than the cost of producing each output separately (Gawer, 2014)• Applies both to production and to innovation (ibid.)

- Innovation ecosystems – not only about buyer-supplier relationships

Kari Smolander

Page 37: Integration and infrastructures

Economy of scope –

Platforms as technological architectures

• Structural commonalities• Modular technological architecture• Include a core and a periphery

• A “stable” core (= the platform itself)• A variable periphery

• Management of complexity• Eliminate unmanageable spaghetti

tangle of systemic interconnections• Reduce the scope if information that

designers need to designs• Allow specialization and division of

innovative labour

Page 38: Integration and infrastructures

Accessing the markets

Platforms as markets• “Two-sided markets”, “multi-sided markets”• Facilitators of exchange between different types of consumers that

would not otherwise transact with each other (Gawer, 2014)• A platform coordinates these groups of consumers for example

through pricingNetwork effect• Agents interacting via platforms where one group’s benefit is

dependent on the size of the other group joining- E.g. app developers and users of the app platform (such as Android)- Self-reinforcing feedback loop – may lead to “winner-take-all” outcome

Kari Smolander

Page 39: Integration and infrastructures

Platform

Essential features• Basis for new product development and incremental innovation• Enable the creation of a family of related products or sets of new features by

deploying components defined by the platform

The first mention (Brown, 1985): Baldwin Locomotive Works (1854)• A rigorous program to standardize locomotive parts• Standard components that can be used in standard engines or even in custom

designs

Platforms are the basis for modern manufacturing and globalizationPlatforms for IT and software are similar• Two-sided markets• Modular technological architectures

Kari Smolander

Page 40: Integration and infrastructures

Software Ecosystem

(Jansen, 2015)

• A set of actors functioning as a unit and interacting with a shared market for software and services, together with the relationships among them.

• These relationships are frequently underpinned by a common technological platform or market

• The actors operate through the exchange of information, resources and artifacts.

Page 41: Integration and infrastructures

Examples of Software Ecosystems

• Facebook• Google• Steam• Salesforce• Amazon• Autodesk/AutoCAD• Playstation• Microsoft Windows• E-Estonia/X-Road• …

Page 42: Integration and infrastructures

Enterprise architecture vs.

platforms and infrastructures

• Enterprises need to integrate to various digital infrastructures/platforms• Access the markets• Communicate with the stakeholders• Organize logistics and supply chain• Enable sales and marketing• Organize HR management and health

care• Enable financial transactions• Deal with governments and tax offices• …

Page 43: Integration and infrastructures

Summary• Digital infrastructures and platforms are

everywhere• Most activities must integrate to them• This integration is an essential skill for

software and business developers