By:Jeremy Kadlec || Related Tips:More >SQL Server Agent
ProblemOur organization spends significant time and money on integrating applications (ERP, CRM, cloud, mainframe, custom, etc.) across our enterprise. We have a number of experts on each platform, but when we need to integrate the data between systems we run into countless issues. How can we leverage our internal application expertise, but ease the integration portion? What options are available from an integration perspective?
SolutionThere are a number of options to consider when performing enterprise application integration. The first option many companies consider is building a custom application in .NET, Java, etc. to meet a variety of application needs. This provides a tremendous amount of flexibility for the current landscape, but generally requires an organization's top resources to become experts on a number of systems for an extended period of time. That time can extend much longer than expected as the landscape changes with updates needed to support the ever changing integration needs, application upgrades and new platforms being introduced into the enterprise. No business process is static and this technical team would need to work closely with numerous departments in order to be successful. Unfortunately, the time to implement and maintain this custom solution can be far more than expected. That is time when those expert Developers could be innovating new solutions to help the organization be competitive in the market.
A second option many Microsoft based organizations consider is SQL Server Integration Services. Integration Services is designed to extract, transform and load data to / from a variety of systems. In many respects this technology can help SQL Server DBAs and Developers with the data integration between Microsoft platforms, but has some limitations with high speed data integration with non-Microsoft platforms. Often times direct data access is not possible, so workarounds can include moving clear text files around the organization, enabling xp_cmdshell, configuring Linked Servers, etc. Although these are viable options, they could open up security issues, the troubleshooting can be cryptic across numerous platforms, the performance may be less than optimal on certain platforms and code can become unwieldy very quickly.
With these two options the organization and technology group face numerous challenges:
Time intensive development Expert Developers needed Proprietary logic Inflexibility Multi-platform knowledge Insecure data Careless security Time slicing processes creates inefficiencies Tedious troubleshooting Scheduling interdependencies Ever changing business processes Difficulties retaining top talent to maintain codeWhat is really needed at the enterprise level is a centralized view of business processes that coordinates expert's solutions on each platform with the ability to seamlessly manage, troubleshoot and report across the enterprise. One option I would like to introduce is JAMS Enterprise Job Scheduling from MVP Systems Software, Inc. JAMS is a windows based centralized Job Management Solution built on .NET that natively integrates with numerous platforms to address the needs outlined above. JAMS will enable your individual platform experts to build the necessary solutions then centralize and coordinate the business processes.
Application Integration with JAMS JAMS OverviewThe JAMS fully-featured graphical user interface enables you to develop, manage and report on your enterprise business processes in one application. The intuitive JAMS interface yields a low learning curve. There are a number of clients available to users, however the focus for this article will be on the Windows client, where team members can build new business processes calling code from across your enterprise. In addition, JAMS includes enterprise level security management, job monitoring, reporting and more.
Below is an example of the JAMS interface to monitor Jobs (on the right), with the navigation (on the top and left). With JAMS you can easily point and click through all of your enterprise jobs in a single view. This yields a significant time savings as compared to logging into numerous servers, reviewing numerous emails or parsing log files from each business process.
Image may be NSFW.
Clik here to view.

Figure 1 - JAMS User Interface
Coordinating Business Processes in JAMSWith the JAMS user interface , technology professionals can easily build business processes by dragging and dropping objects from the tool box to the work space. Once the object is in the work space, logic is added to the object. This enables subject matter experts to build workflow code for enterprise applications that is in the native language and most efficient for the platform, then coordinate all the business processes with JAMS. In addition, JAMS includes conditional and branching logic necessary for your business needs to conditionally start processes, handle exceptions, notify the team and more, as shown below.
Image may be NSFW.
Clik here to view.

Figure 2 - JAMS Workflow
As shown in Figure 2 and 3, the JAMS Toolbox features more than 75 objects to meet your development needs. Figure 2 outlines many of JAMS objects and Figure 3 highlights many of the native logical operators.
Image may be NSFW.
Clik here to view.

Figure 3 - JAMS Toolbox
Beyond the workflow shown in Figure 2, there is also flexibility at the JAMS job level to develop code directly to pass parameters between jobs, call secured credentials to access your enterprise applications, conditionally process files \ data and more as shown in Figure 4.
Image may be NSFW.
Clik here to view.

Figure 4 - Development with JAMS Jobs
Code ManagementWith all of the development capabilities in JAMS , the JAMS team at knows that it is imperative to be able to manage your code. In the SQL Server industry, SQL Server Agent code management is a common challenge. For example, in SQL Server Agent you have the ability to change code, but there is not a record of the changes, who made the change, what code was changed and the ability to rollback code directly in SQL Server Agent. JAMS recognizes these needs as a development and enterprise job scheduling solution and provides solutions to these needs and more.
With JAMS centralized logic, the code is versioned in order to see the changes to code between two versions as shown in Figure 5.
Image may be NSFW.
Clik here to view.

Figure 5 - JAMS Code Comparison
Af