Kompedium wiedzy i mapowanie danych w Sybase PowerDesigner Marek Ryński Dyrektor Zarządzający, Dział Rozwoju Biznesu, Sybase Polska Warszawa, 3 października 2007
AGENDA Architektura korporacyjna w ujęciu systemów informatycznych Od modelu danych przez metadane do MetaModelu Korporacyjnego Korzyści płynące z posiadania widoku korporacyjnego
D_PRODUCT D_LANGUAGE PRODUCT_ID <pk,fk> LANGUAGE_ID <pk> ENTY_ID <fk> ISO_LANG_CODE PRODUCT_LINE DV_HR_EVT_TYPE ISO_LANG_NAME DV_EMP PRODUCT_GROUP EVT_TXN_ID <pk,fk> LANG_GROUP VAR(20) PRODUCT_CODE ENTY_ID <pk,fk> EVT_TYP_ID <fk> PRODUCT_NAME RPT_STRC_ID EVT_TYP_SHRT_NM PD_VARIANT_CODE EVT_TYP_FULL_NM ADR_ID D_PN_BHVR_SCOR PRODUCT_VARIANT VAR(35) EVT_TYP_CAT_SHRT_N GRP_INDV_IND EMP_DEMO_ID PN_BHVR_SCOR_ID <pk> EVT_TYP_CAT_FULL_N PD_START_PRD_ID EMP_NAME_PFX SCORE1_BAND VAR(20) PD_END_PRD_ID EMP_SNAME VAR(15) SCORE_N_BAND VAR(20) EMP_FNAME VAR(15) EVT_TYP_ID = EVT_TYP_ID D_MSR_UNIT EMP_MNAME VAR(15) D_CPGN_COM_EVT_TYP D_FNCL_SCOR EMP_NAME_SFX MEASURE_UNIT_ID <pk> EVT_TYP_ID <pk,fk> FNCL_SCORES_ID <pk> EMP_NTL_INS_NBR CPGN_COMM_DESC SHRT_DESC (6) INTERNAL_FNCL_SCOR VAR(50) LONG_DESC (20) EMP_HOME_TEL_NBR EXPERIAN_SCOR_BAND VAR(50) EMP_PRIM_FAX_NBR EVT_TYP_ID = EVT_TYP_ID D_CORE_EVT_TYP EVT_TYP_ID <pk> SCOR_N_BAND VAR(50) EMP_EMAIL_ID PRODUCT_ID = PRODUCT_ID PN_BHVR_SCOR_ID = PN_BHVR_SCOR_ID PRFT_IND_BAND VAR(50) EMP_DOB EVT_TYP_SHRT_NAM VAR(15) EVT_TYP_LONG_NAM VAR(35) DEBT_INCOME_RATIO NUMBER EMP_GNDR EMP_MRTL_STAT EVT_TYP_SUBTYP_NAM VAR(15) MEASURE_UNIT_ID = D_M_MEASURE_UNIT_ID ENTY_ID = V_E_ENTY_ID EMP_LIFE_STAT MEASURE_UNIT_ID = MEASURE_UNIT_ID ENTY_ID = ENTY_ID FNCL_SCORES_ID = FNCL_SCOR_ID EMP_PREF_LANG VAR(20) EVT_TYP_ID = COR_EVT_TYP_ID D_DEMOGRAPHICS F_CORE_EVT COR_EVT_TXN_ID <pk> DEMO_ID <pk> ALL_ENTRIES F_CPGN_CNTC_EVT ENTY_ID = ENTY_ID COR_EVT_TYP_ID <pk,fk> ENTY_ID = EMP_ID D_M_MEASURE_UNIT_ID <fk> INCOME_BAND VAR(50) CCE_ID <pk> DEMO_ID = DEMO_ID AGE_BAND VAR(50) PROMO_EPSD_ID <pk> COR_RPT_STRC_ID <pk,fk> PRODUCT_ID = PRODUCT_ID <pk,fk> GNDR ENTY_ID <pk,fk> MRTL_STAT DEMO_ID = DEMO_ID MEASURE_UNIT_ID <pk,fk> CNTC_PRD_ID <pk> integer HIGH_VALUE_INDICAT CCH_COUNT <pk> FNCL_SCOR_ID <pk,fk> ACMDTN_CTGRY CORE EVT_TYPE_ID LANGUAGE_ID <pk,fk> <fk> NBR_IN_HH_BAND PN_BHVR_SCOR_ID <pk,fk> VAR(50) COR_RPTG_STRUCT_ID <fk> PRODUCT_ID <pk,fk> CHLD_AT_HOME_BAND VAR(50) <fk> SIZE_CLS MU_ID <fk> DEMO_ID <pk,fk> LEGAL_ORG_TYPE FINANCIAL_SCORE_ID <fk> ENTY_ID <pk,fk> NBR_EMP_BAND VAR(50) LANGUAGE_ID <fk> V_E_ENTY_ID <fk> SECTOR_CLS PB_SCORE_ID <fk> COR_EVT_TXN_SEQ_NB <pk> NUMBER MAIL_PRMSN_IND PRODUCT_ID PRD_ID <fk> <fk> ENTY_ID = F_C_ENTY_ID TELMKT_PRMSN_IND AMOUNT NUMBER COR_EVT_TYP_ID = COR_EVT_TYP_ID DEMO_ID <fk> COR_RPT_STRC_ID = COR_RPT_STRC_ID EMP_ID <fk> ENTY_ID = CNTC_RSOL_EMP_ID D_GEOGRAPHY COR _ EVT_ TX_SEQ Q_ NO <fk> GEO O_ ID = GEO O_ ID TRGT_GRP FNCL_SCOR_ID = FNCL_SCOR_ID <pk> MEASURE_UNIT_ID = MEASURE_UNIT_ID CORE_EVENTY_TYPE_ID COR_EVT_TXN_ID = COR_EVT_TXN_ID ALL_ENTRIES CNTCT_CNTRL_GRP_IN PRD_ID = PRD_ID POSTAL_CODE VARYING(15) CCE_RESULT ENTY_ID = F_C_ENTY_ID COR_EVT_TXN_SEQ_NB = COR_EVT_TXN_SEQ_NB CITY PN_BHVR_SCOR_ID = PN_BHVR_SCOR_ID P_PSYCH_ID ENTY_ID = ENTY_ID POSTAL_CD_PFX COR_RPT_STRC_ID = COR_RPT_STRC_ID PRODUCT_ID = PRODUCT_ID AFFILIATION_ID int FNCL_SCOR_ID = FNCL_SCOR_ID DEMO_ID = DEMO_ID F_CUS_CNTC_EVT HZRD_WTHR_AREA MEASURE_UNIT_ID = MEASURE_UNIT_ID PA_ID V_E_ENTY_ID HZD_WTHR_TYPE <fk> CC_COMM_EVT_AMT decimal(10,2) DMA_CODE CUS_CNTC_ID <pk> SMSA_CODE D_C_CTCT_RSOL_ID <fk> D_TIME_PERIOD LGCY_SYS_CUS_CNTC ST_PROV_AREA PRD_ID <pk> CUS_CNTC_REF TV_REGION DT_NA (4) D_CORE_RPT_STRC NTL_RADIO_AREA CUS_CNTC_EVT_ID LCL_RADIO_AREA F_HR_EVT F_C_ENTY_ID <fk> COR_RPT_STRC_ID <pk> F_SALES_EVENT DAY_NAME (8) REGION HOLDING_COMPANY VAR(35) V_E_ENTY_ID <fk> EVT_TXN_ID <fk> CUS_STSF_RT_ID <fk> DAY_ABR COUNTRY V_E2_ENTY_ID <fk> ORG_TYPE VAR(20) CNTC_INIT_DT_ID EVT_TYP_ID <fk> DAY_IN_WEEK CONTINENTY_ABBR ORG_NAME VAR(35) EVT_DT_PRD_ID HOUR_ID <fk> RPT_STRC_ID <fk> DAY_IN_MONTH ADMIN <pk,fk> MINUTE_ID <fk> GEO_SUB_CNTNT_ABBR REGION VAR(20) MEASURE_UNIT_ID <fk> DAY_IN_YEAR SMRY_EFF_DT EVT_EMP_ID <pk,fk> INIT_CNTC_EMP <fk> SALES_TEAM_TYPE VAR(15) FNCL_SCOR_ID <fk> WEEK_IN_MONTH SMRY_END_DT SALES_TEAM VAR(15) EVT_EMP_DEMO <pk,fk> COR_EVT_TXN_ID <fk> PN_BHVR_SCOR_ID <fk> EVT_ADMIN_DEMO <pk,fk> WEEK_IN_YEAR COR_EVT_TYP_ID <fk> PRISN_ADRS_IND SALES_PERSON_NAME ENTY_ID <fk> CLNT_SVC_WK_IN_YR (18) COR_RPT_STRC_ID <fk> SALES_PERSON_GRADE CORE_EXT_ID <pk,fk> EMP_ID <fk> MONTH_NAME (10) SALES_PERSON_TYPE CORE_RPTG_STRUC <pk,fk> <fk> EVT_TXN_SEQ_NBR <fk> CHNL_CATEGORY1 (18) <pk,fk> MONTH_ABR MEASURE_UNIT_ID <fk> MONTH_IN_YEAR CHNL_TYPE MU_ID <pk> FNCL_SCOR_ID <fk> CALENDAR_QTR (6) LANGUAGE_ID <fk> CHNL_SUBCAT FIN_SCORE_ID <pk,fk> MONTH_IN_QTR CHNL_NAME LANGUAGE_ID <pk,fk> PN_BHVR_SCOR_ID <fk> WEEK_IN_QTR PB_SCORE_ID <pk> PRODUCT_ID <fk> CHNL_CEASED_TRD_DT DAY_IN_QTR DEMO_ID <fk> CHNL_ENTY_ID F_C_ENTY_ID <fk> FINANCIAL_QTR (6) CHNL_CITY VAR(20) PRODUCT_ID <pk> CNTC_RSOL_EMP_ID <fk> COMPETITOR_FSCL_YR (6) DEMO_ID <pk,fk> CUS_ID <fk> CHNL_POSTCODE VAR(20) MONTH_IN_FNCL_QTR BEGIN PRD_ID EMP_ID <pk,fk> SRSNS_CUS_CO_ID <fk> CDEX_SEQ_NO <pk> WEEK_IN_FNCL_QTR END PRD_ID DAY_IN_FNCL_QTR QTY integer SEMI_YEARLY YEAR_NAME (18) YEAR_ABR (4) SEASON_NAME (18) SEASON_ABR (6) NBR_DAYS_SINCE_90 integer HOLIDAY_IND XMAS_HLDY_IND EASTER_HLDY_IND Stan posiadania Systemy informatyczne jak wyspy różne technologie różne systemy baz danych różni dostawcy różne standardy
Stan posiadania Problemy lokalizacja li źródeł id definicji i jidanych różne techniki modelowania zbiorów danych redundancja danych koszty utrzymania i rozwoju wyzwania integracyjne Klienci / Klienci integracja procesowa integracja w DW federacja danych opisy poszczególnych modeli semantyka i problemy komunikacyjne
Proponowane podejście (wg. ITIL) le strategicz zne Cel Architektura przejściowa i koncepcja wyodrębnienia komponentów istotnych dla celów krótkoterminowych Architektura docelowa i koncepcja transformacji systemów i organizacji IT Badanie organizacji IT Monitorowanie i kontrola wykorzystania zasobów IT Monitorowanie i kontrola zmian Automatyzacja zarządzania i kontroli zdarzeń Dokumentacja Architektury As- Is Ce ele doraźne Etap 1 Opis stanu posiadania Identyfikacja zasobów IT Metodyka Identyfikacji zasobów Początek Powtarzalność Definicje Zarządzanie
D_PRODUCT D_LANGUAGE PRODUCT_ID <pk,fk> LANGUAGE_ID <pk> ENTY_ID <fk> ISO_LANG_CODE PRODUCT_LINE DV_HR_EVT_TYPE ISO_LANG_NAME PRODUCT_GROUP DV_EMP EVT_TXN_ID <pk,fk> LANG_GROUP VAR(20) PRODUCT_CODE ENTY_ID <pk,fk> EVT_TYP_ID <fk> PRODUCT_NAME RPT_STRC_ID EVT_TYP_SHRT_NM PD_VARIANT_CODE EVT_TYP_FULL_NM D_PN_BHVR_SCOR PRODUCT_VARIANT VAR(35) ADR_ID EVT_TYP_CAT_SHRT_N GRP_INDV_IND EMP_DEMO_ID PN_BHVR_SCOR_ID<pk> EVT_TYP_CAT_FULL_N PD_START_PRD_ID SCORE1_BAND VAR(20) EMP_NAME_PFX PD_END_PRD_ID EMP_SNAME VAR(15) SCORE_N_BAND VAR(20) EMP_FNAME VAR(15) EVT_TYP_ID = EVT_TYP_ID D_MSR_UNIT EMP_MNAME VAR(15) D_CPGN_COM_EVT_TYP D_FNCL_SCOR EMP_NAME_SFX EVT_TYP_ID <pk,fk> MEASURE_UNIT_ID<pk> FNCL_SCORES_ID <pk> EMP_NTL_INS_NBR CPGN_COMM_DESC SHRT_DESC (6) INTERNAL_FNCL_SCOR VAR(50) LONG_DESC (20) EMP_HOME_TEL_NBR EXPERIAN_SCOR_BAND VAR(50) EMP_PRIM_FAX_NBR EVT_TYP_ID = EVT_TYP_ID D_CORE_EVT_TYP EVT_TYP_ID <pk> SCOR_N_BAND VAR(50) EMP_EMAIL_ID PRODUCT_ID = PRODUCT_ID EVT_TYP_SHRT_NAM PN_BHVR_SCOR_ID = PN_BHVR_SCOR_ID PRFT_IND_BAND VAR(50) EMP_DOB VAR(15) EVT_TYP_LONG_NAM VAR(35) DEBT_INCOME_RATIO NUMBER EMP_GNDR EMP_MRTL_STAT EVT_TYP_SUBTYP_NAM VAR(15) MEASURE_UNIT_ID ENTY_ID = D_M_MEASURE_UNIT_ID = V_E_ENTY_ID EMP_LIFE_STAT MEASURE_UNIT_ID = ENTY_ID MEASURE_UNIT_ID = ENTY_ID FNCL_SCORES_ID = FNCL_SCOR_ID EMP_PREF_LANG VAR(20) EVT_TYP_ID = COR_EVT_TYP_ID D_DEMOGRAPHICS F_CORE_EVT COR_EVT_TXN_ID <pk> DEMO_ID <pk> ALL_ENTRIES F_CPGN_CNTC_EVT ENTY_ID = ENTY_ID COR_EVT_TYP_ID <pk,fk> ENTY_ID = EMP_ID D_M_MEASURE_UNIT_ID<fk> INCOME_BAND VAR(50) CCE_ID <pk> DEMO_ID = DEMO_ID AGE_BAND VAR(50) PROMO_EPSD_ID <pk> COR_RPT_STRC_ID <pk,fk> PRODUCT_ID = PRODUCT_ID <pk,fk> GNDR ENTY_ID <pk,fk> DEMO_ID = DEMO_ID MEASURE_UNIT_ID <pk,fk> MRTL_STAT CNTC_PRD_ID <pk> integer CCH_COUNT <pk> FNCL_SCOR_ID <pk,fk> HIGH_VALUE_INDICAT LANGUAGE_ID <pk,fk> ACMDTN_CTGRY CORE EVT_TYPE_ID <fk> PN_BHVR_SCOR_ID <pk,fk> NBR_IN_HH_BAND VAR(50) COR_RPTG_STRUCT_ID <fk> PRODUCT_ID <pk,fk> CHLD_AT_HOME_BAND VAR(50) <fk> DEMO_ID <pk,fk> SIZE_CLS MU_ID <fk> FINANCIAL_SCORE_ID <fk> ENTY_ID <pk,fk> LEGAL_ORG_TYPE NBR_EMP_BAND VAR(50) LANGUAGE_ID <fk> V_E_ENTY_ID <fk> SECTOR_CLS PB_SCORE_ID <fk> COR_EVT_TXN_SEQ_NB<pk> NUMBER PRD_ID <fk> MAIL_PRMSN_IND PRODUCT_ID <fk> ENTY_ID = F_C_ENTY_ID TELMKT_PRMSN_IND DEMO_ID <fk> AMOUNT NUMBER COR_EVT_TYP_ID = COR_EVT_TYP_ID COR_RPT_STRC_ID = COR_RPT_STRC_ID EMP_ID <fk> ENTY_ID = CNTC_RSOL_EMP_ID COR_EVT_TX_SEQ_NO <fk> D_GEOGRAPHY TRGT_GRP FNCL_SCOR_ID = FNCL_SCOR_ID <pk> CORE_EVENTY_TYPE_ID MEASURE_UNIT_ID = MEASURE_UNIT_ID COR_EVT_TXN_ID = COR_EVT_TXN_ID ALL_ENTRIES CNTCT_CNTRL_GRP_IN PRD_ID = PRD_ID POSTAL_CODE VARYING(15) CCE_RESULT ENTY_ID = F_C_ENTY_ID COR_EVT_TXN_SEQ_NB = COR_EVT_TXN_SEQ_NB CITY PN_BHVR_SCOR_ID = PN_BHVR_SCOR_ID P_PSYCH_ID ENTY_ID = ENTY_ID COR_RPT_STRC_ID = LANGUAGE_ID COR_RPT_STRC_ID = LANGUAGE_ID PRODUCT_ID = PRODUCT_ID POSTAL_CD_PFX AFFILIATION_ID int FNCL_SCOR_ID = FNCL_SCOR_ID DEMO_ID = DEMO_ID F_CUS_CNTC_EVT HZRD_WTHR_AREA MEASURE_UNIT_ID = MEASURE_UNIT_ID PA_ID V_E_ENTY_ID <fk> HZD_WTHR_TYPE CC_COMM_EVT_AMT decimal(10,2) DMA_CODE CUS_CNTC_ID <pk> D_C_CTCT_RSOL_ID <fk> SMSA_CODE D_TIME_PERIOD LGCY_SYS_CUS_CNTC ST_PROV_AREA PRD_ID <pk> CUS_CNTC_REF TV_REGION DT_NA (4) D_CORE_RPT_STRC CUS_CNTC_EVT_ID NTL_RADIO_AREA F_HR_EVT F_C_ENTY_ID <fk> LCL_RADIO_AREA COR_RPT_STRC_ID <pk> F_SALES_EVENT DAY_NAME (8) REGION HOLDING_COMPANY VAR(35) V_E_ENTY_ID <fk> EVT_TXN_ID <fk> ORG_TYPE VAR(20) V_E2_ENTY_ID <fk> CUS_STSF_RT_ID <fk> DAY_ABR CNTC_INIT_DT_ID COUNTRY EVT_TYP_ID <fk> DAY_IN_WEEK CONTINENTY_ABBR ORG_NAME VAR(35) EVT_DT_PRD_ID HOUR_ID <fk> RPT_STRC_ID <fk> DAY_IN_MONTH REGION VAR(20) ADMIN <pk,fk> MINUTE_ID <fk> GEO_SUB_CNTNT_ABBR MEASURE_UNIT_ID <fk> DAY_IN_YEAR SMRY_EFF_DT SALES_TEAM_TYPE VAR(15) EVT_EMP_ID <pk,fk> INIT_CNTC_EMP <fk> FNCL_SCOR_ID <fk> WEEK_IN_MONTH SMRY_END_DT SALES_TEAM VAR(15) EVT_EMP_DEMO <pk,fk> COR_EVT_TXN_ID <fk> PN_BHVR_SCOR_ID <fk> SALES_PERSON_NAME EVT_ADMIN_DEMO <pk,fk> WEEK_IN_YEAR COR_EVT_TYP_ID <fk> PRISN_ADRS_IND ENTY_ID <fk> CLNT_SVC_WK_IN_YR (18) COR_RPT_STRC_ID <fk> SALES_PERSON_GRADE CORE_EXT_ID <pk,fk> EMP_ID <fk> MONTH_NAME (10) SALES_PERSON_TYPE CORE_RPTG_STRUC <pk,fk> <fk> CHNL_CATEGORY1 (18) <pk,fk> EVT_TXN_SEQ_NBR <fk> MONTH_ABR MEASURE_UNIT_ID MONTH_IN_YEAR <fk> CHNL_TYPE MU_ID <pk> FNCL_SCOR_ID <fk> CALENDAR_QTR (6) LANGUAGE_ID <fk> CHNL_SUBCAT FIN_SCORE_ID <pk,fk> MONTH_IN_QTR CHNL_NAME LANGUAGE_ID <pk,fk> PN_BHVR_SCOR_ID <fk> WEEK_IN_QTR CHNL_CEASED_TRD_DT PB_SCORE_ID <pk> PRODUCT_ID <fk> DAY_IN_QTR DEMO_ID <fk> CHNL_ENTY_ID F_C_ENTY_ID <fk> FINANCIAL_QTR (6) CHNL_CITY VAR(20) PRODUCT_ID <pk> CNTC_RSOL_EMP_ID <fk> COMPETITOR_FSCL_YR (6) DEMO_ID <pk,fk> CUS_ID <fk> CHNL_POSTCODE VAR(20) MONTH_IN_FNCL_QTR BEGIN PRD_ID EMP_ID <pk,fk> SRSNS_CUS_CO_ID <fk> END PRD_ID CDEX_SEQ_NO <pk> WEEK_IN_FNCL_QTR QTY integer DAY_IN_FNCL_QTR SEMI_YEARLY YEAR_NAME (18) YEAR_ABR (4) SEASON_NAME (18) SEASON_ABR (6) NBR_DAYS_SINCE_90 integer HOLIDAY_IND XMAS_HLDY_IND EASTER_HLDY_IND Korporacyjny MetaModel i Architektura Danych Korporacyjny MetaModel i Architektura Danych oznacza posiadanie przez organizację pełnego i kompletnego opisu schematów eksploatowanych systemów informatycznych (logicznych ifi fizycznych), rodzaju if formatu przechowywanych hw nich hdanych, związków i zależności wynikających z zaimplementowanych procesów integracyjnych.
Korporacyjny MetaModel i Architektura Danych MetaModel oznacza posiadanie opisu modeli danych oraz : Związków pomiędzy modelami mających wpływ na zamiany w systemach Ewentualnych usług (webserwisów) świadczonych przez aplikacje w kontekście rodzaju udostępnianych danych Obiektów aplikacyjnych współużytkowanych przez inne systemy Opisów występujących redundantnie źródeł danych oraz sposobów zapewnienia ich spójności lub eliminacji Sposobu konstrukcji zapytań do źródeł danych, w zależności od ich schematu
KORZYŚCI Korporacyjny MetaModel i Architektura Danych W zakresie rozwoju systemów: łatwość reużycia posiadanych zasobów danych, łatwiejsza j i szybsza lokalizacja referencyjnych y źródeł danych, możliwość standaryzacji formatu zapisu danych w nowych systemach, śledzenie i wersjonowanie zmian w modelach błyskawiczna odpowiedź na potrzeby biznesu w zakresie posiadanych danych W zakresie integracji systemów (DW, Federacja, BPI) szybka lokalizacja acja niezbędnych źródeł danych (DW,Fed,BPI) ocena potrzeb związanych z transformacją (DW) sposób konstruowania zapytań (DW, Fed) modelowanie procesów może w pełni wykorzystywać y y zlokalizowane i opisane zasoby danych
KORZYŚCI cd. Korporacyjny MetaModel i Architektura Danych A ponadto : jednolita dokumentacja zasobów danych w organizacji, repozytorium łatwość t komunikacji w zespole, łatwiejsza i szybsza praca nad zagadnieniami integracyjnymi i rozwojowymi, błyskawiczna analiza wpływu zmian w poszczególnych aplikacjach pełna ł kontrola nad rozwojem zasobów informacyjnych organizacji redukcja czasu poświęcanego na prace koncepcyjne i rozwojowe szybsza reakcja na potrzeby biznesu kontrola kosztów poprzez : unikanie redundancji zbiorów danych możliwość pominięcia niektórych etapów analiz przygotowawczych przed wdrożeniem nowych systemów
Zarządzanie i administracja Opis warstwy danych jest wstępem Opis warstwy danych jest wstępem do posiadania Korporacyjnego Meta Modelu zasobów informacyjnych, ale warto zacząć już dziś.