BMW is My Car… CONTROL-M is My Engine! Robert Stinnett CARFAX, Inc. April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 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 April 9, 2015 BMC Software, Inc. 21 Thank You! › Questions? © Copyright April 9, 2015 BMC Software, Inc.