Kapitel 4 Flashcards

0
Q

Welche Operationstypen gibt es bei MBOs?

A
The operation types are 
CREATE 
UPDATE 
DELETE 
OTHER

OTHER does not allow data manipulation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Was enthält ein MBO?

A

An MBO is like any object in the programming world, it is a container of attributes and operations

  • Attributes define the data-makeup of the object
  • Operations define what the object is capable of doing

Native and Workflow applications will contain screens which display and allow editing of data

  • The fields displayed/edited are derived from an MBO’s attributes
  • The types of changes allowed depend on the MBO’s operations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie können Parameter zu Operationen bei MBOs definiert sein?

A

Parameters can be defined as nullable, updatable or required
Parameters are assigned their value from attributes, Personalization Keys or Default Values

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist ein Personalization Key?

A
  • Mechanism to allow mobile application users to provide input to the parameters of an MBO
  • May be created in the Unwired WorkSpace or the SCC
  • Protected property Obfuscates the values stored in the key so that they are more secure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Arten der Speicherung von Personalization Keys gibt es?

A

Server –values are stored in the CDB
Client –values are stored in the device local database
Transient –values are stored in memory
(Transient is required when the Personalization Key is used in the context of a Workflow application)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche systemeigenen Personalization Keys gibt es und wie werden diese verwendet?

A
  • Username and password are system-defined personalization keys
  • Represent the credentials supplied when the user logs into the mobile application
  • These credentials can be passed to the EIS source from the mobile application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Gibt es auch bei BAPI-MBOs Operationstypen?

A

If the MBO were sourced from a BAPI, no SQL would be written but you would still have CREATE, UPDATE and DELETE type operations
- The BAPI-based MBO will call some other BAPI operation in order to perform the data manipulation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Gibt es auch bei BAPI-MBOs Relationships?

A

In a relational database tables are database tables are related using Primary/Foreign keys Primary/Foreign keys

  • MBOs can be related in a similar fashion
  • Relationships must be manually created by the developer in Unwired WorkSpace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind MBO Roles und wie interagieren diese mit anderen Systemen?

A
  • Logical entities that control which users or groups can access an MBO
  • Provide user authorization before the request goes to the backend system (database SAP etc)
  • Sybase Unwired Platform roles work in conjunction with physical roles, which reside in the underlying security provider (i.e. LDAP server)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Granularität haben MBO Roles?

A
  • A role can be assigned to individual or multiple MBOs

- A role can grant access to an operation within an MBO for security granularity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie kann auf SAP MBOs zugegriffen werden?

A

BAPI/RFCs can be accessed from SUP using either:

  • The SAP/JCo (Java Connector)
  • SOAP Web Service (If your SAP Administrator has exposed the BAPI as a (SOAP) Web Service)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche beiden Ansätze zum Erstellen von MBOs gibt es?

Wie geht man danach vor?

A

Bottom-up approach:
- EIS Data Source already exists –mapping is automatic

Top-down approach

  • EIS Data Source does not yet exist
  • Mapping will be manual once the data source is created
  • After the BAPI Operation/RFC has been chosen, the next step is to define Inputs and Outputs
  • Providing Defaults for Read Parameters
  • Operation Return(s) to Attribute Mapping
  • Operations have to be added to pthe MBO to allow for updates to the SAP system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie kann mit Strukturen als eingabeparameter in BAPI umgegangen werden?

A

Some operation input parameters, such as the GetList BAPI operation use structure (complex) types use structure (complex) types You must know which of the structure attributes are required to successfully execute the operation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie geschieht der Quick-Test für MBOs?

A

Right-click over any MBO and choose Preview… to test the data that will be returned to the device

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind Result checker?

A

Result Checkers are Java classes, created by Developers, that implement custom error handling for MBOs:

  • Check each field for errors
  • Implement logic that determines what constitutes an error

If you choose to Create a new Result Checker, you will be prompted to add the Java nature to your project

After you create the Result Checker class the project will Checker class,  the project will contain a Filters folder with the Java source file representing the Result Checker 
The source is then opened and coded
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welche Methoden gibt es beim WSResultChecker-Interface und welche Parameter existieren?

A

Defines a method named checkReturn(SOAPEnvelope)

  • The parameter is the SOAP Envelope returned when the operation is executed
    • Use the SOAP API to retrieve returned values to see if successful
      • Returns –a single Map.Entry
        • Boolean key set to true if operation was successful (If the String value is not empty/null, it contains a warning message which will be logged on the server)
        • Boolean key set to false if operation was unsuccessful (String value thrown in body of an exception)
          • Error logged on server
          • Client will receive transaction log indicating failure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Welche Methoden gibt es beim RestResultChecker-Interface und welche Parameter existieren?

A

Defines a method named checkReturn

  • Contains three parameters:
    • HTTP responseBody as a String
    • responseBody as a List (In the form {header1, value1}, {header2, value2}, …)
    • httpStatsCode as an Int
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Welche Methoden gibt es beim SAPResultChecker-Interface und welche Parameter existieren?

A

Defines a method named checkReturn (com.sap.jco.JCO.Function)

  • The parameter is the JCo function that is executed
  • Use the JCo API to retrieve returned values to see if the operation was successful
    • Returns –a single Map.Entry
      • Boolean key set to true if operation was successful (If the String value is not empty/null, it contains a warning message which will be logged on the server)
      • Boolean key set to false if operation was unsuccessful (String value thrown in body of an exception)
        • Error logged on server
        • Client will receive transaction log indicating failure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was sind Result Filter und wozu dienen diese?

A
  • Java classes created by developers and used to customize the data returned when calling an EIS operation
  • Lets developers manipulate the data returned from a read operation before storing it into the Unwired Server’s CDB
  • Multiple Result Set Filters may be created and chained togetther applying incremental change to the data
  • MBOs can without Result Set Filters only get their data from a single EIS source
  • A Result Set Filter goes beyond simple filtering. You can:
    • Add, delete, change columns
    • Add and delete rows
    • Augment the output by reading from other EIS sources

After you create the Result Set Filter class the project Set Filter class, the project will contain a Filters folder with the Java source file representing the Result Checker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Was ist das Problem von SAP-MBOs, die per Palette erstellt wurden und wie kann dies gelöst werden?

A
  • MBOs built using the Palette contain no operations, only attributes
  • To perform CRUD operations on an SAP system, you must add operations to the MBO
  • This is done by clicking Add in the Properties view and specification of:
    • Operation Name
    • Operation Type
    • Data Source Type
    • Connection Profile
  • Use the Browse feature to find the appropriate BAPI / Operation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Wie sollten SAP-MBO-Operations getestet werden?

A

Use the “Test Execute” button to ensure that you have chosen all of the required inputs (after creation of the MBO operation)

  • Need knowledge of the BAPI operation you are calling (what is and is not required) before you create the MBO operation
  • If you do not have this information, Test Execute will let you, by trial-and-error, determine operation input requirements
  • The only way to fully test a CREATE operation is to build the UI and test as the user would on the device / simulator
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wie ist das Commit-Verhalten von SAP-MBO-Operations?

A

Commit SAP Operation (Auto Commit) is enabled by default and can only be changed by editing the operation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Was ist ein Web Service Connection Profile und wie kann dies erstellt werden?

A
  • Like SAP BAPI-driven MBOs SOAP Web Service MBOs, SOAP Web Service MBOs require a connection profile
  • Begin by right-clicking the Web Services node in the Web Services node in the Enterprise Explorer to start the Connection Profile wizard
  • Name the profile, click Next, and provide the WSDL location
  • If basic authentication is required by the service, enable HTTP authentication, and enter a user name and password
  • Test the connection
  • Right-click on a Web Service profile and select Connect from the context menu
23
Q

Bei einem MBO ohne Attribute (z.B. Web Service): wie werden Parameter übergeben und welchen Operationstyp haben Operationen?

A
  • Unlike an MBO that has attributes that has attributes, this MBO will pass data values using operation parameters
  • If the MBO has no attributes, the Operation Type must be set to OTHER
24
Q

Was versteht man unter REST?

A

REST is a set of principles that define how Web standards, such as HTTP and URIs are used

Five key principles of REST are:
- Give every resource an ID
- Link resources together
- Use standard HTTP methods (CRUD -> Post, Get, Put, Delete)
- Allow resources to have multiple representations (XML, JavaScript Object Notation (JSON) or both)
!!! SUP only allows XML representations!!!
- Communicate in a stateless manner

25
Q

Benötigt ein REST-basiertes MBO eine XSD?

A

The definition of a REST-based MBO requires a schema

The .NET Framework SDK has a utility named XSD.exe to create schemas from sample XML data

The schema can be:

  • Remote file accessed via a URL
  • A local file
26
Q

Was versteht man unter einem Resource URI Template?

A

The template that is appended to the base URL (for example, customers/{id})

  • Determines how the URI is parsed so all possible parameters are retrieved
  • All parameters are treated as operation arguments, enabling MBO CRUD operations on the REST Web Service resources
  • A string datatype is used if a datatype is not explicitly specified (/getCustomer/{id(int)})
  • Parameters can also support null values (/getCustomer/{id(int?)})
27
Q

Wieviele Resource URI Temolates benötigt man für eine REST-Connection?

A

one or more URI templates

28
Q

Wie sieht das Mapping zwischen REST-Service und MBO aus?

A

REST Service request operations map to MBO Operation parameters
REST Service response operations map to MBO Attributes

29
Q

Welchen Vorteil bietet REST gegenüber SOAP bezüglich Header-Informationen?

A
  • One of the benefits of REST over SOAP is the ability to manipulate the message header(s)
  • For example, Amazon’s REST Web Service requires authentication by sending a secret access key (that they provide) via the HTTPAuthorization header
30
Q

Was bietet der Wizard beim Erstellen einer DB-MBO per Drag and drop an Vorteil gegenüber der Palette und umgekehrt?

A

When dragging a table onto the table onto the diagram, the Quick Create Wizard is invoked

  • Choose which operations to embed into the MBO
  • The SQL cannot be changed here but can be edited later

Palette:

  • Enter the SQL statement in the SQL Query text box provided OR
  • Create it graphically
31
Q

Wie werden Relationships zwischen MBOs erstellt?

A
  • Relationships between MBOs are NOT automatically created

- Must manually create relationships using the Palette’s Relationship tool

32
Q

Wie sehen Unterschiede zwischen RBS und MBS aus (s. Abbildung auf S. 4-121

A

S. Abbildung auf 4-121

33
Q

Was ist der Unterschied zwischen Synchronization und Data Refresh?

A

Synchronization–synchronize between the Unwired Server Consolidated Database (CDB () ) and the mobile device’s database

  • Requires a wireless connection
  • Data updates are aggregated and synchronized when a connection becomes available
  • Push type (server-initiated) synchronization can also be implemented

Data Refresh:
- synchronize between the EIS an the unwired server CDB

Because RBS applications interact with the CDB, if the EIS connectivity fails, the device can still access the data in the CDB

34
Q

Was müssen Entwickler bzgl. Synchronisation und Datenaktualisierung beachten?

A

Developers must define data & synchronization requirements such as:

  • What data is needed and when
  • How current should the data be on the device
  • Which users can access the data

These requirements help drive update, synchronization, and access decisions

35
Q

Wo können Personalization Keys persistiert werden?

A

Can be persisted:

  • On the client (stored in the device database)
  • On the server (stored in the CDB
  • Transient (In memory)
36
Q

Welche Einstellungen gibt es bei Personalization Keys?

A
  • Name
  • Type
  • Nullable
  • Protected (Obfuscates the personalization key value, making it more secure)
  • Optional default value(s)
  • Storage location: Client, Server or Session (In memory)
  • Description
37
Q

Wozu dienen Load Parameter und wo werden diese eingesetzt?

A

Einsatz: zwischen CDB und EIS

In RBS, load parameters control the amount of data refreshed between the back-end EIS and consolidated databases

  • Creates partitions in the CDB based on values given
  • Can obtain its value from with a Personalization Key, a Synchronization Parameter, or a default value

Load parameter willbe created automatically if the MBO contains a “read parameter”

38
Q

Wozu dienen Synchronization Parameter und wo werden diese eingesetzt?

A

Einsatz zwischen CDB und Device

In RBS, a synchronization parameter:

  • Maps to an attribute
  • Limits the data that is returned to the device
  • Can be tied to a Personalization Key, a control on a screen, a variable in an application

Sychronization Parameters are NOT created automatically, they have to be created via properties

39
Q

Bei Synchronization Parameter: welche Auswirkung hat die Eigenschaft Query Limiting?

A

When Query Limiting

  • is enabled, on subsequent reads, the data is overwritten -
  • when disabled, the data is appended

The default is disabled

40
Q

Womit kann ein Sychronization Key gefüllt werden?

A

The Synchronization Parameter could have been populated from: Personalization Key, a Control on the screen, a variable or a literal

41
Q

Was können Performance-Strategien berücksichtigen?

A
  • Design the CDB cache to refresh client application data
  • Create Synchronization groups –identify the mobile business objects (MBO) that are to be synchronized as a group (Related MBOs must be within the same Synchronization Group)
  • Create Cache Groups –specifies data refresh behavior for every MBO in the group (Related MBOs must be within the same Cache Group)
  • Work with Data change notifications (DCNs) to define how often to update data in the cache after data changes are detected in the data source
42
Q

Wie wird bei einer Synchronization Group angegeben, wann diese aktualisiert wird und wie kann diese dann verwendet werden?

A

Change detection interval is the frequency, in hours, minutes, and seconds with which Unwired Server is notified of data within the synchronization group

MBOs können dann entweder in diese Group verschoben werden oder in der Default-Gruppe bleiben.

Über synchronize(“groupname”) oder synchronize() können dann bestimmte Gruppen oder alle programmatisch aktualisiert werden

43
Q

Was sind Cache Groups und wie können diese verwendet werden?

A

A cache group specifies the data refresh behavior for every mobile business object (MBO) within that group

Developers or administrators can create additional Cache Groups

44
Q

Welche Cache policies gibt es für Cache Groups?

A
  • On demand
  • Scheduled
  • DCN
  • Online
45
Q

Cache Policy On Demand: was bedeutet das?

A

Application logic combined with the cache interval determines when a cache refresh is triggered

  • Cache is not updated until a request is made of the cache and the cache has expired
  • If a request is made of the cache and it has expired there may be a delay responding to the request while the cache is refreshed
46
Q

Cache Policy Scheduled: was bedeutet das?

A
  • The cache is refreshed when a scheduled task, defined by the Unwired Server administrator, executes
  • Scheduled tasks are created in the SCC
  • The cache can also be refreshed per the Cache interval
  • Load parameters filled from transient personalization keys cannot be used with a scheduled cache
47
Q

Cache Policy DCN: was bedeutet das?

A

DCN(Data Change Notification):

  • The cache never expires
  • Data refresh is triggered by an EIS Data Change Notification
  • The cache interval fields are disabled when DCN is selected
48
Q

Cache Policy Online: was bedeutet das?

A
  • Used strictly with Mobile Workflow applications where access to real-time EIS data is required
  • only available for MBS 4 -147
  • Bypasses the Unwired Server cache (CDB)
49
Q

Was sind Relationships bei MBOs, wozu dienen sie und welche Elemente können verbunden sein?

A

Are the mapping of attributes or parameters of one MBO to those of another

  • Are beneficial because they:
    • Provision related data as a single unit
    • Properly sequence the operations on the related MBO
  • Two Attributes
  • Attribute and Parameter
  • Parameter and Attribute
  • Two Parameters
50
Q

Was bedeutet bidirectional und composite bei den MBO-Relationships?

A
  • Bidirectional: Changes can be propagated in both directions
  • Composite: Operations such as deleting the Parent (e.g. Customer) will automatically cascade down to the child (e.g. delete orders)
51
Q

Was sind Local Business Objects?

A

Data exists only in the device’s database

  • Does not use a remote data source
  • Does not have pending status
  • Does not require sync
  • Can only define create, update and delete operations
  • Are instantiated with code and serve as temporary data stores for a mobile application
  • Relationships can be created between LBOs but NOT between LBOs and MBOs
  • Since it does not come from an EIS, the creation of attributes in the LBO is a manual process
  • LBOs do not have OTHER-type operations
  • Even though operations were specified in the creation of the LBO, they do not appear in the mobile application diagram
  • The icon for the LBO is different from that of the MBO
52
Q

Welche Deployment-Methoden gibt es?

A
  • Update
  • No Overwrite
  • Replace
  • Verify
53
Q

Was muss beim Deployment von Result Checker und Result Filter beachtet werden?

A

Custom Result Set Filters and Result Checkers should be packaged into Java Archive (JAR) files for deployment to the Unwired Server

54
Q

Wie kann man prüfen, ob das Deployment erfolgreich war?

A

You can verify the deployment of your deployment of your MBOs by navigating the Unwired Server profile in the Enterprise Explorer

55
Q

Was kann im Deployment Profile gemacht werden?

A

Allows you to designate the Unwired Server to which a package is deployed as well as perform a simple one-click deploy