You are on page 1of 22

Topic

INTEGRATION
PREPARED BY:
ROLL NO.S: 10,11,12
Integration

 integration: Combining 2 or more software units


 often a subset of the overall project (!= system testing)
 Why do software engineers care about integration?
 new problems will inevitably surface
 many systems now together that have never been before
 if done poorly, all problems present themselves at once
 hard to diagnose, debug, fix
 cascade of interdependencies
 cannot find and solve problems one-at-a-time
Phased integration

 phased ("big-bang") integration:


 design, code, test, debug each class/unit/subsystem separately
 combine them all
 pray
Incremental integration

 incremental integration:
 develop a functional "skeleton" system (i.e. ZFR)
 design, code, test, debug a small new piece
 integrate this piece with the skeleton
 test/debug it before adding any other pieces
Benefits of incremental

 Benefits:
 Errors easier to isolate, find, fix
 reduces developer bug-fixing load
 System is always in a (relatively) working state
 good for customer relations, developer morale
 Drawbacks:
 May need to create "stub" versions of some features that have not yet been
integrated
Top-down integration

 top-down integration:
Start with outer UI layers and work inward
 must write (lots of) stub lower layers for UI to interact with
 allows postponing tough design/debugging decisions (bad?)
Bottom-up integration

 bottom-up integration:
Start with low-level data/logic layers and work outward
 must write test drivers to run these layers
 won't discover high-level / UI design flaws until late
"Sandwich" integration

 "sandwich" integration:
Connect top-level UI with crucial bottom-level classes
 add middle layers later as needed
 more practical than top-down or bottom-u?
Daily builds

 daily build: Compile working executable on a daily basis


 allows you to test the quality of your integration so far
 helps morale; product "works every day"; visible progress
 best done automated or through an easy script
 quickly catches/exposes any bug that breaks the build
 smoke test: A quick set of tests run on the daily build.
 NOT exhaustive; just sees whether code "smokes" (breaks)
 used (along with compilation) to make sure daily build runs
 continuous integration:
Adding new units immediately as they are written.
Integration testing

 integration testing: Verifying software quality by testing two or more dependent


software modules as a group.
 challenges:
 Combined units can fail
in more places and in more
complicated ways.
 How to test a partial system
where not all parts exist?
 How to "rig" the behavior of
unit A so as to produce a
given behavior from unit B?
Enterprise application integration

 Enterprise application integration (EAI) also involves the


capture and transformation of data, but for a different
purpose.
 EAI was driven by the need to integrate COTS applications
 In the mid-1990s, a number of commercial applications
emerged to support specific business functions
 particularly
 manufacturing
 personnel
 and accounting functions. Page#56
Enterprise application integration

 The installation of these products required integration with related


legacy systems.
 EAI is the practice of linking COTS and legacy systems
 A number of products have emerged to support this practice.
 The basic approach is the store-and-forward transfer of data between
systems.
 EAI products also may provide tools and components to facilitate the
implementation of adapters to legacy systems.
Enterprise application integration
Enterprise integration from a management
viewpoint

 Enterprise integration is a rather sweeping concept that could


mean different things to different people.
 The strategic objectives of most business enterprises are to
 reduce costs,
 improve quality,
 and respond quickly to business problems and opportunities.
Design Objectives

 consider the following design objectives to put enterprise


integration into perspective, guide the efforts, and link the
elements of enterprise integration to business objectives:
 Adaptable systems and processes
 Streamlined business processes
 Management information
 Support for electronic commerce
Design Objectives
Management Information

Enterprise integration should enable managers to monitor


 The operation of the business
 identify problems and opportunities
 define desired changes
 improvements, and measure results.
Key Elements for effective management information

Five key elements are required for effective management information:


 Data consistency
 Data accessibility
 Process consistency
 Exception reporting
 Historical data analysis
Integration Elements

Workflow management must function in the context of a BSD and interact with
applications and other BSD facilities and services.
Following elements of workflow integration:
 Process initiation
 Workflow context
 Application adapters
 Event detection
 Asynchronous process invocation
 Shared work products
 Security page #371
Legacy Integration

Legacy integration with components is not much different than


without
components. There are three basic modes:
 Shared database
 Legacy wrapper
 Enterprise application integration page 376
Shared Database

 A component-based application may share a database with a


legacy system.
 The components retrieve and update their state in the shared
database.
 For updates, database locks will be required to prevent conflicts.
 For read-only operations (where no updates are involved), locks
may not be necessary.
legacy wrapper

 A legacy wrapper can be developed to interface directly with the


legacy
application logic, thus incorporating the legacy system logic into the
new component-based application.

You might also like