• No results found

Developing Mobile Applications Using SCO UNIX and SCO Mobile Server. Jonathan Schilling

N/A
N/A
Protected

Academic year: 2021

Share "Developing Mobile Applications Using SCO UNIX and SCO Mobile Server. Jonathan Schilling"

Copied!
53
0
0

Loading.... (view fulltext now)

Full text

(1)

Developing Mobile Applications Using SCO UNIX and SCO Mobile Server Jonathan Schilling [email protected]

(2)

Agenda

SCO Mobile Server structure

advantages

SCO Mobile Software Development Kit purpose

components

Examples of SCO mobility applications FCmobilelife

(3)

ƒ SCO Mobile Server is a Mobile Application Platform that runs on SCO UNIX

ƒ SCO Mobile Server significantly reduces time and

cost of

• developing mobile solutions

• extending existing business applications to mobile devices

ƒ Smartphones, PDAs, feature phones, SMS-only

ƒ Web browsers, iPhone browser, native PC

desktops

(4)

SCO Mobile Server – What is in it?

ƒ Server side software components required for high performance

ƒ Administrative Web interface (Portal)

ƒ Client part of services (Applications on mobile devices )

ƒ A SCO Mobile Server API set

ƒ Backend integration part of services (Connectors, Agents)

(5)

SCO Mobile Architecture Client side SCO Mobile Server Backend integration

(6)

SCO‘s Vision for the Mobile Marketplace

ƒ

A mobile application platform for

ƒ Mobilizing existing applications OR

ƒ Creating new mobile applications

The SCO Mobile Server provides the Essential Infrastructure for Linking Mobile Devices to

(7)
(8)

SCO Mobile Server – essential services

• Secure, reliable connections to existing applications of all types

• Client application versioning

• Administration of custom applications

• User, group & account model

• User authentication

• Secure https transaction processing

• Internationalization/localization support

• Load balancing, scalability, reliability

• Back-end system connector/agent framework

(9)

Web 3.0?

ƒ

Google CEO Schmidt quote:

ƒ My prediction would be that Web 3.0 will ultimately be seen as applications which are pieced together. There are a number of characteristics: the applications are relatively small, the data is in the cloud, the applications can run on any device, PC or mobile phone, the applications are very fast and they're very customizable. Furthermore, the applications are distributed virally: literally by social networks, by email.

ƒ

Another description floating around:

ƒ Web 1.0: read-only

ƒ Web 2.0: read-write

ƒ Web 3.0: read-write-execute

ƒ

SCO Mobile Server

(10)

What do you need for a mobile business application ?

A central service platform like SCO Mobile that provides:

licensing (how many users can access a mobile application ?)

User authentication - which users (phones) are permitted to access different mobile applications

Application specific configuration (e.g. Who is allowed to do what ?)

The SCO Mobile server can run at your customer site , an IT

(11)

What do you need for a mobile business application ?

Developer or partner companies like

SCO with Know How to

• develop the mobile client on the

phone

• develop the backend integration, ...

(with tools like Visual Studio, Eclipse etc.)

The SCO Mobile DevKit

It provides APIs in order to access SCO Mobile Server

(12)

SCO Mobile Server – Licensing model

ƒ The basic licensing model is based on a Initial Perpetual License followed by Annual Software Maintenance fees

after the first year

ƒ Pricing is based on the

number of users who can authenticate to the system

ƒ Adaptable to SCO-hosted, Reseller-hosted, or

(13)

Types of SCO Mobile Digital Services

ƒ

Self-Contained Service

ƒ

Business Integration Service

ƒ

Monitoring Service

ƒ

Mobile Database Service

(14)

Self-Contained Service

ƒ

A new application

ƒ Does not connect to existing application

ƒ No agents necessary

ƒ

Subscriber-centric

ƒ Also groups, contacts, etc.

ƒ

Most logic on SCO Mobile Server

ƒ

Stores application data in server database

ƒ Same machine or co-located dedicated db machine

ƒ

Can be tied to “landing pages” or “stores”

(15)

Business Integration Service

ƒ

Connects to existing application

ƒ Therefore, has connectors or agents

ƒ

Purpose is data collection, data reporting,

transaction processing

ƒ

SCO Mobile Server becomes mostly a “switch”

ƒ Its local database is mostly just used for routing

ƒ

Application is client- and agent-centric

ƒ

Has web admin pages to manage agents

(16)

Monitoring Service

ƒ

Specialized variant of business integration

service

ƒ

Tracks vital business and system metrics

ƒ View health indicators of business or system

ƒ Receive alerts based on user-set triggers

ƒ Take actions to correct problems

ƒ

Combines SOA with EDA

ƒ

Examples: HipCheck (for Operating Systems)

ƒ HipCheck Source Code Product available for others

(17)

Mobile Database Service

ƒ

Keep full application database on mobile device

ƒ

Periodically synch with back-end server

ƒ

All sorts of data capture are possible

ƒ

Biometric input devices with generic interfaces

ƒ e.g. fingerprint scan

(18)

Two-way SMS Service

ƒ Existing application sends SMS to phone, phone user

replies by SMS, gets routed to application

ƒ No client program on phone needed

ƒ Any phone can be used

ƒ Appropriate for well-defined, limited user interactions

ƒ Must supply SCO Mobile Server plug-in for two-way

SMS provider chosen

ƒ Examples: SCO Mobile “TeamLink”

ƒ For a coach coordinating responses from team members

(19)

SCO Mobile Server on SCO UNIX

ƒ Best platform to run on

ƒ Available as package SCOms

ƒ OpenServer 6.0.0 mp3 or later, UnixWare 7.1.4 mp3 or

later

ƒ pkgadd format for both

ƒ Available for download from

ƒ http://www.sco.com/support/download.html

(20)

SCO Mobile SDK

ƒ

Software development kit for SCO Mobile Server

ƒ

Provides libraries of reusable building blocks

ƒ

Provides plug-ins, templates for popular IDEs

ƒ Visual Studio, Eclipse, NetBeans …

ƒ

Free for development use

ƒ

Available in open beta

(21)

SCO Mobile SDK

ƒ

Installs on Windows desktops/laptops

ƒ

Contains 5-user-licensed SCO Mobile Server

ƒ

Contains API libraries for client and server

development

ƒ

Contains several sample applications

(22)

SCO Mobile SDK – Additional development tools

ƒ

Development environments not included

ƒ Licensing restrictions, size issues, version control

ƒ

Download and install them yourself

ƒ Eclipse – used for Java service development

ƒ Ant – used for Java service builds

ƒ Visual Studio Mobile Edition – used for Windows

Mobile clients

ƒ Sun Wireless Toolkit – used for Java ME clients

(simple)

(23)

SCO Mobile SDK – Java ME

ƒ

Java Micro Edition

ƒ Many variants (even in MIDP 2.0)

ƒ Many phones, many phone OSes

ƒ Portability can be difficult to achieve

ƒ Subset functionality for cross-phone support

ƒ SCO Mobile SDK provides library for account mgmt,

(24)

SCO Mobile SDK – Java ME development

ƒ

Sun Wireless Toolkit is basic environment

ƒ

NetBeans for Mobility is full-featured and better

ƒ Open source for Sun

ƒ

BlackBerry has own Java Development

Environment (JDE)

ƒ Add JDE as custom emulator to NetBeans

ƒ Configure both BlackBerry and “normal” Java

environments to NetBeans

(25)

SCO Mobile SDK – Java client libraries

ƒ

Views for authentication and management of

multiple accounts

ƒ

Lightweight, extensible, highly portable

subsystem for creating mobile user interfaces

ƒ

Portable routines for network access and

sending commands to SCO Mobile Server

(26)

SCO Mobile SDK – Windows Mobile

ƒ

Windows Mobile .NET/C#

ƒ Four OS subvariants

ƒ Treo 700, Samsung 730i, …

ƒ Visual Studio for Mobile - best dev env and functionality

ƒ SCO Mobile SDK template

ƒ SCO Mobile SDK provides library for account mgmt,

Mobility Server communication, etc.

ƒ Client apps will also run on PC Windows with some

(27)

SCO Mobile SDK – Windows client library

ƒ Classes to manipulate and authenticate accounts

ƒ Classes for custom controls and building custom mobile

user interfaces

ƒ Classes to access and manipulate SQLlite database

tables

ƒ Utility classes for datatype parsing, error handling, etc.

ƒ Classes for sending and receiving HTTPS requests to

SCO Mobile Server

(28)

Client Development Environment - iPhone

ƒ iPhone client support

libraries not in SCO Mobile SDK yet …

ƒ But iPhone support has

been validated by ongoing FCmobilelife work

ƒ Here are some of the key

(29)

iPhone – Language and framework

ƒ Objective C

programming language

ƒ Cocoa framework

ƒ From Apple, previously “NeXTSTEP”

ƒ Cocoa Touch Layer

ƒ UIKit ƒ Media Layer ƒ Audio Toolbox ƒ Audio Unit ƒ Core Audio ƒ C

(30)

iPhone Frameworks Cont...

ƒ

Core Foundation (Dates, Calendars, XMLParsers... Used for communication to server)

ƒ

System Configuration

ƒ

Core Services Layer

(Also used for server communications)

(31)

Client Development Environment – web clients

ƒ

Client runs in a web browser

ƒ

Many technology choices

ƒ Flash, using Flex toolkit

ƒ Javascript, using a variety of approaches

ƒ PHP

ƒ Mixtures

ƒ FCmobilelife is part PHP, part Flash

(32)

Client Development Environments: Other

ƒHB++

ƒTreo 650 and PalmOS

ƒBest-looking UI

ƒProgramming can be difficult

ƒSuperWaba

ƒJava variant for high-end phones

ƒGood-looking UI, good portability

ƒLittle known, support questionable

ƒSymbian/BREW

ƒAJAX

ƒConventional web browsers

ƒcf. WebFace, Google

ƒOthers

ƒOther C++ variants

ƒPython

ƒAnything that can do http name/value pairs can be used, but no direct SCO Mobile SDK support

(33)

SCO Mobile SDK – Service development

ƒ Java based

ƒ OS neutral

ƒ Develop code on Windows, deploy code on SCO UNIX

ƒ Service processor

ƒ Uses Java EE app server infrastructure (JBoss)

ƒ Almost completely transparent to application code

ƒ Don’t have to be a general Java EE expert!

ƒ Web admin pages

ƒ Mobility Server uses Java Tapestry framework

ƒ Applications often use PHP (or whatever is familiar to you)

ƒ Mobility server database access

ƒ Data object layer, database common to both service and admin

(34)

SCO Mobile SDK – sample applications

ƒ

Hello, world

ƒ

Meter Reading

ƒ Showcases simple Java clients, role of agents

ƒ

Car Dealer Service

ƒ Showcases web admin pages

ƒ

Echo SMS Service

ƒ Showcases two-way SMS

ƒ Restricts user input, but …

ƒ Gives broadest range of client support – just about any phone

(35)

SCO Mobile SDK - documentation

ƒ

Installation and Release Notes

ƒ

Getting Started Guide

ƒ Includes instructions for building and deploying sample apps

ƒ

Developer’s Guide

ƒ Overview, sections on client and service programming

ƒ

API doc

ƒ Service APIs in javadoc format with commentary

(36)

Technologies for Connectors

ƒ

Connectors run on SCO Mobile Server

ƒ Communicate directly with existing back-end system

ƒ Use for pulling in subscriber/group info from HR DB

ƒ Some applications or database products provide

direct web service access

ƒ Use direct WS, JCA, JDBC, ftp … may avoid agents

ƒ Firewall issues

ƒ Solution will be unique to each

(37)

Technologies for Agents

ƒ

Agents run on an existing back-end system

ƒ Agent access is by SOAP/XML-based web services

ƒ Supported by many OSes, languages, tools

ƒ SCO Unix provides in Java, C, C++, Perl, PHP

ƒ Expose apps as services

ƒ Key to mobilizing existing applications

ƒ Write database code as service, construct

intermediary flat file or mini-db …

ƒ Firewall issues

ƒ Solution will be unique to each

(38)

Why not …

use phone browser as the client?

ƒ

Characteristics of phone browsers

ƒ Tend to poor presentation layout

ƒ Can be unreliable

ƒ Treo Blazer, for example

ƒ Can be slow

ƒ Full page refreshes, no state

ƒ Difficulty in accessing phone features

ƒ Camera, fingerprint scanner, voice recorder, etc.

ƒ Difficulty in maintaining local data

ƒ A ‘real’ client supports local data, encryption, store-and-forward, etc.

(39)

Why not …

go directly from client to back-end server?

ƒ This can be done as a one-off …

ƒ But loses many services that SCO Mobile Server

provides

ƒ Common user, group & account model

ƒ Common authentication

ƒ Common https transaction processing

ƒ Common data caching, store-and-forward

ƒ Common load balancing, scalability, reliability

ƒ Common connectors and agents framework

ƒ (Optional) subscription-based billing model

(40)

SCO example: FCmobilelife

ƒ

Powerful mobile client, web client for real-time

collaboration

for small groups

ƒ

Includes calendaring, scheduling, task

management, and multimedia

ƒ

For small businesses, families, teams and clubs

(41)
(42)
(43)
(44)
(45)

SCO example: HipCheck

ƒ HipCheck is an SCO Mobile application

ƒ Allows you to monitor the health of your UNIX and

Windows systems from your mobile devices

ƒ View current state

ƒ processes, users, disks, CPU, memory, printers, services, etc.

ƒ Set triggers to get alerts about critical system conditions

ƒ Service stops running, disk gets low on space, etc.

ƒ Take corrective actions

ƒ Kill runaway process, restart crashed service, reset password, etc.

ƒ Hosting and business model choices

ƒ HipCheck service may be hosted by SCO – subscription model

ƒ Or deployed by reseller or end customer – conventional model

ƒ The bridge between SCO’s UNIX and mobile product

(46)
(47)

HipCheck Clients

The HipCheck Client – Phone

Windows Mobile Client

(48)

HipCheck Server components

ƒ Web interface for Admin Tasks:

HipCheck subscribers and groups

• Configure HipCheck user, account, groups, …

ƒ HipCheck specific administration

• Licensing

• Create/modify monitored system definition

• Set/modify privileges of subscribers for a system

(49)

HipCheck agents

The HipCheck Backend integration

ƒ Agents run on the monitored serverSCO OpenServer 5SCO OpenServer 6SCO UnixWare 7SUN Solaris 8+LinuxWindows 2000 ServerWindows 2003 ServerWindows VistaWindows XP Pro

(50)

HipCheck Security – example of mobility security

ƒ Client to SCO Mobile Server

ƒ Me Inc subscriber must login and be authenticated

ƒ Me Inc account must be eligible for HipCheck

ƒ Communication is over https

ƒ On SCO Mobile Server

ƒ Administrator must grant access to specific monitored systems

ƒ Administrator must grant additional access to set alerts or take actions or add other subscribers

ƒ Administrator must supply root/admin account, password of monitored system

ƒ SCO Mobile Server to Agent

ƒ Communication is over https with certificates

(51)

HipCheck availability

ƒ Stable, mature product

ƒ HipCheck 1.1 released early 2008

ƒ Included many new features

ƒ Audit trail

ƒ Improved Windows mobile/Windows native UI

ƒ Support for Windows Mobile 6

ƒ Support for Linux agents

ƒ Execute any command from phone and see output

ƒ View software inventory

ƒ Active Directory authentication support

(52)

Summary

ƒ

SCO Mobile Server supports building several

different types of mobile digital services

ƒ

Same tools, libraries, methods, and deployment

platform are used for all of them

ƒ

Superior to other approaches for mobilizing

applications

ƒ

FCmobilelife and HipCheck are prime examples

of the capabilities of the SCO Mobile Server

(53)

References

Related documents

Conductor Separator EP rubber insulation Tape Filler Binder Chloroprene sheath Power supply end (fixed) Power receiving end (moving) Cable Torsion System Flexible Cable..

Creating Web and Mobile Maps Using ArcGIS Online | SCO Technical Paper 9 Unique Symbols allows the user to use a unique color ramp to represent different classes of data within

This section describes the tools and methods used to test mobile web applications during and after the development, validate the performance of mobile applications, and the metrics

researchers also address that working relationships have positive impact on project performance in terms of project time cost and quality. This research conceptualizes

changes in loved ones, family member influence to seek medical assistance, and

Similarly, when a female respondent was quizzed on what exactly most women of Tamale did apart from childcare and being involved in one form of economic

Pojištěnci zdravotních pojišťoven jsou zdrojem příjmů, ale zároveň i výdajů. Nelze říct, že na jednom pojištěnci vydělává, zatímco na jiném může

a.  MANIFEST folder Groovy code used for User Interface logic b.  doc folder Location of generated APP documentation c.