• Home
  • Contact Me
  • About Me
  • Resources
  • Favorites
  • Earn Money

Monday, May 26, 2008

A Topic of Debate : Web 1.0 vs Web 2.0 vs Web 3.0

Firstly I would like to quote the definitions of these terminologies from Wikipedia :

" Web 1.0 refers to the state of the World Wide Web, and website design style before the Web 2.0 craze, and included most websites in the period between 1994 and 2004. It is important to note that "Web 1.0" is a retronym. That is to say that
it has been retroactively named only after the introduction of the term "Web 2.0", and has very loosely defined boundaries. For the most part websites were a strictly one-way published media, similar to the
Gopher protocol that came before it. "

" Web 2.0 is a term describing the trend in the use of World Wide Web technology and web design that aims to enhance creativity, information sharing, and, most notably, collaboration among users. These concepts have led to the development and evolution of web-based communities and hosted services, such as social-networking sites, wikis, blogs, and folksonomies. "


" Web 3.0 is a term used to describe the future of the World Wide Web. Following
the introduction of the phrase "
Web 2.0" as a description of the recent evolution of the Web, many technologists, journalists, and industry leaders have used the term "Web 3.0" to hypothesize about a future wave of Internet innovation. "


From above definitions it is really difficult to find a given web application should call as Web 1.0 or Web 2.0. However it is certain that any web application is Web 1.0 compatibility but which application is to call Web 2.0 is a matter of debate. There is no specification which independently certifies a given web application as Web 2.0 compatibility. People thinks any application which has ajax capability or where users can upload pictures, display them, and modify as in when required or all colorful designs with 3D shades is to be called as Web 2. All these features were pretty much available in sites developed before the term "Web 2.0" was coined.

First of all we have to come up with specification which defines the boundaries of Web 2.0. Otherwise the actual meaning of the term will go in vein and left out with just a technical jargon to represent a complex, multi-feature web application.

When people around the world struggling to understand the meaning and semantics of Web 2.0, there is one more terminology revolving around us as Web 3.0 which is looking as the future course of web application. It is always good to look at the future and set up certain milestone. But at the same time we have to benchmark the current stand and move ahead.

Readers are requested to provide comments which help us to understand the underlying meaning of these jargons.

Regards

Monu


Sunday, May 18, 2008

EGL: Handling dynamic schema

There are different ways to handle dynamic schema in EGL. One of the very common approach is to get the schema from the jvm properties in egl handler and store it in the session and set it in a record "StatusRec" and pass to the data access layer as argument. For more details on this you can refer to http://64.233.183.104/search?q=cache:YfYe-ju-9dUJ:www.jsayles.com/ibm/TableNamesVariable.doc+EGL+StatusREc&hl=en&ct=clnk&cd=1" Below statement is quoted from this link
"You must then set the schema name in each function prior to running the EGL I/O statement. It is assumed that the schema will be a programmatically determined value and would be stored in session. Therefore, this example assumes the schema has been set in a jsfHandler by reading the data out of the session and passing it through the record StatusRecord (or status as generated by the data Access Application Wizard). The reason this record is used is that all functions created using the wizard include the status record in the pass parameters"-Mark Evans, Rational – EGL Development, IBM Software Group.
However I feel there is a overhead in this approach that is each time you want to make a database call you need to get the schema from the session and populate the schema variable in statusRec and then send it from egl handler to data layer. The overhead in this approach is you have to pass one extra record as parameter every time you make a call.There is another solution for reading the schema in data layer itself without passing schema name from handler every time. Create a library which will probably have two methods setDatabaseNameSchema and getDatabaseNameSchema. Get method will read the jvm properties and return to data layer. Set can be used to set the schema from anywhere. Set is useful when you are performing unit testing when your server is not ON.

Friday, May 16, 2008

EGL: Integrating Jasper Report

­­This section describes how to integrate the Jasper reports to the Enterprise Generation Language EGL Web application.

Required library files:-
1) The following jar files need to be included in the Web-INF – lib
a. Jasper-Reports 2.0.5.jar
b. iText.jar – for PDF format to be output.

Steps for integration of Jasper file into the application:-
1) The jasper file generated earlier has to be included in the Java resource folder of the application.
2) Create an array for holding the data of the report.
3) Export the report using the “Report” and “Report Data” object.

Initialize the report data object:-
a. Data – assign the report data array to the data property of the report data object.

Initialize the following properties of the report object:-

a. reportDesignFile – Path of the jasper file(.jasper file).
b. reportDestinationFile – Path of the temporary report file (.jrprint file).
c. reportData – assign the report data object to this property.
d. reportExportFile – Name of the file to which the report has to be exported.

Call ReportLib functions:-
a. FillReport method – send the report object and Datasource.reportData as parameters to this method.
b. exportReport method – send the report object and the export format as parameters to this method. Available export formats are - “html”, “pdf”,”text”,”csv”,”xml”.


Code Snippet:-
//report object


report Report = new Report();
//report data object
reportData ReportData = new ReportData();
//jasper file location
report.reportDesignFile = jasperLocation;
//temp file location
report.reportDestinationFile = reportFileLocation + exportFileName + ".jrprint";
//assign data array to report data object
reportData.data = <>;
//assign data to report
report.reportData = reportData;
//complete report file location
filePathName string = reportFileLocation + reportFileName;
//assign the export file name
report.reportExportFile = filePathName;
//fill the report
ReportLib.fillReport(report, DataSource.reportData);
//Export report to the required formatReportLib.exportReport(report, ExportFormat.html);


Monu