ad201: ibm domino application development today and tomorrow
TRANSCRIPT
AD201: IBM Domino Application Development Today And Tomorrow
Pete Janzen, IBMMartin Donnelly, IBM
IBMs statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBMs sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the users job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Please Note
Agenda
Introduction
Today
Futures
Application Development Priorities
Reduce IT and development costsProvide tools and runtime that
helps companies
realize a greater return on their investment
Support business flexibility and agility
Embrace innovation while preserving investmentLong lasting applications
Choice in platforms and access methods
Bolster partner ecosystemMake development cost effective
Provide offerings that provide opportunities for ISVs
service providers
2009Lotus Domino &
Designer 8.5.2Domino DesignerUsability and Productivity
enhancementsXPagesStability/performance improvementsImproved rich
text editing (CKEditor)Dojo 1.4.1Better Notes client
integrationAPIsXPage extensibility APIsNotes views (JavaTM)Cloud
images for developers2011Note:Information is subject to change
without notice at IBMs discretionIBM Domino &
Designer 9.0 Domino DesignerUsability enhancementsXPages hover
help
& hyperlinkingServer Side JavaScript debuggerXPagesIncorporate
8.5.3 Upgrade
Pack 1+ into baseEnhanced mobile supportDojo, CKEditor & OneUI
upgradeSupport Embedded Experiences using URL modeAPIsDomino Access
Services (REST APIs) RefreshC&S APIs for LotusScript &
JavaPlatformExpand OSGi consumption and support in Domino
OpenSocial for Notes & iNotes2010Lotus Domino &
Designer 8.5.3Domino DesignerSource Control IntegrationNew XPages
and Forms/Views
perspectivesUpdate CS JavaScript editorNew Java design
elementXPagesStability/performance improvementsImproved rich text
editing (CKEditor)Dojo 1.5, CKEditor 3.5.3APIsXPage extensibility
APIsCloud images for Applications2012Lotus Domino & Designer
8.5.3 Upgrade Pack 1Domino DesignerExtensions for design
elementsSupport new XPagescontrolsXPagesXPages Extension
LibraryEnhanced Mobile device supportAPIsDomino Access Services
(REST APIs)20142013Lotus Domino &
Designer 8.5.1Domino Designer
LotusScript and Java editor
Working set enhancements
Performance
XPages
Notes client support
iWidget/Component
Active content filtering
Performance & Scalability
APIs
Designer extensibility APIs
Notes Documents (Java)
DXL enhancements
Lotus Domino & Designer 8.5.0Domino Designer
Eclipse Based IDE
XPages Editors
ServerSide JavaScript
CSS & Theme for rendering
XPages
Web 2.0 framework based on Java/JSF
Extensive library of controls
Built in Ajax support
Dojo
JavaScript or Java for business logic
APIs
DXL enhancements
IBM Notes & Domino
Application Development
2009Lotus Domino &
Designer 8.5.2Domino DesignerUsability and Productivity
enhancementsXPagesStability/performance improvementsImproved rich
text editing (CKEditor)Dojo 1.4.1Better Notes client
integrationAPIsXPage extensibility APIsNotes views (JavaTM)Cloud
images for developers2011IBM Domino &
Designer 9.0 Domino DesignerUsability enhancementsXPages hover
help
& hyperlinkingServer Side JavaScript debuggerXPagesIncorporate
8.5.3 Upgrade
Pack 1+ into baseEnhanced mobile supportDojo, CKEditor & OneUI
upgradeSupport Embedded Experiences using URL modeAPIsDomino Access
Services (REST APIs) RefreshC&S APIs for LotusScript &
JavaPlatformExpand OSGi consumption and support in Domino
OpenSocial for Notes & iNotes2010Lotus Domino &
Designer 8.5.3Domino DesignerSource Control IntegrationNew XPages
and Forms/Views
perspectivesUpdate CS JavaScript editorNew Java design
elementXPagesStability/performance improvementsImproved rich text
editing (CKEditor)Dojo 1.5, CKEditor 3.5.3APIsXPage extensibility
APIsCloud images for Applications2012Lotus Domino & Designer
8.5.3 Upgrade Pack 1Domino DesignerExtensions for design
elementsSupport new XPagescontrolsXPagesXPages Extension
LibraryEnhanced Mobile device supportAPIsDomino Access Services
(REST APIs)20142013Lotus Domino &
Designer 8.5.1Domino Designer
LotusScript and Java editor
Working set enhancements
Performance
XPages
Notes client support
iWidget/Component
Active content filtering
Performance & Scalability
APIs
Designer extensibility APIs
Notes Documents (Java)
DXL enhancements
Lotus Domino & Designer 8.5.0Domino Designer
Eclipse Based IDE
XPages Editors
ServerSide JavaScript
CSS & Theme for rendering
XPages
Web 2.0 framework based on Java/JSF
Extensive library of controls
Built in Ajax support
Dojo
JavaScript or Java for business logic
APIs
DXL enhancements
XPages Evolution
XPages Released
Eyes wide open
2009Lotus Domino &
Designer 8.5.2Domino DesignerUsability and Productivity
enhancementsXPagesStability/performance improvementsImproved rich
text editing (CKEditor)Dojo 1.4.1Better Notes client
integrationAPIsXPage extensibility APIsNotes views (JavaTM)Cloud
images for developers2011IBM Domino &
Designer 9.0 Domino DesignerUsability enhancementsXPages hover
help
& hyperlinkingServer Side JavaScript debuggerXPagesIncorporate
8.5.3 Upgrade
Pack 1+ into baseEnhanced mobile supportDojo, CKEditor & OneUI
upgradeSupport Embedded Experiences using URL modeAPIsDomino Access
Services (REST APIs) RefreshC&S APIs for LotusScript &
JavaPlatformExpand OSGi consumption and support in Domino
OpenSocial for Notes & iNotes2010Lotus Domino &
Designer 8.5.3Domino DesignerSource Control IntegrationNew XPages
and Forms/Views
perspectivesUpdate CS JavaScript editorNew Java design
elementXPagesStability/performance improvementsImproved rich text
editing (CKEditor)Dojo 1.5, CKEditor 3.5.3APIsXPage extensibility
APIsCloud images for Applications2012Lotus Domino & Designer
8.5.3 Upgrade Pack 1Domino DesignerExtensions for design
elementsSupport new XPagescontrolsXPagesXPages Extension
LibraryEnhanced Mobile device supportAPIsDomino Access Services
(REST APIs)20142013Lotus Domino &
Designer 8.5.1Domino Designer
LotusScript and Java editor
Working set enhancements
Performance
XPages
Notes client support
iWidget/Component
Active content filtering
Performance & Scalability
APIs
Designer extensibility APIs
Notes Documents (Java)
DXL enhancements
Lotus Domino & Designer 8.5.0Domino Designer
Eclipse Based IDE
XPages Editors
ServerSide JavaScript
CSS & Theme for rendering
XPages
Web 2.0 framework based on Java/JSF
Extensive library of controls
Built in Ajax support
Dojo
JavaScript or Java for business logic
APIs
DXL enhancements
XPages Evolution
XPages Released
Eyes wide openTool & Runtime
hardening
Developers
tapping into
potential
2009Lotus Domino &
Designer 8.5.2Domino DesignerUsability and Productivity
enhancementsXPagesStability/performance improvementsImproved rich
text editing (CKEditor)Dojo 1.4.1Better Notes client
integrationAPIsXPage extensibility APIsNotes views (JavaTM)Cloud
images for developers2011IBM Domino &
Designer 9.0 Domino DesignerUsability enhancementsXPages hover
help
& hyperlinkingServer Side JavaScript debuggerXPagesIncorporate
8.5.3 Upgrade
Pack 1+ into baseEnhanced mobile supportDojo, CKEditor & OneUI
upgradeSupport Embedded Experiences using URL modeAPIsDomino Access
Services (REST APIs) RefreshC&S APIs for LotusScript &
JavaPlatformExpand OSGi consumption and support in Domino
OpenSocial for Notes & iNotes2010Lotus Domino &
Designer 8.5.3Domino DesignerSource Control IntegrationNew XPages
and Forms/Views
perspectivesUpdate CS JavaScript editorNew Java design
elementXPagesStability/performance improvementsImproved rich text
editing (CKEditor)Dojo 1.5, CKEditor 3.5.3APIsXPage extensibility
APIsCloud images for Applications2012Lotus Domino & Designer
8.5.3 Upgrade Pack 1Domino DesignerExtensions for design
elementsSupport new XPagescontrolsXPagesXPages Extension
LibraryEnhanced Mobile device supportAPIsDomino Access Services
(REST APIs)20142013Lotus Domino &
Designer 8.5.1Domino Designer
LotusScript and Java editor
Working set enhancements
Performance
XPages
Notes client support
iWidget/Component
Active content filtering
Performance & Scalability
APIs
Designer extensibility APIs
Notes Documents (Java)
DXL enhancements
Lotus Domino & Designer 8.5.0Domino Designer
Eclipse Based IDE
XPages Editors
ServerSide JavaScript
CSS & Theme for rendering
XPages
Web 2.0 framework based on Java/JSF
Extensive library of controls
Built in Ajax support
Dojo
JavaScript or Java for business logic
APIs
DXL enhancements
XPages Evolution
XPages Released
Eyes wide openTool & Runtime
hardening
Developers
tapping into
potential Developers
hitting their stride
Complex appsFrameworksIncorporating
3rd party assets
Domino Application Development Themes
MobileProvide access to Domino data from mobile device
Realize true vision of build once, run anywhere
Developer productivitySupport new XPages controls in Domino Designer
More easily integrate with disparate data sources
CloudLeverage Platform-as-a-Service for Domino Applications
SoftLayer coming
SocialEmpower users of Domino applications with social services
Extend Domino apps in social containers with XPages
Ecosystem
Developer CommunityOpenNTF.org
Stack Overflow
GitHub
Other community sites
XPages PublicationsMastering XPages over 7000 copies sold worldwideTranslated to Chinese
Biggest selling IBM Press app dev book
Mastering XPages 2nd EditionEstimated publication Q1 2014
Based on 9.0.1
Completely revised + 4 new chapters
New Domino Designer 9 book for Japanese market
2013 Releases
Domino Designer and Domino 9.0Server-side JavaScript debugger
XPages developer productivity enhancements: content
assist,
hyperlinking, hover help
XPages extension library incorporated into platform, including:Additional rich controls
Mobile controls
XPiNC enhancements
Calendaring & Scheduling APIs
Domino Designer and Domino 9.0.1We'll get to this in a moment
OpenNTFXPages Social Enabler merged into Social Business Toolkit SDK
Twitterbootstrap4XPages
ppt template divider slide 1c-01.png
Today
Domino Designer 9.0.1
Update to Designer jvm.properties default setting Installer
asserts higher memory configuration
vmarg.Xmx=-Xmx512m
vmarg.Xms=-Xms48m
vmarg.Xmca=-Xmca512k
Support for the new Load Java ECL Attribute
Important Improvements (we heard you ! )Fixed bugs when saving LotusScript agents
Improved Help Indexing
High Performance View Navigator
Much more responsive display of deep hierarchical document collections
Alternative XPages View Navigator in 9.0.1Performs well with heavily populated view categories
Based on new 9.0 Java APIs backend classes and NIF capabilities
View navigation is based on document note ids rather than view position
View behavior closely emulates Notes client
Enabled via an xsp.properties setting (not on by default)xsp.domino.view.navigator=ByPosition
xsp.domino.view.navigator=ByNoteId
View markup by note id
View markup by position
XPages Dynamic Search SEO Support
Search Engine Optimization
XPages Dynamic Content ControlDynamically switches content using Ajax
This works well for real users but
not so well for robots !
9.0.1 ImprovementsSeveral popular bots are
supported by default
Designer allows you to customize
your bot support
Runtime now loads default facet on
initial page load
On the 1st page request in a given XPages session
The runtime figures out if the page is loaded by a bot
Dynamic Content Control can then adapts its
markup for Bots or real users
For normal users, nothing changes except the
analysis of the first page request in the session
For bots, the '#' tags are replaced by '&',
effectively avoiding Ajax requests
9.0.1 XPages Core Updates
Dojo upgrade to 1.8.3
CKEditor Upgrade to 3.6.6.2
W3C Web Content Accessibility Guidelines (WCAG) 2.0 Level A / AA & US Section 508 Standard
XULRunner Upgrade to 10.0.6 (XPiNC)Equivalent of upgrading Notes embedded browser from Firefox 3.6.2 to 10.0.6
Domino Mobile Application Development
Provide pervasive access to Notes/Domino
data from your smartphone or tablet
Ensures your investment in content is
available when you need it
Improve business process efficiency by allowing
decision makers to approve workflows on the go
Supports spectrum of mobile application
types
XPages dedicated mobile controls and
support for responsive design
Mobile web Mobile Hybrid Native
XPages
IBM Worklight
+
numerous tools and services
from IBM business partners
safebook iPhone.gif
XPages Mobile Case Studies
Hendricks Regional HealthUsing XPages to improve staff
scheduling & communication, mobile access to
field protocols for EMTs, an insulin drip calculator and more
Click Link to case study
Imaging Business Machines, LLC.Using XPages to modernize existing business applications
Click Link to case study
VCC XPages mobile controls provide mobile access to VCC's
Endeavor project
management solution
Click Link to case study
SMCXPages plus Teamstudio Unplugged allows emplotyees to perform energy assessments offline with their mobile devices
Attend session CUST104 Wed 11:15 Pelican 1&2
XPages Mobile
XPages 9.0.1 supports Dojo 1.8.3Opportunity to harness Dojo
1.8.3
enhanced mobile features
XPages 9.0.1 MobileImprove mobile look and feel
Introduce new JavaScript mobile APIs
Deliver a robust mobile experience
Provide more efficient debugging capabilities
Establish an extensible mobile base platform that
can be enhanced via OpenNTF and/or Upgrade Packs
XPages Mobile Library in 9.0Based on Dojo 1.5.1
Dojo 1.5.1 mobile not quite up to par
XPages 9.0.1 Mobile Enhancements Cont'd
New Device BeanUsed to identify the most common mobile and tablet devices
deviceBean.isMobile() / deviceBean.isTablet() / deviceBean.isAndroid() etc
Enhancements & FixesPhoto/File Upload using Partial Refresh (for Mobile and Web)
Mobile Debug User Agent switch to mimic iOS or Android user agents
MoveTo SimpleAction back button restoring previously loaded mobile view
Mobile view and control resizing and layout enhanced on transition / orientation changes
Custom mobile Theme inheritance now supported
Custom mobile CSS stylesheet ordering corrected to allow custom precedence
XPages 9.0.1 Mobile Enhancements Cont'd
Mobile Application & Control EventsSingle Page Application onOrientationChange / onResize Events
Application Page onBefore/After Transition In/Out Events
Mobile ThemesDefault Mobile Theme and Mobile Theme Overrides for iOS and Android
New OneUI IDX plugin containing IDX v1.3 (not fully supported in all controls)
New mobile theme available oneui_idx_v1.3 Theme
OneUI IDX theme used by TeamRoom and Discussion templates
Post 9.0.1 Mobile Enhancements
XPages mobile has new features available on OpenNTFAvailable in XPages ExtLib project (>= December 12, 2013)
Requires Domino and Domino Designer 9.0.1
Single Page Application Wizard
Infinite Scrolling
Single Page Application Wizard
Wizard produces a fully-functional well-structured mobile app:No expertise required in mobile design, XPages mechanics or XSP markup specifics!
Implements Single Page Application design pattern (aka Single Page Interface)Optimal startup-time, fast view switching, quick page navigation, request minimization
Enforces XPages Mobile best practices:Uses Custom Controls each Application Page
Uses preferred mobile-friendly XPages controls like Data View, Form Table etc
Supports bleeding edge features like infiniteScroll
Designed with Future Extensibility in mindMore data sources may be supported in future (for enterprise and social data)
XPages Mobile Touch Scrolling
Touch based infinite scrolling
Lazy loads the next set of rows using Partial Refresh
Computable infiniteScroll property on the control
Intuitive alternative to More button feature
Domino REST Services
New in 9.0.1 (and on OpenNTF)Calendar serviceAccess a user's calendar over HTTP
Create, read, update, and delete calendar entries.
Simple actions on entries and notices
(accept, decline, counter, delegate, etc.)
Cross Site Request Forgery (CSRF) protection across all services
Read a user's password expiration date (and other statistics)
New on OpenNTF onlyFreebusy serviceFind free time for a person or resource
Find a free room for a given time slot
Mail service enhancements including quota
and delegation
Domino&External apps
REST
XPages Your On-ramp to Social Business Applications
Integrate social capabilities from IBM Connections, IBM
SmartCloud for
Social Busness, Facebook... into XPages applications
XPages social enabler & Social
Business Toolkit SDKSimplifies access to Connections
& SmartCloud for Social Business
Isolates complexity related to
authentication mechanisms
Provides easy to use objects
with many code examples
User storiesShare documents with vendor using
Files application in the cloud
Discover subject matter experts using
Connections Profiles
Getting Started With Social Business Toolkit SDK
What you need:Notes/Domino 9.0 or 8.5.3(plus ExtLib)http://www.tinyurl.com/IBMDominoDesigner
IBM Social SDK http://ibmsbt.openntf.org/
What you should have:Access to IBM Connections, e.g.a greenhouse account on https://greenhouse.lotus.com
an IBM Collaboration QuickStart Image (free 60 day trial)
Access to other Social platformsTwitter, Facebook, Dropbox
you name it!
Trouble Ticket app from OpenNTFhttp://openntf.org/main.nsf/project.xsp?r=project/Trouble%20Tickets%20Notes-to-XPages%20Example
ppt template divider slide 1c-01.png
Futures
2H 2013
1H 2014
2015
2H 2014
Notes/Domino Social Edition V.next Maintenance Release
Domino Designer 9.0.1
IBM Enterprise Integrator for Domino 9.0.1
Notes/Domino Social Edition 9.0.1 Maintenance Release (MR)
Domino Designer 9.0.1 MR
IBM Enterprise Integrator for Domino 9.0.1 MR
[TBD] Domino Applications in the cloud (PAYG)
ND 9.0.1 Mar Fix Pack
ND 9.0.1 Nov Fix Pack
ND 9.0.1 Jul Fix Pack
IBM Domino Application Development
Roadmap
CLOUD
ON-PREMISES
[TBD] Domino Applications in the cloud (BYOL)
Mobile Web Application Trends
TodayDedicated mobile controls
Look & Feel that emulate a native experience
TomorrowResponsive web design
True Build once, run anywhere
Mobile First
Responsive web designRealizing build once,
run anywhere
Increase the number of
XPages controls with
responsive renderings
Provide richer experienceSupport additional mobile
gestures
Additional events to provide
finer grained control for developers
Improve ability to utilize device
specific services
Progressive enhancement - optionally
configure controls for desktop web or mobile experience
(date/time picker vs. spinner)
XPages Mobile Futures
Responsive By Nature
For Mobile Web Apps, the industry favors a Mobile First approach that is heavily based on Responsive Web Design principles
XPagesXPages applications are essentially Mobile Web Apps
XPages should provide a highly responsive control and feature set
XPages responsive controls and feature set should use progressive enhancement where possible to provide a richer user experienceTouch Gestures (eg: Touch/Lazy scrolling, )
Responsive Themes will be key to enabling a highly responsive experienceIBM OneUI Next (Beyond C4) / IBM OneUI IDX
Bootstrap for XPages (http://bootstrap4xpages.openntf.org/)
Boosted by Server-side Responsive (RESS) capabilities
for maximizing leanness and processing
IBM Domino Applications In The Cloud
What's Coming
An expressway for bringing Domino Applications to the cloud New or existing customer applications
ISV solutions
Leveraging the IBM SoftLayer cloud infrastructure Automated, Highly Available
Worldwide data center footprint
Pay per use and scale as needed
Work with ISSC and IBM Business Partners to
customize and manage
Based on
Domino application server offered as a Platform as a Service (PaaS)
Realize the value of Domino as an application
platform on the IBM cloud!
Provision instances of Domino on SoftLayer
Provides a smoother transition of Domino
applications off premises to IBM cloud
Customers moving to SmartCloud Notes
Customers with only Domino applications
Allow ISSC and BPs to provide cloud based hosting and
maintenance services
for Domino application servers
Allow ISVs to deliver Domino based solutions from IBM cloud
IBM Domino Applications In The Cloud
A Little Bit Deeper
Streamline process for standing up Domino in the cloudProvision instances of Domino on SoftLayer
Identify common patterns and configure serversHybrid architectures
Add servers to domains
Build applications for on premises or cloudSame programming model and APIs
Run with hybrid environments
Customers with only Domino applications
Compliment with servicesISSC Managed Business Solutions for hosting applications
Partner services for hosting and modernization
ISVs bundling solutions with platform
IBM Domino
Applications
QDiligence Online D & O Questionnaire Solution
Challenge: Automate the completion of Corporate Board Directors
and Officers annual questionnairesCorporations today perform their
D&O process manually
or semi-automatically with MS Word/PDF
Questionnaire prep takes weeks, zero visibility
to completion status, analysis requires manual
review of each questionnaire
Solution Description:IBM Domino XPages application accessed
via
mobile devices or desktop browsers
XPages architected to quickly provide fully
customized solutions to multiple companies
from a single application
Benefits: Very fast migration of D&O Questionnaire process online
Up to 80% time/cost reduction in Year 2
Increase in Board of Directors satisfaction
"IBM SoftLayer allowed QDiligence to quickly stand up an
optimized cloudbased infrastructure for our Domino based corporate
directors and officersquestionnaires solution."
- Russell Maher Principal, QDiligence
ppt template thank you 1-01.pngAccess Connect Online to complete your session surveys using any:
Web or mobile browser
Connect Online kiosk onsite
BACKUP
IBM SBT SDK Playground
IBM Domino
Applications
Rework
BACKUP
IBM SBT Connect 2014
IBM Domino
Applications
Copyright IBM Corporation 2014. All rights reserved.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM, the IBM logo, ibm.com, ] are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol ( or ), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at Copyright and trademark information at www.ibm.com/legal/copytrade.shtml
Other company, product, or service names may be trademarks or service marks of others.
Availability. 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. 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.All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. 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.
Acknowledgements and Disclaimers
ppt template title slide 2-01.png 2014 IBM Corporation
IBM SP 8-bar pos_horizontal-01.png
ppt template content slide 2-01.png
ppt template content slide 2-01.png
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
2013 IBM Corporation
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level
2013 IBM Corporation