DevelopingCompositeApplicationswithSAPCompositeApplicationFrameworkCAFCoreCAFGuidedProceduresCAFCoreCAFGuidedProcedures©SAPAG2004,TitleofPresentation,SpeakerName/4CAFinaNutshellTheCompositeApplicationFramework(CAF)providesaprogrammingmodelsuitableforthedevelopmentanddeploymentofcompositeapplicationsaccordingtotheEnterpriseServicesArchitecture(ESA).CAFprovidesacomprehensiveenvironmentformodeling(metadataandtools).CAFallowstobuildapplicationsleveragingNetWeaverwithouttheneedtofeedlow-levelAPIs.CAFhelpsdevelopersandprocessownerstofocusonimplementingthebusinesslogic.CAFcomeswithpredefinedgenericpatternsforreuseindifferentdevelopmentprojects.©SAPAG2004,TitleofPresentation,SpeakerName/5Example:xFlightsDemoAnemployeehastoflytoaconference.xFlightsallowsyoutobookflights.TravelAgentTravelAgentEntertravelrequestTravelerSelectflightsChooseoneflightBookflightApprovetravelTravelerManagerCAFDBWebServiceCAFDBCRMFlights/SchedulesTravelAgencyRequestFlight/ScheduleR/3EmployeeWebServiceFlight/ScheduleCAFDBApprovalR/3EmployeeCostcenterKMProfile©SAPAG2004,TitleofPresentation,SpeakerName/6DesigningAcrossTraditionalFunctionalERPAreasUserInterfaceEmployeeManagerTravelAgentManagerManagerFlightscheduleFlightscheduleBusinessScenarioEmployeefliestoconference.TravelinformationTravelinformationEmployeetravelEmployeetravelneedsneedsTravelrequestTravelrequestApproveflightApproveflightBookflightBookflightIntegrationCAFDBWebServiceKMHR,CRM,FI/CO©SAPAG2004,TitleofPresentation,SpeakerName/7HowToBuildAppsUntilNow?defineBusinessProcessdrawEntityRelationshipDiagramscreateDDICelementsCHAR255CHAR255booleanbooleanINT4INT4STRING30STRING30selectProgrammingLanguagewritecoding(80%life-cycle-methods,20%businesslogic)…debug,debug,debug…find&understandBAPIs,RFCs,APIs©SAPAG2004,TitleofPresentation,SpeakerName/8HowToBuildAppsUntilNow?…andbecomefamiliarwith…EnterprisePortal&PortalDevelopmentKitNetWeaverDeveloperStudioABAPWorkbenchKnowledgeManagementBackend-systems(R/3,CRM,…)3rdParty-systemsExchangeInfrastructure(XI)…Bottomline:weneeddeveloperswithmanyskills–noteasytofind©SAPAG2004,TitleofPresentation,SpeakerName/9HowToBuildAppsUntilNow?…andtheresultissometimeslikethis:©SAPAG2004,TitleofPresentation,SpeakerName/10HowToBuildAppsFromNowOn?Build…//createwithpublicthrowsuser=if?xmlversion='1.0'encoding='ISO-8859-1'?XMIxmi.version='SAP_1.0'timestamp='ThuMar1815:11:17PST2004'XMI.headerXMI.documentationXMI.exporterSAPMetaModelRepository/XMI.exporterXMI.exporterVersion1.0/XMI.exporterVersion/XMI.documentation/XMI.headerXMI.contentcom.sap.caf.metamodel.Attributexmi.id='010FE8D69A8247EC482BEEAA0BA8607D'isAbstract='false'attributeName='Manufacturer'languageDependent='0'timeDependent='0'hollow='0'DbFieldName='MANUFACTURER'typeJava='com.sap.caf.core.id'mandatory='0'keyType='0'cardinality='0'___createdAt='20040316023208'___createdBy='I804143'___lastChangedAt='20040318231113'___lastChangedBy='I804143'___deprecated='0'//XMI.content/XMICreate…Generate…©SAPAG2004,TitleofPresentation,SpeakerName/11HowToBuildAppsFromNowOn?ModelEntityServicesApplicationServicesGenerate(frommetadata)codetablesCodecouldbeplatformindependent(Java,ABAP,…)Integrate&Enrichbackend-systemsUsepredefinedPatterns(UI,GuidedProcedures–Benefit:Consistency!Onceyouknowone,youknowall)ServicesData-types©SAPAG2004,TitleofPresentation,SpeakerName/12BenefitsFocusonModelingBusinessLogicEnableProgrammersNon-programmers(businessprocessowners)FasterredesignStandardizeInterfacesCodingReduceComplexityDevelopmenttimeIncreaseProductivity©SAPAG2004,TitleofPresentation,SpeakerName/13ArchitectureofCAFandCompositeApplicationsCompositeCompositeApplicationApplicationFrameworkFrameworkUIFrameworkWebDynproRuntimeUIComponentsUIPatternsProcessFrameworkWorkflowRuntimeGuidedProceduresWorkCentersServiceFrameworkApplicationServicesUIModelerPatternConfig.WebDynproProcessModelerGuidedProceduresActivitiesServiceModelerMetadataProcessesWorkflowsUserInterfacesServicesEntitiesDesignTimeRunTimeServicesEntityServicesExternalServicesEntitiesPersistenceManagerDBWebServicesIntegrationBroker©SAPAG2004,TitleofPresentation,SpeakerName/14SAPNetWeaverandCAFLeveragingNetWeavercapabilitieswithCAFEnabledevelopersandbusinessexpertsModel-driven,pattern-basedapproachtoalllayersrelevantforCompositeApplicationdevelopmentCombineinfrastructurecomponentsWebASWebDynproforUIpatternsandfreestyleKMDocumentsandCollaborationBWforanalyticsBPMforworkflowsupportReuseexistingassetsreuse,integrateandorchestrateexistingfunctionalityasservicesselectivelyfillgapsofmissingfunctionalitySAPNetWeaverPEOPLEINTEGRATIONMultichannelaccessPortalCollaborationINFORMATIONINTEGRATIONBIMasterDataManagementKMPROCESSINTEGRATIONIntegrationBrokerBus.ProcessMgmtAPPLICATIONPLATFORMJ2EEDBandOSAbstractionABAPCOMPOSITEAPPLICATIONFRAMEWORKLIFECYCLEMANAGEMENT©SAPAG2004,TitleofPresentation,SpeakerName/15EntityServiceModelerIsatoolfordefiningEntityServices,Attributesandtheirpropertiesandrelationstoeachother.Theseobjectsandtheir