Archive for October, 2009

Print Reporting Services reports from Silverlight Applications!

Thursday, October 22nd, 2009

Are you a developer? I’m sure you are. So don’t turn and go away! You knocked at the right door! In this article I’m going to talk about your problems and your concerns. And, by the way, where you address yourself if you have ones? I have no doubts that the only place where you can share your worries and difficulties is developer forum. There you can ask all the necessary questions connected with the most important problems giving braking effect to your software development process. And neither any software company nor Perpetuum Software LLC in particularly can stop paying attention to frequent queries regularly appearing in the posts of forum members. So how Perpetuum Software LLC can help inquisitive developers? Let’s start our Q&A session.

Q: Is there a tool intended to work with Reporting Services reports in Silverlight on the software development market? A: Actually, this question can be seen on the forums devoted to Silverlight technology. Perpetuum Software offers you a unique Silverlight Viewer for Reporting Services. This is the first product on the market which allows developers to display Reporting Services reports directly in Silverlight applications. It’s a true Silverlight control easily integrated into any Silverlight application and an up-to-date solution on the base of two powerful technologies: MS SQL Reporting Services и Silverlight 3.0.

Q: What advantages does MS SQL Reporting Services 2005 give to developers and end-users? A: Once I saw the funniest but at the same time the only possible answer: Great). Probably, the member of the forum who wrote this was quite right. Today SSRS is one of the most widely used components for report creation. This can be explained by the large list of advantages among which are higher developer’s productivity and more opportunities for end-users control. Silverlight Viewer for Reporting Services developed by Perpetuum Software LLC is created on the base of SSRS. It allows developers to use all the advantages of this technology.

Q: Is it possible to print reports from Silverlight? A: At first sight the absence of printing ability in Silverlight 3.0 makes it an impossible thing. That’s why experienced developers may simply ignore this question. But a new version of Silverlight Viewer for Reporting Services 1.1 solves this problem of paramount importance. Printing Reporting Services reports from Silverlight viewer became possible. Now you can print any report you need without applying unnecessary efforts and exporting to other formats. Everything you need is to press printing button.

Q: Can I view reports in Silverlight without referring to MS SQL 2005 Reporting Service server? A: Of course, you can! With a new version of Silverlight Viewer for Reporting Services 1.1 you get an ability to work with reports created in MS SQL RS without setting MS SQL RS server. Now end-users can just open Silverlight viewer and start enjoying their work with reports.

As you see a new version of Silverlight Viewer for Reporting Services 1.1 is able to help developers to solve many disturbing problems. Now the whole set of abilities used in desktop applications, out-of-browser mode, extended report abilities: PDF, Excel, Cvs, Xml, Mhtml, TIFF and advanced Html export are at their disposal.
It’s an open secret that Silverlight Viewer for Reporting Services 1.1 is a confident step on the software development market of corporate reporting systems. So why not avoid vain efforts and use the best?! Who knows, may be in this case you won’t post on forums…

On-line demo is available…

Poor Internet Application, Rich Internet Application.

Wednesday, October 7th, 2009

What’s the buzz (word)? Tell me what’s happening?

«The computer industry is the only industry that is more fashion-driven than women’s fashion» - Larry Ellison, CEO of Oracle likes to say. And you can’t but agree when year from year you see that some promising technologies don’t fulfill promises and consign to history; they are forced out from the pages of IT journals and blogs by other even more promising ones. In this season Software as a Service, Cloud computing, Rich Internet Applications (RIA), and Web 2.0 (I need to mention that the last term is going out of date) are of current interest. The meaning of all these mysteries words generally comes to the fact that main part of the application is executed on the server side and the end user gets access to all necessary functionality via the internet browser.

What the hell, excuse my French, do we need all those RIAs, SaaS and other WebTwo’s for? Are we doing badly without them? Aren’t normal desktop apps more convenient and efficient; don’t they fulfill the same functions much better without being dependant on internet connection? And in general, isn’t it a regress to the mainframes epoch with powerful servers and weak terminals? Absolutely, but I should accept that up-to-date applications have some disadvantages that became extremely evident since the broadband access to Internet is available virtually everywhere. And here are some of them.

Tool for Ria applications creationLack of mobility. A good while ago I used only one computer that took all free space on my not very small table. Weight, size and price of this wonderful machine with CRT display (which weight was about 16 kg) indisposed me even to any idea of mobility of such devices and of getting the second computer. Now, except the desktop computer in the office, full-rate laptop and light netbook for journeys I use notebook of my wife, and sometimes Internet café services (as I don’t take even a netbook for my journeys). In case of classic software, besides financial expenses (to get licenses for each computer) and time required for software installation I have to take into account inability to install necessary software on third party computers. There is no such limitation for internet applications; you can just enter URL in the address bar and viola – you can start working.

Necessity of software installation. If you use computer not only as a typewriter, then you know how much time it takes to install the required software. Guess what prevents me from upgrade to Windows 7. Price? Compatibility problem? Crazy love to all bugs of Windows Vista? Very cold. I am just lazy and don’t want to send two days for re-installation and setup of all applications I got used to.<SaaS applications

And it is good if you know for sure what software you need for work. And what if you need to find a program for the task you have never faced before? Besides the common doubts about safety of the downloaded software, the process find-download-install-don’t like-uninstall for dozens of alternatives will take huge amount of time. If it goes to installation and evaluation of server-client software, such as CRM, installation and setup can take several days. Moreover, un-installation isn’t always correct, lots of artifacts such as un-removed register nodes, execution modules in system folders and other garbage; it doesn’t influence well on the system speed and reliability. The last problem can be solved by virtual machine, but how many users know about availability of such a useful thing, I am not talking about its everyday use. Yea, virtual machines – not every user can download\install\uninstall.

Internet apps are launched in one click directly in the browser and don’t require installation\un-installation. And work in the browser sandbox extremely decreases penetration of the dangerous software on the computer. As a result, office employee, for example, marketing manager can evaluate and start using necessary applications without any technical knowledge and system administrator. It seems to me that on-line CRM systems such as SalesForce are so successful due to this fact.

Silvelirlight applications Price. Though it isn’t connected directly to the technical peculiarities of desktop and internet applications, traditionally different licensing models are used for them. When desktop software is licensed once (or till a new version release, but if you are satisfied with the features of the current version, then no one can make you purchase updates), internet applications usually use pay-as-you-go principle, i.e. subscription basis. Eventually it’s not always cheap, but the opportunity not to pay the whole sum at once is extremely attractive for business, as it helps reduce risks and decrease startup expenses.

Back to the future?

Ok, let’s suggest that internet application is still a useful thing and not a modern passion. But why do we need a special RIA platform since there is a wonderful AJAX technology able to create equally as wonderful applications?Silvelright reporting tool

It’s known that a “screw choked with a hummer goes stronger then a nail tightened up with a screwdriver”. Development of applications based on HTML (deciphered as Hyper Text Markup Language) reminds choking of those screws with hummer and is used instead of special tools designed for this purpose. HTML (repeat it again, deciphered as Hyper Text Markup Language)is called HTML (I repeat for the third time and promise for the last, acronym is deciphered as Hyper Text Markup Language) because it was created to represent text information and is a good tool to weave the web of connected texts and not to design applications. If not, it would be called XAML - Extensible Application Markup Language. And JavaScript, aka Jscript, aka ECMAScript is called a script because it is designed to write short scenarios to diversify text documents by adding some interactivity. And I can’t but admit that it is a splendid script language and that is why it can’t be used to develop sophisticated applications. Of course, there are awesome AJAX apps; in the same very manner choked screws are stronger, I checked. Problems start when the designed model should be broken down and installed in a new location.

Oh yeah, sure, I forgot about HTML 5 that is designated to solve the aforesaid problems. Though, HTML 5 features a lot of helpful innovations, it is a good old HTML (as you remember, Hyper Text Markup Language - sorry, couldn’t help but repeat it once again) and is still designed to represent texts, but not to develop applications.

Every time I face with AJAX technology, I feel like déjà vu. Sometime in old times when operating systems were single-tasking and DOS was the most popular, developers spent much of their time to struggle against the system and as developers like to say “construct various bicycles ”, but not to solve user problems.

I’ll give only one sample. As the use of graphic mode was connected to the loss of performance, necessity to include video drivers into the application and as a result to bonk solve problem of compatibility of different video card types, most application vendors used a curious technique; the short of it was emulation of graphics in text mode through dynamic drawing of bitmapped fonts. In spite the fact that implementation of this method isn’t a trivial problem and the ability to display graphics in this mode is quite limited (only two colors can be displayed instead of each symbol; and font size can’t be eternally expanded), some developers demonstrated quite impressive results including smooth pixel by pixel moves of a mouse (heaven knows I don’t lie – saw it by myself). It hardly reminds me tries of up-to-date web-developers to provide dynamic graphics through assembling an image out of square pictures. At DOS time every application included all possible drivers and libraries; every more or less complicated app had its own window system with own ideology. Every vendor should think about compatibility with various devices. Today developers of AJAX sites spend a lot of time to provide compatibility with all browsers and every time they design original user interfaces instead of using a unified approach to GUI engineering as it is in common among desktop developers. I can give a lot of similar parallels.

If you suggest that history is cyclic and a common sense wins, then what will happen with internet applications? Let’s continue making parallels. In due time, DOS was replaced by multitasking environments that were only DOS add-ins (for example, Windows 3.x that was a base for the whole Windows OS line-up). Besides the multitasking itself, new OS included a unified user interface and improved API making it possible to abstract away from certain hardware. At the moment HTML add-ins such as Flash and Silverlight are developed; they make shy tries to get rid of browser (Adobe AIR and Silverlight Out-of-browser mode).

In the way Windows guarantee correct code execution regardless of hardware, the use of the mentioned technologies guarantee that application will work in the same way in all browsers and under all systems. In the way Windows include standardized libraries designed for work with graphics, the mentioned platforms provide rich abilities to output vector graphics, video and sound. So, future of internet applications is in standardized, cross-platform environment originally designed having in view loading applications from the net.

Silver(light) at the end of the tunnel.Silverlight Viewer

Today there are three technologies claiming to be the platform for RIA. They are Flash, Silverlight and JavaFX. And I think parallels end here, as opposed to the market of desktop applications working according to the principle “winner takes it all”, that technologies can peacefully coexist and evolve in parallel. As for me, I think Silverlight is the most promising platform because:

This is .NET Framework(very-very small). Silverlight is engineered on the base of cutdown version of .Net providing excellent performance, rich class library and support for modern programming languages such as C#. 5 million .Net developers learning RIA world won’t give up without fight LINQ, lambda expressions and other pleasant things making their lives simpler.

Separation of user interface visual representation and application logic. Vendors of GUI frameworks always wanted to separate logic from representation, but no one could do it as well as Microsoft did in the library used in Silverlight. This is done due to the combination of system of styles, templates and powerful mechanism of data binding and also the ability to concurrently work on one and the same project for developers and interface designers.

Developer tools. When you develop Silverlight applications you can use the same developer tools used in “older” Windows apps: Visual Studio for coding and Expression Blend for interface design. These tools are known by all .Net developers and it is certainly one of the best in its class as it provides all abilities required to develop and debug both client and server sides of internet applications.

Summary.

It’s obvious that Rich Internet Application is one of the most promising trends of modern software development industry. The main thing in chase of trends is not to forget that not all applications worth making internet ones.