Product Review
Pantero 1.3 Shared Data Services
Gain control of your data
Jun. 28, 2005 10:00 AM
The moniker "Shared Data Services" has a sexy ring to it, and in a market where
service-oriented architecture is the topic du jour, you may be tempted to roll your
eyes... but don't. Pantero targets an important segment where business spends
$80 billion annually on integration and another $19 billion on manual reconciliation.
Shared Data Services?
What are shared data services? A quick tour through the organic growth of Web services at a firm would be a good illustration.
Chances are you have dipped your toe into Web services when your company needed to expose data to the outside world. You may have started with a simple, straight-through service that returned un-enriched data. As you gained experience, you may have enriched the data, significantly expanding the sources of data available, and gone on to enhance the interface to support an industry model. Finally you may have added support for inbound Web service-based transactions that required validation and mapping back into the Corporate Operational Data Stores. This is the world of Shared Data Services.
Pantero
Pantero provides a set of tools for developing and deploying shared data services. The Pantero Designer is an extension to BEA Weblogic Workshop, which allows the user to develop data services. The Pantero Engine executes services, managing logging, and runtime metadata. The Engine runs on both BEA WebLogic Server and IBM WebSphere Application Server.
The Exchange Model
Pantero Data Services operate using a semantic model of the data that Pantero calls the "ExchangeModel." The exchange model reconciles differences between data formats and models among entities. The ExchangeModel contains three model tiers: data sources, data services, and the intervening common model. Pantero defines the common model as "An intermediary model that maps to both data sources and data services and serves as a canonical or reference structure for the data."
You can begin building the exchange model by creating a basic common model (Figure 1). Pantero makes this extremely easy by providing a set of import wizards that can bootstrap a model with an XML Schema, database schema, or UML Model.
Once this is done, you can also import schemas to define data sources and data services.
Next you can enrich the model in a number of ways. You can add simple and computed attributes, define inheritance and containment relationships, and define record keys.
Rules
A powerful feature of Pantero is its support for Rules. Pantero supports four types of rules: Transformation rules, Validation rules, Aggregation rules, and Business rules.
A transformation rule can derive one or more properties of a class from one or more properties of another class.
A validation rule ensures that data meets given constraints, generally defined by schemas.
An aggregation rule resolves duplicate entities or combines separate entities in some domain.
A business process rule evaluates some condition to answer a question posed by a business process.
Combined, the rule types are a powerful and flexible way of insuring the integrity of data flowing through the model.
Data Mapping
Pantero provides the requisite mapping capability. By bringing up the Pantero Project View (Figure 2), the user can select source and target objects to map. This is done by double clicking the arrow pointing to or from the common model, to either the Data Source or the Data Service. This action pops up a mapping screen. The screen contains the source objects on the left with the target objects on the right. At this point mapping is a matter of dragging and dropping between available source and targets. Once this is done, a line will appear and indicate a mapping. The line would be dashed if the mapping needs further definition. Clicking on the dashed line would bring up the class view, allowing the user to map attributes between source and target classes.
Pantero's mapping capability is well thought out and very straightforward to use.
Data Service
Where do Web services come into the picture? Well, when you build the Pantero project, you build your data Services as WebLogic Workshop Java controls. This makes the Pantero Data Service available to a WebLogic business process, which can expose the data services as Web services. In Weblogic Workshop this is a matter of a few mouse clicks.
Testing
Pantero provides a Tester component that allows the user to test data services without deploying the application. The Tester establishes a runtime environment in which to execute a data service, insert an XML document into the runtime environment, execute a query, and execute a map. This short-circuits the need to deploy to an application server significantly eases the test/debug cycle.
Impact Analysis
When modifying the Exchange Model, Pantero allows for Impact Analysis. The Impact Analysis component displays lists of objects that might be affected by changes to the selected object. When you select the count for an object type, the Impact Analysis component displays a table that lists objects of that type. This feature definitely comes in handy when your project sponsor wants to know how a proposed set of changes will affect the model.
Documentation
Pantero provides well-written documentation in the form of a Tutorial, User Guide, and of course, online help. The Tutorial is particularly effective because it walks through a fairly involved real-world example using a financial services model, which exercised all of the features. This is not your typical stock quote tutorial. I recently completed a data services project at a large financial institution and this tutorial definitely addresses many of the issues we encountered.
Conclusion
Pantaro's Shared Data Services product is a powerful tool that can give you a level of control and flexibility over your data. I definitely recommend that you check this product out.
See Sidebar
About Paul MaurerPaul Maurer is a principal in the financial services practice of a leading consulting services company.