50
1 Detailed View of Mobile .NET Client SAP CRM 5.0 – Field Sales

Detailed View of Mobile .NET Client

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Detailed View of Mobile .NET Client

1

Detailed View of

Mobile .NET ClientSAP CRM 5.0 – Field Sales

Page 2: Detailed View of Mobile .NET Client

2

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 2 of 49

Content

Mobile Application Studio (MAS) from SAP: Integrationwith Microsoft Visual Studio .NET Application Design and Development Process

Visual Modeling of MetadataGeneration of Runtime Files

Mobile .NET Client – Design Time Environment

Multilanguage and Translation Support

Advantages of .NETApplication RuntimeUser Interface Framework Layer

Mobile .NET Client – Runtime

Multiuser DevelopmentChange Lists and Version ManagementBranching and Collision Resolution

Software LogisticsTransporting Change ListsCreating and Deploying Upgrades

Business Framework Layer

Mobile .NET Client provides a runtime framework for CRM Field Applications as well as a design environment to customize these applications.The design environment, Mobile Application Studio (MAS), is integrated withMicrosoft Visual Studio .NET and provides a set of visual modeling tools to facilitate application development as well as a code generator to generate sourcecode from the application meta-data which is stored in the Mobile ApplicationRepository (MAR).The MAS together with the MAR handles multiuser development and providesproper change management for development objects.Multilanguage translations for labels and captions are handledSoftware logistics, based on the standard R/3 transport system in conjunction withthe CRM Middleware, exist for application meta-data as well as for generatedruntime files (-> upgrades).The runtime frameworks consist of a business framework layer and a user interface framework layer. The application runtime interacts with both framework layers.

Page 3: Detailed View of Mobile .NET Client

3

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 3 of 49

SAP® CRM Powered by SAP NetWeaver™

SAP NetWeaver

SAP CRM

E-Commerce

Field Applications in SAP CRM

Mobile Sales: Laptop/Handheld/Online

Mobile Service: Laptop/Handheld

CRM Integration Services

Interaction Center

Channel Management

Analytics

Service

Sales

Marketing

People Integration

Information Integration

Process Integration

Application Platform

Mobile .Net Client (SAP CRM)

Mobile Browser Client

Mobile Java Client

SAP NetWeaver Mobile

As part of SAP NetWeaver Mobile, Mobile .NET Client (SAP CRM) is a client technology designed and optimized for Microsoft Windows-based, occasionally server-connected CRM field applications running on mobile devices with a large footprint, such as notebooks.The CRM Integration Services (CRM Middelware) provide mobile client synchronization facilities to ensure seamless integration of business data and processes between inhouse- and field users.

Page 4: Detailed View of Mobile .NET Client

4

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 4 of 49

Mobile .NET Client – Design Time Environment

Business challenge: tailoring CRM field applications

Change standard functionalityRedesign screens: add new fields, buttons, checkboxes, add or remove tiles to and from tile sets, add and remove tile sets to and from business components, and so onChange business logic: methods, event handlers, and so on

Disable standard functionalityHide business components or parts of them and so onDisable parts of the business logic: methods, event handlers, save and delete rules, and so on

Add new functionalityExtend the user interface: add new tiles, tile sets, and so onExtend the business logic: add new methods, event handlers, and so on

The Mobile Application Studio (MAS) from SAP provides the tools you need to accomplish these tasks

Page 5: Detailed View of Mobile .NET Client

5

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 5 of 49

Mobile .NET Client – Design Time Environment

The Mobile Application Studio from SAP: integration with Microsoft Visual Studio .NET

Aligns with Microsoft Visual Studio .NET standards: creation of objects, persistence, docking, and so on

Leverages intrinsic features of Microsoft Visual Studio .NET: code window integration, add item wizard, and so on

Focuses on usability

Enhances visual modeling capabilities

Page 6: Detailed View of Mobile .NET Client

6

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 6 of 49

Mobile .NET Client – Design and Development Process

CRM Field Application

User Interface Layer

Business Object Layer

BDoc Layer

User Database

Mobile Application Repository

Mobile Repository Server

Mobile Development Workstation

withMobile Application

Studio

Design Tools

Generator

The design-and-development process of CRM Field Applications follows a two-step approach.The first step is the design or modeling step, in which the developer models development objects, such as tiles, tile sets, business objects, and so on. The development objects are stored in the Mobile Application Repository (MAR) and can be accessed using the various designers provided by the SAP Mobile Application Studio (MAS).The second step is the generation step. The SAP MAS provides a generator which generates source code and other application runtime files from the meta-data in the MAR.As a result, the runtime application consists of various files which belong either to the User Interface Layer (UIL) or the Business Object Layer (BOL). The UIL and BOL entities are present only on the mobile client.The meta-information of the BDoc Layer (BDL) for the Mobile Development Workstation (*.bdoc files) are created upon synchronization with the CRM Server.The runtime meta-information on BDocs for the mobile client is assembled into the „arsrep.dat“ file using the *.bdoc files.

Page 7: Detailed View of Mobile .NET Client

7

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 7 of 49

Mobile .NET Client – Application Architecture

CRM Field Application

User Interface Layer

User Database

Business Document Layer (BDL)

Persistence and synchronization layer. Provides an object-like, structured data format (Business Documents – BDocs) for read and write operations with the user database and the client middleware components for synchronization with the CRM server

User Interface Layer (UIL)

Presentation layer for user input and output

Business Object Layer (BOL)

Business logic layer for the application. Performs validations, calculations, and other standard operations: save, delete, and revert

Business Object Layer

BDoc Layer

The three-tier architecture of CRM Field Applications consists of the following three layers:

User Interface Layer (UIL)This layer is the presentation layer of the application. It defines the application „look & feel“ and determines the user input and output.Business Object Layer (BOL)This layer contains the application business logic which determines the logical operations and functionality of the application. The data access layer (DAL) part of the BOL provides read/write access to the local user database using runtime meta-information on Business Documents (BDocs) which is incorporated in the „arsrep.dat“ file.Business Document Layer (BDL)This layer contains the Business Documents (BDocs), which provide an „object-like“ structured data format for the application business data, which is stored in various tables in relational databases (the „user database“ on the mobile client and the „consolidated database“ (CDB) on the CRM Server).The DAL performs read and write operations with the local user database using BDoc meta-information present in the „arsrep.dat“ file.The client middleware components synchronize data with the CRM server by exchanging BDoc messages. The BDoc meta-information used by these components is present in the tps.net file.

Page 8: Detailed View of Mobile .NET Client

8

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 8 of 49

Mobile .NET Client – Design Time Environment

Mobile Application Studio:integration with Microsoft Visual Studio .NET

Create a new laptop

applicationproject

After entering Microsoft Visual Studio (VS) .NET you can work with the SAP Mobile Application Studio (MAS) in the context of a „Laptop Application“ project.When choosing the „New Project“ button, the VS standard „New Project“ screen appears. The SAP MAS Plugin provides an „SAP Mobile Solution“ project type with a „Laptop Application“ template.After you specify a name and a location for the new project, the system creates the respective solution (*.sln) file and the project, „MT Project“(*.mtproj) file. (MT stands for mobile technology.)Under the „*.mtproj“ file in the solution explorer, you find the tree structure displaying the MAR development objects as in the 4.0 release of CRM Mobile Client Technology.

Page 9: Detailed View of Mobile .NET Client

9

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 9 of 49

Mobile Application Studio:integration with Microsoft Visual Studio .NET

Log on to theMobile Application

Repository as in earlier releases

Mobile .NET Client – Design Time Environment

After selecting a mobile solution, the MAR logon screen appears as in earlier releases.You must specify a DSN for the MAR and enter a MAR User name anda Password.

Page 10: Detailed View of Mobile .NET Client

10

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 10 of 49

Mobile .NET Client – Design Time Environment

Mobile Application Studio:integration with Microsoft Visual Studio .NET

Select a change list as in earlier

releases

The change list selection screen has remained unchanged.

Page 11: Detailed View of Mobile .NET Client

11

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 11 of 49

Specify generation settings for

BOL . . .

Mobile .NET Client – Design Time Environment

Mobile Application Studio:integration with Microsoft Visual Studio .NET

After creating a new mobile solution (*.sln and *.mtproj files) and accessing the MAR, the generation settings have to be specified.

Page 12: Detailed View of Mobile .NET Client

12

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 12 of 49

Mobile .NET Client – Design Time Environment

Mobile Application Studio:integration with Microsoft Visual Studio .NET

. . . and UI.You must choose

the UI application

Selecting a UI Application is mandatory, because a „*.mtproj“ always consists of a UI application and a BOL application. While the BOL application is always „sfabol“, the UI application can be selected from the drop down list.

Page 13: Detailed View of Mobile .NET Client

13

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 13 of 49

Mobile .NET Client – Design Time Environment

Mobile Application Studio:integration with Microsoft Visual Studio .NET

In the solution explorer

window, the tree structure that displays the development objects in the

MAR is similar to earlier releases

The „solution explorer“ displays the development objects‘ tree which was shown in the „object browser“ in earlier versions.

Page 14: Detailed View of Mobile .NET Client

14

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 14 of 49

Mobile .NET Client – Design Time Environment

Mobile Application Studio:integration with Microsoft Visual Studio .NET

The class viewlists all classes

belonging to Visual Basic .NET

projects for the UI (ABC in this case) and the BOL (sfabol)

The class view lists in a tree structure the vb.NET class files of the BOL vb-project (sfabol) and the UI vb-project belonging to the respective context UI application (ABC in this case).

Page 15: Detailed View of Mobile .NET Client

15

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 15 of 49

Mobile .NET Client – Designing the User Interface

Open the Add Object window to add a new tile

Using the context menu of any entity in the solution explorer tree (here, for the tile node) and choosing „new“ opens the „Add Object“ dialog box.To create a new object, select an object type and a template for the selected object type.

Page 16: Detailed View of Mobile .NET Client

16

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 16 of 49

Mobile .NET Client – Designing the User Interface

Drag and drop a business object into the screen design area

Before

Controls for every business object property are created automaticallyAfter

Drag & drop functionality facilitates the design of development objects; a tile in this example.

Page 17: Detailed View of Mobile .NET Client

17

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 17 of 49

Mobile .NET Client – Designing the User Interface

BeforeDrag and drop a tile into the tile set design area

Using drag and drop, you also add

Tile sets to business components

Business components to applications

After The tile is added to the tile set

Page 18: Detailed View of Mobile .NET Client

18

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 18 of 49

Mobile .NET Client – Designing the User Interface

Complete anchor modeling can be performed at the businesscomponent level

1

First model the tile set anchors

2

Then model the business component anchors

Business anchor

Anchor mapping

3

All anchor modeling can be done on business component level. Thenew anchor designer facilitates the modeling steps by supporting drag & drop functionality and by presenting the anchor structure and the anchor mappings in an intuitive way.However, anchors can still be modeled on tile and tile set level, too, using the respective designers. The look and feel is the same for all anchor designers on every interaction component level.

Page 19: Detailed View of Mobile .NET Client

19

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 19 of 49

Mobile .NET Client – Modeling Business Logic

Open the Add Object window to add a new business object

Using the context menu of any entity in the solution explorer tree (here, for the business object node) and choosing „new“ opens the „Add Object“ dialog box.To create a new object the user selects an object type and a template for the selected object type.

Page 20: Detailed View of Mobile .NET Client

20

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 20 of 49

Mobile .NET Client – Modeling Business Logic

Specify the BDoc information for the new business object

In the 5.0 release the complete BDoc meta-data is present on the Mobile Development Workstation (as a local XML file). Therefore, a new BDoc selection screen for the „Read BDoc“ and „Write BDoc“fields is available, as well as a respective BDoc Segment selection screen for the „Segment“ field.

Page 21: Detailed View of Mobile .NET Client

21

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 21 of 49

Mobile .NET Client – Modeling Business Logic

Add properties to the new business object. Associate a BDoc segment field with every property

The „Segment Field“ input field provides a new selection screen with the available segment fields depending on the chosen BDoc and BDoc segment.

Page 22: Detailed View of Mobile .NET Client

22

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 22 of 49

Mobile .NET Client – Modeling Business Logic

Access detailed BDoc information with the BDoc explorer

Detailed BDoc information can be accessed using the new BDocExplorer. The information is structured similar to the way it is structuredin the BDoc Modeler on the CRM Server. The BDoc information shownin the SAP MAS is read-only. Whenever BDoc changes are made on the CRM Server the BDoc meta-data has to be synchronized on theMobile Development Workstation.

Page 23: Detailed View of Mobile .NET Client

23

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 23 of 49

Mobile .NET Client – Modeling Business Logic

Add relations to other business objects

The context menu of a Business Object provides the „View Relationship“ option.In the relationship designer you create new Business Object Relationships. The new designer lists the relationships in the upper section of the screen and shows a visual depiction of the relationship in the lower section of the screen.

Page 24: Detailed View of Mobile .NET Client

24

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 24 of 49

Mobile .NET Client – Modeling Business Logic

Sample business object for sales documents: BOSALESDOCGEN

Related BDoc informationand list of properties

List of relationships to other business objects and a visualdepiction of the selected relationship

This is an example of the new BOL designers showing data for theBusiness Object „BOSALESDOCGEN“.

Page 25: Detailed View of Mobile .NET Client

25

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 25 of 49

Mobile .NET Client – Modeling Business Logic

Sample business object for sales documents: BOSALESDOCGEN

Document outlinefor BOSALESDOCGEN

Code Designer window positioned at saved event handler

This example shows the new „Document Outline“ and „Code Designer“windows for the Business Object „BOSALESDOCGEN“.

Page 26: Detailed View of Mobile .NET Client

26

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 26 of 49

Mobile .NET Client – Generation of Runtime Files

Generate alldevelopment objects in the repository

Generate the development objects present in the current change list

Generate one selecteddevelopment object

Select a development object for(recursive) generation. This object appears in the generation list

Choose the appropriate option for generation

There are various option for generation of runtime objects:From the Build menu: Generate Changes

Choosing this option generates the runtime files for all development objects that were changed in the current change list.

From the Build menu: Generate AllChoosing this option generates the runtime files for all development objects present in the connected mobile application repository (MAR).

From the context menu of a development object: Generate ObjectChoosing this option generates the runtime files for the selected development object.

From the context menu of a development object: Select For Recursive Generation

Choosing this option selects only this development object for recursive generation. The selection can be viewed by opening the „Generation List“using the menu path „Tools“ -> „Generation List“ (see next slide).

Page 27: Detailed View of Mobile .NET Client

27

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 27 of 49

Mobile .NET Client – Generation of Runtime Files

Select the Generation List view to generate the runtime objects

Follow the menu path, Tools“ -> „Generation List“, to view the Generation list.Using the context menu of the generation list, you can either generate selected items or remove them from the list.

Page 28: Detailed View of Mobile .NET Client

28

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 28 of 49

CRM Field Application

Mobile .NET Client – Design and Development Process –Summary

Mobile Application Studio

Set of visual modeling toolsto model screen elements

and business objects

ApplicationRepositoryInterface

Generator

Screen ElementsScreen Elements Business ObjectsBusiness Objects

Source code (*.vb)Executables ( *.dll)

Runtimemeta-

information (*.dat)etc. …

User Interface Layer

CRM Serverwith

CRM Middleware

OtherSystems

CDBUDB

Mobile Application Repository

Business Object Layer

BDoc Layer

Synchronization

RuntimeDesign Time

Summary of the client side design-and-development processDesign Time:The SAP Mobile Application Studio (MAS) integrated with Microsoft Visual Studio .NET provides the design environment to model development objects, such as screen elements, which are stored in the Mobile Application Repository (MAR).The Application Repository Interface provides the interface to the MAR and defines the MAS logic and rules.A generator, integrated with the MAS, generates various runtime files from the meta-data in the MAR. Some important runtime files are:UIL: MS<X>.dll (for example, MSA.dll): application user interface behavior

*.dat files: runtime meta-information of all interaction components*.loc files: language specific text for interaction components, controls and framework messages

BOL: sfabol.dll: application business logicArsRep.dat: runtime meta-information of all BOL entities and BDocsMsgInfo<language>.dat: language specific information of all string resources

More details can be found in the section “Mobile .NET Client – Runtime”Runtime:The CRM field application consists of three layers, the User Interface Layer (UIL), the Business Object Layer (BOL) and the BDoc Layer (BDL). The UIL contains the graphical user interface, the BOL contains the application business logic and the BDL provides read / write access to the user database and synchronizes data with the CRM Server via the CRM Middleware.

Page 29: Detailed View of Mobile .NET Client

29

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 29 of 49

Mobile .NET Client – Multiuser Development

Maintain MAS users and profiles in the user manager

Users develop different scenarios within different change listsIsolated developmentMultiple object versions (baseline and change list version)

System ensures proper version managementComplete change history – version treeBranchingCollision resolutionTransport of change lists

Anyone who wants/needs to work on development objects in the Mobile Application Repository (MAR) using the SAP Mobile Application Studio (MAS) requires an MAS user.MAS users and profiles are maintained in the User Manager (see next slide).Every MAS user works with the MAR in the context of a change list. A change list contains a set of development object versions and the operations performed on them. These (open) versions are only visible to the user working with this change list. All other users work with the respective baseline versions until this change list is released. Upon releasing a change list, the new versions enter the baseline and are then accessible by all other MAS users. This mechanism allows isolated multi-user development and change tracking.The MAR stores all concurrent object versions. These versions can be accessed using the version tree in MAS.If two MAS users work on the same development object at the same time, the system handles multiple (open) object versions in different branches. When these object versions are released, collisions occur which have to be resolved manually.Changes, which have been made in the MAR in the context of change lists, can be transported across systems using the standard R/3 transport utility.

Page 30: Detailed View of Mobile .NET Client

30

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 30 of 49

Mobile .NET Client – User Manager

The user manager can be accessed using the menu path „Tools“ -> „User Manager“

Page 31: Detailed View of Mobile .NET Client

31

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 31 of 49

V 2

V 3

V 1

V 2

V 1

V 2V 2

Object 1

Object 2 Object 4

V 1

V 2V 2

Object 5

Repositorybaseline

V 3

V 1 V 1

V 3

V 5

V 4

Object 3

V 4 V 4

Change list 2

Change list 1

V 6

V 2

Releasing this change listcreates the new baseline

Mobile .NET Client – Working with Change Lists

The repository baseline is a „public view version set“ of development objects. This means, every MAS user accesses the baseline version of every development object – unless he works on a respective object in the context of a change list.The object versions that an MAS user works on are „open versions“ placed in a change list. The change list is the „private view version set“. In the example above, the MAS user working with change list 1 has a „private view“ of V6 of object 1 and V2 of object 4. The MAS user working with change list 2 has a „private view“ on V4 of object 2 and V4 of object 5. Both MAS users access thebaseline versions of all other objects that are not included in their respective change lists.When a change list is released, the baseline of the repository is updated with the new versions. Releasing a change list implicitly closes the open versions in this change list, thus transferring the former private object versions into public ones. In the example above, the V4 versions of objects 2 and 5 are closed when change list 2 is released and the baseline shifts from the V3 versions to the V4 versions (see next slide).

Page 32: Detailed View of Mobile .NET Client

32

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 32 of 49

The user working in change list 1 now works with the new versions (V4)of objects 2 and 5

V 2

V 3

V 1

V 2

V 1

V 2V 2

V 3

V 1 V 1

V 2V 2

V 1

V 2V 2

V 3

V 2

V 6

V 4

V 5

Change list 1

V 4V 4

Repositorybaseline

Mobile .NET Client – Working with Change Lists

Object 1

Object 2 Object 4

Object 5Object 3

Releasing change list 2 closes the versions V4 of objects 2 and 5. The baseline shifts from V3 to V4 and the V4 become accessible to all MAS users.

Page 33: Detailed View of Mobile .NET Client

33

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 33 of 49

Mobile .NET Client – Version Management

When two versions of the same development object are open, there are alsoTwo different (open) change listsTwo differentbranches

When an MAS user wants to work on a development object for which another MAS user has created an open version in a change list, the first user must create a new branch when creating his new (open) version of this object.

Page 34: Detailed View of Mobile .NET Client

34

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 34 of 49

Mobile .NET Client – Version Management

Releasing change list Y_Workpackage2Open version in branch Z_Demo is closedBaseline changes to this latest closed version

The first MAS user who releases his change list (Y_Workpackage2) is unaffected by the other open object version. The baseline simply shifts after releasing the change list as expected.

Page 35: Detailed View of Mobile .NET Client

35

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 35 of 49

Mobile .NET Client – Version Management

Releasing change list Y_Workpackage1Not possible because of collision with the previously closed version in branch Z_DemoThe current baseline version is no longer the predecessor of the open change list version predecessor and successor collision

The second MAS user trying to release his change list (Y_Workpackage1) cannot do so because the system recognizes a collision. This is due to the fact that the initial baseline version, on which this user’s new version was built (version 2 in the main branch), is different from the current baseline version (version 1 in branch Z_Demo, which became the baseline version upon release of change list Y_Workpackage2).

Page 36: Detailed View of Mobile .NET Client

36

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 36 of 49

Mobile .NET Client – Collision Resolution

Open the collision explorer to resolve the collisionView the differences between colliding versions to decide how toresolve them

If collisions occur, they are displayed in the collision browser. The collision browser can be accessed using the menu path „View“ -> „Collision Explorer“.

Page 37: Detailed View of Mobile .NET Client

37

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 37 of 49

Mobile .NET Client – Collision Resolution

Three options to resolve a collision

Accept the baseline versionAccept the change list versionMerge the baseline and the change list versions

The change list version is accepted here

The context menu for every collision provides three options for resolving the collision:

Accept Baseline Version:Choosing this option keeps the existing baseline version and ignores the version in the change list to be released.Accept Change List Version:Choosing this option shifts the baseline to the version in the change list, which is closed when the change list is released after resolving the collision.Merge:Choosing this option creates a new open version of the object inwhich parts of the baseline and the change list version can be merged. The merge option is often used when resolving source code collisions.

Page 38: Detailed View of Mobile .NET Client

38

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 38 of 49

Mobile .NET Client – Collision Resolution

After successful collision resolution, the Y_Workpackage1 change list can be released

This change list version in the Z_CustomerModifications branch is closedThe baseline is shifted to the latest closed version

In this example the change list version was chosen when resolving the collision. Therefore, the baseline shifted to version 1 in the Z_CustomerModifications branch after releasing the Y_Workpackage1 change list.

Page 39: Detailed View of Mobile .NET Client

39

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 39 of 49

Mobile .NET Client – Change List Explorer

All details about change lists and object versions in a change list can be accessed in the change list explorer using the menu path „View“ -> „Change List Explorer“.

Page 40: Detailed View of Mobile .NET Client

40

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 40 of 49

Mobile .NET Client – Translation Support

The translation tool provides a convenient way to translate text into different languages

The translation tool allows you to translate text objects, modeled for CRM Field Applications, into different languages.The text objects include:

Captions of applications, business components, tile sets, tiles and controlsDescriptions of business objects, business queries, properties and combo enginesText for and descriptions of messages

Page 41: Detailed View of Mobile .NET Client

41

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 41 of 49

Mobile .NET Client – Transporting Change Lists

Quality Assurance ProductionDevelopment

CRM ServerDEV

CRM ServerQUAL

CRM ServerPROD

Change Listwith

Development Objects

Import Change

ListChange List

with Development

Objects

Attach Change List to Transport Order Import

Change List

Change Listwith

Development Objects

MAR DEV

TransportAgent

MAR QUAL MAR PROD

TransportAgent

TransportAgent

Transport Order

Change Listwith Development

Objects

Transport Order

Change Listwith Development

Objects

Software logistics of development objects which are stored in the Mobile Application Repository (MAR), meaning transport of change lists from one system to another (e.g. DEV to QUAL), is accomplished by using the standard ABAP WebAS correction and transport system (CTS).The MAS user works on certain development objects in the context of a change list. When the development is finished, the changes have to be transported to the quality assurance system in order to test them. Therefore, the change list is attached to a transport order and released. The Transport Agent running on the DEV Mobile Repository Server sends the change list from the DEV MAR to the DEV CRM Server. From there the change list is transported to the QUAL CRM Server and imported into the QUAL MAR. In a similar way, the change list is transported to the PROD CRM Server and imported into the PROD MAR.The application runtime objects, however, are generated in each of the three systems (DEV, QUAL, PROD) seperately and distributed to the mobile clients (see next slide).

Page 42: Detailed View of Mobile .NET Client

42

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 42 of 49

CRM Server withCRM Middleware

Mobile Clients CommunicationStation

Mobile Upgrade Console

Mobile .NET Client – Deploying Upgrades

Mobile Application Studio (MAS)

Mobile Development Workstation

Mobile Repository Server

Transport Agent

Generator

Upgrade Script(*.rbn)

Runtime Objects

Runtime Object

Change List

Mobile Upgrade Package(*.mup)

Runtime Object

Change List

Mobile Upgrade Package(*.mup)

Client Outbound

Queue

Data Package

Mobile Upgrade Package(*.mup)

Mobile Upgrade Package(*.mup)Data Package

Client Upgrade Service

MAR

UDBUDB

UDB

The upgrade process for mobile clients is similar in all three systems (Development, Quality Assurance and Production).In the first step all necessary application runtime files must be generated from the meta-data in the Mobile Application Repository (MAR) and must be present on the (Master) Mobile Development Workstation (MDW).The Mobile Upgrade Console, installed on the MDW, is then used to create a Mobile Upgrade Package using an Upgrade Script. An Upgrade Script contains a complete description of an upgrade and consists of Upgrade Units. Upgrade Units contain information about files, folders and commands that need to be executed on mobile clients when changes have been made to the mobile client application.The Mobile Upgrade Package is stored in a change list on the MAR and is transported, as are other change lists containing meta-data, to the CRM Server.Mobile Clients must subscribe to a specific publication, similar to subscribing to business data, in order to receive the Mobile Upgrade Package. The Mobile Upgrade Package is „wrapped“ in a special type of BDoc Message and transferred to the Mobile Clients when they connect to the CRM Server via the Communication Station.The Client Upgrade Service running on the Mobile Client automatically executes the Upgrade immediately upon receipt.If there is only a low-bandwidth network available, such as a telephone line, the Mobile Upgrade Package can be shipped on a CD. In this case, only a trigger to execute the upgrade is sent via the CRM Middleware / BDoc mechanism.

Page 43: Detailed View of Mobile .NET Client

43

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 43 of 49

Content

Mobile Application Studio (MAS) from SAP: Integrationwith Microsoft Visual Studio .NET Application Design and Development Process

Visual modeling of metadataGeneration of Runtime Files

Mobile .NET Client – Design Time Environment

Multilanguage and Translation Support

Advantages of .NETApplication RuntimeUser Interface Framework Layer

Mobile .NET Client – Runtime

Multiuser DevelopmentChange Lists and Version ManagementBranching and Collision Resolution

Software LogisticsTransporting Change ListsCreating and Deploying Upgrades

Business Framework Layer

Page 44: Detailed View of Mobile .NET Client

44

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 44 of 49

Mobile .NET Client – Runtime

Advantages of .NET

Future-proof technology

Improved stability, security, and performance

Seamless integration of framework and application codeEasy debugging

More sophisticated programming featuresEnhanced memory management

Structured exception handling

Common type system

Application code can exist in any .NET language (C#, for example)

Page 45: Detailed View of Mobile .NET Client

45

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 45 of 49

Mobile .NET Client – Runtime

CRM Serverwith

CRM Middleware

Consolidated Database User Database

Mobile Client

Business Framework Layer

Logic Layer Data Access Layer

Application Code

User Interface Layer (UIL)

Business Object Layer (BOL)

User Interface Framework Layer

Business Document Layer

The runtime environment on the mobile client consists of various layers.The application layer, meaning the application code, is split into the Business Object Layer (BOL), which contains the application logic, and the User Interface Layer (UIL), which defines the application look and feel as well as determining the user input and output.Underneath the application code, there are two framework layers.

The user interface framework layer consists of a „core“ layer which interacts with the logic layer of the business framework and which defines the core interaction components and their behaviour, and a „control“ layer which defines the actual controls that appear on the screen (all derived from .NET controls) and the interaction between the controls and the „core“ (-> peer layer).The business framework layer contains the logic layer, which defines the interfaces application developers can use, and the data access layer (DAL), which defines services for accessing the local user database.

The Business Document Layer contains the runtime meta-information on Business Documents (BDocs).

BDocs provide an „object-like“ structured data format for the application business data, which is stored in various tables in relational databases (the „user database“on the mobile client and the „consolidated database“ (CDB) on the CRM Server).The DAL performs read and write operations with the local user database using BDoc meta-information present in the „arsrep.dat“ file.The client middleware components synchronize data with the CRM server by exchanging BDoc messages. The BDoc meta-information used by these components is present in the „tps.net“ file.

The various layers interact as indicated by the black arrows in the picture.Both framework layers and the application code are written in .NET programming languages (VB.NET (application code and UI framework layer) respectively C#.NET (business framework layer)).Customers can write additional code in any .NET language.

Page 46: Detailed View of Mobile .NET Client

46

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 46 of 49

Mobile .NET Client – Application Runtime

Sfabol.dllApplication business logic

ArsRep.datMetainformation of all BOL entities and BDocs

ArsRepEx<language>.datLanguage-specific descriptions for business objects, business queries, and their properties

MsgInfo<language>.datLanguage-specific information of all string resources

MSA.dllApplication user interface behavior

Bluebox related runtime objects (RTOs)Define correct runtime behavior of third-party controls assigned to a bluebox control

..\Layout\<language>\..*.loc filesLanguage-specific text for interaction components, controls and framework messages

..\Repos\*.dat filesMetainformation of all interaction components

..\Runtime\<subfolder>\*.dat filesCreated during runtime to store user-specific information, such as favorites, history,and so on

Application Code

User Interface Layer (UIL)

Business Object Layer (BOL)

Main components of the application runtime

Page 47: Detailed View of Mobile .NET Client

47

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 47 of 49

Mobile .NET Client – User Interface Framework Layer

Main components of the user interface framework layer

UFCore.dllContains the logic portion of the user interface framework: definition of core controls, interaction components, and business anchors

UFBaseControls.dllContains the display portion of the user interface framework: peer layer and native controls (derived from .NET controls)

UFDialog.dllDefines standardized look and feel of dialogs

UFStorage.dllAccesses metadata of all interaction components from the file system. Also reads and persists runtime metadata: favorites, history, and personalization

UFIPlugins.dllOffers a set of interfaces to allow standardized use of third-party functionality

User Interface Framework Layer

Page 48: Detailed View of Mobile .NET Client

48

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 48 of 49

Mobile .NET Client – Business Framework Layer

Main components of the business framework layer

MTBLLFWInterfaces.dllInterfaces of the logic layer and data access layer (DAL)

MTBLLFW.dllGeneric implementation of MTBLLFW interfaces; provides generic classes for use by application development

MTIServices.dllInterface definitions for logging

MTServices.dllImplementation of MTServices: used for logging

Business Framework Layer

Logic Layer Data Access Layer

Set of interfaces that application developers can use

Set of interfaces providing services for accessing the local database

(standardized read and write access)

Page 49: Detailed View of Mobile .NET Client

49

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 49 of 49

Further Information

mySAP CRM Learning MapsSAP Service Marketplace http://service.sap.com/rkt-crm

mySAP CRM

Online DocumentationSAP Help Portal http://help.sap.com/ Documentation mySAP Business Suite SAP Customer Relationship Management

SAP Online Knowledge Products

SAP Service Marketplace http://service.sap.com/okp

Online documentation:Help Portal http://help.sap.com/ > Documentation > mySAPBusiness Suite > SAP Customer Relationship ManagementSAP CRM Powered by SAP NetWeaver > Application Platform > CRM Mobile Technology

Information on the SAP Service Marketplace:Quick-link \NW-MOBILE > Mobile Client Technology (mySAP CRM)

Page 50: Detailed View of Mobile .NET Client

50

© SAP AG 2005, SAP CRM 5.0 – Mobile .NET Client, 50 of 49

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries.Oracle is a registered trademark of Oracle Corporation.UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc.JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.

Copyright © 2005 SAP AG. All Rights Reserved