Tag Archive for: software tools

Learn About OIM for XBRL


XBRL – the eXtensible Business Reporting Language – is a global framework for exchanging business information. The standard, maintained by XBRL International, is based on XML and designed to offer a standards-based approach to communicating and exchanging financial information between business systems.

The current version of the standard was finalized in 2003 and since then has received widespread uptake and eventual mandates from numerous countries and regulatory agencies, including the United States SEC. Adoption of the standard is due to advantages that include enabling automation and cost savings, better quality of reported data, improved analysis, and better quality of information used for decision making.

Despite its benefits, the complexity of XBRL presents a sharp learning curve for accountants and other stakeholders not familiar with XML, leading to errors and increased consultancy costs. In addition, coinciding with the adoption of big data technologies, XBRL has been used to represent ever growing datasets, which can be resource intensive.

XBRL International has worked over the years to modernize and simplify the standard in response to those challenges, and the Open Information Model (OIM) is an exciting and innovative solution.

Accountants learning about OIM XBRL
Read more…
Tags: , , , , , ,

Mapping Structured Data with Enhanced Node Functions


We’ve reported previously on support for node functions that simplify mapping structured data by eliminating need to copy-paste a function multiple times into a mapping. Repeating the same function unnecessarily clutters the mapping layout and makes the data mapping more difficult to understand or revise.

Now in MapForce 2019, additional filters are available for defining node functions. These new parameters allow developers to apply functions and default values to specific nodes based on custom-defined criteria. For example, you can apply a node function based on node metadata such as the node name, node length, precision of the node’s data type, customized node annotations, and more.

Let’s look at a mapping with enhanced node functions.

Read more…

Tags: , , ,

Early Software Testing Validates Design


“Test early and often,” is a strategy from agile software engineering that has evolved to become a mandate for software developers in every field. Early software testing is especially important for developers working on cross-platform apps, who must support mobile devices with varying physical characteristics and operating system functionalities.

MobileTogether includes features to incorporate early software testing into the development process without time-consuming compile, deploy, and debug cycles for each mobile platform. The Altova Web site describes the MobileTogether Simulator early software testing feature, and we have blogged about the ability to record and re-run specific sets of actions in test cases.

This post describes Trial Run on Client. It’s built into the MobileTogether Designer to let developers instantly examine app designs and validate logic and functionality across any supported mobile device or platform – Android, iOS, and Windows Desktop or Windows Phone.

Read more…

Tags: , , ,

Node Functions Simplify Mapping Hierarchical Data Structures


MapForce node functions simplify mapping hierarchical data such as XML nodes or CSV, JSON, EDI, or database fields by permitting users to define a data processing function at the node level and apply it recursively to all descendant items.

Similarly, default values can also be assigned to nodes and automatically applied to descendants.

Defaults and node functions are particularly useful when a data mapping and transformation task requires the same processing logic for multiple descendant items in a structure, for example:

  • Replace null values with some other value, recursively for all descendant items
  • Replace a specific value (for example, “N/A”) with some other value recursively for all descendant items
  • Replace all database null values when reading from a database table
  • Trim all trailing spaces for all values from a source database
  • Append a custom prefix or suffix to all values written to a target file or database
  • Formatting of output values
  • And many others

Defaults and node functions simplify mapping hierarchical data by eliminating need to copy-paste the same function multiple times into a mapping. Repeating the same function unnecessarily clutters the mapping layout and makes it more difficult to understand or revise.

Let’s look at an example.

Read more…

Tags: , ,

Inform Users with Sound Effects in Mobile Apps


Sound effects in mobile apps can reinforce functionality and make an app more fun to use. MobileTogether makes it easy and convenient for mobile developers to add a standard set of sounds to user interface actions across all mobile platforms. For instance, developers might want to add sound effects to signify the success or failure of a file transfer or database transaction. Or simply add a keyclick sound to a button as feedback for a user tap.

Read more…

Tags: , , ,

Multi-Language Localization for Mobile Apps


MobileTogether includes support to seamlessly localize mobile apps in multiple languages. This empowers developers to build one version of a mobile app that works across many languages as well as across multiple platforms.

Developers can include translations in a single MobileTogether app design for all text phrases required, and when any end-user runs the app, whether on an Android phone, an iPhone, Windows desktop, or any other supported platform, the language for the app is selected to match the language for the device operating system.

With multi-language localization, even text-to-speech functionality is localized to the user’s native language.

Read more…

Tags: , , ,

Text-to-Speech for Mobile Apps


Altova MobileTogether supports text-to-speech functionality for cross-platform mobile apps, empowering developers to add speech and build a rich multi-media user experience.

Speech can be fully integrated with text anywhere it appears in an app. For instance, an app like the Parcel Delivery MobileTogether example can be enhanced by speaking the next delivery address aloud – especially if the driver is in traffic! Or, text in message boxes of other information blocks can also be spoken by the mobile device.

We created a simple demo to experiment with the functionality of text-to-speech for mobile apps then added text-to-speech features to the Parcel Delivery app.

Text-to-speech for mobile apps

Read more…

Tags: , ,

MapForce Server Accelerator Edition Achieves a New Level of Data Transformation Performance


MapForce Server automates recurring execution of data mappings and transformations designed and tested using Altova MapForce. Every day, MapForce Server is employed in business communication, financial reporting, database ETL, and many other applications to transform critical data between any of XML, JSON, database, EDI, XBRL, flat file, CSV, Excel, and/or Web service formats.

Now, MapForce Server Accelerator Edition offers even faster throughput for high-performance server platforms.

Read more…

Tags: , ,

Opening URLs and Documents within a Mobile App


MobileTogether apps for enterprises can connect to existing backend databases and generate richly-formatted documents and forms. MobileTogether can also create gateways to existing resources by opening URLs and documents within a mobile app.

Opening URLs and Documents within a Mobile App

The Open URL/File action lets MobileTogether developers give end users the ability to open Web pages or files such as PDFs, image files, text files, etc., that are stored on the client device.

Read more…

Tags: , , ,

Automated Testing for Mobile App Development


Robust and repeatable testing improves any software development project. If you’re creating a mobile app, testing is especially critical given the unpredictable range of end user devices and location variables. Altova MobileTogether includes sophisticated Automated Testing features that let developers:

  • Record a series of user actions as a test case
  • Replay the test case in the MobileTogether Designer Simulator environment
  • Deploy test cases to the MobileTogether Server for replay on a variety of client devices
  • Retrieve Test Run results from the server and compare differences

Automated Testing for Mobile Apps

You can even modify the app to fix a bug and run the test case again to validate the results of changes, which makes this an indispensable QA tool for your mobile app development process.

Read more…

Tags: , , , ,

Manipulating Data in Cross-Platform Mobile Applications


Altova MobileTogether empowers enterprises of any size to design and deploy custom mobile solutions that run on all mobile platforms. This post is part 2 of a discussion of the MobileTogether Actions Dialog that lets developers quickly create sophisticated event handlers, control flow, and operations that work the same on iOS®, Android™, Windows® Phone 8, and Windows 8 devices, as well as an HTML5 browser-based client, without worrying about the unique details of the API or SDK for each mobile operating system.

world population
(Click here if you missed part 1, titled Defining Event Handling and Control Flow for Cross-Platform Mobile Applications.)

This post covers some of the MobileTogether actions that manipulate data and are flexible, powerful, and accelerate building data-driven mobile enterprise apps to deliver up-to-the-minute information to busy users on the go.

image update 1
Read more…

Tags: , , ,

Defining Event Handling and Control Flow for Cross-Platform Mobile Applications


Altova MobileTogether empowers companies of any size to quickly design and deploy custom enterprise mobile solutions that run on all mobile platforms. The Actions dialog in the MobileTogether Designer is one key feature that makes it possible to develop robust mobile solutions in days, not months.

The Actions dialog lets developers create sophisticated event handlers, control flow, and operations that work the same on iOS®, Android™, Windows® Phone 8, and Windows 8 devices, as well as an HTML5 browser-based client, without worrying about the unique details of the API or SDK for each mobile operating system, because the ActionTrees built with MobileTogether are independent of any particular device-specific programming language.

C0047146_700x335

Read more…

Tags: , , ,

A Cross-Platform Simulator for Enterprise Mobile App Development


In the past it was difficult and time consuming to synchronize development of cross-platform mobile enterprise applications because each mobile operating system required a different tool set or unique steps to build a compiled result.

Altova MobileTogether simplifies and accelerates cross-platform mobile development with the MobileTogether Designer. Using MobileTogether, developers create a single Solution file for Android, iOS, Windows Phone 8, Windows 8, and in HTML-5 browsers on other platforms.

Even better, the MobileTogether Designer includes a Simulator window that lets developers instantly execute the Solution to test logic, view the design as it will appear on a variety of devices, and examine changes in workflow data during execution.

Here is a view of the BizBudget example Solution as seen in the Simulator representations for iOS and Android devices:

MobileTogether Simulator showing iOS and Android devices

Both views were generated from the same solution file, simply by changing the simulation preview device.
Read more…

Tags: , , , , ,

Format Charts and Graphs for Any Mobile Device in Your BYOD Environment


One challenge in development of mobile business solutions is formatting for all the different devices end users will bring. Each mobile OS supports a family of display sizes from the smallest smartphones to the largest tablets. And when you switch to a competing OS, all the screen sizes all change again. The need to support many different mobile devices can slow down development of mobile solutions for BYOD (Bring Your Own Device) enterprises.

Pie chart for any mobile device created using Altova MobileTogether

Altova MobileTogether is a cross-platform mobile development framework that lets you build once across multiple platforms:

  • Android
  • iOS
  • Windows 8
  • Windows Phone 8
  • HTML-5 Browser Based Client

Going further, MobileTogether supports all available screen sizes for each OS, with special features to accelerate developer productivity.

Read more…

Tags: , , ,

Stop by booth 535 next week at Oracle OpenWorld


clip_image004September here at Altova means ramping up for a busy Autumn, beautiful cool crisp days in New England and… flying out to San Francisco for Oracle OpenWorld 2013! If you are planning on attending come by booth #535 in Moscone South and see Altova from September 23 – 25th for a demo of Altova’s tools for Oracle Users and to see our new line of cross-platform server software products: RaptorXML Server, FlowForce Server, MapForce Server and StyleVision Server. See first-hand how thesclip_image002e new products offer high-speed automaton for projects designed using familiar Altova MissionKit developer tools.

We would love to hear from you about your latest projects and challenges, collaborate on best practices or let us show you some of the new exciting things Altova has to offer. While you are at our booth mention this blog post to receive a special giveaway. Hope to see you next week in San Francisco!

Tags: , , , , , ,

Data Exchange for the Mobile Workforce


Data Exchange for the Mobile WorkforceOrganizations have been forced to adapt many of their internal business processes to accommodate an increasingly mobile workforce. Although there are technological solutions that address many of today’s communication needs, the plethora of different document formats in use – even within the same organization – means that some tasks remain vexing. For example, how does an organization remain flexible enough to facilitate the exchange of data among mobile workers yet retain the ability to bring that data into internal IT systems? Altova offers an inexpensive solution with StyleVision®, a graphical stylesheet and report designer with electronic forms capability, and Authentic®, a WYSIWYG XML and database editor in which end users can view and edit electronic forms created in StyleVision. The Authentic Community Edition is available from the Altova Web site as a free download so that anyone can be brought into your workflow, whether they are internal or external to your organization.clip_image002In this post we’ll present a sample case showing you how to create an electronic form that mirrors an existing paper form (in our example it is a reimbursement form) and then we’ll follow it as it makes its way around a fictional organization. Please note that the example we use here is simplistic and was designed only to illustrate the process of developing and deploying an electronic form. Although you can add additional data sources and perform validation and other complex functions in StyleVision, we have not illustrated these here.It is extremely easy to design electronic forms in StyleVision. To start, we simply select New – New from XML Schema/DTD/XML … from the File menu, browse to an XML Schema file, and select the type of design we’d like to create. For this example we created an XML Schema and instance file in XMLSpy, Altova’s XML editor and development environment, based on the fields on the paper reimbursement form. You can also base a StyleVision design on a database or XBRL taxonomy.Below is a copy of the reimbursement form we will be using along with the XML Schema we created.clip_image002clip_image003Once we select the XML file in StyleVision, we are prompted to select either a free-flow or form-based document. In a form-based document all design elements (e.g., text boxes for user input, images, buttons) are fixed in position – ideal for data entry forms.When we create a form-based document, we can upload a “blueprint image” so that we can recreate a paper-based form exactly as it was originally designed. This is the option we’ve selected below. The image will appear in the background of the design window and we will simply place design elements on top of corresponding elements on the form. Of course, the blueprint image overlay does not appear in the final output.clip_image004The screenshot below shows the blueprint image as it appears in the design window in StyleVision – how cool is that? clip_image005Now, using the Insert menu at the top, we can simply insert design elements onto the blueprint image in the design window.Available design elements include form controls (e.g., input boxes, combo boxes, radio buttons), images, tables, charts, and “layout containers” for exact positioning.We’ll start by adding input fields to capture employee information (i.e., First [Name], Last [Name], Title, etc. from the top part of the form). Once we click Insert – Insert Form Controls and select Input Field, the Insert Design Element dialog box appears.We have highlighted the First [Name] element in the dialog box below – the input field will now be associated with the First element. This way, when the end user types data into the input field and saves the form, this information will populate the First [Name] element in the XML file.clip_image006We now add design elements throughout the rest of the form, associating input fields with their respective elements from the XML file.When we are finished adding input fields, a logo, lines, a table for the expense items, and labels, the design looks like this – we’ve set the opacity attribute for the blueprint image to 0 to make it easier to view the design elements. Please note also that we’ve done some additional design work such as adding calendars in date fields, drop down boxes, and a currency sign that changes according to user input. For more information about fine tuning your form please see the StyleVision User and Reference Manual in the StyleVision application.clip_image007We can preview how the end user will see the form we designed in StyleVision by clicking on the Authentic eForm tab at the bottom of the design window (below). Note that the end user is prompted to enter data directly into each data input field. We accomplished this by placing the prompts (e.g., Insert First Name) in between the relevant tags in the XML file associated with our design. The end user simply highlights the prompt and replaces it with text.clip_image008Once we are finished designing the reimbursement form we can save the entire design – including the XML Schema and instance files, images, and any other associated files – in a single PXF® (Portable XML Form®). Saving the design as a PXF will enable us to email the form along with data updated in the underlying XML form among people both inside and outside the company’s LAN.clip_image009Once we hit OK we are prompted to select the files to include in the PXF. Notice that we’ve selected HTML, RTF, PDF, and Word 2007+ under the Generate and store XSLT files … heading. This will allow an end user to generate the form – with data – in these formats directly from Authentic.clip_image010Now that we’ve saved it in a PXF, the electronic form we designed in StyleVision is ready to be deployed in a business environment.In our example, we have a team of salespeople working across the globe who need to request reimbursement for business and travel expenses incurred. The salespeople complete expense reports, forward them to their managers for approval, and then send approved reports to the corporate office so that the information can be added into the accounting system.The PXF makes this easy.Once a salesperson is ready to complete a reimbursement request, she simply opens the PXF in Authentic and can immediately begin entering information onto the form. Below is a screenshot of a reimbursement form that has been completed in Authentic – notice that the form still needs a manager’s signature.clip_image011Now the salesperson must send it to her manager for approval. It’s easy to initiate an email with the form attached directly from Authentic. clip_image013Once the manager receives the email, she can simply double click the attachment and it will open in Authentic. Here the manager has clicked the Approved check box and added her name and the date.clip_image014The manager can then email the updated PXF back to the salesperson, who in turn emails it to the corporate office so it can be imported into the accounting system for processing. Our fictitious corporate office of course receives hundreds of reimbursement requests each day and has established a process for importing them into the relevant Oracle databases in the accounting system.We’ll use Altova MapForce, a graphical any-to-any data mapping, conversion, and transformation tool, to populate the corporate database with the data from the quotations. After setting up the mapping, we’ll automatically generate code from MapForce so that we can automate the transformation either through batch processing or a real-time conversion.First we’ll set up the mapping.We’ve inserted the XML file ExpRpt which we’ve extracted from the PXF into the left side of the MapForce design window and then inserted the Oracle database on the right side of the design window.Now we can drag and drop fields from the XML file with the reimbursement data into the Oracle database. We can also transform data, as we’ve done with the Approved element. Here we’ve used the built-in boolean function to convert the string value stored in the XML file (“true” or “false”) into the numeric equivalents (1 or 0). We can also create our own functions.The mapping we’ve created appears below.clip_image015Please note that this post offers a very broad overview of how to use both StyleVision and MapForce. Please visit the online training section of the Altova website for more in-depth instructions on how to use these and other Altova products.And there you have it. With the PXF, the fictitious Nanonull Corporation allows a group of far flung sales reps and their managers to easily exchange and edit information via electronic form. The PXF also provides a way for Nanonull to populate the accounting database without offering these employees direct access to company IT systems. All without busting the IT budget.

clip_image016

What could your organization do with a flexible, portable interactive document? Please share your ideas with other users by commenting on this blog post. Have you used StyleVision or other Altova products in an interesting project and think it would make a great case study? Email us at marketing@altova.com. We’d love to hear from you!

Tags: , , ,

It’s Here – the Industry’s First Truly Portable XML Form


Hopefully by now you’ve downloaded the 2011r3 versions of the Altova product line released last week. We’ve introduced a bunch of new features and functionalities that put even more power into the hands of IT professionals. (Note: If you haven’t already done so, you can download the latest versions of all of the tools in the Altova product suite from our Web site.)clip_image004One of the features we’re most excited about is the new Portable XML Form (PXF) file for StyleVision and Authentic. The PXF is a file into which all elements required to support a StyleVision design including XML Schemas, database connections, images, etc. can be embedded. Imagine the possibilities! In this post we’ll take an in-depth look at the PXF file format as well as some use cases.

When you create a design in StyleVision and then save it as a PXF file, all design elements including XML Schema and instance documents, SPS design files, XSLT, images, and other external files are embedded in the PXF. The PXF file can be transported, downloaded, copied, and saved like any other data file, meaning that developers no longer have to send or install multiple files to support a design. This is especially useful for integrating Authentic electronic forms into your projects – and consequently great news for business users. Authentic electronic forms created in StyleVision allow business users to edit databases and XML files without wrangling with database and XML syntax. The PXF file makes developing – and using – these forms even easier. Take, for example, the bane of many a business traveler’s existence – the expense report. Fortunately for the IT professional using Altova tools the expense report is a snap – a developer can create an eye-catching report that meets the business needs of the client by taking advantage of StyleVision’s many design capabilities. clip_image002 Once the design is complete, creating a PXF file is as easy as selecting Save As and toggling the Save as PXF file radio button. clip_image003 When prompted to select files to embed in the PXF, remember to check the output formats that end users will be able to publish content in. clip_image004 With all design elements now embedded in the PXF file, you can distribute the form easily and efficiently.

  • Is the expense form going to be integrated into a larger project? Send the PXF file to the development lead, who will be delighted at receiving a single file rather than a bunch of individual files.
  • Do business users need to access the expense form online? Rather than saving the XML Schema, instance documents, SPS, images, etc., to the server separately, simply put the PXF file on the server – everything needed to deploy the design is in the PXF.
  • Ready for QA to test it? Email the PXF to the team. They will be able to deploy it simply by opening the PXF in Authentic, just as a business user would. The schema is embedded in the PXF so you can rest assured that XML and database content is being edited and updated appropriately.
  • Are you dealing directly with the end user? Email the PXF to him – the Authentic Community Edition is free and easy to install so a business user can distribute the form and all associated files and data to relevant stakeholders across the organization.

The PXF is a boon to business users as well as developers. Depending on how you deploy the expense report, business users can access it via Authentic Desktop or in their browser with the Authentic Browser Plug-in. As he would with any Authentic form, an end user simply opens the PXF file in Authentic Desktop and can immediately begin editing or adding data. The associated XML file or database is updated automatically to reflect the changes. End users accessing an Authentic form via the Authentic Browser Plug-in likewise update XML and database data by entering and editing information in the form. clip_image005 The value of the PXF for end users is the same as for the developer – portability. Because the PXF file contains all of the files necessary to support the Authentic form, including the instance document, the business user can enter his expense data, resave the file, and then send the PXF to the accounting department. He can even email the PXF directly from the application. clip_image006 The PXF file also provides business users with the ability to publish content in multiple output formats. In our example the developer clicked HTML, RTF, PDF, and Word 2007+ in the Configure Portable XML Form (PXF) dialog box. A business user can instantly create an output document in each of these formats by clicking one of the output buttons on the menu bar. clip_image007 Here we’ve clicked the PDF button, generating a document that a business traveler can mail to the corporate office, keep for his records, etc. clip_image008 Although the portability afforded by the PXF significantly increases the value of electronic forms by simplifying the process of getting critical business data into XML, Authentic forms in general are an easy sell to business users. In addition to comprehensive editing capabilities, Authentic enhances the business value of electronic forms through features that include real-time validation of input data, industry standard XML templates, project management support, and dynamic layout based on user input. In addition to all of the functionality and editing capabilities Authentic offers, the application can compete on price – the Authentic Community Edition is free. We hope that you are as intrigued by the possibilities offered by PXF as we are. By providing developers an easy way to integrate electronic forms into their projects and a simple (and free) way for business users to distribute and publish information, PXF could radically transform the process of creating and editing XML and database content. This is a truly exciting prospect. For those of you not yet using our tools, this is a perfect time to give them a try. Click here to download free, fully functional trial versions of our software. They’re good for 30 days!

clip_image009

Have you used the PXF form yet? How did you use it? Please share your story with other Altova users by commenting on this blog post. Think it would make a great case study? Email us at marketing@altova.com. We’d love to hear from you!

Tags: , , , ,

StyleVision Supports XBRL for Financial Reporting Part I – Creating GAAP-Compliant Reports and StyleSheets with a Single Click


Did you know that StyleVision is also an XBRL rendering and reporting tool that will allow you to create GAAP-compliant financial reports with the click of a button ? image
In this post we’ll show you how …

Altova’s native support for XBRL is great news for IT professionals serving a range of industries given the US Securities and Exchange Commission’s (SEC) formal embrace of XBRL as a financial reporting language. In fact, virtually all public companies using GAAP accounting will be required to submit financial data for fiscal periods ending on or after June 15, 2011 to the SEC in XBRL, an XML-based language. IT professionals will be called upon not only to facilitate the exchange of data but to render XBRL data in a manner intelligible to business users. StyleVision can help. With a number of built-in capabilities that allow you to create customized GAAP-compliant stylesheets and reports for XBRL data with only a few clicks, StyleVision can make you look like a technical – and accounting – whiz. When you create a new design from an XBRL taxonomy, StyleVision creates a schema tree that reflects the presentation linkbase, an XML file that includes sets of related concepts grouped under presentation links (e.g., in the example below, 006091- Disclosure – Segment Revenue and Operating Income is a presentation link). Typically the presentation linkbase will appear in the schema tree as discrete financial statements, addendums, disclosures, and the like (this will depend on the contents of the linkbase – and keep in mind that although standard not every XBRL taxonomy will have a linkbase). Individual root elements are also available for reporting/processing and appear below the presentation links. image To create a stylesheet or report, drag the appropriate presentation link into the design window (for this example we have selected 124000 – Statement – Statement of Income (Including Gross Margin)). You will be prompted to create an XBRL table, XBRL chart, or XBRL template. image Selecting Create an XBRL Table will invoke the XBRL Table Wizard. image Note that under Options we have US-GAAP mode checked. If you check the US-GAAP mode box StyleVision will generate a table with all of the financial data in the presentation link selected. (You can select which period you would like represented under the Options tab as well). Output in HTML, RTF, PDF, and Word 2007+ formats, plus corresponding stylesheets, are automatically generated once you click OK. Although there are a number of formatting options in the Table Wizard, once the table is generated you can make additional changes (e.g., background color, font, text, table borders, etc.). In the example below we highlighted the <xbrli:instant> element and used Value Formatting to change how the time periods are represented. In the XBRL instance document, the time period appears in YYYYY-MM-DD – YYYY-MM-DD format. We have changed it to [Number of] Months Ending YYYY-MM-DD. image Notice the Styles window in the screenshot below – we’ve also changed the table header’s background color to navy and the text color to white. image Sorting, grouping (via XPath), and filtering (via XPath) options can also be edited after the table is generated by the XBRL Table Wizard. Simply right click in the Period or current-group bar above the table header and select the appropriate function. The Group by … dialog box appears below. image The GAAP-compliant table rendered in HTML appears below. image The HTML output above reflects the formatting options we selected in the XBRL Chart Wizard:

  • As indicated in the header, monetary items are shown in thousands because we selected Thousands in Display monetary items in under Options
  • We checked Auto-remove empty rows and Auto-remove empty columns so there are no empty rows or columns
  • Because we selected Enable interactive removal of columns (HTML only) under Options in the XBRL Chart Wizard the end user can click the “x” in the corner of a column to hide it
  • We did not select Enable tree view so the labels are all left justified and do not reflect the hierarchy of the schema
  • We did not enable Interactive expand/collapse buttons so they do not appear

One last thing to note is that in our example we have selected the entire presentation link 124000 – Statement – Statement of Income (Including Gross Margin) and all data in that presentation link is populated to the table. However if you expand the presentation link in the schema tree you can select individual line items or those grouped together from a presentation link and create a mini-table. This is just an overview of how you can use StyleVision’s built-in GAAP-compliant functionality to render XBRL data in some simple ways – the possibilities for presenting this data are virtually limitless. In future posts we’ll discuss using the XBRL Table Wizard to combine multiple line items from different presentation links for highly customized data presentation, creating powerful charts with the XBRL Chart Wizard, and other ways to help organizations leverage their XBRL data (we’ll even provide an example of how XBRL financial data can be used with other data sources to create an annual report).

clip_image001

Have you used Altova tools to create XBRL solutions for your clients? Please share your story with other Altova users by commenting on this blog post. Think it would make a great case study? Email us at marketing@altova.com. We’d love to hear from you!

Tags: , ,

Switch Statement vs. Look-up Table in MapForce


One of the great things about working with software developers is you not only get to create new things that never existed before, you also get to see how other peoples’ minds work when they discover alternate solutions to any design challenge. We received a comment from a software developer on our recent post titled Expandable If-Else Works like a Switch Statement in MapForce regarding one of the examples we used. The reader suggests that our second example illustrated a problem that would be more elegantly solved in Altova MapForce with Value-Map than by our Expanded If-Else statement. Here was the original example that received the month as a string of characters and needed to generate the corresponding number: Original Expanded If_Else example in MapForce A Value-Map in MapForce is an alternate solution that functions as a look-up table, whereas an Expanded If-Else acts like a switch statement. Here is how our mapping would look with a Value-Map in place of the Expanded If-Else: Value-Map alternative in MapForce Yep, that’s it. Rather than copying, pasting, and modifying sets of elements the way we built our original Expanded If-Else, a Value-Map lets us easily create the entire look-up table in its Properties dialog: Value-Map Properties dialog in MapForce We accept the commenter’s point — Value-Map definitely works better for the problem we chose because it’s much quicker and easier to create! The table from the Value-Map properties is also more concise and easier to interpret in MapForce-generated mapping documentation than our original Expanded If-Else structure. Of course you can’t always replace an Expanded If-Else statement with a Value-Map. Data entering the Value-Map must equal a single value in the input table to generate a specific output, whereas Expanded If-Else lets you set up a series of conditions with different logical tests. Sometimes the exact nature of a data conversion project makes it a judgment call to use a switch element vs. a look-up table. Let’s say your project receives input as a number that represents a wavelength of the electromagnetic spectrum and you want to handle ultraviolet, visible colors, and infrared energy individually. In that case we could use an Expanded If-Else to test for ranges of input values. The Expanded If-Else section of the mapping might look like this: Expanded If-Else mapping in Altova MapForce If the input is an integer, you could also create a solution using Value-Map, but you would need to build a very long look-up table. And then what happens later if the project requirements change and the input becomes a decimal number, or you need to filter each visible color separately by name? Essentially Altova MapForce is a really cool graphical representation of a complete software language toolbox that insulates you from detailed programming language syntax, with a rich collection of components you can assemble creatively to solve your own data mapping, conversion, and integration challenges. Find out for yourself how easy it is to apply MapForce to your own data mapping projects. Download a free 30-day trial of MapForce.

Tags: , , , , , ,

Solution to the Software Testing with State Machines Challenge


Last month in our blog on Software Testing for State Machines with Altova UModel we discovered unexpected behavior in our model of an air conditioning system and challenged readers to improve the design. This post describes one possible solution. When we ran the Tester application for our model, we saw that the Power switch did not turn the system off when it was in the Standby state. In the state machine diagram in our original model, the only route into Standby from Operating mode is via the Standby button, and the only way out of the Standby state is to press the Standby button again, as seen in the detail below. Detail of a state machine diagram in Altova UModel We can create an alternate exit to power off the system from the Standby state simply by drawing a new transition line from Standby to the Off state, and assigning powerButton() as the event that triggers the transition. UModel makes assigning the trigger easy by providing a pop-up window listing events that are already defined in the model. Pop-up list of triggers for transitions in a state machine diagram in Altova UModel Our completed revision to the model with the new transition from Standby to Off looks like this: State machine diagram in Altova UModel After regenerating the Java code and compiling the new version, we can run the Tester application again. The Debug output message window shows that the system entered Standby in Event 3. Event 4, activation of the Power button, now sets the state to Off. State machine test application generated by Altova UModel Find out for yourself how you can enhance the logic of your own state machine diagrams with Altova UModel – download a free 30-day trial today!

Tags: , , , , , ,

Using the StyleVision Combo Box to Support Data Visibility Requirements


Altova is always on the lookout for ways to help software developers and architects meet the challenges presented by the increasingly complex collection, storage and retrieval requirements of end users. In fact, we recently enhanced the functionality of the combo box in StyleVision to provide developers with additional flexibility around collecting and populating data. There are three ways to define the items in a combo box and their associated XML values – automatically based on a valid schema, manually with a list of populated values and dynamically with an XPath expression. In the latter two scenarios, the value that appears to the end user can be different than the value that will populate the file or database. This feature is particularly useful in cases where the “meaning” of the underlying data isn’t obvious or intelligible to an end user (e.g., a seven digit part number). The values in a combo box can be automatically populated with enumerations from a valid schema. In this case the value that appears to the end user is identical to the XML value that will populate the file or database.Altova StyleVision The functionality is perfect in cases where the elements in the schema provide an accurate reflection of the data content as understood by multiple stakeholders (e.g., end user selects Four to indicate group assignment, which populates the file with the XML value Four). Developers can also populate the combo box manually, defining both the value that appears to the end user and the XML value that will populate the file or database. These values do not need to be the same. So, for example, an end user can select Acme Dishwasher, Stainless while a complex product code populates the file or database used to generate the purchase order. This is an especially useful for collecting standardized data using organization or department-specific taxonomies and supporting multi-lingual applications. Finally, combo boxes can be populated dynamically via XPath expression. Use the same XPath expression to define the values that the end user sees as well as their associated XML values or use different XPath expressions to identify discrete values. If you use different XPath expressions the values the end user sees and their XML values are automatically mapped to one another. In the example below, the end user is prompted to select the group to which he is currently assigned (one, two, three or four). However the group number (not the name) will populate the database. Please note that the values the end user sees could be sorted in alphabetical (or numerical) order if the Sort Values in Authentic box were to be checked. The XPath expressions above produce the output below – the end user selects “Two” but a numeric value is saved to the XML document. The combo box – particularly one that supports the differentiation of values visible to the end user and those that actually populate the database or file – is an invaluable resource in the design of electronic forms. StyleVision automatically generates the stylesheet for an electronic form along with those for HTML, PDF, Word 20007+ and RTF from your template. The Authentic eForm provides an interface for end users to enter and edit XML or database data and is viewable in Authentic View, Altova’s free graphical XML document editor. Have you used enhanced combo box functionality to solve a data entry or population issue? Share it with our active community of StyleVision users by posting to our Facebook wall, commenting here on our blog or joining a discussion in our User Forum on our Website!

Tags: , ,

Software Testing for State Machines


Many varieties of software testing have gained prominence as developers search for ways to improve quality and meet project deadlines – code review, unit testing, regression testing, beta testing, test-driven development, and more. Regardless of a project’s goals or the source code language employed, it’s well accepted that the earlier a defect is found, the easier, cheaper, and more rapidly it can be fixed. Code generation from UML state machine diagrams, a new feature introduced in Altova UModel 2011 Release 2, can be used to validate conceptual logic very early in project development. Real-world design in a state machine diagram An example included with UModel provides a simple and realistic state machine diagram with a small test application you can run to see for yourself how easily it can be to test the logic of a design. The state machine diagram in the AirCondition.ump project in the UModel 2011 examples folder describes the operation of a typical heating and air conditioning system. State machine diagram in Altova UModel The system includes a power button shown on the left side in the transition from the Off state, a modeSelect function that selects heating or cooling, a speedSelect function for the fan, and a standby button that puts the system in the standby mode shown on the right. The example project folder includes all the code generated for the diagram by UModel in Java, C#, and Visual Basic. To try out the Java version, all we have to do is use the command javac STMTester.java to compile the code and java STMTester to run it. The tester application displays a simulated control panel with information windows about the heating and air conditioning unit. The operating buttons appear along the top, the current state is described in the first window, and output messages generated by changes in the system appear in the second window. Test control panel for state machine code generated by Altova UModel As shown above, the system initializes in the Off state, the mode is set to heater, and the fan is off. Before you operate the system, you might want to resize the control panel and state machine diagram to follow the actions of the tester application in the diagram itself, as shown in the reduced size image below. UModel state machine diagram and test control panel for generated code Operating the state machine When we click the powerButton, the Current state window is updated and a detailed description of the operations that occurred are listed as Event 1 in the Debug output messages window. Test control panel for state machine code generated by Altova UModel If it’s a hot day, we might want to change the mode to Cooling and increase the fan speed, which we can do by clicking the modeSelect and speedSelect buttons. The Current state window updates with each click, and Event 2 and Event 3 are added to the output messages window. Test control panel for state machine code generated by Altova UModel Now we can see how the tester application lets us fully exercise the logic of our state machine diagram by clicking every possible sequence of button selections to see if they produce the expected results. For instance if we put the unit in Standby mode (Event 4 below), then press speedSelect, we see in the output messages for Event 5 that no state change occurs in the substate named RegionSpeed. Compare Event 5 to Event 3 in the output messages window as shown below. Test control panel for state machine code generated by Altova UModel Now that the system is in Standby mode and we don’t need any heating or cooling, let’s save energy by pressing the Power button to turn it off. Test control panel for state machine code generated by Altova UModel Wait a second – it looks like nothing happened. No transition took place in Event 6, and the Current state in the top window is still Standby! Looking back at the state machine diagram, we can see the only way out of Standby mode is to press the Standby button again. Is that really the behavior an average user would expect, that the Power button would not turn off the system from Standby mode? Portion of a state machine diagram created with Altova UModel Just imagine how expensive this issue could be to fix if it was first identified much later in product development when the prototype was being tested by a regulatory agency! Here’s a challenge we’ll throw out on the table for our readers: how would you design another more direct route from the Standby state to the Off state? Testing your own state machines You can use the UModel state machine code generation example projects as templates to create test applications for your own designs. You will want to take advantage of the UModel feature that automatically creates operations in a class as you add operation names to transitions in your state machine. Altova UModel toolbar button for automatic creation of operations in classes Also, the UModel Help system includes detailed information about code generation from state machine diagrams and also uses the AirCondition.ump project file as an example. Find out for yourself how you can improve project development by testing the logic of your own state machine diagrams with Altova UModel – download a free 30-day trial today!

Tags: , , , , , ,

Hot off the Press!


The industry is abuzz with the latest news announcing our release of the MissionKit Version 2011 Release 2. The release is loaded with new features for chart and report creation, enhanced data mapping capabilities, new XML Schema editing functionality, support for the latest version of BPMN, and a really cool new feature for comparing and merging Microsoft® Word documents. clip_image002 Dr Dobb’s and SQL Server magazine are just a few of the industry publications and blogs that covered the launch. clip_image004   clip_image003 Read what the industry is buzzing about and then download a free 30-day trial of the MissionKit and check out for yourself all the powerful new features now available in our suite of XML, database, and UML tools!

Tags: , , , , , , , , , , , , , , , , ,

What Do Industry Authors Have to Say About Altova?


Authors of various industry reference books ranging from SOA and Web services to XML continue to use and recommended Altova tools. The latest update to the Cold Fusion book series – “ColdFusion 9 Developer Tutorial” is an update to John Farrar’s “ColdFusion 8 Developer Tutorial”. In this latest update, Farrar uses the Altova MissionKit, our suite of XML, database, and UML tools to do all his XML work for the book. According to Farrar, “I have a suite of tools from Altova and find they do what I want. I can create XPath, XML Schemas, and more from their tools and don’t ever feel the need to look for a new tool.” ColdFusion9_Farrar Farrar, a ColdFusion expert, teaches the basics of ColdFusion programming, application architecture, and object reuse. He then shows off a range of topics including AJAX library integration, RESTful Web Services, PDF creation and manipulation, and dynamically generated presentation files. So whether you need an overview of XML technologies, the latest information on working with ColdFusion, or want to delve into Web services, you’ll want to check out the Altova Reference Books page on our Web site.

Tags: , , , , , , , , , , , ,

Introducing XMLSpy 2011 Chinese Language Edition


We are thrilled to announce that with the release of Version 2011, XMLSpy is now available in a Chinese language edition. The new fully localized Chinese edition of the XMLSpy XML editor provides the same powerful functionality found in the English, German, and Japanese versions for editing, transforming, and debugging XML-related technologies. With the release of Version 2011 XMLSpy also adds ground-breaking new support for creating eye-catching charts based on XML data, making it the first and only XML editor on the market to support chart creation. XMLSpy 2011 also delivers several new customer-requested features, including a new schema flattener, extended SOAP validation capabilities, and enhanced functionality for creating schemas. ChineseScreenshot For our current XMLSpy 2011 customers you can unlock any language version using your existing key code. If you’re not an XMLSpy user download a free trial of XMLSpy 2011 to begin using all of the powerful new functionality available in Version 2011. Our decision to bring the localizations services in-house demonstrates our commitment to the Chinese market, and allows us to pass that cost savings on to you, our customers. The Chinese language version of Altova XMLSpy 2011 is currently available in Professional and Enterprise Editions and is available for purchase now from the Altova Online Shop or through your preferred reseller. XMLSpy 2011中文版本推出 我们很激动地宣布2011版本的发布,XMLSpy现在已有中文版可用,新的完全本地化的中文版XMLSpy XML编辑器如今可以提供英语,德语和日语多语种的编辑,转换和调试XML相关的技术,随着2011年的版本,我们还增加了突破性的基于XML数据创建醒目图表的支持,使之成为商场上第一个和唯一一个支持图表创建的XML编辑器,除此以外,我们还添加了多个客户要求的功能,这些功能包括新模式拼合,扩展的SOAP验证和为创建模式增进的功能。 ChineseScreenshot XMLSpy 2011当前的用户可以使用现有的键码解锁全部语言的版本,如果您还不是我们的用户,您可以下载免费试用版本,开始尝试2011版的强大新功能。 我们的本地化决定证明了我们致力于对中国市场的决心,使我们有机会帮助用户来节约成本,价格从136欧元或15232人民币起,标准,专业和企业版都具备中文版本,您可以通过Altova网店或其他首选经销商购买。

Tags: , , , , , ,

MissionKit 2011 Now Available in Japanese


With the release of Version 2011 we are thrilled to bring you the Altova MissionKit in Japanese. Now all the Altova tools available in the MissionKit have been fully translated into Japanese. Like the English and German versions of the tool suite, the fully translated Japanese language version provides users with powerful functionality for XML and Web development, data mapping and integration, rendering and publishing of XML, XBRL, and database data, UML modeling, and more. All the tools available in the new Japanese language version of The MissionKit are available at the same cost as the English versions, and current Version 2011 users can now unlock any language version using their existing key code. missionkit_jp If you haven’t checked out our latest release – Version 2011, download a free, 30-day trial today! The Japanese language version of all the MissionKit tools can be purchased from the Altova Online Shop or through your preferred reseller.

Tags: , , , , , , , , , , ,

Using Altova Tools to Work with XML Data in the SQL Azure Cloud


In an earlier post we discussed connecting to Microsoft SQL Azure databases with Altova DatabaseSpy and demonstrated database schema comparison and content comparison between a local database and the same database migrated to SQL Azure. In this post we will use a different method to migrate an existing table to SQL Azure and show you some tricks you can do with XML in the cloud. We started by creating a new database schema in SQL Azure. Then we created a DatabaseSpy project with a connection to a local copy of SQL Server Express running the AdventureWorks sample database, and a second connection to our new SQL Azure schema. DatabaseSpy Project helper window The AdventureWorks database contains a table called JobCandidate with some XML data we will use for a model for our SQL Azure XML contents. AdventureWorks JobCandidate table in the DatabaseSpy Online Browser window We can generate a CREATE statement for the existing table to use as a basis for the SQL Azure version. CREATE statement for the existing JobCandidate table We need to modify this statement to execute in our SQL Azure database. In addition to changing the database and schema names, we will remove the foreign key constraint to the Employee table, since our new database doesn’t contain a table with that name. Also, SQL Azure does not support the CONTENT keyword, so we will remove that as well. Modifying the CREATE statement in a DatabaseSpy SQL Editor window After making sure the Properties window for the revised CREATE statement points to the SQL Azure database, we can execute the statement. When we refresh the database and expand our view in the Online Browser helper window, we can see the new empty table. New table viewed in the DatabaseSpy Online Browser window A data comparison between the existing table and the new one will allow us to create a script to migrate data into our new table in the SQL Azure cloud. This is similar to the data comparison we wrote about in our previous post on SQL Azure, except instead of merging data directly, we will save the merge script. DatabaseSpy Merge Data dialog Our first attempt to run the merger script failed, throwing an error message that SQL Azure cannot insert values into the new table when IDENTITY_INSERT is set to OFF. We can add a line to the merge script to SET INDENTITY_INSERT ON and re-execute: Merge data script viewed in a DatabaseSpy SQL Editor window Next, we can run a SELECT query to view the data that was successfully uploaded. Select query and Results viewed in DatabaseSpy The DatabaseSpy Data Inspector window lets us more easily examine the contents of a wide column, and is ideal to use for XML documents stored in the Resume column of the new JobCandidate table. DatabaseSpy Data Inspector window Editing XML Data with XMLSpy If you need to revise, edit, update, or validate XML data in a SQL Azure database, Altova XMLSpy provides more robust XML editing features than DatabaseSpy. We can connect to our SQL Azure database from XMLSpy and run a SELECT query from the XMLSpy Database Query window. XMLSpy lets us open any XML row for direct editing, with access to advanced XML editing functionality. XMLSpy Database Query view of XML data in the SQL Azure cloud Of course all the familiar features of the XMLSpy text view and grid view are available. XMLSpy Text view of XML data in the SQL Azure cloud XMLSpy Grid view of XML data inthe SQL Azure cloud After your edits are complete, the XMLSpy File / Save menu option saves the revised XML document to the same row of the JobCandidate table in the SQL Azure database in the cloud. XMLSpy File / Save menu option saves XML data to the SQL Azure cloud Parsing XML Data with XQuery You can also apply the XMLSpy XQuery editor, with its built-in knowledge of XQuery syntax and context-sensitive entry helpers to build XQuery statements that parse the XML data in your SQL Azure database. The XQuery statement below extracts and returns the home addresses from the XML resumes where JobCandidateID is less than 7. XMLSpy XQuery editor for XML data in SQL Azure The XQuery statement can be executed in the Database Query window, with results immediately available to work with in XMLSpy. XQuery statement and results inthe XMLSpy Database Query window Of course the XQuery result can also be edited in Text view or in Grid view. XQuery result in XMLSpy Text view XQuery result in XMLSpy Grid view And you can save the query result either from the Database Query window or from the XML Editor view. Find out for yourself how productive you can be by using Altova tools to work with XML data in the SQL Azure cloud ̶ download a free 30-day trial of the Altova MissionKit for Software Architects, an integrated suite that includes XMLSpy, DatabaseSpy, and additional XML, database, and UML tools.

Tags: , , , , , , ,

Part 5 – Analyzing a Legacy Application with Altova UModel


Previously in Part 1, Part 2, Part 3, and Part 4 of this series we applied Altova UModel reverse-engineering functionality to create UML diagrams for an ATM banking simulation application. After analyzing the existing architecture, we planned and implemented a new feature, the withdrawal fee. Even in a reduced size, our updated sequence diagram for the withdrawal transaction clearly represents in graphical form the nested logic structure of the source code. UML sequence diagram (reduced size) This morning we happened to run into the ATM product manager at the coffee machine. “You’ve been working on that ATM code for over a month now,” he said. “When am I going to see what you’ve accomplished?” We can take advantage of the UModel Generate Documentation feature to satisfy this request. UModel will automatically create customized documentation for our project in HTML, Microsoft Word, or RTF formats. The Include tab in the Generate Documentation dialog box lets us choose which diagram types to include, and to specify the level of detail for our report by allowing us to expand each diagram element type. Altova UModel Generate Documentation dialog box For an overview report, we can select all diagram types. We’ll also select class from the Elements list to show further information about the classes in our application. UModel helpfully asks if we want to add elements derived from class as well. Altova UModel Generate Documentation helper After we have selected or adjusted other document parameters, including fonts and sizes, UModel generates the report in just a few seconds. At the top of the first page, the report begins with an index of diagrams and a separate index of elements. Each indexed item is hyperlinked to a bookmark in the document. Altova UModel project documentation in Word format Regardless which format you choose, the resulting report is fully editable. For instance, we can add a footer that includes page numbers and a tag line recording the document creation date. We can grab the tag line UModel created to create our footer. Altova UModel project documentation tag line Our completed report contains all the UML diagrams that describe the legacy ATM application, with detailed class diagrams that show the class properties and operations. Additionally, the illustration of each class is accompanied by a hierarchy diagram to show the class relationships, and a list of all the class associations. Later on as our project evolves further, we can easily generate an updated version of the report. We could even take advantage of the UModel command line functionality or the UModel API to automate creation of project documentation, or we could attach the .html version of the report to our developer team wiki. But for now all we have to do is email the report to the ATM product manager. Conclusion We hope you’ve enjoyed following along with this exercise in Analyzing a Legacy Application with Altova UModel. Although we are ending the series here, in the real world there is much more work to do on our ATM application. For instance, the feature to permit users to accept the fee or cancel a withdrawal remains to be implemented. Or, we could update the legacy code with newer Java language constructs such as generics, annotations, and enumerations. If you’re already experienced with UML we hope we’ve shown you a new trick or two. If you are a developer who’s never tried UML, we wanted to give you some of the flavor and benefits of visual software modeling. Either way, if you’re ready to go further on your own project, click here to download a fully-functional free trial of Altova UModel.

Tags: , , , , , , , , ,

SOA and Cloud Services Within Your Budget


The hardships affecting today’s economy present new challenges for organizations. Interdepartmental budgets are being cut, and large purchases are being carefully scrutinized. Costly enterprise software and mainframe computing systems that once held promise are being reconsidered on a global scale in favor of more agile, component-based systems that cut costs and increase efficiency with forward-thinking concepts like Service-oriented Architecture (SOA) and cloud computing. These architectural concepts incorporate modern technologies and object-oriented approaches to solve real-world technology issues in complex environments while decreasing maintenance, integration, and deployment costs with modular design and component re-use. The Altova MissionKit is a highly affordable toolset uniquely suited to address this shift toward more flexible and lightweight infrastructure. With strong support for XML, UML, databases, and data integration technologies, the MissionKit offers all of the tools necessary to build agile architectures replete with repeatable services, reusable components, and scalable resources.

SOA & Cloud Computing

SOA and Web/cloud services are two of the strongest buzzwords in technology today. Though they have some clear differences, both of these concepts represent a paradigm shift from large-scale enterprise systems to service-based architectures built on modular components and reusable functionality. The SOA approach aims to help organizations respond more quickly to business requirements by packaging processes as a network of interoperable and repeatable services. This modularity creates system flexibility and gives developers the agility required to build new capabilities into the current system as needed – without reinventing the proverbial wheel. SOA is essentially a series of interconnected and self-contained services, the functionality of which is dynamically located and invoked based on certain criteria, communicated in messages. At the heart of SOA is a high level of component reuse that drives down costs and increases efficiency in a fully scalable architecture. Cloud services build upon the concept of interoperable services, adding a virtualization component to help relieve internal servers from being overtaxed by the constant reuse of these services within the system. This paradigm uses the Internet and Internet-enabled technologies to increase performance and processing speed by storing information permanently in the "cloud" and caching it only temporarily on client machines. Cloud computing implementation is a powerful option for increasing system capacity and capabilities by leveraging next-generation data centers in combination with the World Wide Web. Both SOA and cloud computing seek to alleviate problems created by inflexible architectures that rely heavily on tightly coupled enterprise application infrastructure. This focus on interoperability and independent software services reveals a distributed solution that is event-driven, flexible, and cost conscious in almost any setting.

Anatomy of a Service-based Architecture

Since their inception, XML and Web services have been continuously gaining notoriety as the standards of choice for secure, efficient, and platform-independent data exchange between software applications and over the Internet. XML provides the foundation for the protocols that power Web services infrastructure: WSDL (Web Services Description Language) and SOAP, an XML-based messaging standard. Web services are hardware, programming language, and operating system independent, meaning that they are duly amenable to the seamless and interoperable exchange of data over a network and uniquely suited to component-based systems. Web services architecture Web services architecture Both SOA and cloud-based architectures generally rely on WSDL to describe interaction and functionality and locate operating components within the system. WSDL works hand-in-hand with SOAP, a messaging protocol used by the client application to invoke the methods and functions defined in the WSDL description. The example below is the stock quote example used in the W3C WSDL specification and describes a simple, single operation service that retrieves real-time stock prices based on ticker symbol input. Of course, most services that exist within enterprise architectures are far more complex. Graphical WSDL editor Take, for example, the publicly available Amazon Web services, which provide accessible Cloud services and infrastructure to a growing number of companies worldwide, including Twitter, SmugMug, and WordPress.com. These services essentially allow independent organizations to rent some of the immense power built into the Amazon distributed computing environment and add the same scalability, reliability, and scalability to their online presence at a fraction of the price. The much anticipated Windows Azure from Microsoft® operates on a similar model, giving developers the opportunity to build and deploy cloud-based applications with minimal on-site resources. Amazon provides a WSDL file that contains the definition of the Web service, the requests that the service accepts, and so on. Developers can then write a SOAP-based client application that invokes the Amazon Web service for the functionality it provides. (At this time Amazon provides a number of Cloud-based services for application hosting, backup and storage, content delivery, e-commerce, search, and high-performance computing.)

Altova MissionKit

Recently named "Best Development Environment" in the Jolt Product Excellence Awards, the Altova MissionKit is a diverse set of software tools that provides scalable options for leveraging your current software assets in an SOA or cloud-enabled environment. Strong support for XML, Web services, data integration, process automation, and databases, as well as accessibility to powerful APIs give developers flexible options for creating service-based solutions and an affordable alternative to costly consultant fees, extract/transform/load (ETL) tools, and/or enterprise service bus (ESB) products. The Altova MissionKit* supports end-to-end Web services development and includes a graphical WSDL editor, visual Web services builder, advanced capabilities for managing WSDL and other XML file relationships, a SOAP client and debugger, WSDL data integration, code generation, and more. Together, all of these features provide a robust solution for integrating disparate services and systems in a distributed computing environment, whether the components be in-house, network, or Cloud-based.

WSDL Editor

The XMLSpy XML editor provides a graphical interface (GUI) for designing and editing WSDL documents. The structure and components of the WSDL are created in the main design window using graphical design mechanisms (with tabs allowing users to toggle back and forth between text view), and additional editing capabilities are enabled from comprehensive entry helper windows. Users can easily create and edit messages, types, operations, portTypes, bindings, etc., inline. In addition, publicly maintained WSDL files like the Amazon Simple Storage Service, or Amazon S3, (below) can be opened instantly using the Open URL command in XMLSpy. WSDL editor Amazon Web services XMLSpy’s WSDL editor gives developers a sophisticated environment for rapid Web services development, managing WSDL syntax and validation through an intuitive, drag and drop graphical interface. The addition of a documentation generation feature makes it possible to share the complete details of a Web service interface with non-technical stakeholders in HTML or Microsoft Word.

SOAP Client

SOAP requests can be manually created in XMLSpy’s SOAP client based on the operations defined in the WSDL. Once an operation is selected, XMLSpy initiates the request based on the connections provided in the WSDL and displays the XML syntax of the SOAP envelope in the main window. The message can then be sent directly to the server for an immediate response. SOAP client for Web services

SOAP Debugger

XMLSpy also includes a SOAP debugger, which acts as Web services proxy between client and server, enabling developers to analyze WSDL files and their SOAP message components, single-step through transactions, set breakpoints on SOAP functions, and even define conditional breakpoints that are triggered by a stated XPath query. SOAP debugger

Building Web Services

Once a WSDL definition is complete, it can also be visually implemented using MapForce, Altova’s any-to-any data integration tool. MapForce gives users the ability to map data to or from WSDL operations and then autogenerate program code in Java or C#. Tight integration with Visual Studio and Eclipse makes it possible to then compile the code within either of these IDEs and deploy the service on the client machine. When you create a new Web service project by specifying a Web services definition file (WSDL), MapForce automatically generates mapping files for each individual SOAP operation. MapForce project The SOAP input and output messages can then be easily mapped to other source data components (XML, databases, flat files, EDI, XBRL, Excel 2007) to create a complete Web services operation. Data processing functions, filters, and constants can also be inserted to convert the data on the fly. Web services mapping MapForce can autogenerate Web services implementation code in Java or C# for server-side implementation, and it is also accessible for automation via the command line.

File Relationship Management

For complex Web-based applications that include a large number of disparate files and project stakeholders, the MissionKit offers an advanced graphical XML file relationship management tool in SchemaAgent. SchemaAgent can analyze and manage relationships among XML Schemas, XML instance documents (SOAP), WSDL, and XSLT files. The client/server option enables any changes to be visualized in real time across a workgroup. Managing XML files This gives organizations the ability to track and manage their mission critical SOA files as reusable individual components, reducing development time and the occurrence of errors.

Data Integration

A key factor of any SOA is the ability for disparate systems to communicate seamlessly via automated processes. As an any-to-any graphical data integration and Web services implementation tool, MapForce facilitates this undertaking with support for a wide variety of data formats including XML, databases, flat files (which can be easily parsed for integration with legacy systems with the help of the unique FlexText™ utility), EDI, XBRL, Excel 2007, and Web services. MapForce data mapping in Visual Studio MapForce supports complex data mapping scenarios with multiple sources and targets and advanced data processing functions. Transformations can easily be automated via code generation in C#, C++, or Java, or the command line. Full integration with Visual Studio and Eclipse also makes this an ideal development tool for working in large-scale enterprise projects – without the heavy price tag. This gives developers a flexible and agile middleware component that can work in virtually any service-based architecture. The ability to integrate disparate data in on-the-fly is a key requirement in real-world enterprise and cross-enterprise systems where legacy systems and other less flexible formats co-exist with XML and other modern, interoperable standards.

Database Management

Even in the rapidly evolving semantics-driven macrocosm that is Web 2.0, most companies still use one or more relational databases to store and manage their internal data assets. The Altova MissionKit supports working with the most prevalent of these systems (see listing below) in a wide variety of different ways. Database support is offered in XMLSpy, MapForce, StyleVision, and, of course, DatabaseSpy.

  • Microsoft® SQL Server® 2000, 2005, 2008
  • IBM DB2® 8, 9
  • IBM DB2 for iSeries® v5.4
  • IBM DB2 for zSeries® 8, 9
  • Oracle® 9i, 10g, 11g
  • Sybase® 12
  • MySQL® 4, 5
  • PostgreSQL 8
  • Microsoft Access™ 2003, 2007

DatabaseSpy is a multi-database query, editing, design, and comparison tool that allows users to connect directly to all major databases and edit data and design structure in a graphical user interface with features like table browsing, data editing, SQL auto-completion entry helpers, visual table design, content diff/merging, and multiple export formats. In a service-based architecture, the ability to compare and merge data directly in its native database format is an enormous asset to developers who need to locate changes, migrate differences, or synchronize versions of database tables across test and live environments. Database tool and SQL editor   As a component of the MissionKit, DatabaseSpy gives disparate groups within organizations the flexibility to work with data from multiple databases in one central interface simultaneously. Whether this data is eventually integrated into other systems or applications or lives permanently in the database, DatabaseSpy provides a simple and flexible solution to managing and maintaining massive data stores.

Single Source Publishing

In today’s world of highly automated data transfer and management, it is still necessary for human readers to ultimately consume the data in some format or other. Of course, the problem that organizations often run into is what format to publish to. XML and single source publishing have revolutionized content management, document exchange, and even multilingual communications by separating content structure from appearance. An XML-based documentation system can greatly reduce costs through facilitating ease of conversion for delivery to many different data formats and types of applications. The single source concept ensures that workflow processes (i.e., conversion, edits, etc.) do not have to be repeated or reworked – that all content in the repository requires only minimal restructuring and promotion before being loaded to respective applications for delivery. Altova StyleVision is a graphical stylesheet design tool that enables users to easily apply single source publishing to XML, XBRL, and database content, without having any affect on the source data. In this way, companies can create reusable template designs for data that can then be rendered automatically in HTML, RTF, PDF, Microsoft Word 2007, and even an Authentic e-Form for immediate publication to any conceivable medium without any process disruption – resulting in the presentation of accurate, consistent, and standardized information in real-time. StyleVision stylesheet designer Single source publishing gives organizations the ability to add a human component to their highly automated data processing workflows, enabling them to view transmission reports at any stage. For example, in a world where compliance management plays such a large role in day to day enterprise operations, StyleVision can be integrated into any SOA to provide a sort of visual audit trail for manually reviewing XML, XBRL, and database transactions. StyleVision’s template-based approach to stylesheet design makes it an ideal addition to a distributed development environment, where repeatable processes are an integral part of the system’s overall efficiency.

Conclusions

Financial downturns can make investing in technology a difficult decision. However, forward-thinking organizations will find that focusing on restructuring the legacy assets they already have in place, automating internal processes, and adding virtualization layer to their application infrastructure can lead to increases in efficiency, speed, and potentially enormous ROI. The Altova MissionKit gives businesses all of the tools that they need to augment their enterprise architecture with iterative, process-driven solutions that will recover costs through the reuse of current assets and the ability to deliver Web-driven automation within and across organizations on a global scale. The MissionKit is a highly affordable solution that offers developers, software architects, and IT users all of the tools they need to build flexible and powerful technology solutions and efficiencies that advance component-based service-oriented infrastructure – without breaking the budget.

Tags: , , , , , , , ,

Integration Watch: Remember good tools at low cost?


Andrew Binstock, principal analyst at Pacific Data Works, recently published a great article in SD Times about some of the software tools he relies on to make his life easier. In “Integration Watch: Remember good tools at low cost?” he notes:

“Today, of course, tools are either free or terribly expensive; there is little middle ground. And there are very few small vendors of tools, with the notable exception of the components market for Windows applications—but those are more libraries than pure tools. One vendor, however, that has persevered making great [tools] at remarkably approachable prices is Altova, which has put out a variety of interesting products for a long time.”

Read the complete article here and let us know what you think! What are some of the inexpensive software tools that you rely on?

Tags: , ,