caGrid on Lift
Lift
is a framework for building web applications using the Scala
language. This tutorial builds a Lift-based caGrid client with a browser-based user interface.
| This tutorial assumes that you have a working knowledge of the Scala language. To find information about the Scala language or downloads, go to http://www.scala-lang.org |
Benefits of Lift
- Secure – Lift apps are resistant to common vulnerabilities including many of the OWASP Top 10
- Developer centeric – Lift apps are fast to build, concise and easy to maintain
- Scalable – Lift apps are high performance and scale in the real world to handle insane traffic levels
- Interactive like a desktop app – Lift's Comet support is unparalled and Lift's ajax support is super-easy and very secure
- Provides dependency resolution system that can obtain dependent jar files from Ivy repositories, like those used for caGrid and caBIG.
- Uses the Scala programming language
Benefits of Scala
- Interoperability – Scala runs on JVM and .NET CLR. Scala can call any Java Code. Java code can call scala code.
- Multi-paradigm – Has built-in support for a fusion of multiple programming paradigms, including Object oriented programming, functional programming, pattern matching, XML, concurrent programming using actors and continuations.
- Stronger type safety – Scala's type system can be used to avoid some types of low-level Java bugs such as null pointer exceptions.
- First class functions – Avoids the need for a separate dependency injection tool such as Spring.
Tutorial Goals
This tutorial will show you how to use Scala and Lift to build a web-based caGrid client. The features of this caGrid client will include:
- Phase 1
- Discover the caGrid configuration automatically. The web client should require no manual configuration.
- Synchronize with Grid Trust Fabric
- Authenticate users against Dorian
- Register new users with Dorian
- Phase 2
- Discover grid services using the Index Service
- Select a service to query
- Phase 3
- Query grid Data Services
- Save queries
- Display results
- Phase 4
- Authenticate against an authentication service





