development framework for service-oriented application
TRANSCRIPT
Development Framework forDevelopment Framework forService-OrientedService-Oriented
Application InstrumentationApplication Instrumentationand SAP R/3 Modeland SAP R/3 Model
Andreas KöppelUniversity of Karlsruhe, Germany
Application Management Starts at the Application Developer!
DMTF 2001 Developers' Conference June 11-13, 2001 Page 2
RoadmapRoadmap
• Application Management• Framework
– Model Requirements– Model Design– Provider Implementation
• SAP Model– Systems– Landscapes
DMTF 2001 Developers' Conference June 11-13, 2001 Page 3
RoadmapRoadmap
• Application Management• Framework
– Model Requirements– Model Design– Provider Implementation
• SAP Model– Systems– Landscapes
DMTF 2001 Developers' Conference June 11-13, 2001 Page 4
ScenarioScenario: SAP R/3 (I): SAP R/3 (I)
Presentation
Internet
Application
Database
Web-clients
Web Server Internet Transaction
Server (ITS)
Database
App-Server
. . .Web-
clientsClient Client
CreateProduction
Orders
ReleaseProduction
Orders
ScheduleProduction
Accept Customer
Order
ConfirmDelivery
BuildProducts
ExplodeBill -of-Material
ReserveMaterial
CustomerService
Rep
PlantPersonnel
ProductionOrder
CustomerOrder
Part Material Task
App-Server App-Server
Layer 3-tier Multi-tier
System
DMTF 2001 Developers' Conference June 11-13, 2001 Page 5
ScenarioScenario: SAP R/3 (II): SAP R/3 (II)
Developer
Company boundary
Computing Center
Operator
SAP Customer
User
Server Client
Software (R/3)
Company boundary(eventually)
R/3 Basis Development
Regional Support
DMTF 2001 Developers' Conference June 11-13, 2001 Page 6
FCAPSFCAPS
• Configuration mgmt incl. software distribution(installation)
• Accounting incl. software asset mgmt and softwarelicense mgmt
• Security mgmt including virus protection
Application
Accounting Performance Security
Fault Configuration
DMTF 2001 Developers' Conference June 11-13, 2001 Page 7
LifecycleLifecycle
Particularly important: Running,Executable= Operation
Deployable Executable RunningInstallable
DMTF 2001 Developers' Conference June 11-13, 2001 Page 8
ServiceService Level LevelManagementManagement
SLM widens the management context of theapplication.
Service
Application
Implementation
Analysis
Control
MeasurementReporting
SLA
defines
influences
AvailabilityPerformance(Throughput,
Response Time)Recoverability
DMTF 2001 Developers' Conference June 11-13, 2001 Page 9
RoadmapRoadmap
• Application Management• Framework
– Model Requirements– Model Design– Provider Implementation
• SAP Model– Systems– Landscapes
DMTF 2001 Developers' Conference June 11-13, 2001 Page 10
Goal (I)Goal (I)
Agent (Provider)
Mgmt ContextOriented
Meldungen
Operationen
Application= Resource
Workflows
Instrumentation
SLA Support
ResourceOriented
Development Framework
• standard-based
• model-based
supports user at the development of
DMTF 2001 Developers' Conference June 11-13, 2001 Page 11
Goal (II)Goal (II)
CIMOM
CIMRepository
access
Provider(s)
state
keys
configuration
performance
events
methods
associations
Application
inter-operate
integrate
Model
instantiate
store
ManagementApplication
access
ModelDocumentation
explain
history
DMTF 2001 Developers' Conference June 11-13, 2001 Page 12
ArchitectureArchitecture
Developer's View
AM starts at the application developer!
Development Framework
Concepts(Req. Eng.)
Integration(SW Design)
ImplementationSupport
CCWorkflows
SLA Support
Instrumen-tation
ProjectsRequirementsAM, SLM
App Models
Tool Kit
Modules
DMTF 2001 Developers' Conference June 11-13, 2001 Page 13
SubSub-Models-Models
initiallife cycle
deployable installable executable runningappstatus
multiplicity
sub-model
1:n 1:n 1:n
transportsetup
installation
runtime model
expectedexpected+
running
expected = configuration-derived: topology, dependencies, keys, status (no contact/lost comm)
availabilitythroughput
response timenumber of users
SLA support
DMTF 2001 Developers' Conference June 11-13, 2001 Page 14
Run-Run-TimeTime Model Model
initiallife cycle
executable runningappstatussub-model
installation
runtime modelfunctionalsystemsstructural
data/dataflow
external systemslandscapes
workflow = default+rollback+exception
best practices (tasks):routine (daily/weekly/...)
configurationanalysis
workflows
registrationconfigurationindications
history
methods
DMTF 2001 Developers' Conference June 11-13, 2001 Page 15
HierarchiesHierarchiesGenerally, top classes are CIM_System.• Structural containment hierarchy (explicit)• Functional containment hierarchy (explicit)• Inheritance hierarchy (explicit)• Status aggregation hierarchy (implicit)• Performance aggregation hierarchy
(implicit)• Event aggregation hierarchy (implicit)• Configuration hierarchy (explicit)
DMTF 2001 Developers' Conference June 11-13, 2001 Page 16
DesignDesign Tasks Tasks
• Create an initial model (implicit:load also)
• Modify the model• Explain the model (description
qualifier, instance models)• Simulate the model (static
instances, queries)• Design GUI of management
application
DMTF 2001 Developers' Conference June 11-13, 2001 Page 17
Supporting ObjectsSupporting Objects
• Generic application model templates• Design patterns• Property patterns• Event templates
DMTF 2001 Developers' Conference June 11-13, 2001 Page 18
Design SupportDesign SupportRepository Editor
Selection
visualrepresentation
textrepresentation
structuredrepresentation
visualisation data
Namespace
modelclasses
inheritedclasses
instances
File
instances
classes
coderepresentation
implementation code
Design PatternBrowser
Description Editor
Event ToolQuery Tool
BrowserNamespace Admin.
providercompilation
DMTF 2001 Developers' Conference June 11-13, 2001 Page 19
Editor Programs
Design SupportDesign SupportImplementationImplementation
Repository
CIMModelread only
read only
SelectionManager Update (XML)
MOFXML
Visio
XSLTHTML
.vsd
MOF-XSLT Parser
LoadXML
SaveXML
CIM Portal(Design Pattern
Browser,Model Browser)
• least dev effort
• built on existing tools
• visual modeling
DMTF 2001 Developers' Conference June 11-13, 2001 Page 20
PortalPortal
DMTF 2001 Developers' Conference June 11-13, 2001 Page 21
ImplementationImplementation Tasks Tasks
• Design provider environment• Integrate the model in the provider code and the
application code• Write additional management code• Test the provider• Revise the GUI• Write additional management application code• Test the management application• Package provider, model, management application
DMTF 2001 Developers' Conference June 11-13, 2001 Page 22
SupportSupport Objects Objects
• Provider data structure templates• Generic provider architecture templates• Code templates for certain classes and
property categories• Provider help classes (configuration file
access, log file access, scoped keysupport)
DMTF 2001 Developers' Conference June 11-13, 2001 Page 23
ProviderProvider• Install/Uninstall with the application• Uptime is independent of the app• Access data instances in the app’s memory
asynchronously (instances of classes andproperties)
• Provide information asynchronously(indications)
• Incite code execution asynchronously(methods)
• Discriminate the context of the app’s data(associations and keys)
DMTF 2001 Developers' Conference June 11-13, 2001 Page 24
App SystemTechnical EnvironmentTechnical Environment
Configuration
Process 1
Runtime Data
Process 2
Runtime Data
ProcessCIMOM
App Code on HD
Module A
Module B
Configuration
App Code on HD
Module C
Obj A1
Obj A2
Obj B1
Obj A3
computer system boundary
Provider(s)
Provider(s)
execute
execute
ProcessCIMOM
Process 1
Runtime Data
Obj C1
Obj C2
DMTF 2001 Developers' Conference June 11-13, 2001 Page 25
RoadmapRoadmap
• Application Management• Framework
– Model Requirements– Model Design– Provider Implementation
• SAP Model– Systems– Landscapes
DMTF 2001 Developers' Conference June 11-13, 2001 Page 26
SAP R/3SAP R/3 Architecture Architecture
Presentation
Internet
Application
Database
Web-clients
Web Server Internet Transaction
Server (ITS)
Database
App-Server
. . .Web-
clientsClient Client
CreateProduction
Orders
ReleaseProduction
Orders
ScheduleProduction
Accept Customer
Order
ConfirmDelivery
BuildProducts
ExplodeBill -of-Material
ReserveMaterial
CustomerService
Rep
PlantPersonnel
ProductionOrder
CustomerOrder
Part Material Task
App-Server App-Server
Layer 3-tier Multi-tier
System
DMTF 2001 Developers' Conference June 11-13, 2001 Page 27
OverviewOverview
• SAP System Component Repository• Future: SAP Landscape Directory• Focus on systems and software features• SAP core model
DMTF 2001 Developers' Conference June 11-13, 2001 Page 28
SystemsSystems
GroupComponent
PartComponent
*
1..*
DA_DSWSystemComponentSystem
GroupComponentPartComponent
11..*
DA_DASystemComponentLocalASystem
CIM_ApplicationSystem
{abstract}
DA_ApplicationSystem
DA_DistributedApplicationSystem
GroupComponentPartComponent
11..*
DA_DASystemComponentLASystem
DA_LogicalApplicationSystemDA_LocalApplicationSystem
{abstract}
DA_DistributedSoftwareSystem
• Systems: main building blocks of the model
DMTF 2001 Developers' Conference June 11-13, 2001 Page 29
{sap_abstract}SAP_ApplicationSystem
11..* SAP_BCSystemClient
{sap_abstract}SAP_DistributedApplicationSystem
*
1..*
SA
P_D
AS
yste
mC
ompo
nent
Sys
tem
SAP_BCClientSAP_BCApplicationServer
11..*
SAP_BCSystemApplicationServer
CIM_ApplicationSystem
SAP_BCMessageServer
11..*
SAP_BCSystemMessageServer
SAP_BCSystem
SAP SystemsSAP Systems
DA_ApplicationSystem
DA_DistributedApplicationSystem
DA_LocalApplicationSystem
DA_LogicalApplicationSystem
DMTF 2001 Developers' Conference June 11-13, 2001 Page 30
ExternalExternal Systems Systems
level 2blevel 2c
level 2a
level 1
CIM_System:ExtSystem
CIM_System:ExtSubSystem
ExtApplSystem
SWFeature
CIM_SWFeature:ExtSoftwareFeature
ExtApplSystem
SWFeatureCIM_Service:
ExtService
CIM_SAP:ExtSAP
ExtHostedAccessPoint
ExtHostedService
CIM_Product:ExtProduct
CIM_SWElement:ExtSWElement
ExtSWFeatureSWElements
ExtProductSoftwareFeatures
[ExternalView] class MyExternalClass: AnyClass {...};[Association, ToExternalView]class ExternalViewDependency: AnyAssociation {...};[Association, ToExternal]class ExternalDependency:CIM_LogicalIdentity {...};
ApplicationModel
ToExternalView
ExternalSystem
ToExternal
DMTF 2001 Developers' Conference June 11-13, 2001 Page 31
SAPSAP External External Systems Systems
• Computer system, database, webserver
SAP_BCApplicationServer
SAP_BCSystem
MachineType: stringOpSys: stringOpSysRelease: stringOpSysValid: stringSAPVersionsSupported: stringIPAddress: string
{ExternalView}SAP_ComputerSystem Antecedent
Dependent1
*SAP_BCApplicationServerHost
DBInstanceName: string
{ExternalView}SAP_DatabaseInstance
GroupComponent
PartComponent 0..11
SAP_BCSystemDB
Antecedent
Dependent *1..* SAP_BCUsingDB
Antecedent
Dependent
1
*
SAP_DBHost
GroupComponent
PartComponent
1
1..*
SAP_DBSystemInstance
Manufacturer: stringOwner: stringRelease: stringDBSID: string
{ExternalView}
SAP_DatabaseSystem
SAP_BCMessageServerAntecedent Dependent1 *SAP_BCMessageServerHost
DMTF 2001 Developers' Conference June 11-13, 2001 Page 32
SAPSAP Application Application Server Server
Number: string {MaxLen=2}AvailabilityMonitoringPolicy: stringInstanceProfileName: stringInstanceProfilePath: stringStartProfileName: stringStartProfilePath: stringHomeDirectory: string
SAP_BCApplicationServer
Release: stringPatchLevel: stringCompilationInfo: stringCompatibleDBSystemReleases[]: stringCompatibleBCSystemReleases[]: stringCompatibleOSReleases[]: stringDBSLVersion: stringDBClientLibVersion: stringABAPLoadVersion: uint16CUALoadVersion: uint16RunMode: string {MaxLen=3}
SAP_BCKernel
GroupComponentPartComponent
11
SAP_BCApplicationServerKernel
Type: string
SAP_BCKernelComponent
GroupComponent
PartComponent
1
*
SAP_BCKernelComponent
• CIM_SWFeature, CIM_SWElement
• Awkward to construct slim designs (OS, HW deps and SWF!)
DMTF 2001 Developers' Conference June 11-13, 2001 Page 33
Service AccessService Access Pts Pts (I) (I)
Host A (server) Host B (client)
:SAP_ApplicationService
ServiceServiceDependency
:SAP_ApplicationServicePort
CIM_ServiceSAPDependency
:SAP_ApplicationServiceReference
SAP_ApplicationServiceAccessByPort
SAP_ReferencePortDependency
optionaladdress and accessinformation that isequal for all clients
optionaladdress and accessinformation that isequal for all clients ona specific host
:CIM_ServiceSAPDependency
optionaladdress and accessinformation that isonly for a single client
:SAP_ApplicationService
:SAP_ApplicationService
DMTF 2001 Developers' Conference June 11-13, 2001 Page 34
Service AccessService Access Pts Pts (II) (II)
System B (client)System A (server)
ApplicationServer X
:SAP_ApplicationService
:SAP_ApplicationService
CIM_ServiceServiceDependency
Application LayerMiddleware
:CIM_ServiceAccessPoint
CIM_ServiceSAPDependency
CIM_ServiceSAPDependency
LoadBalanc:SAP_ApplicationService
:RFCComm:SAP_ApplicationService
CIM_ServiceAccessBySAP
...AccessByPort
ProtocolHostName
:SAP_TCPIPServicePort
Name...
:SAP_RFCDestination
...ReferencePortDep...
CIM_SAPSAPDep...
ProtocolHostName
:SAP_TCPIPServicePort
ProtocolHostName
:SAP_TCPIPServicePort
...AccessByPort
...AccessByPort
...ReferencePortDep...
Name...
:SAP_RFCDestination
DMTF 2001 Developers' Conference June 11-13, 2001 Page 35
SAPSAP Keys Keys (I) (I)• Each class defines an additional set of key
properties, the SAP key, in order to supportexisting SAP naming schemes
• CIM key properties, e.g. CIM_System.Name,are built out of SAP key properties in orderto provide a meaningful name to externaltools at design time
DMTF 2001 Developers' Conference June 11-13, 2001 Page 36
SAPSAP Keys Keys (II) (II)• A property having a SAP_KEY qualifier is part of
the unique name of an object, e.g.:SAP_BCClient
• The property to which the composition appliesis marked with a COMPOSITE qualifier: classSAP_BCClient {
[KEY, COMPOSITE]string Name = “003.SystemName.C11”[SAP_KEY]string SystemName = “C11”
...};
DMTF 2001 Developers' Conference June 11-13, 2001 Page 37
ScopeScope
• Objects are named within the scope of other objects,similar to the CIMs ‘weak’ association and ‘propagated’keys– E.g. a Client ‘001’ is unique within a SAP System
• Enhances flexibility towards classes down theinheritance hierarchy
CreationClassName {KEY}Name {KEY}...
SAP_ApplicationSystem
1* {SCOPE}
SAP_BCSystemClient
CreationClassName {KEY}Name {KEY, COMPOSITE}LicenseNumber {SAP_KEY}...
SAP_BCSystem
CreationClassName {KEY}Name {KEY, COMPOSITE}SystemCreationClassName {SAP_KEY, SCOPED="SAP_BCSystem.CreationClassName"}SystemName {SAP_KEY, SCOPED="SAP_BCSystem.Name"}SystemLicenseNumber {SAP_KEY, SCOPED="SAP_BCSystem.LicenseNumber"}...
SAP_BCClient
DMTF 2001 Developers' Conference June 11-13, 2001 Page 38
LandscapesLandscapes
Level 3
Level 2
Level 1
SystemAspectAnySystemLogicalIdentity
Landscape
AnyClass ClassAspectLogicalIdentity
ModelExtensionClass
Mutual CIMClass
Landscape
Core Model
[Landscape(“MyLandscape”)]class MyModel_MyAspect: MutualBaseClass {…};
DMTF 2001 Developers' Conference June 11-13, 2001 Page 39
InstallationInstallationDependenciesDependencies
• Similar to CIM_Check• Compatibility of a pair of products also
on the level of CIM_Product andCIM_SoftwareFeature.
• Dependencies: OS, hardware, SWcomponents and patchlevel
• Instantiation independent of the actualinstallation (as modeled by the DMTF)
DMTF 2001 Developers' Conference June 11-13, 2001 Page 40
ConclusionConclusion
• Framework: holistic approach toapplication model/provider developmentincluding service level management.
• SAP model: good basis for furtherrefinement of the model
• SAP model future: performance,business applications, events
• CIM has proved to be flexible and simpleenough
DMTF 2001 Developers' Conference June 11-13, 2001 Page 41
QuestionsQuestions??