Вы находитесь на странице: 1из 41

Mobile Web Applications(MWA)

By Gayathri.D
(Revised by Sumeet kabra for MWA in R12)

MWA in 11i and R12

Mobile Web Applications have changed a bit from 11i to R12 . The changes were made to R12 directory structure, for Security and for Autoconfig Engine For details about MWA in 11i proceed to next slide and about MWA in R12 jump to slide #34 ( type 34 and press Enter )

Agenda - MWA in 11i



Set up overview Configuration Options - mwa.cfg file - Key Mappings (device IP.ini and default_key.ini) Starting/stopping Mobile Apps Server Starting Server on Multiple Ports Configuring RF Devices Accessing a Mobile Application.
Oracle Mobile Applications for Inventory Management: Todays demand for accurate, real-time information access, and inventory speed for several industries is forcing mobile applications to Find solutions for industries such as warehousing, manufacturing, Distribution, retailing, logistics, and transportation. MWA will use wireless devices that support Internet Standards, Web Browser, and Telnet client. Technologies involved are Java, XML, TCP/IP, and Oracle 8i. Devices as hand held Radio Frequency (RF), Personal Digital Assistants (PADs), and Internet Phones are examples of mobile devices.

Agenda or this presentation: Overview of Setup This will include a high-level description of all the components involved and how they interact. Configuration Options Before starting the server, its important that youve got the server configured properly. Properties such as log level, the location of your .dbc file (which holds information needed to log into your database), and the port number on which you want to start your server all need to be set before you start the server. You set these parameters in the mwa.cfg file. You might also want to map your devices keys to certain server-defined functions (like erase a line). Key mappings and other device-specific characteristics are set in .ini files. Well then run through how to start and shutdown the server. You might want to start multiple servers for load balancing reasons. We go through how start the server on multiple ports. Next, we explain how to configure RF devices to point to and access the Mobile Supply Chain Applications. We conclude with the procedure to get to an actual mobile application. At each step, well also go over some troubleshooting tips to solve any problems that might come up.

Oracle Mobile Applications Architecture

Diagram Overview Typical three-tier Internet architecture. In the back-end is your 11i Applications server with Oracle database. In the middle tier is the Mobile Supply Chain Applications server. This is analogous to the Forms server and HTTP server, but is used to deploy applications to Telnet clients. The client in this context will typically be a mobile RF device running a Telnet client. The RF device communicates with the MSCA server through an access point. You need to do two things to start using Mobile Supply Chain Applications. Start the Mobile Supply Chain Applications Server (after configuring it). Configure your RF devices so that they are communicating with the server.

Most of the server-related configuration parameters are located in the $MWA_TOP/admin/mwa.cfg file. The important properties in this file are: Dbc File Used to connect to database. Stores username, passwd, database port, and other info used to login. Log Directory Sets the location of your log directory. We default to $MWA_TOP/log, but you may want to change this to point to your regular Applications log directory. Telnet Port Number You can set the port number on which you want the Telnet server to run. Important: You should set the port to a number greater than 1024. Anything less will require you to be root. The configuration file defaults to port number 2323.

Settings for MWA server

Class Paths /local/java/jdk1.4.2_04/jre/lib/rt.jar: /local/java/jdk1.4.2_04/lib/dt.jar /local/java/jdk1.4.2_04/lib/tools.jar: /lafrz/mfg_top/mfgdev/dmfdv11i/java/appsborg2.zip /lafrz/mfg_top/mfgdev/dmfdv11i/java

MWA Server Setup


MWA Configuration File
Port Number Conventions

Environment Verification
Dispatcher Usage

Configuring MWA Dispatcher

MWA Configuration File


Configuration File is used to set server related properties: Setup mwa.cfg as follows:
1) 2) 3) Locate file in $MWA_TOP/Secure/hostname_<sid> Copy mwa_template.cfg to mwa.cfg Edit mwa.cfg and configure following parameters: a. Set mwa.DbcFolder = Full directory of .dbc file ending with / b. Set mwa.DbcFile = dbc file name c. Set mwa.logdir = full directory of log file d. Set mwa.TelnetPortNumber = default port# e. Set mwa.DropConnectionTimeout = no. of minutes f. Set mwa.StaleSessionTimeout = no. of minutes g. Set mwa.LogLevel = error or trace

You can map device keys to server-defined functions in .ini files. These are located in $MWA_TOP/admin. There is a default_key.ini file in there already, which can be used as a template for the specific devices you might be using. The server will use the default_key.ini file if it cannot find the appropriate .ini file for your device. The syntax is <Action>=<Key>=<Description> So, for example, killing (or erasing) an entire line in a text field is set to Control+K. You can change this to F9, for example, if Control Keys are not easily accessible on your device. In these .ini files, you can also specify the devices height and width so the server knows how to format the output. The idea is to create a new.ini file for each type of device you have. For example, if your company is using Intermec Trakker 2415s, create an intermec2415_key.ini file that is based off the default_key.ini file, but has height, width, and key settings for the Trakker 2415.

You associate your device witha key mapping file youve created in the $MWA_TOP/admin/deviceIP.ini file. Two ways to do this. First way... If your devices are DHCP, put in a line like: Intermec 2415=intermec2415_key.ini Options on the left of the equal sign will appear before users log in. The user must select the option corresponding to the device he/she is using. Second way...(preferred way) If your devices are on Static Ips, you can specify which IP addresses should be associated with which key mapping file. For example, 130.35.112.*=intermec2415.ini In this case, the options screen is not shown and the user doesnt have to select anything. The server automatically knows which key mapping file to use based on the devices IP.

Port Number Conventions


Test Instance:
Dispatcher port = 30500 Telnet Server ports = 30502,30504,30506

Development Instance:
Dispatcher port = 30700 Telnet Server ports = 30702,30704,30706

Production Instance:
Dispatcher port = 30000 Telnet Server ports = 30002,30004,30006

Environment Verification
Verify that correct port numbers as per convention has been used
Verify the environment that is set correctly by sourcing the APPS_<sid>.env file Verify $MWA_TOP is set correctly Verify the DbcFolder and the DbcFile in the mwa.cfg file that is set to the location and filename of our Oracle Application .dbc file Verify the log directory that exists

Dispatcher Usage
Two Consecutive ports are needed per one MWA Server. One port is for

listening to RF device. The Other port is for listening to the MWA Server Manager. Three consecutive ports are needed for running the dispatcher. Mobile Users connect to Dispatcher port 30000. Dispatcher distributes mobile users among the three MWA servers.

Configuring MWA Dispatcher


Setup Dispatcher parameters in mwa.cfg:
1) Specify the port number and machine for running the dispatcher mwa.Dispatcher = hostname:port#

2) Specify the dispatcher worker thread count. No. of connections per MWA Server.
mwa.DispatcherWorkerThreadCount = 15

3)

Specify the dispatcher clients per worker. No. of MWA servers per Dispatcher. mwa.DispatcherClientsPerWorker = 10

Before starting the server, be sure the following is true: Youve installed Oracle Applications 11i. You have logged onto your Applications machine as user oracle. The mwa.DbcFile parameter is set to the location of your Applications .dbc file. This property is set in your $MWA_TOP/admin/mwa.cfg file. the .dbc file is used for storing all the information the server needs to log into your database (e.g., name of the server, database port, etc.)

MWA Server JVM Memory Allocation


Set MWA Server JVM Memory Size Unix - $MWA_TOP/bin/mwactl.sh NT - $MWA_TOP/bin/mwactl.cmd
Parameter VMCONFIG=-mx256m ms128m No. of users/Server Memory allocation 5 to 10 -mx128m ms64m 10 to 15 -mx256m ms128m

Initialization Parameter File : $MWA_TOP/secure/default_key.ini


Devices Specific Info DATASTREAMINDICATOR=28 DEFAULT_WIDTH=20 DEFAULT_HEIGHT=16 DEFAULT_TERM_TYPE=VT100 CHARACTER_SET=UTF8 PROMPT_RATIO=1:1 MWA Navigation Keys MWA_HELP=F1 MWA_MENU=F2 MWA_BACK=F3 MWA_FORWARD=F4 MWA Function Keys MWA_CLEAR_FIELD=CONTROLK MWA_LOVSUBMIT=CONTROLL MWA_MAIN_MENU=CONTROLN MWA_MESSAGE_DETAIL=CONTROLB

MWA_FIELD_DETAIL=CONTROLA MWA_BUTTON_ACCLRTOR=ESC MWA_PAGE_UP=CONTROLD MWA_PAGE_DOWN=CONTROLC MWA_ABOUT_PAGE=CONTROLX MWA_FLEX_POPUP=CONTROLF MWA_FLUSH_INPUT=CONTROLE MWA_DROP_CONNECTION=CONTROLZ INV Function Keys INV_GENERATE=CONTROLG WMS Function Keys WMS_SKIP_TASK=CONTROLS WMS_INVOKE_DEVICE=CONTROLP

deviceIP.ini
deviceIP.ini [device] DEFAULT=default_key.ini SYMBOL=gui_key.ini INTERMEC=intermec.ini
// Wildcard at the end of IP address is supported. [map] 127.0.0.1=default_key.ini

Startup and shutdown Script used in On Demand


start_mwa.sh
export MWA_TOP=/pimoti/applmgr/1159/mwa/11.5.0 export PATH=$PATH:$MWA_TOP/bin export DISPLAY=auohsimot05:1.0 nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh

start 30002 & start 30004 & start 30006 & start_dispatcher &

stop_mwa.sh
export PATH = $PATH:/pimoti/applmgr/1159/mwa/11.5.0/bin:/pimoti/applmgr/common/util/jre/1.1.8/bin nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh -login mobileadm/mobileadm stop_force 30002 & nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh -login mobileadm/mobileadm stop_force 30004 & nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh -login mobileadm/mobileadm stop_force 30006 & nohup /pimoti/applmgr/1159/mwa/11.5.0/bin/mwactl.sh stop_dispatcher &

Startup/Shutdown of MWA Servers and Dispatcher


To start the MWA Telnet Server: 1. Source the APPS_<sid>.ENV 2. cd $MWA_TOP/bin 3. mwactl.sh start [port number] 4. mwactl.sh start_dispatcher To Shutdown the Telnet Server: 1. cd $MWA_TOP/bin 2. mwactl.sh login xxx/yyy stop port# where xxx is the application user id with system administrator responsibility and yyy is the application user password. 3. mwactl.sh stop_dispatcher
Follow the steps outlined to start the MSCA server. Note that you can specify a port number when starting up the server. Specifying a port here will override the port specified in your mwa.cfg file. Immediately after starting the server, check to see if it worked. Telnet to the Server with a PCs Telnet client. telnet <host> <port> There should also be a new java process running on your machine. For Background running: nohup mwactl.sh start 2323 & Nohup = the process will continue to run even after user has terminated unix session. & = will launch the process in background mode

Here are some things to watch out for if the server didnt start up successfully. Log file will look like <port>.<system>.<log> The APPLSYS.env may have been changed to users environment file. (Example: visus02.env)

Starting the server on multiple ports

For load balancing reasons, you may want to start up multiple servers. Remember to start each server on a different port. Also, remember that the Server uses port n+1 when communicating with Server Manager. So, if you start on port 2323, then port 2324 is also taken, and port 2324 will not be able to be used. A dispatcher can be used to route requests to one of the servers. In the mwa.cfg file, modify the parameter mwa.Dispatcher=hostname:port. Set the hostname to the machine on which you want the dispatcher to reside. Set the port here as well. mwactl.sh start_dispatcher to start mwactl.sh stop_dispatcher to stop Notes: If you use the Dispatcher, we do not support the ability to reconnect from a dropped session and still get back to the same screen. You must start the dispatcher from the same MWA_TOP you use to start the Telnet server.

MWA Server specific XML File Tags


<oa_mwa_server> <hostname oa_var="s_mwahost">auohsimot05</hostname> <domain oa_var="s_mwadomain">oracleoutsourcing.com</domain> <mwaLogLevel oa_var="s_mwaLogLevel">error</mwaLogLevel> <mwaLogRotate oa_var="s_mwaLogRotate">Yes</mwaLogRotate> <mwaLogFileSize oa_var="s_mwaLogFileSize">10000000</mwaLogFileSize> <mwaDropConnectionTimeout oa_var="s_mwaDropConnectionTimeout">5</mwaDropConnectionTimeout> <mwaStaleSessionTimeout oa_var="s_mwaStaleSessionTimeout">60</mwaStaleSessionTimeout> <mwaDispatcherThreadCount oa_var="s_mwaDispatcherThreadCount">15</mwaDispatcherThreadCount> <mwaDispatcherClientsPerWorker oa_var="s_mwaDispatcherClientsPerWorker">10</mwaDispatcherClientsPerWorker> <mwaJVMb oa_var="s_mwaJVMb">FALSE</mwaJVMb> <mwaPortNo oa_var="s_mwaPortNo" oa_type="PORT">10009</mwaPortNo> <mwaDispatcherPort oa_var="s_mwaDispatcherPort" oa_type="PORT">10012</mwaDispatcherPort> <mwaActivateLOVByEnter oa_var="s_mwaActivateLOVByEnter">FALSE</mwaActivateLOVByEnter> <mwaSubmenuChangeOrgResp oa_var="s_mwaSubmenuChangeOrgResp">FALSE</mwaSubmenuChangeOrgResp> </oa_mwa_server>

Concurrent Program defn.


Sometimes, Customers specifically ask for defining concurrent programs for startup/shudown of MWA servers from front end in Oracle APPS 11i as in SR # 4418647.993 Steps for defining Concurrent program: 1) Copy start_mwa.sh and stop_mwa.sh to $XBOL_TOP/bin as start_mwa and stop_mwa Login from front end, and define Concurrent program executables as HOST type Define the concurrent program named as startup_mwa and stop_mwa Test the same, if you have CRT from the customer for bouncing MWA Update the Customer with successful results

2)
3) 4) 5)

To get to a mobile application 1. Login 2. Select Responsibility. 3. Select Menu Item

Common Issues
Dispatcher and MWA ports getting reset after refresh or running autoconfig. In Order to avoid autoconfig resetting the ports, we need to have standard ports on context file. Parameters listed above. Some times process doesnt get cleared after the stop command issued. Wait for some time and always, please check netstat i |grep <port #>. If you see port is still listening. Use lsof i |grep <port #>. Identify the process and kill them. When all ports are cleared start the services. Post start service can done from desktop dos prompt or start -> run with telnet <host.domain name> <port #> . Repeate this for all ports including dispatcher to make sure you get login prompt.
Q. The Server doesnt start successfully? Q. The Server doesnt allow me to connect if X users have already connected? Q. There is a long response time between the server and the client? Q. The Server drops my connection to the server if I have been idle for more than a couple of minutes? Q. Setting up of a cronjob for automatic bounce of MWA Servers ( SR # 4098760.999 )

PORTS:

Agenda - MWA in R12


New Environment Variables in R12 Changed Directory Structure in R12 Change for Security Change for Autoconfig Engine

New Environment Variables in R12

The following is the new environment variable introduced in R12.


o $INST_TOP The following are the new directories that the MWA server uses: o $INST_TOP/admin/scripts o $INST_TOP/admin/install

Changed Directory Structure in R12

In R12, MWA server startup files are available under $INST_TOP/admin/scripts and MWA server configuration files in $INST_TOP/admin/install

Note : Though the directories under $MWA_TOP continue to exist, the MWA server no longer uses those files.

Start/Stop MWA in R12


In On Demand instances we have wrapper script available to start MWA in $SCRIPT_TOP Start -> mwactlwrpr.sh start apps/apps Stop -> mwactlwrpr.sh stop apps/apps
Note : Instead of apps/apps Application user name and password which own the MWA can also be used

Change for Security


In R12, all the scripts that previously accepted the input parameters in the command line now accept these parameters in the following way: Secure format (for UNIX shell scripts): o <script_name> <command> <Enter key> o <username> <Enter key> o <password> <Enter key>

Change for Autoconfig Engine


The Autoconfig Engine scripts stopall (adstpall.sh) and startall (adstrtal.sh) manage MWA services when the following configuration parameters are set to enabled in the environment context file (<APPL_TOP>/admin/<CONTEXT_NAME>.xml): o s_other_service_group_status o s_mwastatus

MWA - References
For MWA Configuration details, please see following metalink notes: . Mobile Applications Technology Stack: 163931.1 . MWA Dispatcher port number usage: 170939.1 . MWA Dispatcher Usage and Example: 198543.1 Important MWA Dispatcher Fix: MWA Dispatcher linking MWADIS executable Bug 2284935 Note.269991.1
http://webiv.us.oracle.com/cgi-bin/cr/getfile.cgi?p_attid=72450.1:285051 MWA Site http://www-apps.us.oracle.com/mwa/ AdvancedBarCodes http://logistics.us.oracle.com/collat/repository/docs/AdvancedBarCodes.pdf MWA Java Docs : http://www-apps.us.oracle.com:1100/mwa/javadocs/MWA1084/

THANK YOU

Вам также может понравиться