Building Composite Applications in Lotus Notes

  • 1,964 views
Uploaded on

Best practices for developers …

Best practices for developers
 Best practices for administrators
 Best practices for the organization
 New Notes 8.0.1 functionality
 Summary and Q&A

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,964
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BP103 Building Composite Applications in Lotus Notes Jeremy Michell / Director / Australian Bureau of Statistics Niklas Heidloff / Lead Architect for Lotus Notes App Dev Solutions / IBM ®
  • 2. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 3. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 4. Profile of ABS  ABS – Australian Bureau of Statistics  Australia's central statistical authority  Over 700 publications per year including over 7,500 spreadsheets and data cubes  National Census data  ~100m hits/year on web site  Used Notes since 1993, history of pushing Notes to its limits and beyond  3,500 staff in 9 locations across Australia  10 full time Domino Admin staff, ~250 Developers  ~57,000 Notes Dbs (inc. replicas, managed templates & hub servers)  ~120 Domino servers – many using virtualisation  Notes 6.5.2 - ~50 staff in ND8 pilot group  Notes is our desktop  Design Partner on ND8 since August 2006
  • 5. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 6. Composite Applications Benefits for the ABS  Current Issues  Case Study  Notes 8 Composite Application Solution
  • 7. Current Issues  1,500 Notes Applications  Many around since Notes v4  Integration across Applications difficult  Integration outside Notes difficult  Changing requirements over the years, but “same” application  Implicit dependancies between some systems
  • 8. Case Study  ABS Publishing Release Management system  Controls all Publication workflow processes  built and evolved over 20 years.  The core part is comprised of following:  Product Database (PDB). – Oracle database, Centura UI interface ● Used by Publishing managers Product Profile Facility (PPF). – Notes database,also a front end of PDB. ● Read only, end user access. Release Approval System (RAS). – Notes database, also a front end of PDB. ● used by business managers
  • 9. Case Study (cont.)
  • 10. Case Study (cont.)  Issues  No realtime update (up to 1 hour delay)  Duplicated common information  Manual updates required in multiple systems  20 other dependant systems
  • 11. Notes 8 Composite Application Solution Notes Hidden Eclipse/Java DB connector Eclipse/Java UI
  • 12. Notes 8 Composite Application Solution (cont.)  Consists of :  3 Notes components  2 Eclipse/Java components  Uses existing Notes databases with minimal change  Realtime connection to Oracle via Eclipse/Java component  Headless (no UI)  Uses Hibernate for connection  Instant updates across all systems  Single UI – no task switching  Real potential for productivity increase for end users  Less errors, faster updates  Dependant systems still work!
  • 13. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 14. Best Practices for Developers - Overview 1) How to learn Eclipse fundamentals 2) How to do iterative development of Eclipse components 3) How to re-use the utility components from the OpenNTF.Org catalog 4) Learn to work with your Domino Administrators 5) Design your system with ND8 in mind
  • 15. How to learn Eclipse Fundamentals  Eclipse RCP: http://www.eclipse.org/home/categories/rcp.php  Concepts  Extensions and plugins  OSGi, versions and dendencies  Deployment and packaging  Workbench  IDE  Eclipse PDE  Expeditor toolkit
  • 16. How to do iterative Development of Eclipse Components  This alternative (1) is the recommended approach to do the iterative implementation of Eclipse components  First version of Eclipse component:  Develop plugin  Launch Notes from IDE  Add Eclipse component to composite application via local component provider  Run and test Eclipse component  Subsequent versions of Eclipse component:  Change plugin  Re-launch Notes from IDE  Run and test Eclipse component
  • 17. How to do iterative Development of Eclipse Components  This alternative (2) should be used before deploying the application to a server  'First' version of Eclipse component:  Develop plugin and feature and then put on update site  Launch Notes  Add Eclipse component to composite application via update site provider  Run and test Eclipse component  Subsequent versions of Eclipse component:  Change plugin and put generate jar file on update site  Copy jar file in Notes dataworkspaceapplications directory or: uninstall and install the feature via the application self management UI  Re-launch Notes  Run and test Eclipse component
  • 18. How to leverage Utility Components from Catalog  Composite Application Component Library on OpenNTF.Org  http://www.openntf.org/projects/pmt.nsf/ProjectLookup/Composite%20Application %20Component%20Library  Contains 22 reusable components  Component: Notes URL processor  Component: Web clipper  Component: Sametime buddy list
  • 19. Learn to work with your Domino Administrators  Developers should attend some level of Administrators training  Get to know what impact your application will have on Admins  Work with Admin from day one, not at deployment  Know what your Domino infrastructure can support (and what it can't)  Design and build accordingly  Document all application dependencies
  • 20. How to design your System with ND8 in Mind  Systems can be more than just Notes  Plan for reuse  Keep track of all dependancies – document them!  Don't go overboard with Composites  Remember you can extend the Notes client with plugins as well  Existing Notes Applications can often be used as-is in a Composite Application  No need for wholesale redevelopment  Staged implementation becomes possible
  • 21. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 22. Best Practices for Administrators - Overview 1) Learn to work with your developers 2) Get your processes right 3) Get to know what SOA means to you 4) Get to know the application development lifecycle (dev to prod) 5) Learn to manage Composite Apps
  • 23. Learn to work with your Developers  Ensure you're involved in new dev Projects from day one  System architecture should fit what's possible  What's possible might be different to what's currently available  Admins should do some level of Developer training  Notes and Java/Eclipse  Better understanding of application issues
  • 24. Get your Processes right  Consider automated systems for application release (dev, test to prod)  Don't forget eclipse, portal, Web components  Have good Change Management processes in place  Ensure any policy settings are relevant  Lots of new ones in ND 8 !  Some of the defaults have changed  Composite application dependancy knowledge becomes critical  SLA for an application should include component dependencies  Deployment of a composite application is a collaborative effort between administrators and developers.  Will not be as simple as handing a template to the administrators.
  • 25. Get to know what SOA means to you  Admins will need to have some knowledge of SOA to understand component and application relationships  Needed to know how best to deploy an application or component  Implications on hardware and infrastructure  Implications on SLA's for servers  Implications on security requirements  Single Sign On, server security settings, ACL's,  HTTP & Anonymous, Application ID's  Isolating secure applications  Implications on auditing  HTTP in particular  Cost recovery
  • 26. Learn to manage Composite Apps  During an outage of a server, applications hosted on other servers could be affected  When scheduling server maintenance dependancy of other applications not hosted on the server needs to be considered  High availability – clustering, HTTP  When a composite application includes non-Notes components a procedure should be developed how the application will be deployed and provisioned  Creation of local replica of composite application will be more complicated as each component application will have to have a local replica as well
  • 27. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 28. Best Practices for the Organisation  Training plans in place  Include Java/Eclipse training as well as Notes  Plan infrastructure for the future  New techniques in Notes 8 might mean new Domino server architectures  Ensure sufficient resources to support infrastructure  Probably more important than developer resources  Have good Change Management processes in place  Get comfortable with SOA techniques  n-tier presents new challenges to server and application management  Leverage new features in ND8 for productivity gains
  • 29. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 30. New Notes 8.0.1 Functionality  Relative links to components  @Formulas to calculate links to NSF components  (White) lists of Eclipse update sites  Usage of existing NSFs without design changes  Wiring improvements in CAE  LotusScript APIs and @Formulas to get composite application context  Open documents on pages  Role based access to pages  New PIM and Symphony components  Toolbox
  • 31. @Formulas to calculate Links to NSF Components  Goal: Refer to different NSFs in different environments  @Formulas can be used to read the links to NSF components at runtime. These formulas could for example access profile documents
  • 32. (White) Lists of Eclipse Update Sites  Goal: Avoid defining absolute URLs in the Eclipse components  Lists of Eclipse update sites can be used to refer to different update sites in different environments
  • 33. Usage of existing NSFs without Design Changes  Goal: Allow usage of existing NSFs in new composite applications without having to redeploy them  There is one built in property and two built in actions
  • 34. Less Type Checking in CAE  Goal: Allow more interoperability between components from different vendors or teams  Strict type checking can be disabled to allow wires between components with identical datatypes but with different names
  • 35. Agenda  Profile of ABS  Composite Applications' benefits for ABS  Best practices for developers  Best practices for administrators  Best practices for the organization  New Notes 8.0.1 functionality  Summary and Q&A
  • 36. Summary  Notes is a world class application development platform  Evolution, not revolution  Improved user effectiveness  Protection of investment through integration of different types of applications  Business flexibility and strategy through mix-n-match of components
  • 37. Related Sessions  Developing Composite Applications to Solve Real-World Challenges  Creating First Class Eclipse-based Components for Composite Applications  Designing Great User Interfaces for Composite Applications  Leveraging Third Party and Legacy Components in Lotus Notes Composite Applications
  • 38. References  Composite Applications Blog  http://www.ibm.com/developerworks/blogs/page/CompApps  http://www.ibm.com/developerworks/blogs/page/CompApps?entry=blog_sitemap  Official Composite Applications Site  http://www-128.ibm.com/developerworks/lotus/composite-apps  Redbook: Building Composite Applications  http://www.redbooks.ibm.com/Redbooks.nsf/RedpieceAbstracts/sg247367.html
  • 39. Q&A
  • 40. © IBM Corporation 2008. All Rights Reserved.  The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.  References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.  Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.  IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Sametime, WebSphere, Workplace and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both.