Juice Leverages XML for "Live" Desktop Integration
Juice Software is providing developers with an XML-based data integration platform that can bring "live" data updates directly to their end users' desktops from a variety of back-end software systems -- ranging from simple web pages, networked Microsoft Office applications, SQL databases and even high-end ERP systems.
Juice Software is providing developers with a data integration platform that can bring "live" data updates directly to their end users' desktops from a variety of back-end software systems -- ranging from simple web pages, networked Microsoft Office applications, SQL databases and even high-end ERP systems
"We provide a brokering server function," Dr. Alan Warren, Juice's CTO & cofounder, told Integration Developer News. "Essentially, we provide a usage and access model to work with back-end data, but abstract the technology to talk to a particular system," he said. "Users don't need to know if a web service, or SQL server scrape off a web page. We have a model insulated from that detail. Under the hood, we can pull from a wide variety of platforms."
Businesses that would benefit most from the Juice approach are those that want to provide their users -- or partners -- with desktop access to data so they can offer updated reports, as well as live queries on inventories, shipping, payments, etc. Juice is especially tuned to help squeeze data from multiple databases or applications.
While large enterprises in the past may have taken a data warehousing approach, such projects require budgets and resources not often available today. And basic SQL-to-XML conversions often provide access to preset documents, but not individual, granular pieces of data.
The Juice approach is aimed at this middle area, where companies need an approach that is less expensive and complex than a data warehouse, yet more custom-controllable than simple access to XML documents.
"We've designed the Juice client/server approach to give a lightweight way to expose systems so a knowledgeable end user can connect them and work with them," Warren told IDN. "To expose a database is as simple as defining a data source, a connection and a couple of queries. Then you wrap the queries as Juice requests," he added.
Inside Juice's 'Live' Integration
In specific, the engineers at Juice have created a request broker architecture based on current and emerging open standards (XML, SQL, SOAP, HTTP, etc.) that links front-end desktop users with a variety of back-end data sources. Unlike many point-to-point approaches, however, Juice's architecture does not require the coding of dozens of A-to-B dataflow calls, and the user doesn't need to know the data's location or format to link into the most recent data.
Juice's platform magic lies in its use of a customizable client add-on along with its back-end request broker. Both the Juice client and Juice server support a wide array of functions -- across different protocols -- that allow developers to skip many time-consuming desktop-to-back-end integration steps.
The Juice Server provides several core functions: connectivity, security, administration, logging, monitoring and application services management. In addition, it also comes with a central repository, where queries can be saved and managed.
The server also comes with two other key components:
The Juice Client architecture leverages a number of developer skill sets:
When the Juice Client sends a query (in the form of an XML message) to the Juice Server, the server routes the request to the appropriate data service, which executes the query and returns the requested data to the Juice Server in uniform XML. The server then routes the information back to the requesting client.
For securing access control, Juice provides a Security Provider Interface (SPI) that enables developers/sysadmins to integrate Juice access with a company's existing directory and security services.
Juice CTO Warren makes an important distinction between the Juice approach and generic application servers. "An application server is a very general vehicle for running code that needs to execute on a middle tier. What we do is act as a request broker to move information seamlessly back and forth between the front and back end without running the code," he explained.
Mapping the Info Flow
But Juice does a bit more: It triggers a two-way (asynchronous) link between requesting client and target server -- even when the underlying protocol may not support asynchronous communication, as in the case of the current version of SOAP.
Warren explained it this way: Juice is not just sending a message from A to B, it's setting a flow connection in place for a continuous live update of data, if desired. Juice knows the initial communication from (A) is a query and so notifies the target server (B) that, if there are changes in its data, to send those updates to the Juice server, which in turn will pass them on to the original requesting client. "So, in this sense," Warren told IDN, "Juice supports asynchronous communications."
One of the keys to saving time and money, Warren said, is that Juice has "abstracted out the information flow and objects," so that developers don't have to hand-craft each connection to accommodate individual users' needs. "Juice has centralized the control points and management points for how [users and data] interrelate," Warren said. "All the developer needs to do is map the workflow at the most basic level."
To construct this workflow, the Juice Toolset can let you visually grab the query and pass it through to the target. "Our Juice library [of data connectors, protocols, etc.] wires it up," Warren said. "We write an app where appropriate for the client to sit in Word or Excel; then we give a very clean mechanism where metadata connects to the back-end system, SAP code or servlets or whatever the flavor is."
The process is similar to using ActiveX controls, but Warren noted it can sometimes be difficult to use ActiveX to hook up to data elements with multiple dependencies -- or to hook up to the other ActiveX targets. "What our model does is plug into the user interface of the document (Excel, Word, etc.) and lets you interrelate things at that point," he explained.
According to Warren, while Juice is heavily XML-based, it is prepared for new web services integration -- where the updates may need to go from server-to-server or service-to-service, without any client ever being involved. "Under the covers, our XML messaging infrastructure is very SOAP-like," he said. "When we started, SOAP was on the radar but not mature enough to use just off-the-shelf. But our underlying platform is SOAP-like in terms of abstraction and communication protocols, and we have SOAP plug-ins for developers working with native web services."
The Juice server lists at $25K for starting implementation. Developer seats are available at $10K and under.