white paper Sybase Unwired Platform 2.0 Development Paradigm www.sybase.com
TABLE OF CONTENTS 1 Sybase Unwired Platform 1 Mobile Application Development 2 Mobile Business Object (MBO) Development 4 Mobile Business Object Development in Eclipse 4 Device Application Development 4 Hybrid Web container based development (Mobile Workflows) 5 SAP Workflow Mobilized Using Sybase Unwired Platform 6 Native Application Development 6 Summary
Sybase Unwired Platform Sybase Unwired Platform is a flexible, open infrastructure that helps companies create, secure and manage mobile applications that connect back-end data sources to mobile devices (see Figure 1). This mobile enterprise application platform enables you to respond strategically as your device type and data source needs evolve, whether because of corporate acquisitions or system or technology upgrades. The main components of the Sybase Unwired Platform are: Sybase Unwired WorkSpace, which provides a graphical environment for developing the data aspects of mobile applications using Mobile Business Objects Mobile Workflow Forms Designer, which enables architects to mobilize workflows and business processes quickly using hybrid Web container technology Sybase Control Center, which allows administrators to administer, manage and monitor Sybase Unwired Platform Sybase Unwired Server, the middleware component, which provides the runtime infrastructure The key technical features of the Sybase Unwired Platform include: Heterogeneous native device development: iphone /ipad, Windows Mobile, Windows 32 laptops/tablets, BlackBerry HTML/CSS/JS-based development for workflow applications: iphone/ipad, Windows Mobile, BlackBerry, Android 4GL rapid application development (RAD) tooling and data source integration Out-of-the-box integration with enterprise applications (such as SAP or databases) and a full Web services stack Ability to mobilize multiple applications and business processes Integrated device management and security Connect Heterogeneous data sources Create Eclipse Consume Heterogeneous mobile devices Databases Sybase Unwired Platform Android (Mobile Workflow only) BlackBerry Web Services Software Applications Mobile Business Objects Workflows Native Applications iphone ipad Windows Windows Mobile Management Console Control Device and server management and security Figure 1. Mobile Application Development The primary considerations you must address when developing mobile applications are data and its associated synchronization, the device-resident presentation and business logic. The Sybase Unwired Platform provides the tools developers need to focus on each of these requirements. At the root of the Sybase Unwired Platform development paradigm is the separation between the: data tier and its link with the enterprise information system (EIS), and the user interface and business logic of the application. 1
Sybase Unwired Platform provides tools that enable mobile application development in both these domains (see Figure 2). To address the data aspects of the mobile application, the Sybase Unwired Platform uses mobile business objects (MBO). MBO development refers to defining object data models with back-end EIS connections, attributes, operations and relationships that allow filtered data sets to be synchronized to the device. This aspect of Sybase Unwired Platform development is supported within Eclipse. Sybase Unwired Platform supports the development tasks associated with the user interface and logic in two paradigms. It enables developers to: Build native applications using programming languages native to a mobile operating system (or build the application in an integrated development environment, or IDE, using the generated API) Build lightweight Mobile Workflow applications using a hybrid Web container-driven approach, in which HTML/ CSS/JS drives the application interface and logic. This paper will help you understand how to develop mobile applications with Sybase Unwired Platform using each of these approaches. Sybase Unwired Platform Development Task Flow Develop Mobile Business Objects Deploy Mobile Business Objects to Unwired Server Generate Device Object Code Develop Device Application Deploy and Test on Emulator Deploy and Test on Device Sybase Unwired Platform Development Tools Unwired WorkSpace Mobile Business Object Development Tool (Eclipse) Native Device Application Development Tools BlackBerry Eclipse JDE Plug-in Windows Mobile Visual Studio BlackBerry Java ios Objective C Windows Visual Studio ios Xcode Windows C# Windows Mobile C# Unwired WorkSpace Workflow Development Tool (Eclipse) Android ios Windows Mobile BlackBerry Figure 2. Mobile Business Object (MBO) Development MBOs encapsulate business process logic Enterprise System and data into a reusable unit (see Figure 3). The Sybase Unwired Platform includes the Eclipse development environment, which contains tools designed for MBO development and deployment. These Eclipse tools support online and offline access to data mobilization, applications, services and processes. Device Representation Subset Personalize Mobilize Figure 3. 2
The development approach to back-end mobile data models can be either top-down or bottom-up. In the topdown approach, developers use the Mobile Application Diagram and palette to launch a set of wizards that create MBOs with operations and attributes the client wants to have, eventually binding the MBOs to the data source. In the bottom-up approach, developers drag and drop a data source to create the MBO directly from the data source with immediate binding. Developers either define MBO attributes and operations without immediately binding them to a data source, or define them from and bind them to a data source. Both methods use similar steps: 1. Connect to back-end data sources. 2. Connect to Sybase Unwired Server. 3. Create mobile application projects. 4. Create MBO attributes and create, update and delete (CUD) operations. 5. Attach MBOs to back-end data sources. 6. Edit, rename, delete, move, copy, group and view MBOs. 7. Perform additional MBO design activities create logical roles, search, and so on. 8. Deploy MBOs to Sybase Unwired Server. Figure 4. You have two options for creating an MBO and binding to a data source immediately: 1. Drag and drop the data source onto the Mobile Application Diagram (as seen in Figure 4) which launches the appropriate wizards and automatically creates bindings based on the selected data source. 2. Create an MBO and its operations and attributes using the Mobile Application Diagram and palette, which launches a set of wizards and allows you to bind them directly to a data source. To create an MBO and defer data source binding: 1. Create an MBO and its operations and attributes using the Mobile Application Diagram and palette. After you define the data source, bind the MBO to it from the Properties view. 2. Create attributes and operations for mobile business objects, create relationships between mobile business objects, bind them to a back-end data sources and modify and test them. The last step in the MBO development process is to create a deployment package that contains the mobile application, including mobile business objects, role mappings, server connection mappings and other MBO-related artifacts. Once your development package is complete, deploy it to Sybase Unwired Server. Optionally, you can create a deployment profile that enables you to manage multiple deployment packages. 3
Using the preview capabilities within MBO development tooling, developers can do preliminary tests of the MBOs and visualize the data that will be available on the device. Mobile Business Object Development in Eclipse Sybase Unwired WorkSpace, which enables developers to model MBOs, is a plug-in in the Eclipse development environment. Experienced Eclipse developers are familiar with Eclipse s consistent use of windows, explorers, views, wizards and preferences. Developers new to Eclipse can use the online help, samples and tutorials of Sybase Unwired WorkSpace to become familiar with MBO and device application development. Device application development Sybase Unwired Platform supports two main modes of application development when creating the user interface and logic. These two modes are hybrid Web container-based development and native application development. Hybrid Web container-based applications are appropriate for extensions of business processes or workflows such as approvals or requests and other lightweight applications. Native application development makes sense when: Complex business logic is needed Device services integration is intrinsic to mobile applications User interface expectations depend on device-specific capabilities No boundaries other than what is provided natively by the mobile operating system are required Ability to evolve with mobile operating system is required The development lifecycle for native device applications, which you can perform in parallel with back-end MBOs, includes: 1. Develop device applications 2. Generate code and application 3. Deploy application to simulator 4. Debug/test against simulator 5. Configure Sybase Afaria device management platform to provision application Afaria is an optional component that is separately licensed and only supported on 32-bit hosts. You can use Afaria with Sybase Unwired Server to perform advanced mobile device management, extended device security and provisioning in your production environment. However, because of platform requirements for Afaria and Unwired Platform, Afaria must be installed on separate hosts. Hybrid Web container based development (Mobile Workflows) In Hybrid Web container-based development, the application is made up of HTML/CSS/JS and the device has a single container that interprets this Web content (see Figure 5). This container needs to be deployed once and, from then on, multiple application metadata can be deployed automatically without having to generate any code. Connect Data Source Integration Sybase Unwired Platform Server Deploy MBO Deploy Workflow Hybrid Web Container Sybase Unwired WorkSpace 4 Figure 5.
Business processes such as alerts, time recording and travel requests require immediate action, but these messages are generally accessible only with desktop or laptop computers and may not be fulfilled in a timely manner. However, mobile workflows allow users to complete pre-defined business processes swiftly (see Figure 6). Using a Web standards driven application paradigm, Sybase Unwired Platform hybrid Web container enables the rapid development of mobile workflows, in which existing enterprise business processes or workflows can be extended to a mobile device relatively easily so that decisions can be made at any instant on a mobile device (see Figure 7). Sybase Unwired Platform has primarily two kinds of workflow models server-initiated and device-initiated. These models can co-exist within one package. In the server-initiated workflow model, for example, a manager receives a request perhaps an approval for leave. The request is initiated by a notification from the back-end system, where Sybase Unwired Platform receives e-mail or notifications from a master account. Sybase Unwired Platform, in turn, delivers a message to an individual device based on configured distribution and MBO extraction rules. In the device-initiated workflow model, the user sends a message, such as an approval for an expense report. Users can open workflow forms on their mobile devices and enter data that can be used either for kicking off an enterprise workflow or continuing a step in an already executing workflow. Development is enabled through a WYSIWYG design tool that binds the decisions and actions to MBOs. Both approaches are offline enabled but when real-time information is needed, data can be retrieved in an online model from the back-end. Figure 6. SAP workflow mobilized using Sybase unwired platform Employee Initiates Travel Request Employee uses Mobile Workflow on Device to Initiate Travel Request Approves or Rejects Notify Employee Check Amount Views the Details Approves/ Rejects Approve Small Amounts Receives a Workflow Notification on Device Logs into WEB UI Receives Notification Notify Figure 7. 5
Native application development In native application development, the application is based on compiled code that is specific to a particular mobile operating system. An iphone application, for example, is developed in Objective C, a Windows Mobile application is developed in C#, and so on. Native application development provides the most flexibility in terms of leveraging the device services to their fullest potential, but each application must be provisioned individually after compilation, even for minor changes. Connect Data Source Integration Device-Specific Development Sybase Unwired Platform Server Deploy MBO Sybase Unwired WorkSpace Generate Code Generate Default GUI MBO API Device GUI Customize SDK Figure 8. Developers use the standard IDE for native application development (see Figure 8) and can use the generated code based on the MBO. You will build the business logic and user interface pieces of the mobile application in your IDE of choice. iphone will use XCode, Windows Mobile will use Visual Studio, and BlackBerry will use BlackBerry Eclipse plug-in. When building high-performance production applications, the recommended approach for Sybase Unwired Platform is to use native IDEs, such as XCode and Visual Studio, to leverage the MBO API. Summary The flexible, open Sybase Unwired Platform infrastructure offers development teams many options to create and manage mobile applications that connect heterogeneous back-end data sources to mobile devices. Sybase Unwired WorkSpace provides a graphical environment for developing the data aspects of mobile applications. Device application developers can work in a GUI environment using the Unwired WorkSpace Mobile Workflow Forms Designer, or use native tools to bind to the Object API programmatically. Compatible with Eclipse, Visual Studio, and other tools, Sybase Unwired Platform enables development teams to build mobile applications that use enterprise data sources quickly and effectively. Sybase, Inc. Worldwide Headquarters One Sybase Drive Dublin, CA 94568-7902 U.S.A 1 800 8 sybase www.sybase.com Copyright 2011 Sybase, Inc. All rights reserved. Unpublished rights reserved under U.S. copyright laws. Sybase, the Sybase logo, Afaria and Sybase Control Center are trademarks of Sybase, Inc. or its subsidiaries. indicates registration in the United States of America. SAP and the SAP logo are the trademarks or registered trademarks of SAP AG in Germany and in several other countries. All other trademarks are the property of their respective owners. 08/11 ipad and iphone are registered trademarks of Apple Inc.