Magic Targets Rich Internet Apps, SaaS with G5
June 9, 2008 Alex Woodie
Magic Software recently announced G5, the codename for a new development environment due this month that promises to deliver “rich Internet applications” and an on-ramp to delivering applications via the software as a service (SaaS) method. Officials with the company say the software will build upon Magic’s eDeveloper legacy for the Web 2.0 age, while also removing the technical barriers that make it difficult for developers to target multiple deployment architectures with the same code base.
Integrated development environments (IDEs) haven’t kept up with the demands for more flexibility in the deployment of applications developed with the IDEs, according to Avigdor Luttinger, vice president of corporate strategy for Magic, which is hoping to narrow the gap with G5.
“One of the key challenges in rich internet application development, with the emerging platforms like Adobe Flash or Microsoft Silverlight, is that you have to separately develop the client tier and the server tier, and then you have the communications to manage in between a well. So the cost of developing applications is actually higher than the traditional application,” he says.
G5 addresses this problem with its meta-driven approach to software development, which is evident in eDeveloper, its fourth-generation language (4GL) for i (formerly i5/OS) and Windows that’s more than 20 years old. “Since we’re continuing the meta-data driven paradigm, you continue to develop the rich internet applications, without having to totally abstract the client and server issues,” he says. “It’s the platform during deployment time that takes care of the partitioning. As a result, the cost of developing and the time of developing rich Internet applications are much lower with our platform.”
With this approach, a developer can design a Web 2.0-style application in G5, and instead of separately coding the client and server components, G5 will do all the work necessary behind the scenes to target any mixture of traditional Windows fat client, Web browser, or rich Internet client.
By “rich Internet application client,” Magic is referring to the user interface and underlying technologies. In Magic’s case, the rich Internet client will be a thin piece of code that a user downloads to his or her desktop (via an initial Web browser session). Once that client has been installed, the user will interact with the application through that client, as opposed to the Web browser, a 32-bit fat Windows client, or (dare we mention it?), a 5250 green-screen interface (which eDeveloper still supports).
According to Luttinger, the rich Internet client will initially be built using Java. A second release of G5 is planned for later this year that will include a .NET-based rich Internet client. The .NET client is expected to perform better, Luttinger says.
Magic is doing its best with G5 to avoid the Web and Web browsers. While programmers are able to do all kinds of nifty tricks using Web 2.0 development techniques, in the end, the Web is just too limiting, Luttinger says. “The general consensus today of the industry is the AJAX-type client are too limited in the richness they can provide,” he says. “Most of the new rich Internet applications don’t run inside a browser.”
G5 is central to the SaaS Enabled Application Platform, or SEAP, business venture that Magic announced in February. “This is an excellent growth path for Magic’s ISVs, because they can continue to serve their existing customer base, they can go out into cloud Computing customers, and actually service both and be in a growth position in new market,” Luttinger says.
The beta of G5 was completed early this year, and several customers are implementing an early release version of the software. The software will be formally named and released to general availability later this month, Luttinger says. For more information, see www.magicsoftware.com.
This article has been corrected. Avigdor Luttinger’s correct title is vice president of corporate strategy. IT Jungle regrets the error.