Aspire is a RAD tool that provides users with a standard xml/xsl, Java EE, and relational database technology to quickly create a Web site. The Aspire acceptable sources include stored programs, SQL statements, EJBS, and Java controls, and use Apache's Xerces/xalan as the converted processor.
Aspire can be used for a variety of servlet engines, such as Apache/jserv, Apache/tomcat, and WebSphere.
The current development features include a consolidated interface for reporting tools such as Crystal Reports and Oracle reports. The advantages of Aspire are as follows:
1. Reduce development time, developers just focus on the business logic and GUI appearance
2. Reduce the threshold of development technology
3. Better GUI interface
4. Support for standard technology
5. Ductility and elasticity
What is a hierarchical dataset? Why should I use a hierarchical dataset?
A hierarchical dataset is not a new noun. They already exist in the client information control system's transactional data, directory files, Java objects, and closer to the XML file format. As early as in the 2001 XML magazine, I thought programmers could benefit from the extraction of hierarchical datasets, although their data sources had strong data dependencies (such as MySQL, Oracle, SQL Server, DB2, etc.). NET ideas and dataset concepts are similar. Although I think that the hierarchical dataset and the traditional Microsoft data sets are very different, the hierarchical dataset has a rich detail description greatly enhance the relationship of data extraction.
This article focuses on the structure of the hierarchical dataset and its associated Java APIs. Unlike what the XML magazine said two years ago, you can now use a series of executable code to gain the benefits of a hierarchical dataset. Of course, we can write some code in Java to achieve access to a variety of data sources and create a complete set of hierarchical data, in this article we'll give you an executable code that you can use to create some hierarchical datasets with a simple predefined relational adapter. The relational adapters here include: Text readers, SQL scripts, stored procedures, and so on.
Now you might ask, "What's so good about this hierarchical dataset?" ”。 Of course, a hierarchical dataset is not a good match for the expensive carbon you get from your rewarding colleagues, which is very useful in programming. For a startup, a hierarchical dataset can meet the needs of all the valuable data on the entire HTML page. In the MVC (Model-view-controler) model, the controller's servlet can submit a hierarchical dataset to the JSP page, and the JSP page can display it without any help. It can also be said that the servlet through the controller can directly convert it to the XML format and return it to the requester. From a practical standpoint, datasets can be converted into Excel-formatted files. From a trendy standpoint, a hierarchical dataset can be converted to a report or chart that supports XML data.
The main focus of this article is how to apply a hierarchical dataset to Java programmer-programming APIs, and in fact, non-Java programmers can also get XML, HTML, and data from relational databases or other databases by effectively combining a hierarchical dataset with a Java EE service (such as Tomcat). or Excel format documents. Don't be impatient, let's start by studying the structure of the hierarchical datasets and how they are extracted.
Two. Structure of the hierarchical dataset
A hierarchical dataset can be represented as a javaapi, XML, or other format, and the expression in XML will be more image:
<AspireDataSet>
<!-- A set of key value pairs at the root level -->
<key1>val1</key1>
<key2>val2</key2>
<!-- A set of named loops -->
<loop name="loop">
</loop>
<loop name="loop2">
</loop>
</AspireDataSet>
This is a series of key/value pairs. A given key/value can be used in n independent loops. In fact every loop is a datasheet. Loop can be said to be a synonym for table. I didn't use the term table to prevent people from automatically associating with relational data tables. Already said that loop is actually a collection of many rows of records, now let's take a serious look at the structure of the loop:
<loop name="loopname">
<row>
<!-- a set of key value pairs -->
<key1>val1</key1>
<key2>val2</key2>
<!-- a set of named loops -->
<loop name="loopname1">
</loop>
<!-- a set of named loops -->
<loop name="loopname2">
</loop>
</row>
<row>
</row>
</loop>
The only thing that's not right here is the row structure. A row structure can be a collection of some key/value pairs. The row here contains not only some key/value pairs, but also several recursive collections of independent loop structures. This extension can generate a tree structure of a certain depth.