Monday, October 27, 2008

Getting started with Lotus / Eclipse

As you might know, the newer versions of the IBM Lotus Notes and Sametime v8 client products are based on the open source Eclipse platform.

Abstract
  • The new future
  • Opportunities
  • Challenges
  • Technologies involved

The new future
This, in the Lotus Notes community, is a new big opportunity for both customers and business partners.
  • The ISV (Independant Software Vendor) business partner can take the lead in development of Eclipse Lotus solutions
  • The customer gets an award winning and well proven rich client platform for their business applications.
  • The IT-department gets a client platform that is easy to manage and deploy, down to the smallest details
  • The developer gets her hands on top class development tools and features

This gives some traditional Lotus Notes developers new opportunities and challenges.

Opportunities
  • More focus on the core business issues, reducing trivial procedures
  • Multiple platform solutions
  • Plugin reuse ability
  • Implicit design pattern usage
  • Faster and more modular development and code
  • Current competencies are still as useful as they are now

Challenges

  • Used to code 95% LotusScript and Visual Basic based languages
  • Low on resources for studying / enhancing the Java / Eclipse skills
  • Lots of new technologies and products to master
  • Customer on the market is requesting information and guidance on the pros n' cons
  • Time has shown that many Lotus Notes developers are lacking the necessary level of Java and Eclipse knowledge. This will have to change because it's not rocket science for an experienced Java / Eclipse developer to learn the Notes API. So changes are that the competition will grow in the future

Technologies involved

Here are some of the technology skills you should focus on:
  • Java / J2EE
  • Design patterns
  • Software Modeling
  • Eclipse platform and technology
  • Eclipse Plugin Architecture (Equinox /OSGi)
  • Eclipse RCP (Rich Client Platform)
  • Lotus Notes / Domino development
  • Lotus Sametime development
  • Lotus Expeditor Toolkit
For each type of skill sets I have included a link to one of many resources on the net. Feel free to get inspiration to the technology from other sources.

Java / J2EE
If your Java skills are a bit rusty, start here by updating your skills.

There are many good tutorials on getting started with Java. Java is a fundamental component of the Eclipse Framework.

If you already have programming skills, learning Java should not be your biggest challenge.


Design patterns

Many of today's large development projects make use of design patterns, either implicitly or explicitly, making the solutions more loosely coupled and manageable and extensible.


Software Modeling

In the analysis and design phase of a solution you need to model the architecture from an abstract perspective, this is where UML (Unified Modeling Language) has it's power, delivering models and notations that explains how a solution is build, used and managed.


Eclipse platform and technology

Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects and helps cultivate both an open source community and an ecosystem of complementary products and services.


Eclipse Plugin Architecture (Equinox / OSGi)

The Eclipse Equinox project produces the core runtime used by Eclipse and the reference implementation for both the OSGi 4.1 framework and JSR 291 specifications.


Eclipse RCP (Rich Client Platform)

While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the "Rich Client Platform".


Lotus Notes / Domino development

Lotus Notes and Domino are collaboration software. Notes is the email, calendar & scheduling, and information management client. Domino is the integrated messaging, collaboration, and Web application server.


Lotus Sametime development

Lotus® Sametime is real-time collaboration software that provides presence awareness, instant messaging, and Web conferencing.


Lotus Expeditor Toolkit

Lotus® Expeditor is a universally managed client that includes a client, server, and toolkit for creating, deploying, and maintaining both mobile and rich client applications. This OSGi-based and Eclipse-based platform enables you to create Service-Oriented Architecture (SOA) solutions.


What's Next?
Next you will complete task:
  • Download and install the software

HOME

No comments:

Search This Blog

Eclipse Live: Equinox Ganymede

The creator of an Eclipse Bible, introduces Equinox and its building blocks for creating applications. We overview the architecture and technology, and demonstrate many of the building blocks.
by Jeff McAffer (Code 9)