The Origins of Flux

Sims Computing created Flux, an enterprise component, using Java Technology

Sims Computing was founded in 1997 as a boutique consulting shop to help build enterprise software components that would improve the overall efficiency and functionality of our customers’ enterprise applications. Working in this capacity with our customers, we quickly realized that there was a need for a commercial enterprise job scheduler that would help our customers increase the efficiencies of their businesses and reduce costs by enabling them to run scheduled tasks, such as report generation, file transfers and e-mail distribution around the clock, without supervision. Why? Because application developers were spending too much time managing these processes themselves or dedicating too many resources to building custom job schedulers in-house.

There wasn’t a commercial enterprise scheduler on the market at the time, so recognizing an opportunity, we set out in early 2000 to develop a solution that could schedule and execute unattended jobs on a large scale and run tasks at any time of the day or night without a system manager to manage the transaction. In the competitive realm of software development, we knew we needed to move fast – product development cycles would be short and implementation schedules tight.

A full solution that was easy to implement was Sun Microsystems’ Java technology. Sun allowed us to quickly meet this long list of challenges and launch Flux, the Enterprise Job Scheduler, in September 2000. We chose to develop Flux using Java technology primarily because it made it possible for us to write enterprise software components that are portable and have no vendor lock-in – once the scheduling component was developed, the team did not have to restructure the code to custom-fit any one platform. This allowed us to develop a solution that was suitable for a range of computing environments much faster than would have been possible with other technologies on the market.

Flux is a Java technology-based software component that performs job scheduling and job queuing for Java technology and Java 2 Platform, Enterprise Edition (J2EE) applications. Programmers using Flux can run a report at a specific time of the day, every day, without being present to manage the process. Job scheduling enables enterprise software to manage small- and large-scale tasks without the addition of custom software to run them. With the ability to perform unattended tasks on a scheduled or recurring basis, enterprise applications expand their functionality dramatically.

Our consulting experience told us that there would be multiple uses for Flux. For example, a commercial job scheduler could enable Customer Relationship Management (CRM) applications to contact customers periodically during the sales cycle. It could enable file transfer applications to transmit and receive files on a regular basis, with the exception of designated holidays. The Java application would also allow administrative applications to send reminder emails to notify employees and customers about important events.

Our customer base went global early on, including sales in the United States., Europe, Asia and Australia. Our customer base now crosses multiple vertical industries including finance, B2B, insurance, health care, telecommunications, manufacturing and Customer Relationship Management (CRM) solutions. Current customers include Flexemessaging, Redspark-an Autodesk Venture, UserMagnet, Mynta Management and IT AB, and Mind AB.

One of our customers, UserMagnet, which powers, the popular Java technology community site, uses Flux to manage the site’s news alert system, which checks thousands of Web sites all day, every day, gathering more than 70,000 news items each day. Providing a new way to manage traffic and a new style of scheduling, Flux has allowed UserMagnet customers to schedule the delivery of their news alerts at predetermined times – not randomly as before. Now, customers can read the information sent to them by UserMagnet when it’s most convenient for them-anytime.

Though scheduling itself has been around since the 1960s, Flux is unique in that it offers a J2EE-enabled scheduling component that can not only handle the demands of the application it is servicing but can also be quickly and easily embedded into existing J2EE powered applications. Unlike a standalone application, Flux can be folded into large or small-scale applications and used by developers for flexible solutions. In addition, by leveraging Java technology we have developed a job scheduler that is portable to any system, significantly extending our customer base to include those using Sun workstations to HP-UX to Linux platforms.

The Java community has embraced Flux because it provides a new facet of J2EE functionality, which we believe is previously unexplored in the commercial sector. At Sims Computing, we believe that Flux provides a generalized API for scheduling that had previously been missing from J2EE and Java technology applications.

Early on, we made a bet that Java technology would play a central role in the future of enterprise application development and made the decision to use Java technology in developing a robust, cost-effective, and platform-independent enterprise job scheduler. In fact, when it came time to select a development platform, there was no contest – Java technology was the obvious choice.

Not only do we believe that Java technology kept Sims Computing on the cutting edge in product development, but the popular programming language has also helped enable us to become extremely competitive on the financial side.

By using Java technology, we were able to develop Flux in over half the time it would have taken had we used another language such as C++ and had to port it to every system. Knowing from the outset that development time and costs could be significantly lower, we did not consider using anything other than Java technology for its reliability, security, and its Write Once, Run Anywhere, Anytime ability.

By allowing developers to focus on their applications and not on the intricate details of job scheduling, Flux enables development teams to create full-bodied applications while still coming in on time and on budget. Sweden’s Mynta Management and IT AB, an enterprise IT consulting company, licensed Flux in January 2001 to run unattended scheduling at all times of the day. Needing to clean out old files as well as run other large-scale enterprise tasks, System Architect Mats Fredriksson recommended Flux as a quick solution to an otherwise time consuming and costly problem. By purchasing Flux, Mynta bought a solution in a day that would have taken them months to write themselves.

Another Swedish customer, Mind AB, found they were able to run the same code during testing and deployment by working with Flux and J2EE – saving valuable time. Says Mind AB architect Markus Torpvret, “Flux solved my problem of running scheduled tasks without becoming OS dependent. Flux enabled us to run exactly the same code during development, testing, and deployment.”

From the beginning, our development team has worked closely with our customers, like Mynta Management, UserMagnet and Mind AB to understand and address their individual needs. As a result, Java technology powered Flux addresses platform independence, server and database independence, J2EE and Java technology integration, persistence, holiday calendars and scalability requirements. With this ongoing input, the Flux development team continues to round out our product offering.

The Flux team continues to be inspired by real-life challenges and real-life obstacles faced by enterprise application developers. We believe that Java technology is the best solution to continue meeting the changing needs of the vibrant enterprise market, allowing us to build applications that are robust, cost-effective, and on time. Our customers agree.