430 likes | 442 Views
Understand key integration components like Communications Models, Middleware, and Services. Learn about synchronous & asynchronous communication, integration methods, and connectors utilized in integration projects.
E N D
Building Blocks for Integration IST 421 Spring 2009
Building Blocks for Integration • There are four basic building blocks for integration: • Communications models (logical middleware models) • Method of integration • Middleware • Services
Communications Model • Two basic choices for communications: • Synchronous – tightly coupled to applications • Asynchronous – decoupled from the applications
Synchronous Communication • Requires a sender and a receiver • Sender of a request waits until a reply is received before processing continues • Requires a reliable network infrastructure
Synchronous Communication • Typically used for interactive systems • Web sites connected to a database • Java applications interacting with mainframe applications • Windows applications interacting with an ERP package like SAP R/3
Synchronous Communication • Three popular types of synchronous communications: • Request / reply • One-way • Polling
Synchronous Communication • Request / reply
Synchronous Communication • Request / Reply • Sender must stop and wait for a response • If receiver’s processing takes too long, performance will be impacted • If receiver not able to comply with request, sender might not be able to continue at all • Uses a lot of bandwidth on the network
Synchronous Communication • One-Way
Synchronous Communication • One-Way • No information other than acknowledgment sent • Receipt of acknowledgment should be faster than waiting for processing to complete
Synchronous Communication • Synchronous Polling
Asynchronous Communication • Does not require the sender and receiver to coordinate their processing with any communications • Sender communicates the request and then continues processing • Used when there is no need to coordinate activities or responses
Asynchronous Communication • Three popular types of asynchronous communication: • Message passing • Publish / subscribe • Broadcast
Asynchronous Communication • Useful when just transferring information • Can operate in an unreliable environment
Asynchronous Communication • Message Passing
Asynchronous Communication • Message Passing • Simplest form of asynchronous communication • Must provide guaranteed delivery • Continue to try to send until complete the communication • Without guaranteed delivery, request may be lost
Asynchronous Communication • Publish / Subscribe
Asynchronous Communication • Publish / Subscribe • Messages sent based on interest of receiver • Developer of application defines interests • Design complexity • No reply is required • Uses • Notifying an order has been shipped • Subscribe to news service for type of news
Asynchronous Communication • Broadcast
Asynchronous Communication • Broadcast • Message is sent to every application in the system • Can become a performance bottleneck since each possible receiver must look at each broadcast message
Building Blocks for Integration • There are four basic building blocks for integration: • Communications models • Method of integration • Middleware • Services
Methods of Integration • Approach used to construct a request from a sender to a receiver • Two primary methods of integration: • Messaging • Interface definitions
Methods of Integration - Messaging • Contains: • Information like $174.39 and account number 017359 • Action such as deposit in checking • Message needs to be coded and decoded same way by all senders and receivers
Methods of Integration - Messaging • Designers must predefine the messages • Application that sends a message must be able to: • Create message in appropriate format • Place message into communications system • Receive message from communications system • Parse message into its action and information • Determine what to do with message
Methods of Integration – Interface Definition • Sender communicates through an interface which defines actions that can be invoked • Interface is associated with an application • Interfaces make application look like a procedure or an object using C, C++, or Java
Methods of Integration – Interface Definition • Process for using interfaces: • Create an invocation or call to the component • Call accountDeposit with parameters accountNumber and value • Execute the call • Asynchronous communication • Receive a remote invocation or call • Execute the action based on interface used
Methods of Integration • Connectors – logic that is programmed into an application to provide access to: • Presentation • Data • Functionality of the application in a structured manner
Building Blocks for Integration • There are four basic building blocks for integration: • Communications models • Method of integration • Middleware • Services
Middleware • Allows one entity (application or database) to communicate with another entity or entities using messages or interfaces. • Originally designed for intra-enterprise integration • New demand for inter-enterprise integration
Middleware • There are five basic types of middleware in the market today: • Remote procedure calls • Database access middleware • Message oriented middleware • Distributed object technology • Transaction processing monitors
Middleware • Communications model and method of integration are closely tied to middleware that is employed • Five types of middleware represent a basic level of infrastructure capabilities
Middleware • RPC (Remote Procedure Call) • Invoke a function within one program & have the function execute within another program on a remote machine • Synchronous process • Best know RPC is the Distributed Computing Environment (DCE) from the Open Software Foundation (OSF) • Popularity peaked in the late 1980s
Middleware • RPC (Remote Procedure Call) cont. • DCE is not scalable & difficult to administer • RPCs not well-performing • Require tremendous processing power
Middleware • Database Access Middleware • Ability to access remote data files and databases • Each database vendor developed its own middleware solution • Standard mechanisms like ODBC and JDBC recent • Vendors like Oracle still have proprietary solutions
Middleware • Message Oriented Middleware • MOM is queuing software • Units of information move between applications • Decoupled from applications • Asynchronous communication • Messages have actions & data • IBM’s MQSeries & Microsoft MSMQ
Middleware • Distributed Objects • CORBA & COM 2 types of distributed objects in use • CORBA (Common Object Request Broker Architecture) is a standard • Rules for developers to follow when creating distributed objects which may be used for application development • COM is Microsoft distributed object standard
Middleware • Transaction Processing Monitors • First employed on mainframes with IBM’s IMS and CICS products • Used by organizations with large transaction volume to ensure ACID (atomicity, consistency, isolation, durability) • Tend to be tightly coupled • BEA’s Tuxedo example of TP middleware • Most complex of all types of middleware
Middleware • Message Brokers • “nirvana” of B2B integration • Move information between multiple applications • Account for differences in semantics and platforms • Use common rules and routing engines • Transform schema & content as it flows between applications & databases
Building Blocks for Integration • There are four basic building blocks for integration: • Communications models • Method of integration • Middleware • Services
Services • A functional extension to basic communication or middleware capability • Intended to reduce the burden of applying core technology
Services • Directory – used to track key information about system • Lifecycle – aids developer by automating creation of objects or messages and disposal of on completion • Security – provides capabilities required to secure any integration
Services • Conversion and transformation – properly format data for integration • Persistence – ensure that state information and data are safely stored • Events – identify and track events
Services • Notification – event is detected, notify any interested component • Workflow – manage set of requests or messages across components in a prescribed order as a single action