![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_m7X6SX3wovHXALO26H-244XX0ieEWTjoM89whqGHG4-YNdZxMt47pDhBJM198SgLrewr1qChjATB1OVZR0lVH6p4cg7xevCxX69SLGdtsP3t8xKCQooNLU8AhMIEFbnuflkaWxE_9V0d/s800-Ic42/P_20130824_101715.jpg)
回憶照~(20130824-第一次越野精實團)~~
因2015/08/29阿寬告知,七星山主峰柱子被人為破壞!真是該死的王八蛋!~
紀念那時越野團一同上山的回憶。
==========================================================
來寫寫近期的工作狀況,
目前都過得非常的"精實",而這樣的記錄,先來記記「較有成就感」的一段開發~~
==========================================================
這「較有成就感」的是:EAI電文範例程式。
而這一連串的過程就LOG下來。
8/26(三)預計明天要提供給Benson一版EAI電文處理的範例
這時的電文RQ/RS的處理,是我當下認為「很有架構」的Class處理。
就是針對VN029,我將RS接收到後,依該支的RS定義檔,在VN029.cs下描述它要序列化給Web的Json格式。
在星二,發Mail給George /HJ 後,他們說,不是這樣寫 (!?)
因而安排了 星期三 下午在公司討論
在激烈的討論後,發現,真的就這樣使用,到時partner在每支開發時,會用的很"複雜",
要更簡單的透過「XML」定義去處理!!
當天晚上&隔天早上,就思考&將這樣架構的XML及使用方式訂出來!
星期四下午就與Benson他們報告!
這是訂出來的呼叫方式:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR7-NJmyqidR6KLcJtb82A__gF_XK1N_Zp86KpPCdfFlOhRZHueSp87YELcBHT6_D4mMQypVE_pWrV0UfX3BGeUs_rZv-XzGPI6SddHJW6m4fRg0WDmId9WMAcWIJS_6jVTWx6iwyR74wt/s800/2015-09-05+19-49-35.png)
這是訂出來的TradeDefine.xml (這是Final版,即星四報告完後,後來RQ參數的填入/RS的訊息處理都有再調過)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5FwyjjSrm_20GLGndGXIwET04Tb6kPqyKHnyV4_ua0bYtyve_ZAN4zE64KeSSt-Rd0CzlrrfFZ9xjhH0ovQ-ymzSRiEzxhz_9kSpD5OmzRaU-zAq5FgMCVtb4nnjUAO8_-E7zjZ6i3Ztc/s800/2015-09-05+19-50-15.png)
這是VN029_Define.xml各電文所訂出來的長像 (MAC/RQ/RS)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinZCVGDA3AqmkpZr5cVTIetFX0PY3Nmu7LH9ZEd7AgKYsJjApQDTWbGBWIK7mcINQOYzsVCyNUZIjGIAXPk9WOFigzgsh2PQdTcaGjubX9WtwoWFydPWdP5HCiAlcLHIwjYkXjvHlaADCU/s800/2015-09-05+19-50-36.png)
星期四,在與他們報告結束,這一份XML設計,應是可以滿足這電文的需求,
再來就是「實作」的部份了!!
===================================================
星期五搞了一天,非常專注的去實作它,(印象中做好 RQ/RS Message這一段)
而那RS的處理比我想像中的複雜。
而它複雜的地方在於:
EAI的XML層級 與 產出的JSON 層級,是可以變化的!可以達到 平鋪 或是 轉為多階層。
這就是那時在思考這邏輯的「筆記」~
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlA4bMYP9xBmwMOI0KTnD5TGbe1LL1m7mtOYyDpqD4F9bqdb9CpGji_t4ViI_Z_3wcEXGMtTqMvDfc-xqKvLTHpgxi74sSpk8j857E5FlTI1Czx2yb_923_G_27JsUDRJOqPSqvE5tO6v4/s800-Ic42/P_20150905_195857.jpg)
分三段處理:
將EAI Node 資料 放至 Dictionary
而當處理好EAI Node 那一筆的最後一個節點時 (即 最深層的最後一個節點)
就要開始填好「Dic」及開始「轉JSON」格式。
在填好「Dic」這部份,透過 MapKey 及Params的變化,可以去取得對應Map的資訊。
(這部份也做的頗有意思的)
而填好「Dic」後,再來的「轉JSON」,竟比我想像中的難處理!!
難的地方是:我要透過 JSON物件 Dictionary
(也就是筆記下面的Logic思考)
它的層級關系是:Dictionary
若它是單一節點,則object 是 string 型別。
若它是多筆子層(Detail),則object是 List
這可以搞超久,才整理出這樣的觀念!!
這一搞就是搞到星期五的一點半 @@~~~~~
(隔天,到新竹幫雨柔搬家)
而星期日,因為這段處理有BUG (沒辦法動態變化JSON的層級:比如變為:AA/BB/Detail)。
所以,星期日又在改這超挑戰的Logic。
=========================================
星期一,已將這機制實作出來,Partner他們不需用假資料,可以直接去打電文。
「寫程式,最有趣的地方在於邏輯」
這是我趕這功能的心得,
從訂定規格到將它實作出來。
這種開發心情,非常的充實。
而其實最初沒有辦法想到 這麼「簡潔」的使用方式,
實在是與自已的「視野」有關。
看的層面不夠廣。
而這兩個禮拜,腦子裡也都塞滿了這些實作邏輯,導至我失眠很嚴重。
本來就不好睡了,腦子想更多更難入睡。
總之,仍算是「值得」的經驗。
(THE END)
0 意見 :
張貼留言