BMW is My Car… CONTROL-M is My Engine! Robert Stinnett CARFAX, Inc.

BMW is My Car…
CONTROL-M is My Engine!
Robert Stinnett
CARFAX, Inc.
January 11, 2017
2
About CARFAX
› Founded in 1986, CARFAX was the
pioneer, and is now the leading
provider of, Vehicle History Reports
› Two data centers in Columbia, Missouri
› Administrative offices in Centerville, Virginia
› Run a combination of OpenVMS, Windows and Linux
› Have been a CONTROL-M customer since 2003
© Copyright January 11, 2017 BMC Software, Inc.
3
Agenda
› Talk about the changing face of scheduling
– Look at the movement towards event-based scheduling and away from timebased scheduling.
› Talk about different ways of utilizing and accessing CONTROL-M
– API
– Web Services / Java
– Command Line Utilities
› Show some demonstrations
© Copyright January 11, 2017 BMC Software, Inc.
4
In The Beginning, There Was the Edsel…
› Batch Scheduling Is Boring!
– It’s necessary for the business, but it’s
like driving a 1958 Edsel.
– Many in IT hear the word “batch
scheduler” and immediate think
mainframe and non-interactive.
– As a result, the power of the scheduler
is never fully realized.
© Copyright January 11, 2017 BMC Software, Inc.
5
Let’s Overhaul It!
› It’s Not “Batch Scheduling” Anymore, It’s “Business Processing”.
– You’d be surprised how much changing the name can change attitudes.
› It’s Not About After-Hours or “Offline” Processing, It’s About 24x7
Event-Driven Processing
– Many jobs are not kicked off by the clock anymore, but rather by events.
•
•
•
•
A user clicks on a link on website
A customer order comes in.
A file arrives from a data provider.
A sequence of actions takes place in the business.
› We Have A Powerful Engine with CONTROL-M, Let’s Use It To Drive
Our Business!
– Harness the power of one of your most powerful IT assets!
– Integration is the key to success.
© Copyright January 11, 2017 BMC Software, Inc.
6
First, Some Basics
› What is an API?
– Application Programming Interface
• Let’s you interface other applications with the one you are using either
programmatically or through special methods, such as web services.
– It’s A Window Into Your Application
• Years ago most programs were highly proprietary and closed. The classic
“nothing talks to nothing” problem IT faced.
• How do you give people access to your program without giving away the code?
Through an API!
• Today, almost every major program on the market has an API making it easy to
integrate other products with it.
• API’s are documented, supported aways to let you use the program often beyond
the standard interface.
© Copyright January 11, 2017 BMC Software, Inc.
7
Think About This…
› Google, eBay, Yahoo, Amazon
– Some of the largest API’s on the web.
– Allows programmers, web designers,
even other companies to harness the
ENGINES of these companies to
produce their own “cars” (software).
› It’s Web 2.0 Meets CONTROL-M
– Interface with your help desk, ticketing
system, etc.
– Set conditions based on external data
from other applications or even
websites
– Design around your IT needs; don’t
force IT to adapt to what comes out of
the box.
© Copyright January 11, 2017 BMC Software, Inc.
8
How Does CONTROL-M Support This?
› Enterprise Manager
– Provides a set of Java classes that let you talk to CONTROL-M/EM Server
components.
– Comes with the product for free!
› BMC CONTROL-M Business Process Integration Suite
– Expands upon what you can do by adding additional functionality.
– Opens up jobs in CONTROL-M to interface with other processes via:
• Java (J2EE)
• Message Oriented Middleware
• Web Services
– Two-way street; interactive communications.
› Command Line Utilities
© Copyright January 11, 2017 BMC Software, Inc.
9
Have You Ever Thought About This…
› Wouldn’t It Be Nice to Open/Close Tickets In Your Help Desk System
Automatically When CONTROL-M Jobs Fail?
› Wouldn’t You Like to Expand CONTROL-M To Make It More Dynamic?
– Let your business events control CONTROL-M.
– Open CONTROL-M up to other departments.
– <GASP> Give end-users “control” over certain processes.
› Maybe You Want to Make Your Life Simpler
– Better way to acknowledge alarms.
– Easier way to create jobs.
– Mobile access to CONTROL-M.
© Copyright January 11, 2017 BMC Software, Inc.
10
You Can Do It, Here’s How!
› Robert’s 3 Rules:
– Don’t be afraid of change.
• You might be surprised at what you get!
– Don’t be afraid to ask for help.
• Control-X user group and Devcon are good sources of information
• API calls are well documented in manuals from BMC.
– Think big, start small.
• Take the ideas we are about to see and set them up in your own test environment
to play with them and discover how we did it.
• Your first “hello,world” project:
– Display a list of all the jobs current running on your server.
› Now, let’s see this thing in action!
© Copyright January 11, 2017 BMC Software, Inc.
11
Example #1: On-Demand Job Ordering
› In this example, we will show how we can
interface CONTROL-M with a simple web
application to let production control
managers have “on demand” reporting.
– Uses command line tools “hidden” to the user.
– Simple PHP web page/script.
– User has no knowledge or even a login to
CONTROL-M.
› Enough talk, let’s go!
© Copyright January 11, 2017 BMC Software, Inc.
12
Let’s Review What We Just Did
› Used CONTROL-M command line utilities
– Specifically, we used the ctmorder utility
› Allowed users to generate on-demand reports without the user
needing to get into CONTROL-M
› Provided a “wrapper” for the command line utility through a PHP
script
© Copyright January 11, 2017 BMC Software, Inc.
13
Other Possibilities…
› Create a web page to launch user dailies.
› Provide an interface for your systems group to check CONTROL-M
Mirroring or Database Log/Data space
› Give Change Management control over node groups for outages, etc.
through a web interface.
› Your idea here!
© Copyright January 11, 2017 BMC Software, Inc.
14
Example #2: Dynamically Creating Jobs
› The Hot Rod Candy Company Wants to Kick Off
A Job When Customers Upload Holiday Candy
Orders To Their Web Interface
› Customers Have an SLA of Receiving Order
Confirmation Within 5 Minutes of Submission
Of Order To Hot-Road Candy Company.
› Good Example Of Business Process
Scheduling – We Are Using CONTROL-M To
Help Drive our Business Process (Orders).
› Let’s Go!
© Copyright January 11, 2017 BMC Software, Inc.
15
Let’s Review What We Did…
› Utilized CONTROL-M EM API (Standard Java Classes)
– Built an XML file (SOAP Request) to push through the Java class.
› Performed TWO-WAY Communications
–
–
–
–
CUSTOMERS were notified of order confirmation through e-mail.
Business Process “ORDERS” was kicked off for each customer.
File was passed through to the order process.
And, guess what, this all happened automatically!
› Added a new way to get information to CONTROL-M
– Utilized a custom webpage we designed to push files and other data to
CONTROL-M to build our jobs.
© Copyright January 11, 2017 BMC Software, Inc.
16
But Wait!
› The JAVA API for the EM is useful, but it is not very user friendly nor
is it easy to use except for Java programmers.
› Wouldn’t it be nice to use web services?
– Simple HTTP calls
– Widely supported in many applications
› Business Process Integration Suite
– An optional add-in product for CONTROL-M
© Copyright January 11, 2017 BMC Software, Inc.
17
Example #3: Letting the Customers Peek Inside
› In this example, we are going to give our customers “control” over
their jobs.
› We are going to setup a special interface for them into CONTROL-M
› We’re also going to setup a way for them to see historical information
about their jobs.
› Let’s go!
© Copyright January 11, 2017 BMC Software, Inc.
18
Let’s Review…
› Customers were able to:
– Confirm their jobs
– See the status of their jobs
– “Demand up” their jobs.
› Provided a way for customers to have access, without opening up all
of CONTROL-M.
› We made sure customers could only do what we wanted them to do.
› Utilized Web Services Interface of Business Process Integration Suite
© Copyright January 11, 2017 BMC Software, Inc.
19
So, What We Have Learned Today…
› The world of batch scheduling is changing. Where I work I prefer to
use the term “business processing”.
› We are interfacing with other areas of the busines and IT to give our
companies a complete view of their business processes.
› We saw how CONTROL-M is event driven.
› We looked into how we can expand CONTROL-M out to make it the
engine that drives other applications and interfaces.
© Copyright January 11, 2017 BMC Software, Inc.
20
Before You Zoom Off!
› Download all the examples you saw here today
with source code!
– http://www.robertstinnett.com
– Look for the “Userworld 2007 Downloads” link!
› Need help? Let me know!
– robert@robertstinnett.com
› More Resources
– Control-X Group on Yahoo
• http://tech.groups.yahoo.com/group/control-x/
– BMC Devcon
• http://devcon.bmc.com
© Copyright January 11, 2017 BMC Software, Inc.
21
Thank You!
› Questions?
© Copyright January 11, 2017 BMC Software, Inc.