IBM is now offering support for a number of popular open-source components to its Eclipse-based rapid application development (RAD) tool.
With the emphasis on mobile applications and social networking, many shops today are trying to figure out the best way to address these user requirements, the vast majority of them intended for department, branch, or partner access. For most of these needs, a solution running on Lotus Domino can work quite well, and recent enhancements to IBM Lotus Domino Designer mean a developer can create a sophisticated cross-platform Web or mobile application in a matter of days that will impress both users and management.
Forget Microsoft SharePoint, which, by the way, can be quite expensive, and create your own document storage and collaboration solution with Lotus Domino Designer. While you're at it, go ahead and build a team discussion forum, a customer relationship management solution, a human resources management application, an inventory management database, or a help-desk program. You can do it all with Domino Designer. If you are running Domino anyway, say for your Lotus Notes email, you won't have to put in a requisition to buy Designer—it's free.
Many developers in the IBM market, and even business users, have tried Domino Designer in the past to build departmental databases. However, with recent upgrades to Designer, you might want to take another look at the tool in the context of today's Web 2.0 applications.
Domino Designer today is an extension of the popular Eclipse IDE and allows a developer to build reusable components that can connect to multiple data sources, including DB2, Microsoft SQL Server, and virtually any database that has a Java API—which is virtually every common db. The use of industry-standard technologies means you no longer have to jump through hoops creating hacks either to connect to your data or make something basic actually work.
Security is of increasing concern today, and Lotus Domino's approach to security gives the system administrator a lot of control over his application, which can be secured through an access control list (ACL) or at the document or XPage level.
What is particularly exciting in Domino Designer this year is its ability to create mobile applications for Apple and Android devices. While BlackBerry is not yet supported, iOS 4 and 5 (iPhone, iPad, and iPos Touch) and Android 2.3 and 3.x for tablets are supported. There is a longstanding relationship between Lotus and BlackBerry maker Research in Motion (RIM), with a number of Lotus applications already running on the BlackBerry, so it would follow that support for BlackBerry is on the development team's list of to-dos.
Granted, no one wants to be drenched by a fire hose spewing different technologies they would never use in a hundred years. While it is true that Designer relies on a veritable cocktail of newer technologies, the developer can create new applications without writing a single line of code. Its drag-and-drop interface and reliance on pre-built components and frameworks hide the complexities of programming in languages such as Java—or even PHP. Designer includes templates and themes so you can quickly get a uniform look to one or several applications even when using multiple Cascading Style Sheets. Deploying your application on Domino, or even in the Lotus Notes client, is straightforward, and Designer includes a local HTTP server and XPages runtime out of the box.
Developers are under pressure today to develop visually appealing and robust solutions quickly, and Domino Designer V8.5.3 does that in spades. You might not wish to use it for an e-commerce site that gets 50,000 hits a day, but how many of those requirements do you really need to address every month? Nevertheless, V8.5.3 has been enhanced over previous versions to improve an application's performance and scalability.
In a past IBM Lotus video presentation hosted by Angus McIntyre, group product manager for IBM Software Group, McIntyre quotes a member of the Lotus development team as saying: "I'm the guy that sits bored in the meeting while people discuss a $100,000-plus project. I then ask the business line seven questions. And then I say, what if I could show you something that meets your requirements in two days?" Does it make sense to try a free tool capable of building Web and mobile applications that can generate that kind of confidence?
What separates Domino Designer from other RAD tools is its use of IBM's XPages technology. The component-oriented rapid Web application development model dates back more than 10 years to the early 2000s when IBM Business Partner Trilog Group developed what it then called XSP, or XML Server Pages. Based on J2EE, XML, and open standards, XSP caught the attention of IBM, which was looking for a rapid application development tool for IBM Workplace, a collection of messaging and collaboration tools later folded into Lotus Notes. IBM bought the XSP technology in 2004. A few years of refinements by IBM programmers, and XSP became XFaces, emerging as part of the former Lotus Workplace Designer and later Lotus Component Designer. With another iteration, and being assigned a catchy code name that eventually stuck, XPages emerged as part of Domino V8.5 in December 2008. In V8.5.1, XPages could run not only on the Domino Server but also in the Notes client.
Today, XPages is IBM's implementation of the JavaServer Faces (JSF) runtime. JSF is a component-based framework for building Java-based Web applications in which everything is a component. XPages has a Model-View-Controller (MVC) architecture that supports event-driven development as does classic development in Domino. One of the benefits of the MVC architecture is its ability to separate the user interface from the data from the business logic, keeping each independent from the other. This separation allows developers to reuse code across multiple applications and can save them a lot of time.
With that in mind, the Lotus Domino Designer community has been building libraries of application components and offering them free to developers at OpenNTF.org, a gathering place for the IBM XPages developer community. Hundreds of developers have been using this library of extensions for the past year, but a number of them asked IBM to consider including them as part of the core product and provide support. Always willing to listen to its users, IBM decided to do just that and offer support for the components with the recent release of the Lotus Notes and Domino 8.5.3 Upgrade Pack 1.
The upgrade pack, or UP1, as it is being called, is loaded with prebuilt controls and templates and, most significantly, provides controls for mobile applications allowing for navigation and data operations, including search and other functions. UP1 also includes controls for in-context editing, calendar, REST services, and an application layout using IBM's OneUI. The popular TeamRoom and Discussion social networking templates have been updated to provide mobile access. UP1 also includes features to provide HTTP access to Domino data and supports JSON-based REST services for Domino data access.
If one or more of these terms seem unfamiliar and cutting edge, join the club. But know too that developers around the world are using these technologies in a broad spectrum of Web-based and mobile applications. If you want to get exposed to them while remaining productive, download Lotus Domino Designer and take it for a test drive. The fact that there is no charge to use it may not be its paramount feature—but it certainly helps.