HANAãããŒã¿ããŒã¹ãšããŠäœ¿çšããTFSããœãŒã¹ç®¡çãšããŠäœ¿çšããASP .NET MVCãããžã§ã¯ãã§SCRUMã«åãçµãã§ããŸãã ããŒã¿ããŒã¹ã¬ãã«ã§ã¯ãäž»ã«ãã¥ãŒïŒèšç®ãå±æ§ãDBãã¥ãŒïŒãšã¹ãã¢ãããã·ãŒãžã£ã䜿çšããŠããµãŒããŒãžã®ãã©ã³ã¶ã¯ã·ã§ã³èŠæ±ãå®è¡ããŸãã
åãªãªãŒã¹ã®çµäºåŸãããã®ãªãªãŒã¹ã§äœãå€æŽãããŸãããïŒããŸãã¯ã誰ãã©ã®ãããªå€æŽãå ããŸãããïŒããšãã質åããããŸããããã®ç¹ã«ã€ããŠããåå€æŽåŸã«TFSã®ãªããžã§ã¯ãã®ç¶æ
ã远跡ããªãã®ã¯ãªãã§ããïŒã
ãã®çµæãVisual StudioïŒVSïŒã§ããŒã¿ããŒã¹ãããžã§ã¯ãã䜿çšããããŒã¿ããŒã¹ã«ããå€æŽãã€ã³ããŒãã§ãããã©ã°ã€ã³ãäœæããããšã«ããŸããã ããã§ããã®ã¢ããªã±ãŒã·ã§ã³ãäœæãããšããã¢ã€ãã¢ãçãŸããŸããã
ç°¡åãªãã®ããå§ããŠãMicrosoftãã©ã®ãããªãããã¿ã€ããæã£ãŠããããèŠãŠã¿ãŸãããã äŸãšããŠãVisual Studioã®MS-SQLãµãŒããŒãšããŒã¿ããŒã¹ãããžã§ã¯ããåãäžããããããæã€ãã¹ãŠã®æ©èœãæ€èšããŸãã
- MS-SQLã§ç¬èªã®ã¹ããŒãïŒæ¢åã®ã¹ããŒãã䜿çšïŒãäœæããVisual StudioïŒDB VSïŒã®ããŒã¿ããŒã¹ãããžã§ã¯ãã«ã€ã³ããŒãã§ããŸãã
- ããŒã¿ããŒã¹ã§ãªããžã§ã¯ããäœæïŒå€æŽïŒããå€æŽãããŒã¿ããŒã¹ã«å€æã§ããŸãã
- ãœãŒã¹ç®¡çïŒç§ã®å Žåã¯TFSïŒã§å€æŽã远跡ã§ããŸãã
- ãããã£ãŠãéçºäžã«çºçãããã¹ãŠã®å€æŽãšãã®äœæè
ã远跡ã§ããŸãã
ããããã¹ãŠã®æ©èœãç¶æããããšã¯éåžžã«é£ããããšãããã«èšããªããã°ãªããŸãããç¹ã«HANAã«ã¯ã°ã©ãã£ãã¯ãã¥ãŒãªã©ã®çš®é¡ã®ãªããžã§ã¯ããããããã§ãã VSã«ã€ã³ããŒãããŸãïŒã
ç§ã¯ç°¡åãªæ¹æ³ã§è¡ã£ãã åæ©äŒãåå¥ã«æ€èšããŠãã ããã
HANAã§ã¹ããŒããäœæ/䜿çšããDB VSã«ã€ã³ããŒãããŸã
2ã€ã®ã¿ã¹ã¯ããããŸãã
- DB VSã§ãããžã§ã¯ããæåããäœæããDBã«ã€ã³ããŒãããŸãã
- DBã®æ¢åã®ãããžã§ã¯ãïŒã¹ããŒãïŒã䜿çšããŠãDB VSã«ã€ã³ããŒãããŸãã
ç§ã¯2çªç®ã ããéžæããŸããããŸããæ¢åã®ãããžã§ã¯ããæ¢ã«ãããŸãã次ã«ãVSã§ãããžã§ã¯ããäœæããããã«ãã£ãŒãããã¯ãå¿
èŠã§ãïŒããã«ã€ããŠã¯å°ãåŸã§èª¬æããŸãïŒãããã¯éåžžã«é£ããã¿ã¹ã¯ã§ãã
ãããã£ãŠããã¹ãŠã®ãªããžã§ã¯ããDBããDB VSã«ã€ã³ããŒãããããªããžãäœæããå¿
èŠããããŸãã
ããŒã¿ããŒã¹ã§ãªããžã§ã¯ããäœæïŒå€æŽïŒããå€æŽãããŒã¿ããŒã¹ã«å€æãã
ããã¯ãåã®ã¿ã¹ã¯ãšã»ãŒåãã§ãã ã€ãŸããæ¢åã®ã¹ããŒããããå Žåããªããžã§ã¯ããDB VSã«æã£ãŠããã ãã§ãã ãã ããããã§æ€èšãã䟡å€ããããŸããå€æŽãããïŒåé€ãããïŒãªããžã§ã¯ãããããžã§ã¯ãã«æ¢ã«ååšããå ŽåãDB VSã§ç·šéïŒåé€ïŒããå¿
èŠããããŸãã ããã¯TFSã®å€æŽã远跡ããããã«å¿
èŠãªã®ã§ããã®ã¿ã¹ã¯ãå®è£
ããŸããã
ãœãŒã¹ç®¡çã®å€æŽã远跡ããæ©èœïŒç§ã®å Žåã¯TFSïŒ
å€æŽãDB VSã«è¡šç€ºãããããTFSã§ãããã远跡ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãVSã§äœããã®æ¹æ³ã§ãå€æŽããããã¡ã€ã«ããã§ãã¯ã€ã³ã®é
ç®ã®ãªã¹ãã«å«ãŸããããã«ããŒã¯ããå¿
èŠããããŸãã ããã§ã¯ãTFSã«ã.Newãã¬ãŒã ã¯ãŒã¯ã©ã€ãã©ãªãã䜿çšããå¿
èŠããããŸããã ãã®ãã©ã°ã€ã³ã®äœæäžã«Visual Studio 2012ã䜿çšããŸããããVSã®ä»ã®ïŒããé«ãïŒããŒãžã§ã³ã§ã¯ããã©ã°ã€ã³ãTFSãå€æŽã§ããããã«ãMicrosoftã®å¿
èŠãªïŒè¿œå ã®ïŒãã¬ãŒã ã¯ãŒã¯ã䜿çšããå¿
èŠããããŸãã
DB VSãã©ã°ã€ã³
ãã©ã°ã€ã³ã¯4ã€ã®äž»èŠéšåã§æ§æãããŠããŸãã
- èªèšŒãŠã£ã³ããŠã
- HANAãªããžã§ã¯ããã©ã³ã¹ãã©ãŒããŒã
- ãªããžã§ã¯ãå€æŽãããŒãžã£ãŒã
- TFSãããŒãžã£ãŒ
èªèšŒãŠã£ã³ããŠ
ãã®ãŠã£ã³ããŠã§ã¯ããã©ã°ã€ã³ã«å¿
èŠãªãã¹ãŠã®æ
å ±ãå
¥åããŸãã æ€èšŒãæåãããšãã·ã¹ãã ã¯ããŒã¿ãèšæ¶ãã次ã®ãã°ã€ã³åŸã«ããŒã¿ã䜿çšããŸãã äœããã®çç±ã§ãã©ã°ã€ã³ã1ã€ã®ãµãŒããŒã«ãå°éãã§ããªãã£ãå ŽåïŒããšãã°ãDBãŸãã¯TFSã§æš©éãå€æŽããåŸïŒãæ¿èªãŠã£ã³ããŠãåã³éããæš©éãç·šéã§ããŸãã

次ã®2çš®é¡ã®ããŒã¿ãå
¥åããå¿
èŠããããŸãã
- HANAã«å¿
èŠãªãã¹ãŠã®æ
å ±ãã€ãŸãïŒãµãŒããŒãã¹ããŠãŒã¶ãŒåããã¹ã¯ãŒããããã³ã¹ããŒãåã
- ãããžã§ã¯ããšTFSã«é¢ããæ
å ±ïŒ[ãããžã§ã¯ããã¹]ãã£ãŒã«ãã§ããã©ã°ã€ã³ã§äœ¿çšããDB VSãã¡ã€ã«ã®å Žæã衚瀺ã§ããŸãã ãŸãããŠãŒã¶ãŒåããã¹ã¯ãŒããTFSãµãŒããŒURLãªã©ãTFSè³æ Œæ
å ±ã«é¢ããæ
å ±ã
[ä¿å]ã®æšªã«ãããã§ãã¯ããã¯ã¹ããªã³ã«ãããšããµãŒããŒãžã®æ¥ç¶ã«æåãããšããŒã¿ãä¿åãããŸãã
HANAãªããžã§ã¯ããã©ã³ã¹ãã©ãŒããŒ
ããã¯ãã©ã°ã€ã³ã®æãé£ããéšåã§ãã ããã§ã¯ãã·ã¹ãã èŸæžã䜿çšããŠãã·ã¹ãã å
ã«ãããã¹ãŠã®ãªããžã§ã¯ãã«é¢ããæ
å ±ãååŸããŸãã çŸåšã®å®è£
ã§ãµããŒããããŠãããªããžã§ã¯ãïŒ
- ããŒãã«ã
- å¶çŽïŒå€éšããŒãäž»ããŒãäžæïŒã
- ããŒãã«ã®çš®é¡ã
- ã·ãŒã±ã³ã¹ã
- æ©èœ
- ã¹ãã¢ãããã·ãŒãžã£ã
- å矩èª
- ãã¥ãŒïŒå±æ§ãã¥ãŒãèšç®ãã¥ãŒãããŒã¿ããŒã¹ãã¥ãŒïŒã
HANAã§ã¯ãå€ãã®ãããžã§ã¯ããä»ã®ãªããžã§ã¯ãïŒRESTãµãŒãã¹ïŒXSJSïŒãªã©ïŒã䜿çšããããšãç¥ã£ãŠããŸããããã®å Žåã¯ç¡èŠããŸããã ãã¥ãŒãé€ããã¹ãŠã®ãªããžã§ã¯ãã«ã€ããŠãã·ã¹ãã èŸæžã䜿çšããŠããŒã¿ãååŸããŸãã äŸãšããŠãããŒãã«ã«é¢ããããŒã¿ã®ååŸãæ€èšããŸãã
ãããè¡ãã«ã¯ã次ã®ã¯ãšãªã䜿çšããŠã¹ããŒãå
ã®ããŒãã«ã®ååãååŸããŸãã
SELECT SCHEMA_NAME,TABLE_NAME,TABLE_OID,COMMENTS,FIXED_PART_SIZE,IS_LOGGED,IS_SYSTEM_TABLE,IS_COLUMN_TABLE,TABLE_TYPE,IS_INSERT_ONLY,IS_TENANT_SHARED_DATA,IS_TENANT_SHARED_METADATA,SESSION_TYPE,IS_TEMPORARY,TEMPORARY_TABLE_TYPE,COMMIT_ACTION,IS_USER_DEFINED_TYPE,HAS_PRIMARY_KEY,PARTITION_SPEC,USES_EXTKEY,AUTO_MERGE_ON,USES_DIMFN_CACHE,IS_PUBLIC,AUTO_OPTIMIZE_COMPRESSION_ON,COMPRESSED_EXTKEY,HAS_TEXT_FIELDS,HAS_TEXT_FIELDS,USES_QUEUE_TABLE,IS_PRELOAD,IS_PARTIAL_PRELOAD,UNLOAD_PRIORITY,HAS_SCHEMA_FLEXIBILITY,IS_REPLICA FROM TABLES WHERE SCHEMA_NAME = CURRENT_SCHEMA AND IS_USER_DEFINED_TYPE = 'FALSE';
ãã®åŸã次ã®ã¯ãšãªã䜿çšããŠããŒãã«ã®åã«é¢ããããŒã¿ãååŸããCïŒã³ãŒãã§Linqã䜿çšããŠããããçµåããŸãã
SELECT SCHEMA_NAME, TABLE_NAME, TABLE_OID, COLUMN_NAME, POSITION, DATA_TYPE_ID, DATA_TYPE_NAME, OFFSET, LENGTH, SCALE, IS_NULLABLE, DEFAULT_VALUE, COLLATION,COMMENTS, MAX_VALUE, MIN_VALUE, CS_DATA_TYPE_ID, CS_DATA_TYPE_NAME,DDIC_DATA_TYPE_ID, DDIC_DATA_TYPE_NAME, COMPRESSION_TYPE, INDEX_TYPE, COLUMN_ID, PRELOAD,GENERATED_ALWAYS_AS, HAS_SCHEMA_FLEXIBILITY, FUZZY_SEARCH_INDEX, FUZZY_SEARCH_MODE,MEMORY_THRESHOLD,LOAD_UNIT,GENERATION_TYPE FROM TABLE_COLUMNS WHERE SCHEMA_NAME = CURRENT_SCHEMA ORDER BY POSITION
POSITIONãDATA_TYPE_IDãDATA_TYPE_NAMEãOFFSETãLENGTHãSCALEãIS_NULLABLEãDEFAULT_VALUEç
§åãã³ã¡ã³ããMAX_VALUEãMIN_VALUEãCS_DATA_TYPE_IDãCS_DATA_TYPE_NAMEãDDIC_DATA_TYPE_IDãDDIC_DATA_TYPE_NAMEãCOMPRESSION_TYPEãINDEX_TYPEãCOLUMN_IDãPRELOADãGENERATED_ALWAYS_ASã SELECT SCHEMA_NAME, TABLE_NAME, TABLE_OID, COLUMN_NAME, POSITION, DATA_TYPE_ID, DATA_TYPE_NAME, OFFSET, LENGTH, SCALE, IS_NULLABLE, DEFAULT_VALUE, COLLATION,COMMENTS, MAX_VALUE, MIN_VALUE, CS_DATA_TYPE_ID, CS_DATA_TYPE_NAME,DDIC_DATA_TYPE_ID, DDIC_DATA_TYPE_NAME, COMPRESSION_TYPE, INDEX_TYPE, COLUMN_ID, PRELOAD,GENERATED_ALWAYS_AS, HAS_SCHEMA_FLEXIBILITY, FUZZY_SEARCH_INDEX, FUZZY_SEARCH_MODE,MEMORY_THRESHOLD,LOAD_UNIT,GENERATION_TYPE FROM TABLE_COLUMNS WHERE SCHEMA_NAME = CURRENT_SCHEMA ORDER BY POSITION
æãå°é£ãªããšã¯ãã°ã©ãã£ãã¯å±æ§ãã¥ãŒã«é¢ããæ
å ±ãååŸããããšã§ããã ãã¥ãŒã®æ§é ã«é¢ããããŒã¿ãååŸããçŽæ¥ã®æ©äŒã¯ãããŸããã ããããèããŠã¿ããšãHANA Studioã¯ããŒã¿ããŒã¹å
ã®ç¹å®ã®ã¡ã¿ããŒã¿ã®å©ããåããŠãã®ã°ã©ãã£ãã¯ãã¥ãŒã衚瀺ããŸãã ãŸãããã®ã¡ã¿ããŒã¿ãæ£ç¢ºã«ååŸããããšããŸããããåãã¥ãŒã®DBã«ä¿åãããŠããXMLãã¡ã€ã«ãèŠã€ããŸããã ãããã£ãŠããã®è³ªåã解決ããŸãããã€ãŸãããã¥ãŒã«é¢ããæ
å ±ãååŸãããã®å€æŽã远跡ããããã«ããã®XMLãDBVSã«ä¿åããå¿
èŠããããŸãã XMLæ§é ã«ã¯ãåä¿¡ãã©ã¡ãŒã¿ãŒãéä¿¡ãã©ã¡ãŒã¿ãŒãçŸåšã®ãã¥ãŒã§äœ¿çšããããã¹ãŠã®ããŒãã«ã®ååãããŒã¿åããã£ã«ã¿ãŒãçµåãªã©ã®ããŒã¿ããããŸãã
èšç®/ããŒã¿ããŒã¹ãã¥ãŒãäž»ã«SQLã¹ã¯ãªãããšããŠäœæããã³ä¿åããããããç¹å¥ãªåé¡ã¯ãããŸããã§ããã
ãªããžã§ã¯ãå€æŽãããŒãžã£ãŒïŒOCMïŒ
ããŒã¿ããŒã¹ããæ
å ±ãåãåã£ãããDB VSã®çŸåšããã³ä»¥åã®ç¶æ
ã«ã©ã®ãããªå€æŽããããã確èªããå¿
èŠããããŸãã OCMã¯å€æŽåæãªã³ã¯ã§ããã3ã€ã®æ®µéã§DB VSãåæããŸãã
- ã¹ããŒãã«è¿œå ãããæ°ãããªããžã§ã¯ãã確èªããŸãã
- æ¢åã®åãªããžã§ã¯ãã®å€æŽã確èªããŸãã
- ã¹ããŒãå
ã®ãªããžã§ã¯ãã®åé€ã確èªããŸãã
æåã®å ŽåïŒOCMã¯ã¹ã¯ãªãããçæãããã¡ã€ã«ãè¿œå ããDB VSã§ãããèŠã€ããè¿œå ã®ãã¡ã€ã«ãæŽæ°ããŸãã
2çªç®ã®å ŽåïŒOCMã¯ãçæãããã¹ã¯ãªãããDB VSã®æ¢åã®ãã¡ã€ã«ãšæ¯èŒãããªããžã§ã¯ããå€æŽãããå Žåãæ¢åã®ãã¡ã€ã«ãå€æŽããŸãã
3çªç®ã®å ŽåïŒOCMã¯ãã¹ããŒãã®çŸåšã®ããŒãžã§ã³ã«ãªããªããžã§ã¯ããã¡ã€ã«ãåé€ããŸãã
以äžã¯ããã©ã°ã€ã³ãŠã£ã³ããŠã®å€èŠ³ãšç§»è¡ããã»ã¹ã®ä»çµã¿ã瀺ãã¹ã¯ãªãŒã³ã·ã§ããã§ãã
å³ 1.å€æŽããããªããžã§ã¯ãïŒãã®å Žåã¯ããŒãã«ïŒã®ãªã¹ã
- èµ€è²-åé€ãããã¢ã€ãã ã
- ç·-æ°ãã
- 玫-å€æŽ
å³2.å€æŽãããã¹ãã¢ãããã·ãŒãžã£ã®ãªã¹ã
å³ 3. [å«ãŸãã]ãŠã£ã³ããŠã«ã¯ãDB VSã§ç·šéããããã®å
¥åæžã¿ãªããžã§ã¯ãã®ãªã¹ããå«ãŸããŸã
å³ 4. DB VSã®å€æŽã®åãå
¥ãã«é¢ãã質å
å³ 5. DB VSãžã®ç§»è¡ããã»ã¹ããããŸã
å³ 6.æåãã移è¡ã¡ãã»ãŒãžTFSãããŒãžã£ãŒãµãŒãã¹ïŒTFS MSïŒ
TFS MSã¯ããããžã§ã¯ãã§çºçãããã¹ãŠã®å€æŽãç£èŠããããã«å¿ããŠããŒã¯ãä»ããŸãããããã£ãŠããã§ãã¯ã€ã³ã§ã¯ããããã¯ãã¹ãŠTFCã®å€æŽãããã¢ã€ãã ã®ãªã¹ãã«å«ãŸããŸãã
ãã®ãã©ã°ã€ã³ã®å©ããåããŠããããžã§ã¯ãå
ã®ãã¹ãŠã®å€æŽã远跡ã§ããŸããã ããŸããŸãªã¹ããŒã ã®ããŒãžé
ä¿¡ãŠãããã®ãã®ãã©ã°ã€ã³ã«ç§»åããŠæ¡åŒµããããŒãžããã»ã¹åŸã®ããŸããŸãªã¹ããŒã ãæ¯èŒããŠããã¹ãŠãæ£ããã¹ããŒãžã³ã°ãããŠããããšã確èªããŸããã ããããç§ã¯æ¬¡ã®èšäºã§ããã«ã€ããŠè©±ããŸãï