Beruflich Dokumente
Kultur Dokumente
MODULE I
Sybase Unwired Platform and
Administration Architecture
The Sybase Unwired Platform is...
Sybase Unwired Platform (SUP) is a mobility-enablement platform that allows
you to create end-to-end mobile applications. It provides a server environment
for hosting mobile business objects. SUP consists of a cache, also referred to as
Cache Database (CDB), for storing mobile application data. SUP can handle
data synchronization between clients and back-end data systems. It provides
an integrated development environment (IDE) to create rich native applications
or quick hybrid web container applications. SUP supports client APIs to create
native mobile applications for BlackBerry, iOS, Windows Mobile, and Android
devices.
What is an EIS?
Enterprise Information System (EIS) is a back-end system that serves as the
source of data for Sybase Unwired Platform. Sybase Unwired Platform allows
connectivity to many types of EISs, such as:
Administrator Types
SUP has two types of administrators, namely, Unwired Platform Administrator
and Domain Administrator. The Unwired Platform Administrator has cluster-wide
administration rights, so he or she has full control of SUP. The Unwired Platform
Administrator is the super user of the platform. The Unwired Platform
Administrator can perform domain management, Server configuration, Device
Registration, Monitoring, and Package Deployment and Management. The
administrator is the domain owner and has all the domain administrator rights.
The Domain Administrator has the rights to perform Domain manager tasks.
The Domain Administrator can perform package deployment and management,
server connections, security configuration, and role mapping. The Domain
Administrator can only access the domains that the platform administrator
grants.
Administrator Tasks
..Mobile
..Mobile
..Mobile
..Server
application deployment;
application configuration and management;
application user and device registration;
configuration, maintenance, monitoring, and tuning.
The SCC is a browser-based utility where you can deploy and administer SUP. To
access the SCC, you need to enter the valid URL. After navigating to SCC, you
need to provide the user credentials. The user credentials are case-sensitive
Two Primary Components of a Mobile Application
Mobile Business Objects (MBOs) and the User Interface are the two main
components of a mobile application.
After the MBOs are created and deployed, developers create the User Interface.
The User Interface is the front end that contains the screens, controls, and
menus. The Workflow User Interface is created using the Mobile Workflow
Forms Editor in Sybase Unwired WorkSpace. The Native User Interface is
created in IDEs like Xcode, Eclipse, or Visual Studio.
Types of Sybase Unwired Platform Applications
By using Sybase Unwired Platform, you can build two types of mobile
applications. They are Workflow applications and Native applications.
Development
Test;
Single server installation;
Clustered installation;
Multitenant environments.
Platform Editions
The Unwired Platform Runtime has two editions.
Relay Server;
Unwired Server;
Data Tier;
Unwired WorkSpace and Mobile Application Development SDKs;
Sybase Control Center (SCC).
The Data Tier supports five databases. The first two databases are the
Consolidated Database (CDB) and the Messaging Database. The CDB caches
runtime MBO data. CDB supports only the Sybase SQL Anywhere database.
The Messaging Database is used in MBS applications. It is a temporary storage
location for storing individual messages, when the device is offline. The
Messaging Database supports only the Sybase Advantage database.
Data Tier Databases 2
The Cluster, Monitoring, and Logging databases are Data Tier databases. The
Cluster Database is located in the server tier that contains configuration
information about the cluster. It supports only the Sybase SQL Anywhere
database.
The Monitoring Database is used to collect server runtime metrics for analysis
or troubleshooting, when enabled. Monitoring Database is a Sybase SQL
Anywhere database.
The Logging Database is used to collect application run-time metrics used for
analysis or troubleshooting, when enabled. Logging Database is a Sybase SQL
Anywhere database.
Sybase Unwired Platform Clusters
When installing Sybase Unwired Platform, a cluster is automatically created.
You can cluster both the Server and Data tiers in a server. A server can be a
member of only one cluster. Clusters serve two common purposes. They
provide high-availability / failover and allow Load Balancing. Load balancing is
implemented using O/S or third-party hardware and/or software solutions.
Primitive (round-robin) load balancing can be achieved using the Relay Server.
Cluster Strategies
Clustering in a single machine provides a nonredundant environment. It is used
by a developer where the Data and Server tiers reside on the same machine.
Clustering on two nodes is a primitive architecture where the Data Tier is on
one node, and the Server Tier is on another node.
Clustering on three nodes is an architecture with two Server Tier nodes and one
Data Tier node. Clustering on N+2 nodes is a redundant architecture with
multiple Server Tiers supported by a relay server(s) and two Data Tier nodes.
Component 4: Unwired WorkSpace
The Unwired WorkSpace allows developers to
MODULE II
System Design and Installation
Design Considerations for Sybase Unwired Platform.
Installation Considerations
Before you begin installing Sybase Unwired Platform, consider these prerequisites:
Clustered Environments
A cluster consists of two or more servers or nodes that work together to
provide application services. The benefits of creating a clustered environment
are redundancy or fail-over and load balancing. Load balancing is important in
a more scalable environment, where you can easily install additional servers to
the cluster based on your business needs. In a Sybase Unwired Platform
environment, two types of clusters can be created. They are the Server Tier
and the Data Tier. When installing the Server Tier, a cluster is automatically
created. You also have an option to name the Server Tier cluster during
installation. Data Tier clustering requires Microsoft Failover Cluster.
Environment Options
The Sybase Unwired Platform can be installed for different reasons.
In a scenario where developers need a local installation on their machines, a
single server environment can be built, where the Server Tier and Data Tier
exists on the same machine.
Another scenario is where developers need a production-like environment to
test their applications prior to migration to production. In such a case, a
multiple server environment can be built, where the Server Tiers and Data Tiers
are installed on separate machines or may be clustered.
Additional Configuration Options
Additional Configuration options include options for load balancing and Relay
Servers. In your environment, a load balancer can be added in front of the
Relay Server by enabling a Windows Network Load Balance Cluster. To do this,
you need to provide static IP addresses. You can also use third-party load
balancing for hardware and/or software. When using Relay Servers, a Single
Relay Server option results in a chokepoint with no redundancy. To embed Relay
Servers with Windows Failover Cluster, you need to provide Active Directory,
Domain, and DNS. The Failover cluster is always mandatory for a Data Tier.
After installing the software, you can change the license. During the
installation, the bin folder is created. The bin folder contains the license.bat file
that allows you to upgrade or update SUP licenses without having to rerun the
installer. It can be used for both served and unserved license models. You can
change licenses at a command prompt using the license.bat PE LT command.
After installing an Active Directory domain and a DNS server, you need to
install the Microsoft Failover Cluster. In the active machine or supdata2, in the
Server Manager Console, under the Features section, click Add Features and
then select Failover Clustering to install Microsoft Failover Clustering. After the
Failover Clustering feature is installed, you need to configure the cluster based
on your business needs.
Create Shared Storage
In this setup, the Data Tier requires a shared storage to control the physical
database files. To set up or view the shared storage, you need to use the
Failover Cluster Manager utility. After you installed the Microsoft Failover Cluster
and created a cluster, the Failover Cluster Manager utility is installed. In the
Failover Cluster Manager utility, expand the Storage node to view the shared
storage. This shared storage could either be a disk cluster or a RAID array to
store the database files. For the class lab environment, a shared E drive is
created to be used by the members of the cluster for storage.
During the installation process, the User Account Control (UAC) should be
temporarily disabled.
The user who is installing Sybase Unwired Platform should have
administrator privileges. Therefore, the user should run the setup.exe file
with the Run as Administrator option.
If the company policy permits, create a new user account with static
credentials for the install. Otherwise, ensure to update the password for
the Sybase Messaging Service every time the user password changes.
It requires a license manager host name and license manager TCP port before
proceeding further. Select the type of license you wish to install and then click
Next.
Choosing Edition and Product License Types
To install a production server, you need to select the Enterprise Server option.
For Enterprise Server, the license type would be CPU License. For the
Enterprise Developer edition, the license type is Development and Testing.
Based on the business requirement, you need to select the edition and license
type.
Supply SySam Details
If you choose the served license type, you need to specify the host name and
port number of the SySam license server. Before you begin installing Sybase
Unwired Platform, you need to install the SySam license server.
Enable Data Tier Configuration
In order to change the defaults or install the Data Tier into a clustered
environment, the Configure data tier option should be enabled.
Data Tier Databases Configuration
After you enable the Data Tier configuration, you will be prompted to configure
the databases in the Data Tier. You need to set the port numbers and
passwords for all the databases. The Cache database server, Cluster database
server, and the LogData database server are SQL Anywhere databases with
default password SQL that can be changed during the installation process.
The SQL Anywhere database has .db and .log files. The transaction log is the
file that is updated on every transaction that occurs between the back-end and
front-end. By checking the checkbox, you can specify separate locations for
these files. To install into a Microsoft Failover cluster, enable the High
availability option
Installation Progress and Completion
The time to install a Data Tier node is approximately 10 minutes. At the end of
the installation, you need to ensure that there are no errors reported by the
installer. You should also confirm that the four Windows services namely
Advantage Database Server, Sybase Unwired CacheDB, Sybase Unwired
ClusterDB, and Sybase Unwired LogDataDB are created. Finally, you should
check if there are any errors logged in the Windows Event log.
Data Tier Servers Directories
The Servers folder contains the most important files stored in the folders
Advantage, SQLAnywhere, and Unwired Server.
The Unwired Server folder contains only a minimum number of required files,
as this is not a Server Tier installation.
After installing the first Data Tier node, you can begin installing the second
Data Tier node. Before you begin installing the second Data Tier node, you
should shut down the active node of the Microsoft Failover Cluster. This allows
the passive node to become active, giving it access to the shared data storage
E: drive. Repeat the installation of the second Data Tier node in the same way
as the first was installed
This completes the installation of the platforms Data Tier.
Data Cluster Client Access Point
Before installing the Server Tier nodes, a Client Access Point must be created
for the Windows Failover Cluster. The Client Access Point can be created using
the Windows Failover Cluster Manager console. In the Failover Cluster Manager
console, log in as the Domain Controller Administrator. Right-click Services and
applications and then select Configure a Service or Application. This starts the
High Availability Wizard.
High Availability Wizard
The High Availability Wizard configures the cluster so that another server
automatically resumes the service or application when a server fails. If the
service or application itself fails, it can be automatically restarted either on the
same server or on another server in the cluster depending on the options
specified. This is also known as failover.
Bring All Resources Online
After adding all of the platform services as resources, the client access point on
the Failover Cluster Manager screen will show the name of the client access
point, the drive where it is stored, all the resources, and their status as offline,
initially. Now, right-click on the statuses and set them to online.
Adding a Shared Folder to Generic Service
A shared folder must be added to the Client Access Point. To add a shared
folder, right-click the client access point and then select Add a shared folder.
Choosing Shared Folder Location
After selecting the Add a Shared folder option, the Provision a Shared Folder
Wizard opens. Here, the first step is to specify a shared folder location. In the
Location box, type in the path or click Browse to locate the folder.
Specifying NTFS Permissions
In the second step, you need to set the NTFS Permissions. As an administrator
user, you need to have Full Control rights to the specific folder to set the NTFS
permission. Select the Yes, change NTFS permissions option and then click the
Edit Permissions button. In the permissions for administrator section, ensure
that all the permissions are allowed and then click OK.
Setting SMB Permissions
While setting SMB Permissions, click the option to enforce full permissions for
Administrators.
Advantage Database Authentication Error - 1
After installing the Server Tier, the status of the Advantage Database service
will be online. If the service is offline, then a problem occurred when
authenticating the Advantage Database Server. To troubleshoot this problem,
navigate to the Data Tier server and check for the registry key value
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Advantage\Configur
ation\TPS_LOGS to find the location of the adsserver.ini file. The default value
is: C:\. If the adsserver.ini file does not exist, create it in the location identified
in the registry key value, on each data tier server.
End of Data Tier Install
At the end of the Data Tier installation, you will notice that both active and
passive nodes are installed.
The Client Access Point is created. You can now begin the Server Tier
installation. Firewall ports MBS port 5001 and RBS port 2480 may need
to be opened for the Server Tier installation to be successful, and
Windows Firewall may need to be disabled.
Providing Data Tier Information
Since you chose to configure the communication port, the installer prompts you
to provide data tier information. The Host name builds the connection to the
data tier. Enter the information required regarding Cache database, Cluster
database, and LogData database along with the password, which would by
default be SQL unless changed during the installation.
Server Tier Services
The Server Tier installs two Window services, the Sybase Control Center 3.2
and the Sybase Unwired Server.
Installation of Second Server Tier Node
Run the Sybase Unwired Platform installer again to install additional nodes
within the Server Tier cluster. Three different installation options are available:
Under the Unwired Platform Cluster, click on the Servers tab to view the Server
names and their role and status. Use the Sybase Control Center (SCC) to verify
that the members of the cluster are running.
You can create a new machine system environment variable named SQLANY12.
The SQLANY12 variable should specify the relay servers install location. (In
Windows/System Properties)
ISAPI Handler Mappings
After updating the Relay Server with the new configuration file, you will edit the
handler mappings. In the /ias_relay_Server Home page of the Internet
Information Services Manager window, double-click the Handler Mappings icon
to edit the Relay Servers ISAPI handler mappings.
Enabling ISAPI-dll
Once the Relay Servers ISAPI handler mappings are edited, you have to enable
the ISAPI-dll. In the Handler Mappings page, you will notice that the ISAPI-dll is
disabled by default. To enable the ISAPI-dll, select ISAPI-dll and then click the
Edit Feature Permissions link. In the Edit Feature Permissions dialog box, click
the Execute check box to enable the permission.
Configuring a State Manager as a Service
The dbsvc utility that is part of SQL Anywhere allows creation of Windows
Services. A service is created to run the State Manager as a process on a Relay
Server node. You should also ensure that the C:\Sybase\logs directory exists for
the service to start successfully.
Creating Outbound Enabler Configurations
To create an outbound enabler configuration for a given node of the server tier,
you will first choose its Server Configuration. Next, select the Outbound Enabler
tab and then click the New button.
MODULE III
Unwired Workspace Overview for
Administrators
Unwired Workspace
Installing the Sybase Mobile SDK 2
The ED(Enterprise Development Server) license is recommended for
development environment and not for production purposes. Each installable
component is available on the host and clustered systems. For a development
server, the license type is set to DT(Development and Test License Type
Servers). This type of license provides unlimited license on CPU/Cores or host
configuration for single host or multiple hosts or clusters. This license is
applicable for Enterprise Development Server and Enterprise Server.
Unwired WorkSpace User Interface
Let us explore the Sybase Unwired WorkSpace user interface. The WorkSpace
Navigator pane lists all the files related to a project. The Enterprise Explorer
pane contains connection profiles information. In this pane, you can navigate to
the Web Services, SAP Servers, Unwired Servers, REST Web Services, and
Database Connections. The Properties View window displays the properties of
the selected object. The Diagram Window displays project diagrams. The
Problems tab displays warnings and errors generated in a mobile application
project.
SAP BAPI/RFCs,
Database tables or stored procedures,
SOAP Web Services, and
REST Web Services.
In this case, the MBO attribute will be mapped to a column in a database table.
When data is extracted from external sources, you need to create connection
profiles in the Unwired WorkSpace. These connection profiles provide designtime connectivity needed for development and testing.
MBO Attributes
Attributes are mapped to a data source when an MBO is created. For example,
if the Data Source is a database table, then, in the Attributes Mapping tab,
Attributes are mapped to columns using the SELECT statement.
MBO Operations
MBO Operations have a name and a type. The operation types are CREATE,
UPDATE, DELETE, and OTHER. The OTHER operation type does not allow
data manipulation.
On the Enterprise Explorer, click the Import button. Specify the exported profile
path. When the import process is complete, the connection profiles will be
automatically refreshed in the Enterprise Explorer.
Post-Import Tasks
After importing the project and the connection profile to an Unwired
WorkSpace, you may need to modify the project components. You should verify
that the connection profiles are referencing the correct Data Source and Sybase
Unwired Server. You should also verify that the connection profile is using the
appropriate credentials to connect to both the back-end data source and the
Unwired Server.
Project Deployment
Deployment Methods
Once a mobile application or workflow is complete, it must be deployed to the
Unwired Server. Developers can use Unwired WorkSpace to deploy an
application to a test server. Administrators are responsible for deploying
applications to a production environment using the Sybase Control Center.
Setting Deploy Options
When deploying an application, you need to select a deploy mode and verify
the version number, package name, and the synchronization method.
Deploying JARs
. During deployment, a JAR file can be selected to deploy with the application.
This wizard to deploy JARs is enabled only when the developer uses the
Advanced Developer profile option.
MODULE IV
Using
Sybase
Administration
Control
Center
for
monitoring licenses
reviewing or modifying communication and DCN ports
managing replication-based synchronization settings
managing message-based synchronization settings
configuring Apple Push notifications
configuring BlackBerry Enterprise Server communications
creating Domains;
managing EIS Connections.
Monitoring Licenses
A license is mandatory for each server tier and mobile device. However, these
licenses have expiration dates. The devices will not be able to connect to the
server, if there are not adequate licenses. All the license related error
messages are logged in the Server log. Monitoring the number of licenses
and their expiration dates are part of the administrators tasks.
Reviewing Licensing Information 2
Sometimes, the number of devices exceeds the total device license count. In
such case, the access to the server is not permitted unless the license allows
In the Messaging tab, you can configure the ports used by RBS device
applications. It uses a strongly encrypted HTTP-based protocol. Listening
on multiple synchronization ports may provide greater flexibility and
reliability. Consider adding another port, when virus detection results in
dropped packets or connections. All messaging traffic is still funneled to
a single listener. Default ports: 5000 normal and 5001 for secure
port
Apple Push Notification Configuration 2
To create and download the Certificate file and to obtain a password, you
must be a registered Apple developer. The MobileWorkflowPushDistCert
is a sample Certificate file provided with SUP.
2195 and 2196 is used for Apple Push
the Update mode, which is the default mode, that updates the package
with updated objects;
the Noclobber mode that prevents the deletion of a package of the same
name on the target server from being deleted;
the Replace mode which replaces a package on the server; and
the Verify mode that verifies a package and returns any errors. However,
it does not deploy a package.
Body, or Custom. If you select From, then the parameter value is extracted
from the line of the email message that indicates the name of the sender of the
email. The parameter value can also be extracted using expressions. An
expression includes various operators, such as
##Equals which specifies that the field must exactly match the text in
the label;
##Begins with which indicates that the field must begin with the
specified text in the label
##Ends with which indicates that the field must end with the specified
text in the label;
##Contains which specifies that the text in the label must exist
somewhere in the field; and
##Regular expression which searches for text that matches the
specified pattern.
Once an application is registered, you can associate the application with one or
more domains and packages. On the Application tab, select an application and
then click Packages to view the application properties. In the Review
assignment window, the domains and packages assigned to the application are
displayed. Click the plus button to add a domain or package to the application.
Application Connections
Application connections can be made by associating an application instance
with a user. One application can be used by many users, or a user may be
associated with many applications. Click the Register button to create a new
application connection. This is similar to the Device Users in Sybase Unwired
Platform releases prior to release 2.1.
Register Application Connections
Before assigning users to workflow applications, you need to register and
activate the users.
Modifying Application Connections
When a device activation code expires, you can reregister an application
connection by using the options in the Application Connections tab. You can
also clone an application connection in the event that a user gets a new or
alternate mobile device. Cloning retains the user information so it can be
associated with another device.
MODULE V
Data Change Notification DCN and PUSH
Data Change Notification and Push
The Data Change Notification (DCN) is a mechanism that alerts and sends EIS
changed data to the CDB associated with an Unwired Server. The DCN
messages are formatted using JavaScript Object Notation (JSON) and are sent
over an HTTP or HTTPS connection. The DCN listener ports are 8000 for HTTP
and 8001 for HTTPS/secure.
Push is a mechanism that allows Unwired Server to notify clients of new MBO
data without waiting for the next MBO synchronization.
Administrator DCN Responsibilities
DCN administrator is responsible for creating the DCN messages. For example,
administrators can create an after-update trigger that will create the DCN
message and deliver it to the Unwired Server. Administrators should review the
DCN processing logs and work with responsible parties to correct the error
conditions. Administrators are also responsible for configuring secured and
unsecured ports to process DCN messages.
Data Change Notification Advantages
When data is modified in the back-end EIS system, the Data Change
Notification allows you to re-populate only the changed data and not the
entire MBO cache data.
It also allows the MBO cache to be updated in near real-time by the EIS
rather than on an Unwired Server driven schedule or client initiated
synchronization.
This reduces the traffic to and from the Unwired Server. Data Change
Notification ensures that there is consistency between the EIS and the Unwired
Server CDB.
Change Reconciliation with DCN
In order to implement DCN from the EIS to the actual device, two changes must
be reconciled which include the change from the EIS to Unwired Server CDB for
refreshing the data and the change from the CDB to the client database for
synchronization.
Types of DCN
There are two types of DCN. They are Regular DCN and Workflow DCN.
database triggers;
EIS system events
external integration processes such as user exits and Java.
The EIS systems configuration is required to support JSON and HTTP(S). The EIS
must be enabled to send the HTTP(S) requests to the Unwired Server.
Flow: Regular DCN with RBS
The flow of regular DCN messages between the client and the RBS involves
several stages.
The DCN log captures data for data change notifications between an enterprise
information system (EIS) and an MBO package. There are two types of DCN log,
namely, General DCN and Workflow DCN. The general log captures information
such as time, user, package, MBO, and error. Similarly, the workflow log
captures information such as time, user, package, operation, subject, from, to,
body, and error.
Enabling/Disabling DCN Logging
You can configure HTTP logging to record request event information logged by
DCNs.
By default, the HTTP logging for DCNs is enabled, and it prints the output to
<UnwiredPlatform_InstallDir>/Servers/
UnwiredServer/logs/<server.name> http.log file.
To disable the HTTP DCN logging, you need to follow certain steps. First, open
<UnwiredPlatform_InstallDir>/Servers/UnwiredServer/
Repository/Instance/com/sybase/djc/server/ApplicationServer/$
{yourserver}.properties file. Then, delete the enableHttpRequestLog line and
save the file. After saving the file, you have to restart the Unwired Server to
reflect the changes made.
This slide displays the locations of the <server.name>-http.log file and the
{yourserver}.properties file.
In the username, enter the name of the user with DCN role assigned.
In the password, enter the password.
The domain parameter refers to the name of the SUP Domain that will be
notified.
In the package parameter, you need to provide the details of the
package
name
including
version
string
in
format
package_name:version_info.
The dcn_request is the JSON string containing the operation name and
parameters.
The dcn_filter parameter is optional. It refers to the custom filter class
name used to pre-process the DCN request and post-process the DCN
status message.
authentication
is
dcn_request
The dcn_request parameter contains a two part JSON string, namely the
package name and message array.
The package name in the dcn_request is required for backwards compatibility.
This is generally ignored, and instead, the package name in the request URI is
used.
dcn_request Messages
Each dcn_request message includes a set of parameters:
The :upsert operation is used to inject data into the Unwired Server
cache or CDB for a specified MBO. This operation performs in place
update or insert to the Unwired Server cache.
The :delete operation is a specially built-in DCN operation and is not the
MBOs delete operation. This operation is used to delete data from the
Unwired Server cache for a specified MBO. It performs in place delete
to the Unwired Server cache.
:upsert
The :upsert operation requires to pass the entire key attribute(s) of the MBO in
order to locate the correct row. You can also use other MBO attributes in the
:upsert operation. In the :upsert operation, all columns should use the MBOs
attribute names, and not the data source column or parameter names.
:delete
The built-in :delete operation requires to pass the entire key attribute(s) of the
MBO in order to locate the correct row.
While using the :delete operation, you have to ensure that all columns should
use attribute names instead of column names.
User-defined Operations
The User-defined MBO operation requires the name of the user-defined
operation.
For example, in the Customer MBO, createCustomer uses the CREATE
operation.
It also requires all parameters used in the MBO operation. While using the Userdefined MBO operation, all columns should use the MBO parameter name.
The User-defined operations support any type of operations such as CREATE,
UPDATE, DELETE, and OTHER.
Multiple Messages in a Single DCN
A single DCN may contain multiple messages, and each message will contain a
specific operation. For each message in the array, you get a result description
in the DCN response. To distinguish between message results, you must use
the message id.
DCN Response
Unwired Server returns a JSON string which contains a status message for each
message sent. You have to use a custom DCN filter to alter the response
representation.
The Username or to parameter refers to the SUP user name and not the
username used to register the device.
The subject parameter refers to the workflow message.
The Originator or from parameter is the one from whom the workflow
message originates.
The Body of the workflow message or body parameter can embed
customized information.
The received is a parameter which indicates the received time of the
Mobile Workflow message.
The read parameter indicates whether the Mobile Workflow message is
read.
The priority parameter denotes whether the Mobile Workflow message
has a high priority, and
The list of dcn request or data parameter has the JSON format string as
previously seen in dcn_request.
Push Overview
MODULE VI
Security Administration - RESUMEN
Intrusion Detection/Prevention Software
When using an Intrusion Detection or Prevention software, you should be aware
that these type of programs can cause problems in Sybase Unwired Platform.
The Personal Firewalls or Intrusion Detection or Prevention software such as
McAfee Host Intrusion Prevention can cause platform components to
malfunction or not function at all.
Unwired Server uses IP communications with all components through the
primary network interface. Therefore, any malfunction or dysfunction of the
components creates a security threat.
Platform Administration Security
For secure platform administration, you need to
First, log into the Sybase Control Center with the installation-defined user
name and password.
In the Security node of the navigation pane, click admin to make
changes to the admin security configuration and replace the
PreconfiguredUserLogin security provider.
Next, disable Authentication Caching and increase Log Levels.
Validate or test the changes made to the admin security configuration.
Finally, enable Authentication Caching and decrease Log Levels.
create at least one new tenant domain in the Sybase Control Center;
restrict the use of the "admin" security configuration on the "default"
domain to administration authentication only;
assign at least one domain administrator;
create and assign at least one new security configuration.
BlackBerry uses the HTTP gateway push features of the BES. To enable
the push mechanism of BlackBerry, you have to use the Sybase Control
Center to configure the push notification from Unwired Server to each
BES Server.
iOS uses the APNS service. APNS is a server that is administrated by
Apple and requires ports 2195 and 2196 to be open in the firewall.
Android and Windows Mobile use either device tracker or lightweight
polling.
End-to-End Encryption
End-to-end encryption occurs when data is encrypted at the point of origin and
decrypted at the final destination. The data is always encrypted during
transmission.
Relay Server
RSOE Security
Device to Platform Communications
The Relay Server is the first line of defense. The devices communicate through
the Relay Server. It acts as a proxy for the device and resides in the DMZ. The
Relay Server facilitates communications with Unwired Servers residing behind
the corporate firewalls. The Web Server host on IIS or Apache that the Relay
Server resides on should be configured to use a secure port.
How It Works
The Relay Server connects to the Unwired Server through RSOE.
The RSOE notifies the Relay Server about the farm that needs to be processed.
The Relay Server maps the farm name with the appropriate RSOE and routes
the request. The Relay Server will not read or manipulate the message content.
The authentication does not take place at the Relay Server level.
Client Application Settings Example
While setting up the workflow, you will have to install the Sybase Messaging
Client and provide details such as Host name of the Relay Server, Farm ID, and
Client Plug-in.
Relay Server and Security
The clients are not authenticated or authorized by the Relay Server. It is simply
a pass-through process. If the administrator enables the highest tracing
options, data may get copied to log files.
The data is not decipherable when an end-to-end encryption is used.
Security administrators secure the Relay Server as they would with any other
Web Server.
The Relay Server requires that a signed certificate be installed in order to use
HTTPS Authentication Provider.
RSOEs
Device Security
Device Security Overview
The multiple mechanisms that are combined to secure devices are
Subscriptions
Subscriptions determine the data set the device user receives upon
synchronization and how frequently the synchronization can occur. You can lock
the subscription to prevent the user from modifying the template and
controlling the synchronization frequency.
Application Connections
You can either lock or unlock the connections to control the users who are
allowed to synchronize data. On the Application Connections tab, select a user
and then click the Lock button to lock the user access. This is an effective way
to disable a specific user.
EIS Security
EIS - Unwired Server Communications
The EIS communicates with Unwired Server using the DCN feature. DCN uses
HTTP or HTTPS authentication providers, which prompts the user to enter a
user name and password. Administrators use the Sybase Control Center to
configure the HTTPS listener for DCNs. Developers should create the DCN
messages so that they use HTTPS. DCN authenticates all requests with the DCN
user role.
Unwired Server - EIS Communications
The Unwired Server communicates with the EIS by means of Operation Replays.
Replays are communicated depending on the EIS.
The EIS is a REST or a SOAP Web Service that uses BASIC authentication
over HTTP or HTTPS.
REST or SOAP for SAP uses BASIC/SSO2/X.509 authentication over HTTP
or HTTPS.
Whereas, JCo uses user name and password, SSO2 tokens or X.509 over
SNC. JDBC uses driver-specific mechanisms to encrypt data.
Authorization
MODULE VII
Monitoring and Tuning
Introduction to Monitoring
Monitoring Overview
security logs;
replication-based synchronization;
message-based synchronization;
system queue status;
data change notifications;
device notifications such as replication;
package statistics;
device users;
cache activities.
Monitoring Database
The monitoring database (monitordb.db) is one of the SQL Anywhere databases
that is created when the Data Tier node is installed.
Monitoring Profiles
A monitoring profile is available as part of the installation. The profile is named
as default and it is in disabled mode. You can configure the default monitoring
profile by selecting it and then clicking Properties. One of the parameters that
can be changed is the length of time that must pass before monitoring data is
flushed from the servers memory to the database
Configuring Monitoring Schedule
After selecting the domains and packages, you can schedule the monitoring by
using the options in the Schedule tab. By default, monitoring is scheduled to
Always On. To change the schedule, select Run Once or Custom. You need to
enter the Start date and the End date for the monitoring process. Also, you
need to specify the start and end time at which the monitoring will start and
end. If you choose Custom and if you did not provide the start and end date
and time, the Server will consider it as Always On.
Monitoring Configuration
Using the options in the Monitoring Configuration dialog box, you can configure
the monitoring profile based on your business needs. Auto-purge removes data
from the monitoring database.
To enable auto-purge, select the Enable auto-purge configuration option and
enter the number of days that data should be removed from the database.
Enabling flush threshold will automatically flush the monitoring data from the
servers memory to the monitoring database on an interval of every 5 minutes.
You can either enable or disable the auto-purge and flush threshold. When
enabling the flush threshold, you need to set the time interval and the number
of rows.
Enabling/Disabling Monitoring Profiles
Newly created profiles are not automatically enabled. You need to manually
enable them
Statistics
Security Log Monitoring
Security Log Monitoring in SUP is used to monitor user authentication.
The Security Log tab shows the user authentication history. On the Security Log
tab, you can view and analyze the connection or authentication errors for a
range of time periods.
Filtering the Security Log
. Entries can be sorted based on users, security configuration, time, and
package name.
Monitoring Data Categories
The Replication and Messaging tabs contain options to monitor replicationbased synchronization data. The Replication tab contains three subtabs:
Domain level
Package level
MBO level
Cache group level.
Too many cache misses may dictate the need to change the refresh schedule.
Exporting Data
Every tab in the monitoring process has the export option. Any of the
monitoring data can be exported as either XML or CSV files.
Defining a Performance Analysis Strategy
When defining a performance analysis strategy, know the specifics from users
regarding their perceptions of performance. Statements such as "Everything
runs slow are unacceptable. Determine specifics of a problem, such as:
Event;
Function;
Process;
Technique.
Number of RSOEs;
Increase shared memory of Relay Servers;
Unwired Server;
Data Tier;
Connectivity to the EIS;
Native or Workflow application.
Test the impacts without testing through the Relay Server. Ascertain the
maximum throughput of the Unwired Server and the cache database
alone.
Using a tool like Process Monitor, determine if JVM memory settings were
adequate and if the Data Tier servers CPU load is too high because of
the allocation of too many threads.
Iteratively test access by changing the thread count until low response
times are found for the same number of clients.
Re-introduce the Relay Server and test again.
operation is replayed on the server, which updates the CDB and uploads
that change to the EIS. Afterwards, the EIS downloads any changes to
the CDB which is uploaded to the device-local database.
Initial Synchronization Process
Initial synchronization process follows certain steps. First, the user initiates
synchronization by including a load parameter value. This request and
parameters are then passed to the EIS. Later, the EIS returns the data to the
CDB. After returning the data to the CDB, a partition is created for that request.
Finally, the device is synchronized with data from that partition.
Subsequent Synchronizations
After initial synchronization, subsequent synchronization can occur. Initially,
subsequent synchronizations will search directly to the CDB for their data. The
CDB may be updated or refreshed depending on settings in the Cache Group.
For example, a Cache Group could have an On Demand policy along with a
Cache Interval of 10 minutes, that is, the device gets the data from the CDB
every 10 minutes. After the CDB is updated, the data in that partition of the
CDB gets updated from the EIS. Finally, the updated data is returned to the
mobile device.
Performance Strategies
Performance strategies include designing the CDB cache to refresh client
application data on-demand. It also includes creating Cache Groups that
specifies data refresh behavior for every MBO in the group.
You have to ensure that the related MBOs must be within the same
Cache Group.
Creating Synchronization groups is also a part of performance strategies,
where the mobile business objects or MBOs that are to be synchronized
as a group are identified. The related MBOs must be within the same
Synchronization Group.
Performance strategies also include working with Data change
notifications or DCNs to define how often to update data in the cache
after data changes are detected in the EIS.
Cache Group
Every Mobile Application Project contains one Cache Group named Default.
MBOs are initially placed in this group. A cache group specifies the data refresh
behavior for every mobile business object or MBO within that group.
You can create a new cache group using the Unwired WorkSpace. Once created,
MBOs can be dragged from the Default cache group into the new cache group.
Cache Group Properties
New Cache Groups can only be created in the Unwired Workspace.
On demand option is where the application logic is combined with the cache
interval to determine when a cache refresh is triggered. The cache is not
updated until a request is made of the cache and the cache has expired.
On demand Policy
The interval is a balance between the device getting stale data and the
network traffic involved in updating the cache. A higher value makes the
data more stale, a lower value would cause a delay when the client
synchronizes because the cache would be updating more often.
Warning About Cache Groups
You will notice that the default cache group is set to On Demand with a cache
interval of 0h 0m 0s.
This means that every time the client synchronizes, there will be a delay
because the cache first has to be updated. This may not be the best performing
option possible.
Cache Policies - Scheduled
You will notice the Scheduled radio button displayed in the Cache Policy tab for
setting the cache interval. The cache is refreshed when a scheduled task is
executed. The scheduled task is defined by the Unwired Server administrator in
the Unwired WorkSpace. The scheduled tasks are configured in the Sybase
Control Center. The cache can also be refreshed as per the Cache interval. The
developer must configure the cache group to be scheduled and deploy the
project before the administrator can use the Sybase Control Center to configure
the schedule.
Configuring Scheduled Refresh in the SCC
After selecting the Scheduled radio button in the Cache Policy tab, next you will
configure the scheduled refresh in the Sybase Control Center.
The administrators are provided with access to configure the details of a
scheduled refresh in the Sybase Control Center.
You will notice the Schedule repeat field in the Schedule tab. There are three
options available under Schedule repeat field such as Daily, Hourly, and
Custom. The Custom option allows you to set the schedule interval.
Cache Policies - DCN
You will next select the DCN radio button in the Cache Policy tab.
In the DCN or Data Change Notification option, the cache never expires. Data
refresh is triggered by an EIS Data Change Notification. You will notice that
under the DCN option, the cache interval fields are disabled.
Cache Policies - Online
The last option in the Cache Policy tab is Online. The Online option is used with
Mobile Workflow applications which requires access to real-time EIS data.
Mobile Workflow applications are simple request/response applications.
Hence, this option is available only for MBS. Online option bypasses
the Unwired Server cache or CDB.
Updating Client Data
Unwired Server alerts the device users to update mobile business object or
MBO data based on synchronization group and subscription settings. When
MBOs in a synchronization group are updated, users subscribed to those
synchronization groups receive either a direct data update or device
notification. The type of notification depends on which type of application is
running on the mobile device - RBS or MBS.
Platform Sizing
Sizing Defined
The term Sizing refers to the activity of determining the types of hardware
required to run a platform, such as:
Network bandwidth;
Physical memory;
CPU processing speeds;
I/O capacity.
When sizing a hardware platform, the number of users and the data load on the
server should be considered.
SAP Application Performance Standard
SAP Application Performance Standard (SAPS) is a hardware-independent unit
that describes the performance of a system configuration in the SAP
environment.
It is derived from the Sales and Distribution (SD) Benchmark, where 100 SAPS
is defined as the computing power to handle 2,000 fully business processed
order line items per hour.
The numbers describe the number of SAPS needed to accommodate the
scenarios. For more information about SAPS, visit the SAP website.
Sizing for MBS Applications
Sizing MBS applications is typically simple because they have small payloads.
The factors that impact sizing of MBS applications include:
An MBS Scenario
An RBS Scenario
Upload phase replays the operations to the CDB and to the EIS. In download
phase, the changes in EIS are brought back to the CDB. A sample data for a
sizing scenario is displayed on the screen.
Sizing Per RBS Scenario
You will notice sample data displayed that provides the sizing for each RBS
scenario.
The application performing 300 DCN activity client payload is categorized as
Small.
This DCN activity requires 2500 server SAPS and 3750 data tier SAPS. To
download 1000 synchronizations, the application requires 250 server SAPS and
1500 data tier SAPS. Similarly, to upload 1000 synchronizations, the application
will require 3250 server SAPS and 4500 data tier SAPS.
MODULE VIII
Maintenance and Troubleshooting
Common Maintenance Tasks
Maintenance Required
The artifacts that impact the performance of the platform are:
Caches;
Connections;
Databases;
Devices and Users;
Error history;
Logs;
Packages.
should happen from the Schedule repeat drop-down list. Finally, on the Options
tab, enter the number of days the cleanup should be preserved. This option is
applicable only for Client Log Cleanup and Subscription Cleanup tasks.
Review: Domain Log
The Domain logs provide detailed information on synchronization, such as
device notification; DCN; security, error, and connection information. They also
provide different views of information which are helpful in tuning and
troubleshooting the environment.
Package Maintenance
When the applications are updated or deleted, the corresponding packages
should be removed from the Unwired Server.
Select a domain in the navigation pane of the Sybase Control Center and
expand the Packages node. Then, select a package you wish to modify.
To remove the package from the Unwired Server, click Delete on the General
tab. The status of the package is displayed on the General tab. Select a
package and then click Disable to deactivate it.
Maintaining Connections
Similar to packages, the connection profiles will become stale or unneeded.
Administrators should ensure that the unneeded connection profiles are
deleted.
Application Connection Maintenance
Each device user has a license. When the number of device users exceeds the
number of device licenses, the server rejects the connection and stops
functioning. Therefore, you need to delete any unwanted application
connections. Sometimes, application connections are referred to as device
users.
Workflow Maintenance
Administrators can lock or remove the unwanted workflow applications. For
example, when administrators have deployed workflow application version 2
and user are working on version 2, you can remove the version 1 workflow
application which is not in use anymore.
On the General tab, select a workflow application and then click Delete or Lock.
Workflow Assignments
Apart from removing and locking the workflow applications, administrators
have to assign and unassign workflow applications to the users. To do this,
expand the Workflows node in the Sybase Control Center and then select a
workflow application. Then, on the Application connections tab, click Assign
The Relay Server utility allows you to configure or update the relay
server.
The Relay Server utility is used to perform RSOE administration.
The Unwired Server utility applies manual configuration changes.
The Unwired Server utility reconfigures the Unwired Servers to use new
cache (CDB) properties.
The Licensing utility is used to upgrade licenses.
Command-Line Utilities 2
This slide depicts some command-line utilities:
Configuration Files
The configuration files contain values read by the Unwired Server at startup.
Some server components read these configuration files periodically.
Administrators can instruct the Unwired Server to read the configuration files
on demand. Some changes will require you to restart the server. Sybase
recommends that you modify the configuration files only if you cannot use the
Sybase Control Center.
sup.properties
Sup.properties is a global properties file that allows you to configure many
Unwired Server components.
LOCATION:
\sybase\unwiredplatform\servers\unwiredserver\repository\instance\co
m\sybase\sup\server\SUPServer
View of sup.properties File
You can open the sup.properties file in Notepad to view the various
configuration settings of the Unwired Server. Rather than opening the Sybase
Control Center to change the settings, you can open the sup.properties file and
make the required changes in Notepad. After editing the file, you need to
restart the server to reflect the changes made.
Using UpdateProps.bat
If you do not want to update the sup.properties file directly, you can use the
UpdateProps.bat utility to edit the settings. At the command prompt, type
updateprops nv <name of the property> = new value. This utility updates
the sup.properties file. You need to restart the server for the changes to take
effect.
Understanding SQL Anywhere Databases
SQL Anywhere databases consist of two physical files. They are the database
file and the transaction log file. The database file or the *.db file is composed of
pages of data from the database tables and index information. The transaction
log file or the *.log file contains a record of all the operations performed on the
database. If the *.db file becomes corrupted, it can be re-created by restoring
an older *.db file and applying the changes in the *.log files. The performance
increases because information is written to the log file, and the server writes to
the database file less frequently. These log files are used during
synchronization.
Preparing to Work with Databases
Before performing any administrative tasks on the database, the connections
to the SQL Anywhere database must be shut down. Therefore, in the class lab
environment, you need to shut down the generic service on the active Data
Tier machine and then re-activate only the Cluster Disk.
Location of SQL Anywhere Utilities
\sybase\unwiredplatform\servers\sqlanywhere12\bin64
The key management utilities, such as dbvalid, dbbackup, dbunload, and dbinit
are available in the BIN64 folder. The BIN32 folder has other utilities like
mlmon.
Validating SQL Anywhere Databases
Before you back up an SQL Anywhere database, you should always validate the
integrity of the database.
By using the dbvalid utility, you can check the tables, indexes, pointers, and
table spaces.
In the dbvalid utility, the c refers to the connection.
In the DBF option, you need to enter the path of the Database file.
You should also specify the username and password for accessing the
database. After validating the database components, a No errors message is
displayed. Now, your database is ready for backup.
Backup SQL Anywhere Databases
The dbbackup utility allows you to back up the database. A sample of the
database backup command is displayed on the screen. The SABackups is the
folder where the backup files are stored. If this folder is not created, the utility
creates the folder for you. Once the backup is completed successfully, a
message is displayed. While performing a backup, you need to ensure that the
backup folder is placed on a different drive or machine. You should repeat the
validation for all four of the Data Tiers SQL Anywhere databases.
This is a safety measure.
Restoring SQL Anywhere Databases
To restore the SQL Anywhere databases, you must first confirm that the Data
Tier services are stopped. SQL Anywhere comes with two database engines:
When running dbeng12, no users that are external to the machine can access
the databases. Restoring is performed with the dbeng12 engine.
SQL Anywhere Restore Scenario
Consider a troubleshooting scenario where the disk containing the main
database file *.db file crashes, but the disk containing the log files is intact.
Here, you need to restore the file and then repair or replace the disk. Next,
copy the *.db file from the latest backup to a new drive. Assuming that the
*.log files are healthy, use dbeng12 to apply the log files. If you have multiple
log files, you may need to run the dbeng command multiple times.
Rebuild SQL Anywhere Databases
Troubleshoothing
Server Logs Directory (1)
The Server Logs directory contains the log file or folder which is named as
hostname-server.log. In the Sybase Control Center, you view the log settings.
Server logs are rolled over at a configured size, that is 10 MB by default. The
configured number of files is retained after rollover, that is 10 files by default.
When you encounter a problem with the DCN, use the HTTPS log for resolution.
When you encounter a problem in synchronizing RBS applications, you can use
the Mobilink Server Error log (that is, mlsrv_err.log). The Server log contains a
set of stacked traces. You can trace the problem by date and time of error.
In the server logs directory, there are subdirectories that contain log
information
that
you
should
review
occasionally.
For
example,
DroppedMessages indicates a serious issue. You can view which device and
when a message was dropped as well as the binary message.
Windows Event Viewer
System messages are logged in the Windows Event log. Sources include
Platform Components/Sub-Systems
This slide shows where the data services are installed and implemented in a
Sybase Unwired Platform landscape.
Data Services Defined
The Data Services component of the Unwired Server has these responsibilities:
MMS Troubleshooting
You can troubleshoot at the system level by enabling MMS logging. The MMS
logging can be reviewed in the server logs. However, if the specific package is
known, you can enable the domain logging for that package and then review
the contents of the server log. The major drawback for a domain log
configuration is that it defaults to flushing data to the domain log every five
minutes.
All,
Trace,
Debug
Info,
Warn
Error.
The default is Info. You can view the location of the log file being displayed.
Location of Workflow Tracing Output
The TraceConfig.xml is stored in the Unwired Server\logs folder. The logs folder
contains the defined log files. You can view the log files in the logs
subdirectory folders. These log files contain information to help diagnose or
troubleshoot issues.
Blocked Workflow Messages
It is possible that the workflow messages are blocked in a queue, if the
messages are not processed for a given workflow. You can correct a blocked
message by selecting the message and clicking the Unblock button. If you
cannot unblock a message in this way, you can review the trace log file of the
workflow message. Some messages will require further attention which can be
determined from the trace logs. In the Queue Items tab, you can select a
specific workflow application and check for the status.
Locked Application Connections (Users)
You will receive an error when the workflow messages are not processed due to
the application connection or device users being locked. You can check for the
lock status of the device users. You can also select the user and click the
Unlock button to activate the user.
Locking Workflow Applications
You can prevent a person from deploying workflow applications by locking the
workflow application. It results in others not being able to redeploy the
application but does not stop users from accessing or using the application. You
can click the Lock button, if enabled, to lock a person from deploying. If
somebody tries to deploy the workflow from the Unwired Server, it throws an
error and the deployment would fail.
Cache Database (CDB) Defined
Cache Database or CDB is the runtime cache database used by the Unwired
Server. It is primarily used by RBS-type applications but can also be used by
MBS applications under certain configurations. It is an SQL Anywhere v.12
database.
Troubleshooting the CDB
CDB by reviewing the Error Log file of the CDB.
Data Tier Will Not Start
When the CDB shows a cache error, the Data Tier will not start.
You can view the reason for the error in the errorlog.txt file.
For example, when you have a corrupted transaction log file, you will have an
error stating Cannot open transaction log file. You will have to restore the
CDB log file from a backup as it helps in resolving the error.
You can locate the cache error log file in the same directory as the CDB.
Example E:\CDB
Trouble Connecting to EIS?
To troubleshoot the connections to the EIS, open the Sybase Control Center. In
the navigate pane, select Domains domain_name Connections.
Select a connection profile that has connection issues. In the connection
profiles properties, ping the connection.
If the ping fails, check the connection profiles properties and make sure that
properties like host name, user id, password, and others are correct.
If you suspect EIS is the problem, then check the EISs server logs for
communication errors. You may also find more information by using the EISs
administrator tools.
Pinging EIS Connection
You can ping the connection in the connection profiles properties. You can
enter the property values and test the connection. You will receive the Ping
successful! message if the connection is available.
Server Tier Will Not Start
If the Server Tier does not start, first open the *.lic file to confirm that the
server license has not expired.
Next, check the Windows services to determine if the Server and Data tier
services are started.
If these components are on separate machines, then you will need to check
Windows services on all machines.
You can also check the Windows Event Viewer for details if services are not
starting.
You will have to check the server log file to see if the startup got far enough to
write any information and also check for the existence of and review the
bootstrap log.
Unwired Server Bootstrap Logs
You can locate the bootstrap log files in the same directory as the Server log
file. Check the bootstrap logs first when an Unwired Server will not start.
\Sybase\UnwiredPlatform\Servers\UnwiredServer\logs
No SCC Access
If you cannot access the Sybase Control Center, make sure the Sybase Control
Center service has started and is running on the Server Tier.
whether the Server Tiers RSOEs are running or stopped or reporting errors. You
can look at the RSOE log files to determine the reason for the errors.
RSOE Errors
Errors can occur when starting the RSOE. If an error occurs, you can retrieve
the log file and figure out why the error occurred. This is done by clicking the
Retrieve Log button.
Sample RSOE Log
Server Tier Port References
You can use the information shown in this slide to troubleshoot server port
issues.
Data Tier Port References
The information displayed in this slide can be used to troubleshoot data tier
port issues.
This slide depicts the information that you can use to troubleshoot SCC port
issues.
Other Port Reference
You can use the information shown in this slide to troubleshoot relay server and
other port issues.
Check the Domain Logs
If the server log is not helpful, you need to review the Domain log. You can see
that the error message in the Domain log is also not helpful. You have to
remember that when enabling the domain log, the five minute flush time will
not be seen immediately. On the Settings tab, click Configuration to change the
flush time. Note that the flushing log entries more often impacts server
performance.