SlideShare a Scribd company logo
1 of 20
Download to read offline
MWLUG	
  2014	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Mike	
  McGarel,	
  Collabora/ve	
  Solu/ons	
  Developer,	
  	
  
Czarnowski	
  Display	
  Services,	
  Inc.	
  
Devin	
  Olson,	
  Collabora/ve	
  Solu/ons	
  Developer,	
  
Czarnowski	
  Display	
  Services,	
  Inc.	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Mike	
  McGarel	
  
	
  
Ø Collabora/ve	
  Solu/ons	
  Developer	
  at	
  	
  
Czarnowski	
  Display	
  Services	
  
Ø Working	
  with	
  Notes/Domino	
  since	
  version	
  4.6	
  
Ø Working	
  on	
  the	
  Web	
  for	
  over	
  14	
  years	
  
Ø OpenNTF	
  contributor	
  
Ø Maintain	
  MWLUG	
  site	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Devin	
  Olson	
  
	
  
Ø Collabora/ve	
  Solu/ons	
  Developer	
  at	
  	
  
Czarnowski	
  Display	
  Services	
  
Ø Notes	
  /	
  Domino	
  consultant	
  since	
  1995	
  	
  
(that's	
  R3	
  for	
  you	
  punks)	
  
Ø PCLP	
  SA/AD	
  R4.6,	
  R5,	
  R6,	
  R7	
  	
  
(stopped	
  taking	
  tests	
  aWer	
  that)	
  
Ø Beer	
  Snob	
  (Anheuser-­‐Busch	
  	
  
Cer/fied	
  Beer	
  Master)	
  
Ø LearningXPages.com	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Agenda	
  
	
  
Ø Dip	
  into	
  Java	
  beans	
  	
  
Ø App	
  goal	
  
Ø Time	
  to	
  build	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
LotusScript	
  and	
  Java	
  SimilariDes	
  
	
  
Ø LS	
  has	
  subs	
  and	
  func/ons,	
  Java	
  has	
  methods	
  
Ø Both	
  strongly	
  typed	
  	
  
LS:	
  	
  Dim x As String
Java:	
  String x	
  
Ø Nearly	
  exact	
  syntax:	
  
LS:	
  collec/on.GetFirstDocument	
  
Java:	
  collec/on.getFirstDocument()	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
LotusScript	
  and	
  Java	
  Differences	
  
	
  
Ø Case	
  ma_ers	
  in	
  Java	
  
Example:	
  getFirstDocument()	
  not	
  GetFirstDocument()	
  
Ø Beans	
  persist,	
  LS	
  objects	
  don’t	
  
Ø Java	
  is	
  modern,	
  LS	
  is	
  .	
  .	
  .	
  	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
What	
  do	
  we	
  mean	
  by	
  “bean”?	
  
	
  
A	
  Java	
  object	
  defined	
  by	
  specific	
  standards	
  
Ø Public	
  Java	
  class	
  
Ø Serializable	
  	
  
Ø Private	
  proper/es	
  (op/onal)	
  
Ø Public	
  constructor	
  with	
  no	
  arguments	
  
Ø Public	
  methods	
  (not	
  required,	
  but	
  kind	
  of	
  	
  
pointless	
  without)	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
What	
  does	
  a	
  bean	
  look	
  like?	
  
	
  
package com.mwlug;
import java.io.Serializable;
/* other possible libraries */
public class MyClass implements Serializable {
private static final long serialVersionUID = 1L;
private String myText;
/* Other possible variables */
public MyClass() {
}
public String getMyText() {
return myText;
}
public void setMyText (String txt) {
this.myText = txt;
}
/* Other possible methods */
}
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Public	
  Java	
  Class	
  
	
  
package com.mwlug;
import java.io.Serializable;
public class MyClass implements Serializable {
	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Serializable	
  
	
  
package com.mwlug;
import java.io.Serializable;
public class MyClass implements Serializable {
private static final long serialVersionUID =
1L;
	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Private	
  ProperDes	
  
	
  
public class MyClass implements Serializable {
private static final long serialVersionUID =
1L;
private String myString;
private Integer myInteger;
private List myList;
	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Public	
  Constructor	
  with	
  No	
  Arguments	
  
	
  
Sample	
  1	
  –	
  no	
  methods:	
  
public MyClass() {
}
Sample	
  2	
  –	
  with	
  methods:	
  
public MyClass() {
myString = “This is my string”;
this.myInteger = new Integer(1);
}
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Public	
  Methods	
  
	
  
public String getMyText() {
return myText;
}
public void setMyText (String txt) {
this.myText = txt;
}
	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
What	
  is	
  a	
  “managed”	
  bean?	
  
	
  
A	
  bean	
  listed	
  in	
  the	
  facesconfig.xml	
  file.	
  
	
  
<managed-bean>
<managed-bean-name>mine
</managed-bean-name>
<managed-bean-class>com.mwlug.MyClass
</managed-bean-class>
<managed-bean-scope>view
</managed-bean-scope>
</managed-bean>
	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Why	
  should	
  I	
  use	
  beans?	
  
	
  
Ø Reusability	
  
Ø Persistence	
  
Ø Modern	
  replacement	
  for	
  profile	
  documents	
  
Ø Easy	
  way	
  to	
  load	
  Java	
  methods	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
A	
  few	
  words	
  about	
  recycling	
  
	
  
Ø Related	
  to	
  C+,	
  not	
  Java	
  
Ø Recycling	
  releases	
  the	
  handle	
  from	
  memory	
  
Ø Needed	
  only	
  for	
  Lotus-­‐based	
  Java	
  objects,	
  e.g.,	
  
NotesDatabase,	
  NotesView,	
  NotesDocument	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Let’s	
  start	
  building!	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
References	
  
Ø Notes	
  in	
  9	
  	
  (notesin9.com)	
  
Ø Head	
  First	
  Java	
  
Ø learningXPages.com	
  	
  
Ø Russell	
  Maher’s	
  Connect	
  2013	
  Master	
  Class:	
  XPages	
  &	
  
Managed	
  Beans	
  (slides	
  on	
  xpage/ps.blogspot.com)	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
	
  
Thank	
  You	
  For	
  AXending	
  
The	
  authors	
  appreciate	
  any	
  feedback	
  or	
  comments	
  you	
  care	
  to	
  give.	
  
(appropriate	
  music	
  lyric	
  here)	
  
AD104:	
  Build	
  a	
  Bean	
  Workshop	
  
Contact	
  Us	
  
Mike	
  McGarel	
  
Ø  Blog:	
  h_p://www.bleedyellow.com/blogs/McGarelGramming	
  
Ø  Twi_er:	
  @mmcgarel	
  
Ø  Email:	
  mmcgarel@czarnowski.com	
  
Devin	
  Olson	
  
Ø  Blog:	
  h_p://www.learningxpages.com	
  
Ø  Twi_er:	
  @spanky762	
  
Ø  Email:	
  dolson@czarnowski.com	
  	
  
Ø  Facebook:	
  facebook.com/default.xsp	
  

More Related Content

What's hot

What's hot (20)

Cocoa tip for Cocoaheads Shanghai February 2016
Cocoa tip for Cocoaheads Shanghai February 2016Cocoa tip for Cocoaheads Shanghai February 2016
Cocoa tip for Cocoaheads Shanghai February 2016
 
Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
 
Apache Cassandra and Go
Apache Cassandra and GoApache Cassandra and Go
Apache Cassandra and Go
 
Learn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VMLearn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VM
 
Vagrant and CentOS 7
Vagrant and CentOS 7Vagrant and CentOS 7
Vagrant and CentOS 7
 
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
 
Everything as a code
Everything as a codeEverything as a code
Everything as a code
 
Celery: The Distributed Task Queue
Celery: The Distributed Task QueueCelery: The Distributed Task Queue
Celery: The Distributed Task Queue
 
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talk
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
 
Controlling multiple VMs with the power of Python
Controlling multiple VMs with the power of PythonControlling multiple VMs with the power of Python
Controlling multiple VMs with the power of Python
 
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
 
Celery
CeleryCelery
Celery
 
Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
 
Celery with python
Celery with pythonCelery with python
Celery with python
 
Django Celery
Django Celery Django Celery
Django Celery
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet tree
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 

Viewers also liked

Module Risicos (Juli 2010) (Met Logo)
Module Risicos (Juli 2010) (Met Logo)Module Risicos (Juli 2010) (Met Logo)
Module Risicos (Juli 2010) (Met Logo)
abvandepol
 
Module Cv (Juli 2010)
Module Cv (Juli 2010)Module Cv (Juli 2010)
Module Cv (Juli 2010)
abvandepol
 
Community supported garden at la vista
Community supported garden at la vistaCommunity supported garden at la vista
Community supported garden at la vista
LaVistaCSA
 
Mamíferos
MamíferosMamíferos
Mamíferos
juan1500
 
MY PROFESSIONAL INTRODUCTION FOR ALL EMPLOYERS
MY PROFESSIONAL INTRODUCTION  FOR  ALL  EMPLOYERSMY PROFESSIONAL INTRODUCTION  FOR  ALL  EMPLOYERS
MY PROFESSIONAL INTRODUCTION FOR ALL EMPLOYERS
saurabh gaur
 
Module Fiscaliteit (Juli 2010)(Met Logo)
Module Fiscaliteit (Juli 2010)(Met Logo)Module Fiscaliteit (Juli 2010)(Met Logo)
Module Fiscaliteit (Juli 2010)(Met Logo)
abvandepol
 
Module Afm (Juli 2010)(Met Logo)
Module Afm (Juli 2010)(Met Logo)Module Afm (Juli 2010)(Met Logo)
Module Afm (Juli 2010)(Met Logo)
abvandepol
 
JUnit Tutorial for Beginners - Learn Java Unit Testing
JUnit Tutorial for Beginners - Learn Java Unit TestingJUnit Tutorial for Beginners - Learn Java Unit Testing
JUnit Tutorial for Beginners - Learn Java Unit Testing
ayman diab
 

Viewers also liked (20)

Module Risicos (Juli 2010) (Met Logo)
Module Risicos (Juli 2010) (Met Logo)Module Risicos (Juli 2010) (Met Logo)
Module Risicos (Juli 2010) (Met Logo)
 
Prosser career academy
Prosser career academyProsser career academy
Prosser career academy
 
Prosser career academy
Prosser career academyProsser career academy
Prosser career academy
 
Module Cv (Juli 2010)
Module Cv (Juli 2010)Module Cv (Juli 2010)
Module Cv (Juli 2010)
 
Community supported garden at la vista
Community supported garden at la vistaCommunity supported garden at la vista
Community supported garden at la vista
 
Mamíferos
MamíferosMamíferos
Mamíferos
 
Prosser career academy
Prosser career academyProsser career academy
Prosser career academy
 
Installing & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOSInstalling & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOS
 
MY PROFESSIONAL INTRODUCTION FOR ALL EMPLOYERS
MY PROFESSIONAL INTRODUCTION  FOR  ALL  EMPLOYERSMY PROFESSIONAL INTRODUCTION  FOR  ALL  EMPLOYERS
MY PROFESSIONAL INTRODUCTION FOR ALL EMPLOYERS
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair Programming
 
Module Fiscaliteit (Juli 2010)(Met Logo)
Module Fiscaliteit (Juli 2010)(Met Logo)Module Fiscaliteit (Juli 2010)(Met Logo)
Module Fiscaliteit (Juli 2010)(Met Logo)
 
Module Afm (Juli 2010)(Met Logo)
Module Afm (Juli 2010)(Met Logo)Module Afm (Juli 2010)(Met Logo)
Module Afm (Juli 2010)(Met Logo)
 
Instrumentos
InstrumentosInstrumentos
Instrumentos
 
Android Apps the Right Way
Android Apps the Right WayAndroid Apps the Right Way
Android Apps the Right Way
 
5 Files Io
5 Files Io5 Files Io
5 Files Io
 
Presentation on Affect Analysis and Ranking
Presentation on Affect Analysis and RankingPresentation on Affect Analysis and Ranking
Presentation on Affect Analysis and Ranking
 
JUnit Tutorial for Beginners - Learn Java Unit Testing
JUnit Tutorial for Beginners - Learn Java Unit TestingJUnit Tutorial for Beginners - Learn Java Unit Testing
JUnit Tutorial for Beginners - Learn Java Unit Testing
 
Learningbloks
LearningbloksLearningbloks
Learningbloks
 
Jsp applet
Jsp appletJsp applet
Jsp applet
 
Introduction à GWT
Introduction à GWTIntroduction à GWT
Introduction à GWT
 

Similar to Ad104 build a bean workshop

Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
Tobias Schneck
 

Similar to Ad104 build a bean workshop (20)

時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
Test your modules
Test your modulesTest your modules
Test your modules
 
Deploying an application with Chef and Docker
Deploying an application with Chef and DockerDeploying an application with Chef and Docker
Deploying an application with Chef and Docker
 
Docker workshop 0507 Taichung
Docker workshop 0507 Taichung Docker workshop 0507 Taichung
Docker workshop 0507 Taichung
 
手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇手把手帶你學 Docker 入門篇
手把手帶你學 Docker 入門篇
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017手把手帶你學Docker 03042017
手把手帶你學Docker 03042017
 
Ansible with oci
Ansible with ociAnsible with oci
Ansible with oci
 
Docker dev, test & production (afas)
Docker  dev, test & production (afas)Docker  dev, test & production (afas)
Docker dev, test & production (afas)
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
 
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
 
Docker team training
Docker team trainingDocker team training
Docker team training
 
Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
 
Scala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camouScala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camou
 
Scala, Functional Programming and Team Productivity
Scala, Functional Programming and Team ProductivityScala, Functional Programming and Team Productivity
Scala, Functional Programming and Team Productivity
 
Docker Introduction.pdf
Docker Introduction.pdfDocker Introduction.pdf
Docker Introduction.pdf
 
Docker研習營
Docker研習營Docker研習營
Docker研習營
 
Winning the Erlang Edit•Build•Test Cycle
Winning the Erlang Edit•Build•Test CycleWinning the Erlang Edit•Build•Test Cycle
Winning the Erlang Edit•Build•Test Cycle
 
From Dev to DevOps
From Dev to DevOpsFrom Dev to DevOps
From Dev to DevOps
 
Baking docker using chef
Baking docker using chefBaking docker using chef
Baking docker using chef
 
Baking Docker Using Chef - ChefConf 2015
Baking Docker Using Chef - ChefConf 2015Baking Docker Using Chef - ChefConf 2015
Baking Docker Using Chef - ChefConf 2015
 

More from Devin Olson

More from Devin Olson (17)

Paired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage successPaired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage success
 
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes ClientResolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
 
Do you have a website? Do you want to get sued?
Do you have a website?  Do you want to get sued?Do you have a website?  Do you want to get sued?
Do you have a website? Do you want to get sued?
 
IBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration OverviewIBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration Overview
 
Website Accessibility Workshop
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility Workshop
 
Raw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on LinuxRaw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on Linux
 
Curing the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersCuring the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad Developers
 
Accessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus DominoAccessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus Domino
 
Countdown to Domino 10
Countdown to Domino 10Countdown to Domino 10
Countdown to Domino 10
 
Pink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career WinPink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career Win
 
XPages Development 2
XPages Development 2XPages Development 2
XPages Development 2
 
XPages Development 1
XPages Development 1XPages Development 1
XPages Development 1
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025
 
Big Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF APIBig Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF API
 
Customer Story: Next Level Coding
Customer Story: Next Level CodingCustomer Story: Next Level Coding
Customer Story: Next Level Coding
 
Countdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOWCountdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOW
 
Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Ad104 build a bean workshop

  • 1. MWLUG  2014   AD104:  Build  a  Bean  Workshop   Mike  McGarel,  Collabora/ve  Solu/ons  Developer,     Czarnowski  Display  Services,  Inc.   Devin  Olson,  Collabora/ve  Solu/ons  Developer,   Czarnowski  Display  Services,  Inc.  
  • 2. AD104:  Build  a  Bean  Workshop   Mike  McGarel     Ø Collabora/ve  Solu/ons  Developer  at     Czarnowski  Display  Services   Ø Working  with  Notes/Domino  since  version  4.6   Ø Working  on  the  Web  for  over  14  years   Ø OpenNTF  contributor   Ø Maintain  MWLUG  site  
  • 3. AD104:  Build  a  Bean  Workshop   Devin  Olson     Ø Collabora/ve  Solu/ons  Developer  at     Czarnowski  Display  Services   Ø Notes  /  Domino  consultant  since  1995     (that's  R3  for  you  punks)   Ø PCLP  SA/AD  R4.6,  R5,  R6,  R7     (stopped  taking  tests  aWer  that)   Ø Beer  Snob  (Anheuser-­‐Busch     Cer/fied  Beer  Master)   Ø LearningXPages.com  
  • 4. AD104:  Build  a  Bean  Workshop   Agenda     Ø Dip  into  Java  beans     Ø App  goal   Ø Time  to  build  
  • 5. AD104:  Build  a  Bean  Workshop   LotusScript  and  Java  SimilariDes     Ø LS  has  subs  and  func/ons,  Java  has  methods   Ø Both  strongly  typed     LS:    Dim x As String Java:  String x   Ø Nearly  exact  syntax:   LS:  collec/on.GetFirstDocument   Java:  collec/on.getFirstDocument()  
  • 6. AD104:  Build  a  Bean  Workshop   LotusScript  and  Java  Differences     Ø Case  ma_ers  in  Java   Example:  getFirstDocument()  not  GetFirstDocument()   Ø Beans  persist,  LS  objects  don’t   Ø Java  is  modern,  LS  is  .  .  .    
  • 7. AD104:  Build  a  Bean  Workshop   What  do  we  mean  by  “bean”?     A  Java  object  defined  by  specific  standards   Ø Public  Java  class   Ø Serializable     Ø Private  proper/es  (op/onal)   Ø Public  constructor  with  no  arguments   Ø Public  methods  (not  required,  but  kind  of     pointless  without)  
  • 8. AD104:  Build  a  Bean  Workshop   What  does  a  bean  look  like?     package com.mwlug; import java.io.Serializable; /* other possible libraries */ public class MyClass implements Serializable { private static final long serialVersionUID = 1L; private String myText; /* Other possible variables */ public MyClass() { } public String getMyText() { return myText; } public void setMyText (String txt) { this.myText = txt; } /* Other possible methods */ }
  • 9. AD104:  Build  a  Bean  Workshop   Public  Java  Class     package com.mwlug; import java.io.Serializable; public class MyClass implements Serializable {  
  • 10. AD104:  Build  a  Bean  Workshop   Serializable     package com.mwlug; import java.io.Serializable; public class MyClass implements Serializable { private static final long serialVersionUID = 1L;  
  • 11. AD104:  Build  a  Bean  Workshop   Private  ProperDes     public class MyClass implements Serializable { private static final long serialVersionUID = 1L; private String myString; private Integer myInteger; private List myList;  
  • 12. AD104:  Build  a  Bean  Workshop   Public  Constructor  with  No  Arguments     Sample  1  –  no  methods:   public MyClass() { } Sample  2  –  with  methods:   public MyClass() { myString = “This is my string”; this.myInteger = new Integer(1); }
  • 13. AD104:  Build  a  Bean  Workshop   Public  Methods     public String getMyText() { return myText; } public void setMyText (String txt) { this.myText = txt; }  
  • 14. AD104:  Build  a  Bean  Workshop   What  is  a  “managed”  bean?     A  bean  listed  in  the  facesconfig.xml  file.     <managed-bean> <managed-bean-name>mine </managed-bean-name> <managed-bean-class>com.mwlug.MyClass </managed-bean-class> <managed-bean-scope>view </managed-bean-scope> </managed-bean>  
  • 15. AD104:  Build  a  Bean  Workshop   Why  should  I  use  beans?     Ø Reusability   Ø Persistence   Ø Modern  replacement  for  profile  documents   Ø Easy  way  to  load  Java  methods  
  • 16. AD104:  Build  a  Bean  Workshop   A  few  words  about  recycling     Ø Related  to  C+,  not  Java   Ø Recycling  releases  the  handle  from  memory   Ø Needed  only  for  Lotus-­‐based  Java  objects,  e.g.,   NotesDatabase,  NotesView,  NotesDocument  
  • 17. AD104:  Build  a  Bean  Workshop   Let’s  start  building!  
  • 18. AD104:  Build  a  Bean  Workshop   References   Ø Notes  in  9    (notesin9.com)   Ø Head  First  Java   Ø learningXPages.com     Ø Russell  Maher’s  Connect  2013  Master  Class:  XPages  &   Managed  Beans  (slides  on  xpage/ps.blogspot.com)  
  • 19. AD104:  Build  a  Bean  Workshop     Thank  You  For  AXending   The  authors  appreciate  any  feedback  or  comments  you  care  to  give.   (appropriate  music  lyric  here)  
  • 20. AD104:  Build  a  Bean  Workshop   Contact  Us   Mike  McGarel   Ø  Blog:  h_p://www.bleedyellow.com/blogs/McGarelGramming   Ø  Twi_er:  @mmcgarel   Ø  Email:  mmcgarel@czarnowski.com   Devin  Olson   Ø  Blog:  h_p://www.learningxpages.com   Ø  Twi_er:  @spanky762   Ø  Email:  dolson@czarnowski.com     Ø  Facebook:  facebook.com/default.xsp