Upload
matt-lucas
View
404
Download
2
Embed Size (px)
DESCRIPTION
Presentation from IBM Impact 2014. IBM Integration Bus includes a number of features for grouping and sharing your integration resources that make it easier to develop and maintain integration solutions: applications provide a means of grouping resources for a specific integration problem; libraries group reusable integration components for easier sharing; integration services allow you to define the inputs, outputs and operations for an effective service oriented architecture; APIs provide convenient access to integration services from external systems. These concepts are integral to IBM Integration Bus and this session will describe them, give guidance on best practices for their use, and also describe the recent enhancements that makes working with them even easier.
Citation preview
© 2014 IBM Corporation
1144: IBM Integration Bus
Services, APIs,
Applications, & LibrariesMatthew Golby-Kirk, IBM UK
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user’s job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
IBM Integration Bus This Week – Selected Sessions
Monday
• 2.30-3.30 Palazzo H – Integration Featured Session
• 4.00-5.00 Palazzo H – What's New in IIB
• 5.15-6.15 Palazzo H – Introduction to IIB
Tuesday
• 10.30-11.30 Palazzo H – Cloud Integration Options
• 10.30-11.30 San Polo 3502 – Meet The Experts
• 1.00-2.00 Palazzo H – WESB Conversion
• 1.00-2.00 Marcello 4403 – IIB Retail Integration Pack
• 1.00-3.15 Murano 3303 – IIB V9 Lab
• 2.15-3.15 Palazzo H – Designing for Performance
• 3.45-4.45 Palazzo H – Mobile Integration
• 5.00-6.00 Palazzo H – DFDL Introduction
• 5.00-6.00 Marcello 4402 – Manufacturing in IIB
3
IBM Integration Bus This Week – Selected Sessions
Wednesday
• 10.30-11.30 Palazzo H – .NET Integration
• 1.00-2.00 Palazzo H – Effective Application Development
• 1.00-2.00 Marcello 4403 – IIB Healthcare Integration Pack
• 1.00-2.00 San Polo 3503 – Meet The Experts (Repeat)
• 2.15-3.15 Palazzo H – Effective Administration
• 3.45-4.45 Palazzo H – Applications, Libraries, APIs
• 3.45-6.00 Murano 3303 – IIB Open Beta Lab
• 5.00-6.00 Palazzo H – Transformation Options in IIB
Thursday
• 9.00-10.00 Palazzo H – Predictive Analytics
• 10.30-11.30 Palazzo H – BPM Integration
• 1.00-2.00 Palazzo H – Modelling Industry Formats
• 2.15-3.15 Palazzo H – What's New in IIB (Repeat)
4
5
Applications and Libraries
Applications and Libraries are a means of developing, deploying and managing
your integration solutions:
Application
• means of encapsulating resources to solve a specific
connectivity problem
• application can reference one or more libraries
Library
• a logical grouping of related routines and/or data
• libraries help with reuse and ease of resource management
• library can reference one or more libraries
� These concepts span all aspects of the product, and are designed to make the
development and management of IIB solutions easier.
6
Features of Applications and Libraries
� Libraries facilitate re-use and simplify resource management
– Typically contain reusable helper routines and resources
• Subflows, ESQL, Java, Maps, Message models, Adapter files, etc.
– Use multiple libraries to group related resources (e.g. by type or function)
– Multiple applications can reference the same library
• Each application gets its own copy of the library during package/deploy
– Libraries are packaged as part of referencing application in the BAR
– Library can reference other Libraries
� Applications promote encapsulation and isolation
– Typically contain “main” message flows and dependent resources
• ESQL, Java, Maps, Message models, subflows, Adapter files, etc.
• dependent resources could live in referenced libraries
– Multiple applications can be packaged into a single BAR
– Multiple applications can be deployed to a server (execution group)
– Visibility of resource restricted to containing application
– Referenced libraries are deployed inside application container (by copy)
Applications and Libraries:
Each stage of the
development cycle
8
Solution Lifecycle
Applications and libraries span the Toolkit, BAR and Runtime.
Manifested as existing well-known container formats (ZIPs)
One can work without applications and libraries if preferred
• No need to change existing project structure or deployment processes
• But these features will make your lives easier – consistent develop, deploy, manage experience!
BARToolkit Node
Prepare
Manage
9
Creating a new Application or Library
New Application/Library can be
created via Quick Starts or New
menuUser can specify referenced
Libraries in the Application /
Library wizard
1
2
10
Applications and Libraries in the Toolkit Navigator
Applications and libraries are shown in the Application
Development view
Each application and/or library is an Eclipse project (with a
special nature) that contains artefacts, such as: flows, XSDs,
Maps, ESQL, etc.
Referenced libraries show up twice for ease of navigation:
1. as children of the referencing application/library
2. as top-level containers in the Navigator
both entries refer to the same physical resources
Libraries not referenced by any application, show up only as top-
level containers in the Navigator
Application/library project can reference JCN and Java projects.
Artefacts in referenced JCN/Java projects are rendered as part
of application/library and deployed to the runtime as part of
corresponding container.
Application and/or library can reference other libraries. Artefacts
in referenced libraries are visible to the referencing
application/library. Referenced libraries are deployed to the
runtime as part of the referencing container.
11
Applications and Libraries in the BAR Editor – Prepare
� Select applications to include into Bar file
� Read-only view of resources that are included into
application container – each application is AppZip
� Note that referenced libraries are included into
application container ‘by value’
12
Applications and Libraries in the BAR editor - Manage
� View all application containers included in BAR file.
Applications bring in referenced libraries by value
� Override any configurable flow/node property values for
resources included in the application container
13
Applications and Libraries on the Node (Broker)Deployed applications are displayed directly below server in the
Toolkit and IBX
Each application is an independent container within execution
group - it contains list of resource (e.g. flows).
Referenced libraries are listed as children of the referencing
application container
Deployed library resources appear as children of that library
If multiple applications reference the same library, each
application gets its own copy of the library
GUI, command line and CMP tools updated to expose
operations that are applicable to libraries and applications
• Starting and stopping applications
– Starting an application implicitly starts all containing
message flows
• Delete – deletes all containing resources (including
referenced libraries) and remove application container
IBM Integration Bus:
Integration Services
Operation subflow
Operation subflow
Integration Service
WSDLWSDL Interface (WSDL)
SOAP / HTTP
Binding Style
Integration Services: Interfaces, Operations and Bindings
An interface is described using a WSDL document
An interface consists of one or more operations and a binding style.
The binding style specifies the protocol and data format of the operation.
An operation is a description of an action implemented by the service.
Each operation in the interface defines the data that is passed between the Consumer and the Provider
when the operation is invoked.
Each operation may have one or more faults to handle error conditions.
Integration Service
Client WebService
Consumer Provider
Operation
Creating an Integration Service
Subflows
XML Schema
WSDL
Message Flow
Log file
ServiceDescriptor
Generated Resources
Editing an Integration Service
One Way Operation
Request Response Operation
Request Response Operation
Integration Service Interface
Error Handler subflows are now implemented so no longer
showing warning markers
getApproval operation now implemented so no longer
“greyed out”
Default HTTP binding provided
Implemented Integration Service
Error Flows (subflows)
Request_Response subflow
Core properties
Service Descriptor
Integration Bus Explorer
Integration Bus Toolkit
Service Deployment and Administration
Exporting Web Server Plugin Configuration
The WebSphere Application Server plug-in can be used in
complex scenarios to:
• Implement load-balancing
• Implement clustering for failover
• Expose application server and web server services and files
through a single front end
• Manage security for all URLs in a single place and in a consistent
manner
• Set up a network dispatcher to multiple web service endpoints
Web Server(eg WAS Web Server,
IHS – Apache Web Server)
Plug-in
ClientsHTTP HTTP
WMB
dataflowengine.exe
Clients
Web Server
Application ServerSystem B
WASplug-in
HTTPS
HTTP
HTTP
Application ServerSystem A
Clients
Web Server
Message BrokerSystem B
WASplug-in
HTTPS
HTTP
HTTP
Message BrokerSystem A
Using an External Web Server
Exporting Web Server Configuration Data
Use WebSphere Message Broker to help configure your existing topology, by generating
appropriate configuration data:
• Existing topology uses WebSphere Application Server - generate a configuration
file that can be read by the WAS web server plug-in
• Existing topology uses an Apache web server (e.g. IBM HTTP Server) - generate
a configuration file that can be merged into your Apache mod_proxy configuration
• Existing topology uses some other web server configuration – use the WMB API
to generate a per-broker list of port and URL data in CSV format
Generated WAS Plugin.xml and Mod_Proxy.conf
Java API Example - getPortConfigAsCsv
IBM Integration Bus:
Service Discovery for MQ and
Databases
Integration Service
Database Service
MQ Service
Discovering Service Interfaces
Service discovery involves defining a common model for describing service interfaces.
• Interrogate IT systems: user refines and selects from what is discovered
• Define interchange data structures
• Declare resource-oriented operations or procedural style invocations
• Describe the service using a common model
Physical Logical
Binding PortType
CONTROL
INTEGRATEEXCHANGE
Database Services Discovery
Create Service definition using discovery
• User connects to a database
• User creates a .dbm file containing all database artefacts (tables, views,
stored procedures etc).
The user specifies the style of service to be created (Resource oriented or Operation)
• CRUD operations for one or more tables, views
A WSDL definition is created for database operations
• The Port Type describes the interfaces of the Database operations (groups
operations)
• A Database Connector Binding contains meta-data for each operation for the
interaction with database.
Start by Discovering a Service N
Database Service Editor – 1. Description
Database view of the world Service view of the world
Database Service Editor – 2. Database Definition
Database definition file provides re-use of existing artefacts.
ODBC data source name is required because although discovery is driven via a JDBC connection, at runtime IIB uses ODBC connectivity for certain node implementations
Database Service Editor – 3. Select Resources
Database Service Editor – 4. Service Operations
Database Service Editor – 4. Service Operations
Database Service Editor – 5. Service Interface
Database Service Editor – 6. Summary
Drag and Drop to generate code
Generated code
WMB Tookit
App
MQ
Broker Developer
Runs a discovery tool in WMB toolkit
Enters MQ connection details
Discovers queues from queue manager
Selects appropriate queue (s) from search result
Refine selection to create service definition
MQ Application Developer
Provides data model (e.g. COBOL)
MQ Service Discovery
WMB Tookit
App
MQ
Broker Developer
Runs a discovery tool in WMB toolkit
Enters MQ connection details
Discovers queues from queue manager
Selects appropriate queue (s) from search result
Refine selection to create service definition
MQ Application Developer
Provides data model (e.g. COBOL)
WMB Tookit
Other Broker Developer
Retrieves service definitions from catalogue
Indexed by service name or queue name
Uses service definition to configure MQ Nodes
Discovery and Push into Catalog
MQ Service Discovery
Questions?
We Value Your Feedback
Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us – we use it to
continually improve the conference.
Use the Conference Mobile App or the online Agenda Builder to
quickly submit your survey
• Navigate to “Surveys” to see a view of surveys for sessions
you’ve attended
47
Thank You
Legal Disclaimer
• © IBM Corporation 2014. All Rights Reserved.
• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained
in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are
subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing
contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and
conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or
capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to
future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by
you will result in any specific sales, revenue growth or other results.
• Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will
experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
• All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs
and performance characteristics may vary by customer.
• Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server).
Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your
presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in
your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International
Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
• UNIX is a registered trademark of The Open Group in the United States and other countries.
• Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of
others.