Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
Detailed View of
Mobile .NET ClientSAP CRM 5.0 – Field Sales
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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
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.
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.
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.
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.
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.
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.
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“.
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“.
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).
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.
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.
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.
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“
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).
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.
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.
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.
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).
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“.
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.
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.
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“.
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
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).
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.
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
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)
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.
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
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
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)
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)
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