Gartner Group, a leading market research and consulting firm has recently covered our technology and products in their ‘Magic Quadrants for Enterprise Application Servers 2006‘. Indus is new technology and we hope that Indus Live, through its consumer services network, will encourage rapid adoption of grid technology by enterprises.
Grid computing refers to “a collection of (typically commodity) servers from one or more companies that are coordinated to handle a common task.” Grid computing is traditionally used to create a large single cluster to support compute-intensive applications, such as risk analysis in financial services, circuit simulation in the electronic industry or weather forecasting. However, the compelling price/performance of commodity Intel-based blades, high-speed network equipment and network storage devices is attracting the attention of companies interested in leveraging grid-like architectures to support also transactional workloads: the so-called “enterprise grid.” Grid-based application platforms provide an application runtime environment for service-oriented and event-based transactional or analytical applications. Their aim is to support “scale-out” scalability and maximum availability on server-based “tera architectures” (typically large clusters of Linux or Windows-based commodity servers). Typically applications in a grid-based scenario are designed as collection of discrete, semi-autonomous components glued together through a microflow language. Grid-based application platforms leverage advanced workload management, peer-to-peer communication (such as Jini technology), distributed caching (such as JavaSpaces technology) and software deployment platforms (such as the Open Services Gateway Initiative [OSGi] Framework and Project Rio) to enable dynamic and transparent allocation across the grid (i.e., on one or multiple servers) of as many instances of certain critical components of an application as needed to meet application-specific service-level agreements (such as response time, availability and so on). In addition, grid-based application platforms typically enable hot plug-in and disposal of servers without stopping application operations or manual reconfigurations by dynamically reallocating application components in an optimal way in the new configuration. Most grid-based application platforms support a programming model that combines standard component software — such as Microsoft .NET, Plain Old Java Object (POJO), Spring, and in the future, Enterprise JavaBeans (EJB) 3.0 — and microflow technology (such as BPEL or WS-CDL).
Vendors proposing grid-based application platforms include Appistry; Aumega Networks; GigaSpaces; Majitek; Paremus and Recursion Software.
Grid-based application platforms can potentially dramatically change the economics of even the most-extreme transaction processing applications by providing mainframe-like availability and scalability using commodity hardware platforms. Their adoption will enable mainstream organizations to address business opportunities that beforehand could only be exploited by relatively few, technically astute organizations that could afford to adopt expensive and mostly proprietary application platforms (such as mainframe-based TPMs).
Challenges to Mainstream Adoption
However Grid-based application platforms were released into the market during the 2003 to 2005 time frame by several small startup companies of little viability. Today, they’re available only in some geographic regions and, although rapidly evolving, they’re still in early versions (1.x or 2.x). Several proofs of concept, pilots or development projects were started during the past 12 months, but grid-based application platforms have only enjoyed a few production deployments. Another factor limiting the widespread penetration of grid-based application platforms is that applications must be developed according to their peculiar, unusual programming style. Adopting popular component models (such as Spring, and EJB 3 in the future) and standard flow languages will likely increase the appeal of grid-based application platforms by reducing the perception of risk and giving users the opportunity to leverage readily available skills.
Leading edge enterprises looking for advanced platforms to support XTP requirements should consider Grid-Based Application Platforms, when their major concern is scale-out scalability, and “nearly 100 percent” availability for transactional and analytical applications (as well as hybrid combinations of both styles). However, they should also remember that these products have limited proof points in terms of real-life deployments, vendors are of dubious viability, and total cost of ownership benefits vs. traditional application platform claimed by vendors still has to be validated.Therefore by now, adoption of grid-based application platforms should be primarily considered only for specific scenarios in which established platforms are manifestly inadequate.
Comments (0) 10:05 pm
Using Indus Live for the first time
Filed under: Product releases |
After having received several comments on how daunting using Indus Live seems at first, here is a post that briefly explains what Indus Live is, how to install it and run applications using it.
Get it : anyone who wishes to run any Indus Live application like PostIt (get it from the ‘Files’ section of the Indus Developer site or if you are lazy, get it directly here) must install the Indus Live SDK. The Indus Live SDK installs the Indus Live toolbar, deskbar (only for Windows desktops now) and the Indus P2P engine that can run multiple applications. The Indus Live SDK therefore enables users to access the P2P network and enables developers to implement (the SDK also contains the Indus compiler) P2P services that can run on the Indus Live network. Get the SDK from the ‘Files’ section here; do note here that the Indus Live SDK’s toolbar support is only available for Firefox 1.5+ at present and you have the option to download the SDK with a JRE bundled (do this only if you already do not have JRE 1.5 installed on your PC).
Install it : Install the Indus Live SDK by clicking on the installer; this is a one time installation and can run multiple applications. Once you are done with the installation, you will see a toolbar in your Firefox browser; click on the ‘Indus Live’ menu item and first register yourself using your email address. Now, you can log in to the Indus Live network.
Run it : After logging in to the Indus Live network, you can now install and run any Indus Live P2P application on it. Taking PostIt’s example, just click on the ‘Applications’ menu item on the Indus Live toolbar, point to the PostIt.jar and install it. You should see the ‘My Posts’ menu item on the toolbar now; this is your private space that shows you any posts you have made so far and allows editing, organising, sharing, searching on posts. For PostIt, you also need to install the PostIt firefox extension which comes with the PostIt package you download. To post any web content/page, just mark and highlight and right click your mouse and do ‘Post It…’; you will now see your post to which you can add comments and tags and finally post to your ‘My Posts’ space.
That is all that is there to make it work. With other applications, just install them similarly; do it from the deskbar if the application is a desktop application or from the IE/Firefox toolbars if the application is browser based.
Comments (0) 10:53 am
Indus Standard, Enterprise, Live, Micro, Mote
Filed under: Developers, Indus |
Indus was conceived and designed to enable Ubiquitous computing. Computing across networks and a variety of devices is becoming more and more important as people become mobile, use products that come from multiple vendors and as the ability to remain productive begin to depend more on how well connected people are with their co-workers and community. Technically, what this implies is that software programming models must move away from host centric architectures to network centric architectures and that development tools must support code generation and run time execution management across a variety of devices.
Indus precisely achieves these goals. Technically, Indus provides the following
a Network centric programming model, complete with a network centric programming language which enables developers to implement network applications just as easily as they would now implement local applications. The Indus programming language, which adds syntax and semantics for multi-party coordination, components and reuse models and enables implementation of entire applications as collection of state aware, concurrently executing peers that coordinate with each other to execute tasks
code generation tools, which enables developers to write code once and generate executable, high performance small footprint code for a variety of 8/16/32/64 bit platforms without diminishing the object oriented nature of Indus and its associated features
run time ‘containers’ that manage the execution of Indus programs on devices as small as sensors to as large as PCs and servers. Indus ‘containers’ are like Java’s ‘virtual machines’ but do more than them. Containers execute code on products that may or may not have an Operating system and are responsible for low level functions like process and memory management to higher level functions like service discovery, message routing, transaction management, security, policies and communications.
Indus programs have been tested on PCs, mobile and multimedia products and small footprint embedded systems like sensors and demonstrate the ability to run applications across networks and platforms. Products based on Indus target different development and deployment environments :
Indus Standard : is the standard Indus SDK targeted at all developers who can implement Indus applications for LANs. Indus Standard features all the basic functionality like service discovery, run time connections, message routing, nested transaction management, policies and security.
Indus Enterprise : is the licensed version of the Indus SDK targeted at enterprise deployments. In addition to features in the standard Indus SDK, this version adds capabilities to customise routers, network listeners and adapters that make any deployment network neutral; an administrative console to manage network wide deployments and clustering, load balancing and replication.
Indus Live : is a global, consumer services network based on the Indus Enterprise SDK functionality. Indus Live adds consumer front ends such as Firefox/Internet Explorer toolbars and a Windows deskbar which enable consumers to install and access services from the Indus Live P2P services network on their local machine.
Indus Micro : targets development of locally interactive applications on mobile and multimedia devices such P2P gaming, communications, data transfers and data acquisition applications. The Indus Micro SDK features a very small footprint, high performance run time system and a set of custom libraries that enable fast and effective applications engineering by enabling plugging third party APIs.
Indus Mote : targets applications engineering on platforms that can not accomodate an operating system and have very tight resource constraints. The Indus Mote ‘container’ features memory and process management, hardware abstraction library (HAL) integration and the ability to plug platform specific customised routers, adapters, listeners, initialization and setup routines, persistence managers and deployment mechanisms.
All the Indus SDKs can run on both Windows and Linux except for Indus Micro and Indus Mote that are supported on Linux only. Each SDK consists of the Indus compilers, libraries (Indus reuses GNU Classpath in Indus Standard, Enterprise and Live), containers (that act as virtual machines or operating system as the case requires) and accessories (for example, consumer front ends in Indus Live). All software releases are made on our developer site.
Comments (0) 9:26 am
Web 2.0 and Open services
Filed under: Developers |
A couple of days ago, we released the first open source application for the Indus Live P2P web services network. The application, named ‘PostIt’ is a simple one – it lets users select web content, keep it for their own reference or share with others, do a variety of edits and have conversations around them. However, what is more important is that this demonstrates how the open source community can build and distribute the best consumer web services, have the ability to monetize services instead of software and deliver maintainable, best in class experiences to consumers. Existing open source productivity, communications, entertainment applications can all be enhanced for P2P interactions using the Indus Live SDK. The Indus Live SDK is only one way to implement, distribute and host distributed P2P web services and we hope PostIt is a good beginning to show how it could all work.
PostIt sources are available from the Application forge, the Indus Live SDK and PostIt distribution is available from the Developer site and we are updating the wiki to extensively document out how the SDK can be used by developers.
Comments (0) 8:41 pm
Firefox, IE and Windows desktop coverage of Indus Live
Filed under: Cool stuff, Product releases |
The last couple of months have gone into implementing applications using the Indus Live SDK that can run in desktop (Windows has been tested so far) as well as in browser (IE, Firefox) environments. Indus Live is agnostic to whether applications on it are run on a PC, a mobile phone or an embedded system. On a PC, it was important to prove that applications run reliably on the desktop as well as from the browser. While Indus Live makes its presence in a browser as a toolbar, it features a deskbar for the Windows desktop. Here are a couple of snapshots of the system.
The first screenshot is that of a desktop based photo sharing application that requires no uploads and features community features like comments, tagging and updates. The second screenshot is from the browser based PostIt application which allows users to cut and paste content from the web, share with contacts and have conversations around posts.
The next release of Indus Live SDK is due in a couple of days and will be accompanied by source code of both these applications which other developers can review before using Indus Live SDK to implement other more interesting applications on the Indus Live P2P network.