IBM® Cloud and Smarter Infrastructure Getting Started with Maximo Anywhere 7.5 Document version 3.0 Anna Biazeti STSM, Smarter Infrastructure Architecture William Cary Solution Architect Council Leader Bradley K. Downing Senior Managing Consultant © Copyright International Business Machines Corporation 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Getting Started with Maximo Anywhere 7.5 Contents Introduction ..................................................................................................................................... 3 Technical Overview ........................................................................................................................ 3 Architectural Principles .............................................................................................................. 3 IBM Worklight mobile application platform .............................................................................. 4 IBM Worklight Components Overview...................................................................................... 5 Worklight Studio..................................................................................................................... 5 Application Center .................................................................................................................. 6 Worklight used by Maximo Anywhere....................................................................................... 7 Maximo Anywhere Components ................................................................................................ 8 Recommended Deployment Scenarios ....................................................................................... 9 Product Licensing Metric and Compliance Considerations............................................................ 9 Use Scenarios ............................................................................................................................ 10 License Limitations Pertaining to Worklight ............................................................................ 10 Recommendations and Best Practices .......................................................................................... 10 Device Encryption .................................................................................................................... 10 Secure Communication Protocol (SSL) .................................................................................... 11 Enterprise DMZ ........................................................................................................................ 11 Worklight Server Installation .................................................................................................... 11 Maximo Anywhere Installation ................................................................................................ 11 System Requirements and Supported Configurations .................................................................. 12 Installation Procedures .................................................................................................................. 12 Worklight Server/DB2/Multi Instance ...................................................................................... 14 Worklight Server/DB2/Multi Schema ...................................................................................... 16 Worklight Server/Oracle/Multi Instance................................................................................... 19 Worklight Server/Oracle/Multi Schema ................................................................................... 21 Maximo Anywhere Install/Deployment ................................................................................... 23 Installing and Configuring Work Light Studio ......................................................................... 25 SSL Configuration .................................................................................................................... 26 Enabling Data Encryption for Maximo Anywhere ................................................................... 27 Post Installation Query Configuration ...................................................................................... 28 Cautions and Limitations .............................................................................................................. 29 Troubleshooting ............................................................................................................................ 28 Logging ..................................................................................................................................... 30 Known Problems / Explanations or Solutions .......................................................................... 31 2 Getting Started with Maximo Anywhere 7.5 Introduction IBM Maximo Anywhere 7.5 Maximo Anywhere 7.5 is built on IBM’s Worklight mobile development platform. This development approach enables the Maximo Anywhere mobile roadmap to include all of IBM’s Smarter Infrastructure (SI) solutions. The core of IBM SI includes Maximo, Maximo Industry Solutions, SmartCloud Control Desk, and TRIRIGA. With this single mobile solution, all of these tools can be enhanced with mobile capabilities to satisfy mobile strategies across your entire enterprise In this initial release of Maximo Anywhere, the Android mobile operating system 4.x or later is supported for Maximo Work Management. Our strategy involves the eventual support for all of the more popular mobile operating systems (Android, Apple iOS, and Microsoft Windows operating), thus allowing you full freedom to utilize the most appropriate devices for your industry. The Maximo Anywhere product will support all variations of the connected and disconnected environments that you work with today. The new technology in Maximo Anywhere provides a configuration tool set which allows you to be in total control of how your users access IBM SI Solutions. You will be able to configure our mobile apps to suite your users specific roles and enterprise business requirements. The intent of this guide is to provide a condensed, straight forward step by step approach to deploying Maximo Anywhere in your enterprise. Since there is considerable documentation available through IBM’s InfoCenter, Support documents, and DeveloperWorks Wiki’s and more, this document will leverage those resources as references when you may like additional information. This document may be printed to simplify use in an installation scenario but may be most valuable when used online where the links can be accessed. Additional Resources: Maximo Anywhere Wiki on DeveloperWorks http://tinyurl.com/MaximoAnywhere75Wiki Maximo Anywhere Documentation on InfoCenter http://tinyurl.com/MaximoAnywhere75Documentation Technical Overview Architectural Principles IBM has developed several architectural principles to enhance the user experience. These principles employed in the platform and application development process 3 Getting Started with Maximo Anywhere 7.5 Mobile Device and Experience IBM chose the Worklight Platform as the starting point for Smarter Infrastructure (SI) Mobile Solutions. The SI Mobile Apps are Hybrid Applications (Web Standards + bridge to native features). IBM Seeks to employ Persona and Task based apps that are simple & intuitive. Connectivity and Data Synchronization IBM took great care in considering when the device connects to ensure data integrity through the synchronization process while maximizing device battery life, by leveraging the Worklight 5.0.6 data management APIs for local storage. The SI Mobile solution uses these APIs and augments the solution with planned and intermittent disconnected scenarios. IBM Worklight mobile application platform Accelerate Development • • • Web, hybrid, and native development: open, flexible, standard-based, multi-screen/omnichannel Functional testing Development lifecycle tools and integration Facilitate App Security and Trust • • Server-enforced authentication App authenticity and user-app-device binding 4 Getting Started with Maximo Anywhere 7.5 • Secure and syncable on-device storage • App version enforcement Enable User Engagement • • Unified push and SMS notifications Geo-location and context collections and intelligence Support Mobile Analytics • • • Efficient acquisition of analytics data Development, operational, and business analytics Offline and online event management integration IBM Worklight goes beyond mobile app UI creation to deliver mobile optimized, standardsbased, middleware and tools for enterprise-grade mobile applications and services creation IBM Worklight Components Overview Worklight Studio Eclipse Based IDE Environment-specific optimization 3rd-party library integration Drag-and-drop UI construction Device SDK integration 5 Getting Started with Maximo Anywhere 7.5 Supports auto-complete and validation Worklight Server- Adapters Universality Diverse support for enterprise integration technologies and back-end information systems Read-only & Transactional Capabilities Adapters support read-only and transactional access modes to back-end systems Fast Development Simple XML configuration and JavaScript APIs Security Fine-grained access controls Transparency Uniform exposure of back-end data for all adapter types Encrypted and synched on-device data storage Embedded JSON mobile database: JavaScript APIs to store, query and update data Multiple user support on the same device Supports data encryption Bi-directional data sync for simplified off-line operations Direct Update On-device Logic and User Experience Web resources packaged with app to ensure initial offline availability Web resources transferred to app's cache storage App checks for updates on startup and foreground events Updated web resources downloaded when necessary, with user confirmation or silently Detection upon startup and foreground Dialog for easy user selection App download progress bar Application Center A cross-platform, private mobile app store: (Android, iOS, BlackBerry) During development for early builds feed-back and reviews from stakeholders Production-ready for deployment to employees Supports versioning and updates Centralizes rating and feed-back LDAP integration of users and groups for access lists and app review, management and installation Easy to integrate and simple to run Integrates with IBM EndPoint Manager for Mobile Device for production deployment 6 Getting Started with Maximo Anywhere 7.5 Worklight used by Maximo Anywhere Maximo Anywhere is a Hybrid App using Worklight code, HTML5 and some device functions: Html, Javascript,css for common code across platforms which allows faster development and maintenance Android SDK, cordoba plugins where device specific feature needed Access to native features: GPS, barcode Scanning through camera, offline maps, email. (More to come in future releases) Disconnected – local data storage based on Worklight Json Store Connectivity and Data Synchronization Communication with Backend – OSLC – Standards based Integration: • Standard way to discover services. • Standard way to query for resources. • Standard way to represent resources. – Promotes loosely coupled integration – Performance, Performance, Performance OSLC Generic Adapter – Methods for querying, updating resources – Proxy to Maximo OSLC – Takes care of authentication, etc. – Json Store for device storage of data – Supports data encryption 7 Getting Started with Maximo Anywhere 7.5 Maximo Anywhere Components Maximo Enablement Package – Maximo/TPAE Integration Framework code for OSLC Provider – OSLC Object Structures – Dbc Scripts needed for anywhere Setup on Maximo server Maximo Anywhere Build Environment – Includes code and build/deploy scripts • Platform • Apps Work Execution Work Approval Worklight Studio and Worklight Server Environment Descriptions A typical Maximo environment will have: A Maximo administration computer where the application is installed and managed A WebSphere application server where the application is deployed A database server where the transactional and metadata are stored The administration computer has the “source” files for Maximo and the tools for managing the environment. The source files are built into an enterprise archive (EAR) file for deployment to the WebSphere application server. The WebSphere server provides a web environment where clients connect to the Maximo Application. The Maximo application connects to the database to store and retrieve data. This simplified environment to be scaled in many ways but the basics remain true. A typical Maximo Anywhere mobile environment will have: A Maximo Anywhere administration computer where Worklight/Anywhere is installed A WebSphere application server where Worklight (and Anywhere) is deployed A database server where Worklight data is stored The administration computer has the “source” or “build” files for the Worklight and Maximo Anywhere build environment. The WAR file for Worklight is deployed to the WebSphere server. The Maximo Anywhere mobile applications are built and deployed to the Worklight server that has been deployed to WebSphere. The Worklight server has an embedded application center for distributing and maintaining mobile applications with connected users. Mobile devices connect to the app center to install and maintain their mobile applications. At runtime, Maximo Anywhere mobile applications retrieve and send data through the Worklight server which communicates with the supported base Smarter Infrastructure application using Worklight Adapter Technology. Note: Worklight Adapter Technology uses OSLC. 8 Getting Started with Maximo Anywhere 7.5 Recommended Deployment Scenarios – – – – – – – Development Anywhere Source, Worklight Studio, Worklight Source on Mobile Admin Computer Maximo Source on Maximo Admin Computer WebSphere, Maximo, Worklight Runtime, Maximo Anywhere Runtime on WebSphere Test/QA/Pre-Prod/Prod Anywhere Source, Worklight Studio, Worklight Source on Mobile Admin Computer Maximo Source on Maximo Admin Computer WebSphere, Maximo on Maximo WebSphere Cluster Worklight Runtime, Maximo Anywhere Runtime on Worklight WebSphere Cluster Typical Production Maximo Anywhere Deployment Product Licensing Metric and Compliance Considerations The Maximo Anywhere product is licensed by Authorized User. Users must be licensed for the bundle of mobile applications for which they are accessing. In phase 1, this is pretty simple since the only bundle available is the Work Management bundle containing the Work Execution and Approvals apps. 9 Getting Started with Maximo Anywhere 7.5 Use Scenarios If a user is a mobile user ONLY, then the license to the bundle(s) that they access is all the license entitlement that they require. If on the other hand, as part of their role, the mobile user also returns to their desk periodically and accesses Maximo via their desktop computer, then the user must also have base Maximo product entitlements that correspond to their use of Maximo (i.e. Express, Limited Use Authorized User, or Authorized User). License Limitations Pertaining to Worklight The Maximo Anywhere product has Worklight components embedded within it. Customers are able to use the Worklight components for the purpose of running the Maximo Anywhere mobile applications. There are a few situations which will help to understand the boundaries of the Worklight use. If a customer accesses another data source besides Maximo (also TRIRIGA and SCCD starting in the phase 2 Anywhere product), such as ERP, Production system, another Asset Management system, then the changes to the mobile apps necessitate the need to obtain full Worklight license coverage. If a customer creates a brand new mobile application for Maximo (i.e. a mobile version of a custom application they created within base Maximo), then the changes necessitate the need to obtain full Worklight license coverage. If a customer creates a brand new mobile app over and above Maximo (or TRIRIGA or SCCD) for another enterprise system within their organization (which we expect a large degree of customers to do) then the creation of the new app necessitates the need to obtain full Worklight license coverage. Note: Clones are exempt from this license boundary as long as the business intent of the original mobile app is not changed (i.e create a contracts app from work execution app) Recommendations and Best Practices Device Encryption - Maximo Anywhere 7.5 installs mobile applications on mobile devices with device level encryption disabled by default. Mobile devices have some level of protection through password authentication but the data itself is accessible if the device password is compromised. In addition to authentication protection, some enterprise remote device management solutions (from your company) may include device level encryption. Maximo Anywhere does not store large quantities of data on the device in a format that might compromise the base application. With all this in mind, some enterprises may still require maximum protection of any data on a mobile device. If enterprise policy requires maximum security of device data IBM recommends that device level encryption be enabled. This action will encrypt the JSON stores on the device so that unauthorized users cannot access the data at any time. Enabling device level encryption means that JSON stores must be decrypted at user login time. Decrypting may add time to the login 10 Getting Started with Maximo Anywhere 7.5 process. In our tests, login without encryption enabled took under 10 seconds and with encryption enabled, it took under 30 seconds. Secure Communication Protocol (SSL) – Standard web communication security protocol is called Secure Socket Layer (SSL) and is also known as HTTPS. SSL encrypts all data being sent over a transmission method. In the case of Maximo Anywhere, end users will likely be communicating with a radio tower wirelessly and the radio tower will communicate over the internet with the Worklight server. It is possible for unauthorized people to capture unencrypted data from communication lines. IBM recommends using SSL for all communications over systems not controlled by your enterprise. Even with encrypted data on your mobile devices, the communication channel should also be protected. Enterprise DMZ – There is nothing in the Maximo Anywhere components that requires the use of a secure network. Yet for the above considerations, IBM recommends using an HTTP server outside the enterprise firewall in the DMZ at the entry to the enterprise network. All Worklight, Maximo Anywhere and base application components should be behind the firewall. This added level of security along with device encryptions and use of SSL will ensure the most secure approach to implementing Maximo Anywhere. Worklight Server Installation – The Worklight server installation is performed on the WebSphere server where Worklight will be deployed. If you do not already have a WebSphere environment, you may install the included WebSphere Liberty on a server dedicated for Worklight. Although it is technically possible to use the same WebSphere Application Server as the base Smarter Infrastructure application (Maximo in the case of Anywhere 7.5), combinations can make patching and upgrades more complex. For example, a patch to Maximo may require a fix to WebSphere that may not be compatible or supported with Worklight. IBM recommends a separate WebSphere Application Server on a separate Virtual Machine (VM) or physical server. Maximo Anywhere Installation – The Worklight Studio, and Maximo Anywhere install on the same administration computer. This computer is often called the Maximo Anywhere 11 Getting Started with Maximo Anywhere 7.5 development or build computer. Since the Anywhere administration computer is really just where the source and build files for the application deployment are stored and built, these files do not need to be on the server where Worklight is running. You can think of the administration computer as really the Maximo Anywhere development environment where the source files are modified and built into deployment packages. When it is time to deploy, the Maximo Anywhere packages will be deployed to the Worklight runtime application. System Requirements and Supported Configurations Our tests show that a single Worklight server can support many mobile devices. If high availability is a factor, at least two Worklight servers should be configured in a cluster and load balanced so that in the event of a failure, Worklight will continue to be available. The link below provides the most up to date information for minimum prerequisites and other specifications. Please review this content in detail. https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20Maxim o%20Asset%20Management/page/Maximo%20Anywhere%20system%20requirements Installation Procedures Whether you have an existing Maximo implementation or you are starting a new one, Maximo Anywhere 7.5 mobile solutions are designed to “plug in” to your system using dedicated components combined with state of the art Open Service for Lifecycle Collaboration (OSLC) integration communications. Before you begin, you should understand the difference between a multi-instance database and a multi-schema database. A multi-instance database environment is one where a database server is configured with distinct database instances for connectivity and storage of data. A multi-schema database environment is one where a single database instance is configured and database objects 12 Getting Started with Maximo Anywhere 7.5 such as tables and indexes are setup under unique users/owners. In multi-schema, there is only one database but owners within that database have access to different objects. Out of the box, Worklight expects to be in a multi-instance environment. In cases where multischema is required, please follow the installation procedures closely for your database environment. The following sections describe the procedure for installing the Maximo Anywhere software. Architectural considerations are delineated, so please refer to the section that applies to your system. The first six steps are common to all architectures. 1) Download the appropriate Packages from Passport Advantage Maximo Anywhere Worklight Server 2) Extract the contents of the Maximo Anywhere package into a folder called "Launchpad" 3) Extract the disk1 folder of Worklight Server package into Launchpad\masterSetupDisk 4) Run the Launchpad for your Corresponding Architecture (32 or 64 bit) 5) Click on Install Required Components, point to your Maximo directory and install Maximo Integration Framework and Maximo Anywhere Enablement and information center to your current Maximo environment as you would any other Maximo FP install. a. IBM recommends that you choose to manually defer the update and deployment option. 6) Once complete, manually run updatedb from ibm\smp\maximo\tools\maximo folder. Then rebuild and redeploy the maximo.ear file. Note: Worklight is shipped with WebSphere Liberty, a lighter version of WebSphere which does not require configuration for Worklight deployment. The following steps include steps for configuring the full versions of WebSphere. Those steps are identified by the words “On the WebSphere Server”. To use the included WebSphere Liberty product, select “Install WebSphere Application Server Liberty Profile” from the application server panel. If you are using Liberty, steps identified by “On the WebSphere Server” can be skipped. If you are not using the included WebSphere Liberty option, before you begin the Worklight Server installation, confirm that a WebSphere profile has been setup in your WebSphere environment for Worklight. See the following link for more information on WebSphere profile management: http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/topic/com.ibm.websphere.base.doc/ae/tpro_ profiles.html 13 Getting Started with Maximo Anywhere 7.5 Worklight Server/DB2/Multi Instance 7) Before beginning the Worklight Install, create the DB2 user that you will use for Worklight and assign the user to the DB2ADMIN group such as DB2USERS on the operating system hosting your DB2 database. Note: The DB2 user is created at the Operating System level. Create an OS user for DB2 to use with the Worklight DB. We create a user called “wluser” as an example. Replace instances of wluser with the username you create. 8) Run the following statements to create the required databases and grant permissions to the Worklight database user you created above. CREATE DATABASE WORKLIGHTDB COLLATE USING SYSTEM PAGESIZE 32768 CONNECT TO WORKLIGHTDB GRANT CONNECT ON DATABASE TO USER wluser DISCONNECT WRKLGHT CREATE DATABASE WLREPORT COLLATE USING SYSTEM PAGESIZE 32768 CONNECT TO WLREPORT GRANT CONNECT ON DATABASE TO USER wluser DISCONNECT WLREPORT CREATE DATABASE APPCNTR COLLATE USING SYSTEM PAGESIZE 32768 CONNECT TO APPCNTR GRANT CONNECT ON DATABASE TO USER wluser DISCONNECT APPCNTR QUIT 9) Click on the 'Install Maximo Anywhere Work Manager' and check the box beside 'IBM Worklight Server for Worklight Consumer Edition' 10) Select the Work Light Version 5.0.6 Install Package and click next. 11) Choose your shared install directory path then click next then choose the installation directory for Worklight, click next again. 12) On the database configuration screen choose IBM DB2 Enterprise Server Edition V9.7 and later. 13) On the setting screen enter the following data and click next three times Hostname: {host_name} for the db2 server 14 Getting Started with Maximo Anywhere 7.5 Port: port to the db2 server (generally 50000 for windows, 50005 for UNIX platforms) User name: WLUSER created previously Password: WLUSER password created previously. IBM DB2 Driver for JDBC: Download the driver from the link provided on the install screen, extract the driver, and point this installer field to it. 14) For full WebSphere installs, on the application server choice screen choose 'Use preinstalled application server' then choose 'WebSphere Application Server (Liberty Profile, 7.0,8.0,8.5 Full Profile)' and click next. 15) For full WebSphere installs, select the directory for your WebSphere Application Server that contains the Worklight Profile (e.g c:\IBM\WebSphere\AppServer.) 16) For full WebSphere installs, choose the Worklight Profile and then Select the Worklight Server and enter your WASADMIN username and password. 17) For full WebSphere installs, select the Installation Mode, either Single user or Multiple users. If multiple users select the appropriate OS group and continue until you can click install. 18) For full WebSphere installs, if prompted for an install package point to your disk1 folder in Launchpad\masterSetupDisk. This will install and deploy the Worklight Server to WebSphere Full Profile. You can verify the appcenterconsole and worklight console are running using the following URL. http://{yourhostname}:{yourport}/worklight/console http:// {yourhostname}:{yourport}/appcenterconsole 15 Getting Started with Maximo Anywhere 7.5 Worklight Server/DB2/Multi Schema 7) Before beginning the Worklight Install, create the DB2 user that you will use for Worklight and assign the user to the DB2ADMIN group such as DB2USERS on the operating system hosting your DB2 database. Note: The DB2 user is created at the Operating System level. Create an OS user for DB2 to use with the Worklight DB. We create a user called “wluser” as an example. Replace instances of wluser with the username you create. 8) Create your Worklight Database and grant access to the DB User using the DB2 Command Line Processor using the following command: CREATE DATABASE worklightdb COLLATE USING SYSTEM PAGESIZE 32768 CONNECT TO worklightdb GRANT CONNECT ON DATABASE TO USER wluser QUIT 9) Click on the 'Install Maximo Anywhere Work Manager' and check the box beside 'IBM Worklight Server for Worklight Consumer Edition' 10) Select the Work Light Version 5.0.6 Install Package and click next. 11) Choose your shared install directory path then click next then chose the installation directory for Worklight, click next again. 12) On the database configuration screen choose 'Install Apache Derby 10.8 Release (not for production use) 13) Click next until you reach to Application server choice page. Choose Install WebSphere Application Server Liberty Profile. 16 Getting Started with Maximo Anywhere 7.5 14) Click next until you see Install then click Install. If prompted for a Disk Location point to the Disk 1 Folder you extracted to Launchpad\masterSetupDisk. 15) Remove the Liberty Profile and Derby Databases after the install is successful by deleting the c:\ProgramData\IBM\Worklight folder. 16) Create the Worklight Database tables and set their individual Schema's using the following scripts and pointing to the db creation scripts installed with Worklight previously db2 CONNECT TO worklightdb USER wluser USING wluser_password db2 SET CURRENT SCHEMA = ’WRKSCHM’ db2 -vf worklightserver_home/WorklightServer/databases/create-worklight-db2.sql -t db2 CONNECT TO worklightdb USER wluser USING wluser_password db2 SET CURRENT SCHEMA = ’WLRESCHM’ db2 -vf worklightserver_home/WorklightServer/databases/create-worklightreportsdb2.sql -t db2 CONNECT TO worklightdb USER wluser USING wluser_password db2 SET CURRENT SCHEMA = ’APPSCHM’ db2 -vf worklightserver_home/ApplicationCenter/databases/create-appcenterdb2.sql -t 17) Create the WebSphere Data Sources to connect to DB2 in the WebSphere Console. 18) Download the DB2 JDBC Driver JAR files and copy to {WAS_HOME}/optionalLibraries/IBM/Worklight/5.0.6/db2 19) Expand Resources - > JDBC - > JDBC Providers - > Click on New and provide the following information Database Type : DB2 Provider Type: DB2 Universal JDBC Driver Provider Implementation Type: Connection Pool Data Source Name : DB2 JDBC Driver Then click Next -> Finish 20) Expand Resources - > JDBC -> Data Sources - > Click New Data Source 17 Getting Started with Maximo Anywhere 7.5 Data source Name: Worklight Schema JNDI Name: jdbc/WorklightDS 21) Click “Next” and select the JDBC Provider you created then enter the database information for your DB2 Worklight 22) On the Setup Security Alias Screen, click on Global J2C authentication alias at the bottom and enter the information for your Work Light Database User. Once created go back and under Component-Managed Authentication Alias, choose the Alias you created the click next and finished. 23) In the Data Source you just created, click on WebSphere Application Server Data Source Properties and check the "Non-transaction data source" box. 24) Again in the Data Source you just created, click on Custom Properties and select the property "currentSchema". Set this to the Schema for the Worklight Database (WRKSCHM) 25) Repeat steps 20 - 24 for the Application Center Schema and the Work Light Reports Schema using the following information Data source name : Worklight Reports Database JNDI name: jdbc/WorklightReportsDS CurrentSchema: WLRESCHM ----------Data source name: Application Center Database JNDI name: jdbc/AppCenterDS Current Schema: APPSCHM 26) Restart the WebSphere services then test the connection on your data sources. 27) Once your data sources have been tested you will need to modifying the worklight.properties inside the worklight war file. Open the file in a archive tool and edit the properties file. 28) Rremove the comments on the #wl.db.type and #wl.reports.db.type properties by removing # and replace with your corresponding database type in this case you would have: wl.db.type=DB2 wl.reports.db.type=DB2 29) Comment out the JDBC string as data sources are being used to make the connection by adding # infront of wl.db.url and wl.reports.db.url so it looks like #wl.db.url #wl.reports.db.url 18 Getting Started with Maximo Anywhere 7.5 30) Save the properties file back into the war 31) Manually configure WebSphere for Worklight server and deploy the Worklight war using the Worklight step by step documentation http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.workli ght.help.doc%2Fadmin%2Fc_manually_configuring_app_server.html Worklight Server/Oracle/Multi Instance 7) Before beginning the Worklight Install, create 3 databases using the Oracle Database Configuration Assistant called WRKLGHT, WLREPORT and APPCNTR. NOTE: Select the following character sets. Unicode (AL32UTF8) character set and UTF8 - Unicode 3.0 UTF-8 national character set. 8) Run the following statements to create the Worklight user on the databases you created above and grant the proper permissions. CONNECT system/<system_password>@WRKLGHT CREATE USER wluser IDENTIFIED BY wluser; GRANT CONNECT TO wluser; GRANT RESOURCE TO wluser; GRANT CREATE VIEW TO wluser; DISCONNECT; CONNECT system/<system_password>@WLREPORT CREATE USER wluser IDENTIFIED BY wluser; GRANT CONNECT TO wluser; GRANT RESOURCE TO wluser; GRANT CREATE VIEW TO wluser; DISCONNECT; CONNECT system/<system_password>@APPCNTR CREATE USER wluser IDENTIFIED BY wluser; GRANT CONNECT TO wluser; GRANT RESOURCE TO wluser; GRANT CREATE VIEW TO wluser; DISCONNECT; 9) Click on the 'Install Maximo Anywhere Work Manager' and check the box beside 'IBM Worklight Server for Worklight Consumer Edition' 10) Select the Work Light Version 5.0.6 Install Package and click next. 11) Choose your shared install directory path then click next then chose the installation directory for Worklight, click next again. 12) On the database configuration screen choose Oracle 11g Standard/Enterprise Editions Release 1 and Later 19 Getting Started with Maximo Anywhere 7.5 13) On the setting screen enter the following data and click next three times Hostname: host name for the oracle server Port: Port to the Oracle Server (1521) User name: WLUSER created previously Password: WLUSER password created previously. Oracle JDBC Driver: Download the driver from the link provided on the install screen, extract the driver and point this installer field to it. 14) On the application server choice screen choose 'Use pre-installed application server' then choose 'WebSphere Application Server (Liberty Profile, 7.0,8.0,8.5 Full Profile)' and click next. 15) Select the directory for your WebSphere Application Server that contains the Worklight Profile for example: c:\IBM\WebSphere\AppServer\profiles. Choose the Worklight Profile and then Select the Worklight Server and enter your WASADMIN username and password. 20 Getting Started with Maximo Anywhere 7.5 16) Select the Installation Mode, either Single user or Multiple users. If multiple users select the appropriate OS group and continue until you can click install 17) If prompted for an install package point to your disk1 folder in Launchpad\masterSetupDisk. This will install and deploy the Worklight Server to WebSphere Full Profile. You can verify the appcenterconsole and Worklight console are running using the following URL. http://{yourhostname}:{yourport}/worklight/console http:// {yourhostname}:{yourport}/appcenterconsole Worklight Server/Oracle/Multi Schema 7) Click on the 'Install Maximo Anywhere Work Manager' and check the box beside 'IBM Worklight Server for Worklight Consumer Edition' 8) Select the Work Light Version 5.0.6 Install Package and click next.| 9) Choose your shared install directory path then click next then chose the installation directory for Worklight, click next again. 10) On the database configuration screen choose 'Install Apache Derby 10.8 Release (not for production use) 11) Click next until you reach to Application server choice page. Choose Install WebSphere Application Server Liberty Profile. Note: Even though you may not be using WebSphere Liberty, this will streamline the installation process. 12) Click Next until you see Install then click Install. If prompted for a Disk Location point to the Disk 1 Folder we extracted to Launchpad\masterSetupDisk. 13) If you are not using the WebSphere Liberty installed, remove the Liberty Profile and Derby Databases after the install is successful by deleting the c:\ProgramData\IBM\Worklight folder. 14) Create a Worklight database for your Schemas using the Oracle Database Configuration Assistant. 15) Create 3 separate users for your Schemas on the Worklight Database (WORKLIGHT, WORKLIGHTREPORTS, APPCENTER) and grant the appropriate permissions. CONNECT system/system_password@WORKLIGHTDB CREATE USER wluser IDENTIFIED BY wluser_password; GRANT CONNECT, RESOURCE, CREATE VIEW TO wluser; DISCONNECT; CONNECT system/system_password@WORKLIGHTDB CREATE USER WORKLIGHTREPORTS IDENTIFIED BY WORKLIGHTREPORTS_password; GRANT CONNECT, RESOURCE, CREATE VIEW TO WORKLIGHTREPORTS; 21 Getting Started with Maximo Anywhere 7.5 DISCONNECT; CONNECT system/system_password@WORKLIGHTDB CREATE USER APPCENTER IDENTIFIED BY APPCENTER_password; GRANT CONNECT, RESOURCE, CREATE VIEW TO APPCENTER; DISCONNECT; 16) Create the tables in the Worklight database for each of the schemas, ensure you are running the scripts on the correct schema's. CONNECT WORKLIGHT/WORKLIGHT_password@WORKLIGHTDB @worklightserver_home/WorklightServer/databases/create-worklight-oracle.sql DISCONNECT; CONNECT WORKLIGHTREPORTS/WORKLIGHTREPORTS_password@WORKLIGHTDB @worklightserver_home/WorklightServer/databases/ create-worklightreports-oracle.sql DISCONNECT; CONNECT APPCENTER/APPCENTER_password@WORKLIGHTDB @worklightserver_home/ApplicationCenter/databases/create-appcenter-oracle.sql DISCONNECT; 17) Download the Oracle JDBC Driver for use with WebSphere Datasources. 18) Log into the WebSphere Console and expand Resources - > JDBC - > JDBC Providers and click on New and enter the following properties. Database Type: Oracle Provider Type: Oracle JDBC Driver Implementation Type: Connection pool data source Name: Oracle JDBC Driver 19) Save the Driver, then go back in and specify the path to your Oracle JDBC driver downloaded earlier. 20) Expand Resources - > JDBC -> Data sources and click on New. Set the JNDI name to jdbc/WorklightDS provide a description and click next. 21) Choose Select an existing JDBC provider and select the Oracle JDBC Driver you created earlier from the list. 22) Set the URL to the JDBC path for your Oracle Database (e.g jdbc:oracle:thin:@{yourserver}:1521:WORKLIGHTDB) 23) On the same data sources create two new custom properties user: wluser password: password for wluser user 24) Repeat steps 20 to 23 for the following JNDI, specifying the Worklight database and the user and password in custom properties for the corresponding schema's 22 Getting Started with Maximo Anywhere 7.5 JNDI name jdbc/WorklightReportsDS. JNDI name jdbc/AppCenterDS. 25) Once done test your data sources. 26) Once your data sources have been tested you will need to modify the worklight.properties inside the Worklight war file. Open the file in an archive tool and edit the properties file. 27) Remove the comments on the #wl.db.type and #wl.reports.db.type properties by removing # and replace with your corresponding database type in this case you would have. wl.db.type=Oracle wl.reports.db.type=Oracle 28) Comment out the JDBC string as data sources are being used to make the connection by adding # infront of wl.db.url and wl.reports.db.url so it looks like #wl.db.url #wl.reports.db.url 29) Save the properties file back into the war 30) Manually configure WebSphere for Worklight server and deploy the Worklight war using the Worklight step by step documentation http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.workli ght.help.doc%2Fadmin%2Fc_manually_configuring_app_server.html Maximo Anywhere Install/Deployment 1) Choose IBM Maximo Anywhere from the Installation Manager 'Install Maximo Anywhere Work Manager' Screen. 2) Complete the license agreements and on the 'Configuration for IBM Maximo Anywhere screen' enter the following properties. Note: Use lower case for the context root to simplify the user experience so they will not need to enter upper case characters in the URL. Worklight Server ----------------Protocol: http or https Hostname: Hostname of your Worklight console Port: Port uses to the access the Worklight console Context root: worklight War File: location of your worklight.war file Application Center 23 Getting Started with Maximo Anywhere 7.5 ------------------Url: URL to the application center and port. e.g http://appcenterhost:9081/ Context Root: applicationcenter Username: Username defined for your app center console Password: Password defined for your app center console. Default username/password is appcenteradmin\admin. Password also may have been provided at the end of the Worklight install. Maximo Enterprise Application -----------------------------Protocol: Protocol used to access Maximo http or https Hostname: Hostname to your Maximo server Port: port for your Maximo server Context Root: context for Maximo. Android Platform ----------------SDK Directory: Location of your android SDK install folder AP Version: Version of the Android API for example: android-18 3) Continue to finish installing the Maximo Anywhere files. 4) Ensure your build.properties and deploy.properties in the following folder have the correct properties. MaximoAnywhere\platform\mobile\config 5) From MaximoAnywhere\platform\mobile run build all-gen 6) From MaximoAnywhere\platform\mobile run build all-dist 7) Deploy the worklight.war file created under your MaximoAnywhere\platform\mobile\target\dist folder to your Worklight Server in WebSphere using the deployment instructions in the following document. http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.workli ght.help.doc%2Fadmin%2Fc_manually_configuring_app_server.html 8) From MaximoAnywhere\platform\mobile run build all-deploy 24 Getting Started with Maximo Anywhere 7.5 9) Access your Worklight Console and Application Center Console and ensure the mobile applications WorkApproval and WorkExecution exist. 10) Download the applications using the IBM Admin Center application to connect to the App Center Console on the device, or test using Google Chrome and preview common resources. Installing and Configuring Work Light Studio 1) Open the Launchpad and choose 'IBM Worklight STudio for Worklight Consumer Addition' 2) Check the boxes beside version 5.0.6 and choose next. 3) Accept the license agreement and proceed with entering the installation directory. Ensure 32 bit is checked as WLStudio doesn't suppoer 64-bit. Click Next 4) Check the following boxes and click Next Core Development Tools -JQuery Mobile Tools -Dojo Mobile Tools and library 5) Choose the path of your Oracle JRE, (this must be a 32 bit installation of 1.6 Java) and click next to finish the installation. 6) If you installed WL Studio onto a server with an existing eclipse installation, update the eclipse.ini using the steps in the following document. http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.workli ght.help.doc%2Fdevenv%2Ft_next_steps.html 7) Launch Worklight Studio from the IBM Software Delivery Folder in your start menu. 8) Create a new Work Space for Worklight 9) Go to Help - > Install New Software a) In the Work With: field enter https://dl-ssl.google.com/android/eclipse/ and click add b) Give your repository a name and the location will be pre-populated with the URL you entered in Work With: c) Click OK 10) Check the box beside developer tools and click next twice, review the license agreement and click finish and restart WL Studio 25 Getting Started with Maximo Anywhere 7.5 11) Once you enter the WL Studio again and choose your previous workspace you will be prompted for your Android SDK location, specify the directory to your Android SDK and click apply. 12) Right Click in the Project Explorer and Choose Import, expand General and select "Existing Projects into Workspace". Click Next. 13) Choose Select root directory and point to your MaximoAnywhere folder and click Finish. 14) From the windows menu tab choose preferences, expand ant and select runtime. 15) Click Ant Home and set it to c:\ibm\MaximoAnywhere\platform\mobile\releng\tools\ant 16) Open the Ant view by going to the Window tab - > Show View - > Other - > Ant 17) Drag the build.xml from your Project Explorer to the Ant view you previously opened. 18) Confirm your properties files in the project explorer are correct and pointing to localhost and port 8080 for the build in worklight server then double click on all-gen from the Ant View 19) Right click and refresh the Project Explorer, once done right click again and choose Import - > Import - > Import existing projects into workspace then select the following path and click ok and let the workspace build. MaximoAnywhere\platform\mobile\target\GEN\PROJ 20) Once your MaximoAnywhere eclipse project shows up, right click on it and choose 'Start Worklight Server' 21) Expand MaximoAnywhereProject - > Expand adapters - > Right click on 'OSLCGenericAdapter' - > Choose 'Run As' - > 'Deploy Worklight Adapter' 22) Expand MaximoAnywhereProject - > apps - > Right click on ' WorkApproval' -> Choose 'Run As' -> Build All and Deploy 23) Expand MaximoAnywhereProject - > apps - > Right click on ' WorkExecutionl' -> Choose 'Run As' -> Build All and Deploy 24) Access your applications via http://localhost:8080/console SSL Configuration 1) Open your browser and navigate to the your Maximo environment using HTTPS. Download the certificate using your browser to a file (worklight_ssl.cer) 26 Getting Started with Maximo Anywhere 7.5 2) Import the Certificate into the Worklight Default KeyStore (This is done using the keytool bunbled with Java). keytool -importcert -file c:\locationto\worklight_ssl.cer -trustcacerts -alias worklight -keystore defaut.keystore.worklight -storepass worklight 3) Update the worklight.properties to enable the default.keystore ssl.keystore=conf/default.keystore.worklight ssl.keystore.type=jks ssl.keystore.password=worklight 4) Modify the OSLCGenericAdapter.xml and fine the sslCertificateAlias <connectivity> <connectionPolicy xsi:type="http:HTTPConnectionPolicyType" cookiePolicy="IGNORE_COOKIES"> <protocol>${worklight.adapter.protcol}</protocol> <domain>${worklight.adapter.domain}</domain> <port>${worklight.adapter.port}</port> <sslCertificateAlias>worklight</sslCertificateAlias> </connectionPolicy> <loadConstraints maxConcurrentConnectionsPerNode="50" /> </connectivity> 5) Modify your deploy.properties so the following properties are changed for https adapter.connection.protocol=https adapter.connection.port=9443 ( or corresponding SSL port) 5) Rebuild the Worklight.war be issuing the following commands. build.cmd all-gen build.cmd all-dist 6) Redeploy the worklight.war to WebSphere using the following documentation. http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.worklight.help .doc%2Fadmin%2Fc_manually_configuring_app_server.html 7) Deploy the Anywhere application to the Worklight Console and the AppCenter Console by running build.cmd all-deploy Enabling Data Encryption for Maximo Anywhere To enable data encryption for Maximo Anywhere do the following. 27 Getting Started with Maximo Anywhere 7.5 1) Open up the build.properties from MaximoAnywhere\platform\mobile\config 2) Search for enableDataEncryption and change the value from false to true. 3) Rebuild and Redeploy the Worklight.war. Post Installation Query Configuration Once you have completed installation you will need to configure queries to download your work to the application. To do this you must go to the Work Order Tracking application in order to create a query for the Work Execution application. 1) Create a public query that will return the data you desire for your technicians in the field. Once you are satisfied with the query results save the query and make note of the name you created. Note: It must be a public query. 2) Edit the app.xml file for the work execution application. Navigate to the {maximoanywhere_home}\MaximoAnywhere\apps\{application_name} directory, on the Maximo Anywhere admin workstation. Open the app.xml file with the XML editor of your choice. 3) Add a query to the work list view. The work list view is the first view that is defined in the UI section of the application definition. Perform the following steps: a) In the <queries> element for the work list view, add a child element called <query>. b) Use the queryBase attribute to specify the name of the public query in Maximo Asset Management. The query name is case sensitive. c) Use the label attribute to specify the query label that is displayed in the work list menu. d) Optional: To define this query as the default query for the work list view, specify the query label as the value of the label attribute for the parent <view> element. NOTE: In the following example, we add three queries to the work list view for the Work Execution app: <view id="WorkExecution.WorkItemsView" label="Work I Own" saveonshow="true" <queries resource="workOrder"> <query label="Work I Own" queryBase name="WorkIOwn"> <query label="Assigned to My Labor" queryBase name = "WorkforMyLabor"> <query label="Work Assigned to My Crew" queryBase name="WorkforMyCrew"> <{Additional XML info is here.}> </queries> </view> 28 Getting Started with Maximo Anywhere 7.5 4) Add the query that you specified above to the primary resource. The primary resource is the first resource that you defined in the data section of the application definition. Follow these steps: a) In the queryBases element for the primary resource, add a child element called queryBase. b) Use the “name” attribute to specify the name of the public query in Maximo. The query name is case sensitive. In this example, we add the same three queries used in the above example, to the primary resource, workOrder, for the Work Execution app: <resource providedBy="/oslc/sp/WorkManagement" describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastucture#WorkOrder" name="workOrder" pageSize="100" class="application.business.WorkOrderObject"> <{A whole bunch of attributes appear here}> <queryBases> <queryBase name="WorkIOwn"> <queryBase name="WorkforMyLabor"> <queryBase name="WorkforMyCrew"> </queryBases> <{More XML stuff here}> </resource> c) Save the file. d) Build and deploy the application. Once you have completed this exercise you will be able to down load work orders to the device according to the queries you created. Cautions and Limitations Maximo Anywhere 7.5 is the initial release of an entirely new architecture around mobile computing. It is shipped with Worklight Studio to facilitate making small changes to the XML that controls the Maximo Anywhere applications. While Worklight is a very powerful platform that can be used to create applications, the license shipped with Maximo Anywhere limits the use of Worklight Studio and Worklight Server to the Maximo Anywhere applications only. In order to use Worklight for development of mobile apps an additional license must be obtained from IBM. Because this is an initial offering using this new technology, the standards used to ensure upgradability of applications is still being developed. Any changes to applications will likely have to be manually migrated to new versions. In addition, changes to the business logic cannot be supported at this time. 29 Getting Started with Maximo Anywhere 7.5 Troubleshooting Logging Installation Manager Logs The logs produced for error during the Mobile Anywhere install in the Installation Manager are found at the following path: \\ProgramData\IBM\Installation Manager\logs Maximo Anywhere apps Build/Deployment Logs The logs produced for error during the Maximo Anywhere apps Build/Deploy process are found at the following path: \\IBM\MaximoAnywhere\platform\mobile\target Mobile logging From the overflow menu on your mobile device select Settinges--> Advanced Settings --> Logging, On the Logging Data screen from the overflow menu select one of the following: Error, Info or Debug logging. Return to the worklist and reproduce the issue. Once you have this done, Go to the Logging Data screen from the overflow menu, and select Email Log. Disable logging when complete. Server Logging WebSphere Full Profile If using a Full WAS Profile you would find the Server logging in the normal WebSphere logs location for your Worklight Server. IBM\WebSphere\AppServer\profiles\WorklightProfiles\logs\WorklightServer\SystemOut.log IBM\WebSphere\AppServer\profiles\WorklightProfiles\logs\WorklightServer\SystemErr.log For more information about WebSphere profiles see the following link: http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/topic/com.ibm.websphere.base.doc/ae/tpro_profi les.html WebSphere Liberty Profile. The server logs for the WebSphere Liberty Profile Setup are found in the following directory. \\ProgramData\IBM\Worklight\WAS85liberty-server\wlp\usr\servers\worklightServer\logs 30 Getting Started with Maximo Anywhere 7.5 OSLC logging From the Goto Menu choose System Configuration - > Platform Configuration - > Logging. Filter for OSLC and change the logger from ERROR to INFO or DEBUG depending on detail of logging needed. Ensure an appender is set (Console, Rolling or Custom), then apply the settings from the Select Actions Menu. If the Console is set this will write to your Maximo SystemOut Logs in the following directory: IBM\WebSphere\AppServer\profiles\MaximoProfile\logs\MaximoServer\SystemOut.log If you are using a different appender then Console it will write to the path setup for your Root Logging Folder. You can check this from the Select Actions Menu. Known Problems / Explanations or Solutions Problem 1. If you happen to see this message when you start up the Worklight Server in Worklight Studio/JETTY server: [2013-11-14 13:53:57] Worklight Server started successfully on localhost:8080 [2013-11-14 13:53:57] FWLSE4001W: Failed to resolve JNDI name: "jdbc/WorklightDS". Application may fail to access the database in run time. If building for remote server - ignore this warning. [2013-11-14 13:53:57] FWLST0011E: ====== Worklight Project PROJ-project-customization failed to start: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial [2013-11-14 13:53:57] Activation failed. Bundle didn't start:C:\Users\IBM_ADMIN\workspace2013JETTY\ReleaseEngineering\ReleaseEngineering\target\GEN\PROJ\bin\PROJ-customization.jar [2013-11-14 13:53:57] FWLST0012I: ====== Stopped server for project PROJ-projectcustomization Resolution/Workaround: 1. Copy MaximoAnywhereProject/server/conf/worklight.properties to MaximoAnywhere/platform/mobile/target/GEN/PROJ/server/conf/worklight.properties 2. Refresh your MaximoAnywhereProject 3. Perform 'Build Project' on MaximoAnywhereProject 4. Perform 'Start Worklight Server' on MaximoAnywhereProject and it should come up. Reason Why: If you are running the jetty server, the worklight.properties cannot have any worklight settings. If you use the build scripts to execute the ‘all-dist’ command, it will update the worklight.properties with information from the config/worklight.war. Problem 31 Getting Started with Maximo Anywhere 7.5 2. When trying to launch build.cmd command, the following error is displayed: "The system cannot find the batch label specified - showJAVAErrorMessage" Resolution/Workaround: 1. Confirm the JAVA_HOME environment variable is configured 2. Confirm the JAVA_HOME environment variable path does not contain a space. (e.g. C:\Progra~1\Java\jdk1.6.0_18) 3. When trying to deploy Mobile Anywhere applications (build.cmd all-deploy), the following error is displayed: For input string: "9081applicationcenter" Perhaps the server or context is wrongly specified. Resolution/Workaround: 1. In deploy.properties, ensure the following entry has the appending backslash (/) at the end: worklight.appcenter.server.url i.e. http://hostname:9081/ Problem 4. During the Maximo Anywhere installation, when selecting the Oracle JDK, the following error is displayed: "The Oracle JRE bit mode must be the same as the bit mode of the product installation." Resolution/Workaround: 1. Ensure a 32-bit java/javaw.exe is installed and chosen. 32