Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¹¹½¨Ò»¸ö Android Ó¦ÓóÌÐòÀ´¼àÊÓÄÚ²¿Êý¾Ý¿â±íÖµ
 
×÷ÕߣºMasoud Madani À´Ô´£ºIBM ·¢²¼ÓÚ£º 2015-04-30
  2274  次浏览      28
 

µÚ 1 ²½. ´´½¨ Bluemix ·þÎñ

°´ÕÕÕâЩ²½ÖèÀ´´´½¨ÐèÒªµÄ Bluemix ·þÎñ¡£

Liberty for Java

1.µÇ¼µ½ Bluemix¡£

2.Ôڲ˵¥Öе¥»÷ CATALOG ²¢ÏòϹö¶¯µ½ Runtimes ²¿·Ö¡£

3.µ¥»÷ Liberty for Java¡£

4.ÔÚ Start with a runtime Ï£¬ÊäÈëÒ»¸ö²»Í¬ÓÚ DBStat£¨ËüÒѱ»Ê¹Ó㩵ÄΩһÃû³Æ¡£

5.Óò (mybluemix.net) ½«×Ô¶¯Ìî³ä¡£

6.¶ÔÓÚ Leave Selected Plan£ºDefault¡£

7.µ¥»÷ CREATE¡£

µÈµ½ÔÚ APP HEALTH Ï¿´µ½ ¡°Your app is running¡±¡£

±¸×¢£ºÈç¹û¿´µ½Ò»ÌõÏûÏ¢±íÃ÷Ó¦ÓóÌÐòÐèÒªÖØÐ³ÊÏÖ£¬µ¥»÷ OK¡£

Mobile Data

1.Ôڲ˵¥Öе¥»÷ CATALOG ²¢ÏòϹö¶¯µ½ Mobile ²¿·Ö¡£

2.Ñ¡Ôñ Mobile Data¡£

3.ÔÚ App ÏÂÀ­²Ëµ¥ÖУ¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò¡£

4.¶ÔÓÚ Leave Selected Plan£ºShared¡£

5.µ¥»÷ CREATE¡£

µÈµ½ÔÚ APP HEALTH Ï¿´µ½ ¡°Your app is running¡±¡£

Mobile Application Security

1.Ôڲ˵¥Öе¥»÷ CATALOG ²¢ÏòϹö¶¯µ½ Mobile ²¿·Ö¡£

2.Select Mobile Application Security.

3.ÔÚ App ÏÂÀ­²Ëµ¥ÖУ¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò¡£

4.¶ÔÓÚ Leave Selected Plan£ºStandard¡£

5.µ¥»÷ CREATE¡£

µÈµ½ÔÚ APP HEALTH Ï¿´µ½ ¡°Your app is running¡±¡£

Push

1.Ôڲ˵¥Öе¥»÷ CATALOG ²¢ÏòϹö¶¯µ½ Mobile ²¿·Ö¡£

2.Ñ¡Ôñ Push¡£

3.ÔÚ App ÏÂÀ­²Ëµ¥ÖУ¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò¡£

4.¶ÔÓÚ Leave Selected Plan£ºStandard¡£

5.µ¥»÷ CREATE¡£

µÈµ½ÔÚ APP HEALTH Ï¿´µ½ ¡°Your app is running¡±¡£

Cloud Integration

1.Ôڲ˵¥Öе¥»÷ CATALOG ²¢ÏòϹö¶¯µ½ Integration ²¿·Ö¡£

2.Ñ¡Ôñ Cloud Integration¡£

3.ÔÚ App ÏÂÀ­²Ëµ¥ÖУ¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò¡£

4.¶ÔÓÚ Leave Selected Plan£ºCloud Integration Plan¡£

5.µ¥»÷ CREATE¡£

µÈµ½ÔÚ APP HEALTH Ï¿´µ½ ¡°Your app is running¡±¡£

µÚ 2 ²½. ¼ÇÏÂÄúµÄÓ¦ÓóÌÐòÐÅÏ¢

´´½¨ Bluemix ·þÎñºó£¬°´ÕÕÒÔϲ½Öè¼Ç¼ÄúÓ¦ÓóÌÐòµÄ¹Ø¼üÐÅÏ¢¡£ÒÔºó»áÓÃÔÚ DBStat ʾÀý´úÂëÖÐÓõ½´ËÐÅÏ¢¡£

±¸×¢£º±¾½Ì³ÌÒÔÎÒµÄÓ¦ÓóÌÐòÐÅÏ¢×÷ΪʾÀý¡£Ò»¶¨ÒªÊ¹ÓÃΪÄúÉú³ÉµÄÓ¦ÓóÌÐòÐÅÏ¢£¬¶ø²»ÊÇÄúÔڽ̳ÌʾÀýÖп´µ½µÄÐÅÏ¢¡£

µÇ¼µ½ Bluemix ºó£º

1.µ¥»÷²Ëµ¥ÖÐµÄ DASHBOARD£¬ÔÚ Applications ÏÂÑ¡ÔñÄúµÄÓ¦ÓóÌÐò¡£

2.µ¥»÷ MOBILE OPTIONS ²¢ÕÒµ½Ñ¡Ïî 3¡£

3.¼ÇÏÂÄúµÄÓ¦ÓóÌÐò ID¡£

ʾÀý£º 6e18da73-08e9-4d35-9190-a422541ffe07

4.¼ÇÏÂÄúµÄÓ¦ÓóÌÐòÃÜÔ¿¡£

ʾÀý£º 322212ee2e2ad64636791bb2fb03b0f4760ebfa8

5.¼ÇÏÂÄúµÄÓ¦ÓóÌÐò·ÓÉ¡£

ʾÀý£º DBStat.mybluemix.net

µÚ 3 ²½. °²×° Cloud Integration Secure Connection

½« Cloud Integration Secure Connection Èí¼þ°²×°ÔÚÄܹ»·ÃÎÊÄúµÄÄÚ²¿Êý¾Ý¿âµÄ»úÆ÷ÉÏ¡£¶ÔÓÚ±¾½Ì³Ì£¬ÎÒʹÓÃÁËÒ»¸ö°²×°ÁËÎÒµÄ IBM Content Manager Library Server Êý¾Ý¿âµÄ Windows »úÆ÷¡£

µÇ¼µ½ Bluemix ºó£º

1.µ¥»÷ DASHBOARD£¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò£¬Ñ¡Ôñ Cloud Integration£¬È»ºóµ¥»÷ SECURE CONNECTIONS¡£Äú»á¿´µ½ ¡°Manage Secure Connections¡± Ò³Ãæ¡£

2.ÔÚ×Ö¶Î ¡°Name your connection¡± ÖУ¬ÊäÈë W520¡£

3.ÔÚ Standard Ï£¬µ¥»÷ Add¡£

4.ÔÚ Driver Ï£¬µ¥»÷ INSTALL¡£ÄúÈ»ºó½«¿´µ½Ò»¸öµ¯³ö´°¿Ú£º

Bluemix Manage Secure Connections Ãæ°åÉϵÄÌáʾ

5.ÔÚµÚÒ»¸öÌáʾÏ£¬µ¥»÷ Config¡£

6.ÏÂÔØ×¨ÃÅΪÄúÉú³ÉµÄÅäÖÃÎļþ¡£ÔÚÎÒµÄʾÀýÖУ¬ÅäÖÃÎļþÃûΪ£ºf5bg64b8-e8ee-458f-9b1d-eb1dda8fea15_W520-config_file¡£

7.ÔÚµÚ¶þ¸öÌáʾÏ£¬µ¥»÷ Windows 64 bit¡£

8.ÏÂÔØ windows-secure-connector-installer_64.exe Îļþ¡£

ÔÚ Windows »úÆ÷ÉÏ£¬ÔËÐÐ windows-secure-connector-installer_64.exe À´°²×° Cast Iron Secure Connector£º

1.Install£¨°²×°£©> Next¡£

2.½ÓÊÜÐí¿É > Next¡£

3.Installation path£¨°²×°Â·¾¶£©£ºC:\Program Files (x86)\IBM\Secure_Connector_1.7.0.0.1 > Next¡£

4.Target directory£¨°²×°Ä¿Â¼£©> OK¡£

5.Shortcuts£¨¿ì½Ý·½Ê½£©> Next¡£

6.Finished£¨½áÊø£©> Next¡£

7.Secure Connector Configuration File£¨°²È«Á¬½ÓÆ÷ÅäÖÃÎļþ£©£º<ÕÒµ½ f5bg64b8-e8ee-458f-9b1d-eb1dda8fea15_W520-config_file µÄλÖà > > Next¡£

8.Secure Connector Configuration£¨°²È«Á¬½ÓÆ÷ÅäÖÃÎļþ£©> Next¡£

9.Proxy Configuration£¨´úÀíÅäÖã© > Next¡£

10.µ¥»÷ ¡°Install and run Secure Connector as a Windows service¡± > Next¡£

11.Processing£¨´¦Àí£©> Next¡£

12.Create Third Party Jar£¨´´½¨µÚÈý·½ Jar£©> Next¡£

13.Update changes£¨¸üбä¸ü£©> NO¡£

14.Installation completed£¨°²×°ÒÑÍê³É£©> Done¡£

ÔÚ Windows ·þÎñÃæ°åÖÐÆô¶¯ Cast Iron Secure Connector ·þÎñ¡£

ÔÚ Bluemix Manage Secure Connections Ãæ°åÉÏ£º

1.µ¥»÷ X ¹Ø±Õµ¯³ö´°¿Ú¡£

2.ÔÚ Action Ï£¬µ¥»÷Ë¢ÐÂͼ±ê¡£×´Ì¬´Ó Not Connected ¸ü¸ÄΪ Connected¡£

3.µ¥»÷ Done¡£ Bluemix Manage Secure Connections Ãæ°åÉϵĽá¹û

µÚ 4 ²½. ´´½¨ Cloud Integration Enterprise API

µÇ¼µ½ Bluemix ʱ£º

1.µ¥»÷ DASHBOARD£¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò£¬Ñ¡Ôñ Cloud Integration£¬È»ºóµ¥»÷ APIS¡£È»ºóµ¥»÷ Create API¡£

2.Äú»á¿´µ½Ò»ÌõÏûÏ¢ÏÔʾ ¡°How can others in this organization find your API?¡±

3.ÃüÃûÄúµÄ API£ºW520¡£

4.ÃèÊöÄúµÄ API£ºW520 API¡£

5.µ¥»÷ Generate from an Enterprise Endpoint¡£

6.ÔÚ Resource Ï£¬µ¥»÷ Connect to your first Enterprise Endpoint¡£

7.Ϊ Connect to an Enterprise Endpoint Ñ¡Ôñ DB2¡£

8.Äú»á¿´µ½Ò»ÌõÏûÏ¢ÏÔʾ ¡°Where is the database or SAP?W520 (Connected)¡±¡£Èç¹ûʹÓÃ×Ô¼ºµÄÊý¾Ý¿â£¬ÄÇôÔÚ½ÓÏÂÀ´µÄ²½ÖèÖÐÊäÈëÄú×Ô¼ºµÄÊý¾Ý¿âÐÅÏ¢¡£Êý¾Ý¿âÃû³Æ£ºicmnlsdb¡£

9.Ö÷»úÃû»ò IP µØÖ·£ºlocalhost¡£

10.¶Ë¿Ú£º50000¡£

11.Óû§Ãû£ºicmadmin¡£

12.ÃÜÂ룺<ÃÜÂë>¡£

13.µ¥»÷ Connect¡£

³É¹¦Á¬½Óºó£¬°´ÕÕÒÔϲ½ÖèÀ´¹¹½¨ÄúµÄ API¡£

1.ÔÚ Resources Ï£¬Äú»á¿´µ½Ò»ÌõÏûÏ¢ÏÔʾ ¡°Next, build your API by connecting to the Enterprise Endpoint you want to use¡±¡£Èç¹ûʹÓÃ×Ô¼ºµÄÊý¾Ý¿â£¬ÄÇôÔÚ½ÓÏÂÀ´µÄ²½ÖèÖÐÊäÈëÄú×Ô¼ºµÄÊý¾Ý¿âÐÅÏ¢¡£Ñ¡ÔñÄúµÄÆóÒµ¶Ëµã£ºicmnlsdb-localhost W520¡£

2.Ñ¡Ôñģʽ£ºICMADMIN¡£

3.Ñ¡ÔñÄúÏëҪΪÆä´´½¨ API µÄ±í£ºICMSTRESOURCEMGR¡£Äú»á¿´µ½Ò»ÌõÏûÏ¢ÏÔʾ ¡°Now you can choose which resources you want to make available¡±¡£

4.È·±£¶ÔÓÚËùÓз½·¨£¬ÔÚÓҲ඼ÏÔʾÁË Include£¨GET¡¢POST¡¢PUT¡¢DELETE£©¡£

5.µ¥»÷ Create API¡£

µÚ 5 ²½. ¼ÇÏÂÄúµÄ Enterprise API ÐÅÏ¢

´´½¨ Cloud Integration Enterprise API ºó£¬¼ÇÏÂÃÜÔ¿ÐÅÏ¢ºÍÄúµÄ API µÄ URL¡£ÒÔºó»áÔÚ DBStat Web ʾÀý´úÂëÖÐÓõ½´ËÐÅÏ¢¡£

µÇ¼µ½ Bluemix ºó£º

1.תµ½ DASHBOARD£¬Ñ¡ÔñÄúµÄÓ¦ÓóÌÐò£¬Ñ¡Ôñ Cloud Integration£¬È»ºóÑ¡Ôñ W520 API¡£

2.¼ÇÏÂÃØÃÜ API ÃÜÔ¿¡£

ʾÀý£º'API_SECRET' : 33d3f0b16e765e8d0c4d3b428abcdb4f18cfaa4cd38f6d1065093e512b32e9afe1aced892e42c59aea3082441e3c63f5

3.¼ÇÏ GET URL£¨Ö±µ½Ä£Ê½Ãû³Æ£©¡£

ʾÀý£ºhttps://provide.castiron.com/env/DatabaseEP/database/8e48ebd5-cc0c-4a96-a904-3e29609d737e

ÃØÃÜ API ÃÜÔ¿ºÍ»ñÈ¡ URL

µÚ 6 ²½. ´´½¨Ò»¸ö Google ÏîÄ¿²¢¼ÇϸÃÐÅÏ¢

´Ó Google ÏîÄ¿»ñÈ¡µÄÐÅÏ¢»áÔÚÒÔºóÓÃÓÚÅäÖà Bluemix Push ·þÎñ¡£

1.תµ½ https://cloud.google.com/console/project¡£

2.µ¥»÷ Create Project¡£

3.Project Name£ºDBStat¡£

4.¹´Ñ¡ ¡°I have read and agree to the Google Cloud Platform Terms of Service.¡±

5.µ¥»÷ Create¡£

6.¼ÇÏÂÒ³Ãæ¶¥²¿µÄÏîÄ¿±àºÅ¡£

ʾÀý£º62537192145

7.µ¥»÷×ó²àµÄ APIs & auth¡£

8.µ± APIs ºÍ auth ²¿·Ö³öÏÖÔÚ×ó²àʱ£¬µ¥»÷ APIs¡£

9.´ò¿ª Google Cloud Messaging for Android£¨ÔÚÁбíÖÐÏòϹö¶¯ÒÔ¿´µ½Ëü£©¡£ Google Cloud Messaging for Android£¬ÒÑ´ò¿ª

10.µ¥»÷×ó²àµÄ Credentials¡£

11.µ¥»÷ Create new key¡£

12.µ¥»÷ Server key¡£

13.µ¥»÷ Create¡£

14.¼ÇÏÂÄúµÄ API ÃÜÔ¿¡£

ʾÀý£ºBJabSyDQagRuBHscjVMz0VdO-Uxyrtm86dsMY3Y

µÚ 7 ²½. ÅäÖÃ Bluemix Push ·þÎñ

ʹÓÃÀ´×Ô Google ÏîÄ¿µÄÐÅÏ¢ÅäÖà Push ·þÎñ¡£

µÇ¼µ½ Bluemix ºó£º

1.µ¥»÷²Ëµ¥ÖÐµÄ DASHBOARD£¬²¢ÔÚ Services ϵ¥»÷ Push¡£

2.Äú»á¿´µ½ ¡°Configuration" ºÍ "Google Cloud Messaging¡±¡£ÔÚ Google Cloud Messaging Ï£¬µ¥»÷ EDIT¡£

3.ÔÚ Sandbox Configuration ºÍ Production Configuration Öж¼ÊäÈëÄúµÄ GCM API ÃÜÔ¿ºÍ Google API ÏîÄ¿±àºÅ¡£

4.µ¥»÷ SAVE¡£

Sandbox Configuration ºÍ Production Configuration

µÚ 8 ²½. ÏÂÔØ²¢ÅäÖÃʾÀý Web Ó¦ÓóÌÐò´úÂë

°´ÕÕÕâЩ²½ÖèÏÂÔØ DBStat ʾÀý Web Ó¦ÓóÌÐòµÄÔ´´úÂë¡£

1.תµ½ DevOps Services project£¬²¢µ¥»÷²Ëµ¥ÖÐµÄ EDIT CODE¡£ È»ºóÏÂÔØ´úÂ룺

git clone https://hub.jazz.net/git/bluebrain/DBStatWebApp

2.±à¼­ dbstat.properties Îļþ£¬ÈçÏÂËùʾ£¬Ê¹Ö®ÓëÄúµÄÐÅÏ¢ÏàÆ¥Åä¡£

3.´Ë´úÂëÒÀÀµÓÚ org.json-20120521.jar Îļþ£¬ËüÒÀ¾Ý GPL Version 2 »ñµÃÊÚȨ£¬¿ÉÔÚ https://code.google.com/p/org-json-java/downloads/list ÉÏÕÒµ½¡£½«Õâ¸ö jar ÎļþÌí¼Óµ½ DBStat ´úÂë WEB-INF/lib Îļþ¼ÐÖС£´Ë jar ÓÃÓÚ½âÎö JSON ¶ÔÏó¡£

±¸×¢£ºÄúÐèÒª¸ü¸Ä WEB-INF/classes/dbstat.properties ÎļþÖеÄÒÔÏÂÖµ£¬ÒÔÓëÄúµÄÐÅϢƥÅä¡£

ÔÚÉÏÃæµÄʾÀýÖУ¬ICMSTRESOURCEMGR ÊÇ IBM Content Manager ÖеÄÒ»¸ö Library Server ±í£¬Ëü°üº¬×ÊÔ´¹ÜÀíÆ÷µÄ״̬ÐÅÏ¢¡£×ÊÔ´¹ÜÀíÆ÷ÃûΪ rmdb£¬ÕâÊDZíÁÐ RMNAME ÖеÄÖµ¡£×´Ì¬ÊÇ RMFLAGS ±íÁÐÖеÄÖµ¡£

DBStat Web Ó¦ÓóÌÐò´úÂë

¸Ã DBStat Web Ó¦ÓóÌÐòʹÓà REST_API_URL ÔÚ DB_TABLE_NAME ±íÖвéѯÔÚ DB_ROW_COLUMN_NAME ÁÐÖаüº¬ DB_ROW_COLUMN_VALUE ÖµµÄÐС£

REST_API_URL = props.getProperty(REST_API_URL)+"/"+
					DB_SCHEMA_NAME+
					"/Tables/"+
					DB_TABLE_NAME+"?"+
					DB_ROW_COLUMN_NAME+"="+
					DB_ROW_COLUMN_VALUE;

//rest api url to read a DB table row
String Url_value  = REST_API_URL;
String serverURL = new URL(Url_value);
//bluemix app secret key
String API_SECRET_key = "API_SECRET";
String API_SECRET_value = API_SECRET;
httpConnection = (HttpURLConnection) serverURL.openConnection();
httpConnection.setRequestProperty(API_SECRET_key, API_SECRET_value);

²éѯÏìÓ¦ÒÔ JSON ¸ñʽ·µ»Ø£¬ÈçÕâ¸öʾÀýËùʾ£º

{"rows":{"row":{"RMCODE":1,"RMPLATFORM":"0","USERID":"ICMADMIN                        ",
 "CHANGED":"2014-06-10 03:35:16.311","RMFLAGS":2,"TOKENDURATION":172800,"DOMAINID":2,
 "RMUSERID":"RMADMIN                         ","RMNAME":"rmdb",
 "INETADDR":"W520.svl.ibm.com","CURRENTVERSION":8.4.03.300,"CACHEOBJSIZELIMIT":"0.0",
 "RMPASSWORD2":"[B@abcd2a9b"}}}

ÔÚÉÏÃæµÄʾÀýÖУ¬"RMNAME":"rmdb" ²éѯ·µ»ØÁËÒ»¸ö°üº¬Êý¾Ý¿â״̬ "RMFLAGS":2 µÄÐС£ÎÒÃÇÐèÒª½âÎöÕâ¸ö JSON ¶ÔÏ󣬴ÓÊý¾Ý¿â״̬ "RMFLAGS":2 Öлñȡֵ 2¡£

//parse json object for db status value in "DB_STATUS_COLUMN_NAME:dbStatus"
int dbStatus = -1;
JSONObject jsonObject = new JSONObject(builder.toString());
System.out.println("json object : "+jsonObject.toString());
System.out.println("rows : "+jsonObject.get("rows"));
if (jsonObject.get("rows").toString().length()>0) {
	jsonObject = (JSONObject) jsonObject.get("rows");
    	jsonObject = (JSONObject) jsonObject.get("row");
    	System.out.println("row : "+jsonObject.toString());
       	dbStatus = jsonObject.getInt(DB_STATUS_COLUMN_NAME);
       	System.out.println(DB_STATUS_COLUMN_NAME+" : "+dbStatus);
}

Ëæºó£¬×î³õµÄÊý¾Ý¿â״ֵ̬±»·ÅÔÚÁíÒ»¸ö JSON ¶ÔÏóÖС£

¶øÇÒËüʹÓà Data REST API ´æ´¢ÔÚ Mobile Data ÖС£

//rest api url to write new mobile data object
String Url_value  = "https://mobile.ng.bluemix.net:443/data/rest/v1/apps/"+APP_ID+"/uploads";

ÿ¸ôÒ»·ÖÖÓ£¬»áÕë¶Ô֮ǰ´æ´¢ÔÚ Mobile Data ÖеÄÖµÀ´¼ì²éµ±Ç°µÄÊý¾Ý¿â״̬¡£Data REST API ÓÃÓÚÔÚ Mobile Data ÖвéѯÒÔǰ´æ´¢µÄ״̬¡£

//rest api url to read mobile data object with object id of DB_ROW_COLUMN_VALUE
String Url_value  = 
"https://mobile.ng.bluemix.net:443/data/rest/v1/apps/"+APP_ID+"/objects/"+DB_ROW_COLUMN_VALUE

À´×Ô Mobile Data µÄÏìÓ¦Ò²½«ÒÔ JSON ¸ñʽ·µ»Ø£¬²¢»ñµÃ½âÎö£¬ÒÔ±ã»ñȡ֮ǰ´æ´¢µÄÊý¾Ý¿â״̬¡£

//parse "name" attribute in json object to get db status value in "DB_ROW_COLUMN_VALUE:dbStatus"
int dbStatus = -3;
if (jsonArray.length()==0) {
      	System.out.println("dbStatus="+dbStatus);
} else {
        String name = null;
        jsonObject = (JSONObject) jsonArray.get(0);
        System.out.println("object : "+jsonObject.toString());
        System.out.println("attributes : "+jsonObject.get("attributes"));
        jsonObject = (JSONObject) jsonObject.get("attributes");
        System.out.println("object : "+jsonObject.get("name"));
        name = (String) jsonObject.get("name");
        System.out.println("name="+name);
        dbStatus = Integer.parseInt(name.substring(name.indexOf(':')+1));
	System.out.println("dbStatus="+dbStatus);
}

Èç¹ûÊý¾Ý¿â״̬ÒѸü¸Ä£¬Mobile Data »áµÃµ½¸üУ¬Ê¹ÓÃÎÒÃǵÄÍÆËÍÏûÏ¢ÐγÉÒ»¸ö JSON ¶ÔÏó£¬Ê¹Óà Push REST API ·¢Ë͸öÔÏó×÷ÎªÍÆËÍ֪ͨ¡£

//use json object format for push message with message content of "DB_ROW_COLUMN_VALUE:dbStatus"
String message = "{ \"message\": { \"alert\": \""+DB_ROW_COLUMN_VALUE+":"+dbStatus+"\" }, 
\"target\": { \"platforms\": 
[\"G\"] } }";		
//rest api url to send push notification
String Url_value  = "https://mobile.ng.bluemix.net:443/push/v1/apps/"+APP_ID+"/messages";

Äú¿ÉÒԱ༭ DBStatListener.java ÎļþÖеĴúÂëÀ´¸ü¸ÄÒ»·ÖÖÓ¼ä¸ôʱ¼ä±í¡£

publicvoid contextInitialized(ServletContextEvent event) {
    scheduler = Executors.newSingleThreadScheduledExecutor();
    scheduler.scheduleAtFixedRate(new DBStatRunner(),// run DBStatRunner()
    		0, // run after 0 minutes
    		1, // repeat every 1 minute
    		TimeUnit.MINUTES); // use minutes for the units
}

µÚ 9 ²½. ÏÂÔØ²¢°²×° Push ÒÆ¶¯Ó¦ÓóÌÐò

ÎÒʹÓÃÀ´×Ô quickstart-push µÄ quickstart-push-android Ó¦ÓóÌÐòÏò DBStat ÍÆËÍ·þÎñ×¢²áÎÒµÄ Android É豸¡£ÄúÐèÒª°²×° Google Play Services ¿â²¢ÎªËü´´½¨Ò»¸ö Eclipse ÏîÄ¿£¬È»ºóÔÚ Eclipse ÏîÄ¿ÖÐʹÓà quickstart-push-android Ó¦ÓóÌÐò¡£

Google Play ·þÎñ

1.ÔËÐÐ Android SDK Manager£¨´Ó Eclipse »òÃüÁîÐУ©¡£

2.´Ó Extras packages ²¿·Ö°²×° Google Play ·þÎñ¡£

3.ÔÚÄú»úÆ÷Éϰ²×°µÄ Google Play ·þÎñÎļþÖÐÕÒµ½ google-play-services_lib Îļþ¼Ð¡£ÔÚÎҵĻúÆ÷ÖУ¬´ËÎļþ¼ÐµÄ·¾¶Îª£ºsdk\extras\google\google_play_services\libproject\google-play-services_lib¡£

4.ÔÚ Eclipse ÖУ¬Ñ¡Ôñ Import > Android > Existing Android Code Into Workspace > Next¡£

5.Root Directory£º<ÕÒµ½²¢Ñ¡Ôñ google-play-services_lib Îļþ¼Ð>¡£

6.¹´Ñ¡ ¡°Copy projects into workspace¡±¡£

7.µ¥»÷ Finish¡£

Èç¹ûд´½¨µÄ Eclipse ÏîĿûÓбàÒ룬Çë¼ì²é .classpath ºÍ project.properties ÎļþµÄÄÚÈÝ¡£

.classpath ¿´ÆðÀ´Ó¦ÀàËÆÓÚ£º

<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

project.properties Îļþ¿´ÆðÀ´Ó¦ÀàËÆÓÚ£º

target=Google Inc.:Google APIs (x86 System Image):19
android.library=true

ÔÚ Eclipse ÖÐˢиÃÏîÄ¿¡£ÄúÏÖÔڻῴµ½ÔÚ Eclipse ÏîÄ¿µÄ google-play-services_lib\bin Ŀ¼ÖÐÉú³ÉÁË google-play-services_lib.jar Îļþ¡£

ÏÖÔÚÎÒÃǿɼÌÐøÏÂÔØ Push Ó¦ÓóÌÐò²¢ÎªËü´´½¨Ò»¸ö Eclipse ÏîÄ¿¡£

Push ÒÆ¶¯Ó¦ÓóÌÐò

1.ÏÂÔØ quickstart-push¡£

2.ÕÒµ½ quickstart-push Ŀ¼ÖÐµÄ quickstart-push-android Îļþ¼Ð¡£

3.ÔÚ Eclipse ÖУ¬Ñ¡Ôñ Import > Android > Existing Android Code Into Workspace > Next¡£

4.Root Directory£º<ÕÒµ½²¢Ñ¡Ôñ google-play-services_lib Îļþ¼Ð>¡£

5.¹´Ñ¡ ¡°Copy projects into workspace¡±¡£

6.µ¥»÷ Finish¡£

Èç¹û .classpath ÎļþÖаüº¬ÒÔÏÂÁ½¸ö¶îÍâµÄÏîÄ¿ÐУ¬É¾³ýËüÃÇ£º

<classpathentry combineaccessrules="false" kind="src" path="/IBMBluemix_AndroidSDK"/>
<classpathentry combineaccessrules="false" kind="src" path="/PushWorks_AndroidSDK"/>

´Ó Bluemix SDK ibm-bluemix-sdk-android.zip Îļþ»ñÈ¡ÒÔÏÂÁ½¸ö jar Îļþ£¬²¢½«ËüÃÇÌí¼Óµ½ Eclipse д´½¨µÄÏîÄ¿µÄ libs Îļþ¼ÐÖУº

ibmbluemix.jar
ibmpush.jar

±à¼­ assets\bluelist.properties Îļþ²¢ÊäÈëÄúµÄÐÅÏ¢£º

applicationID=6e18da73-08e9-4d35-9190-a422541ffe07
applicationSecret=322212ee2e2ad64636791bb2fb03b0f4760ebfa8
applicationRoute=DBStat.mybluemix.net

Èç¹ûд´½¨µÄ Eclipse ÏîĿûÓбàÒ룬Çë¼ì²é .classpath ºÍ project.properties ÎļþµÄÄÚÈÝ¡£

.classpath Îļþ¿´ÆðÀ´Ó¦ÀàËÆÓÚ£º

<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

project.properties Îļþ¿´ÆðÀ´Ó¦ÀàËÆÓÚ£º

target=Google Inc.:Google APIs:19
android.library.reference.1=..\\google-play-services_lib

ÔÚ Eclipse ÖÐˢиÃÏîÄ¿¡£ÄúÏÖÔÚÓ¦Äܽ«Push Ó¦ÓóÌÐò°²×°ÔÚÄúµÄ Android É豸ÉÏ¡£

ÓÒ¼üµ¥»÷ <ÏîÄ¿Ãû³Æ> > Run As > Android Application À´°²×° QuickStartPushDemo_Android.apk¡£

Çë×¢Ò⣬ÔÚ Android É豸ÉÏ£¬°²×°µÄÓ¦ÓóÌÐòÃûΪ PushServiceQuickStart¡£Ê×´ÎÔËÐиÃÓ¦ÓóÌÐòºó£¬Äú»áÔÚÆÁÄ»ÉÏ¿´µ½ÄúµÄÉ豸ÒÑ×¢²á¡£

ʾÀý£º

É豸ÒÑÏò Push ·þÎñ×¢²á

É豸 Id£º6515ed621fde007c807c4130

µÚ 10 ²½. ÏÂÔØ²¢°²×°Ê¾Àý Android ÒÆ¶¯Ó¦ÓóÌÐò´úÂë

ÎÒʹÓÃÁË bluelist-mobiledata Ó¦ÓóÌÐòÔ´´úÂë×÷Ϊ DBStat ʾÀýÒÆ¶¯Ó¦ÓóÌÐòµÄ»ù´¡¡£bluelist ÒÆ¶¯Êý¾ÝÓ¦ÓóÌÐòµÄÔ´´úÂëÒѸü¸Ä£¬ÒÔ¼ò»¯ÆÁÄ»ÔªËØ£¬Ìí¼ÓÁËÒ»¸öˢа´Å¥¹©±¾½Ì³ÌʹÓá£ÏÂÔØ´úÂ벢ΪËü´´½¨Ò»¸ö Eclipse ÏîÄ¿¡£

DBStat ÒÆ¶¯Ó¦ÓóÌÐò

1.Get DBStat ÒÆ¶¯Ó¦ÓóÌÐò£ºgit clone https://hub.jazz.net/git/bluebrain/DBStatMobileApp¡£

2.ÔÚ Eclipse ÖУ¬Ñ¡Ôñ Import > Android > Existing Android Code Into Workspace > Next¡£

3.Root Directory£º<ÕÒµ½²¢Ñ¡Ôñ DBStatMobileApp Îļþ¼Ð>¡£

4.¹´Ñ¡ ¡°Copy projects into workspace¡±¡£

5.µ¥»÷ Finish¡£

´Ó Bluemix SDK ibm-bluemix-sdk-android.zip Îļþ»ñÈ¡ÒÔÏ 4 ¸ö jar Îļþ£¬²¢½«ËüÃÇÌí¼Óµ½ Eclipse д´½¨µÄÏîÄ¿µÄ libs Îļþ¼ÐÖУº

ibmbluemix.jar
ibmcloudcode.jar
ibmdata.jar
ibmfilesync.jar

±à¼­ assets\bluelist.properties Îļþ²¢ÊäÈëÄúµÄÐÅÏ¢£º

applicationID=6e18da73-08e9-4d35-9190-a422541ffe07
applicationSecret=322212ee2e2ad64636791bb2fb03b0f4760ebfa8
applicationRoute=DBStat.mybluemix.net

ÔÚ Eclipse ÖÐˢиÃÏîÄ¿¡£Èç¹ûд´½¨µÄ Eclipse ÏîĿûÓбàÒ룬Çë¼ì²é .classpath ºÍ project.properties ÎļþµÄÄÚÈÝ¡£

.classpath Îļþ¿´ÆðÀ´Ó¦ÀàËÆÓÚ£º

<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

project.properties Îļþ¿´ÆðÀ´Ó¦ÀàËÆÓÚ£º

target=android-19
android.library=false

ÔÚ Eclipse ÖÐˢиÃÏîÄ¿¡£ÄúÏÖÔÚÓ¦Äܽ« DBStat Ó¦ÓóÌÐò°²×°ÔÚÄúµÄ Android É豸ÉÏ¡£

ÓÒ¼üµ¥»÷ <DBStat ÏîÄ¿Ãû³Æ> > Run As > Android Application À´°²×° DBStat.apk

µÚ 11 ²½. ÏÂÔØ²¢°²×° CF ÃüÁîÐÐ

´Ó https://github.com/cloudfoundry/cli/releases »ñÈ¡ CF ÃüÁîÐв¢°²×°Ëü¡£ÏÂÒ»½Ú»áʹÓà CF ÃüÁîÐн« DBStat Web Ó¦ÓóÌÐòÍÆË͵½ Bluemix¡£

µÚ 12 ²½. ½«Ê¾Àý Web Ó¦ÓóÌÐò²¿Êðµ½ Bluemix

ÄúÐèҪʹÓà cf ÃüÁ DBStat Web Ó¦ÓóÌÐòÍÆË͵½ Bluemix¡£Ö´ÐÐÒÔϲ½Ö裺

1.cd <DBStatWebApp ÎļþËùÔÚµÄĿ¼>

2.cf login

3.ÊäÈëÄúÓÃÓڵǼµ½ Bluemix µÄ IBM id£º

<µç×ÓÓʼþ>

4.<ÃÜÂë>

Äú»á¿´µ½Ò»¸öÀàËÆÏÂͼµÄÆÁÄ»£º

cf login
API endpoint: https://api.ng.bluemix.net

Email> 
Password>
Authenticating...
OK
Targeted org 
Targeted space dev
API endpoint: https://api.ng.bluemix.net (API version: 2.4.0)
User:         
Org:          
Space:        dev

²âÊÔ½á¹û

ÔÚ Bluemix Öгɹ¦°²×°²¢Æô¶¯ DBStat Web Ó¦ÓóÌÐòºó£¬ÄúÐèÒªÔÚä¯ÀÀÆ÷ÖÐͨ¹ý http://DBStat.mybluemix.net µØÖ··ÃÎʸà Web Ó¦ÓóÌÐòÒ»´Î£¬ÒÔ±ãÆô¶¯ Liberty Ó¦ÓóÌÐò³õʼ»¯¡£ÄúÓ¦µÈ´ýÔ¼ 30 Ã룬µÚÒ»´Î³õʼ»¯²Å»áÍê³É¡£µÚÒ»´Î³õʼ»¯Ö®ºó£¬¿ÉÒÔÔÚÄúµÄ Android É豸ÉÏÔËÐÐ DBStat ÒÆ¶¯Ó¦ÓóÌÐò£¬²¢¼ì²éÄúµÄÄÚ²¿Êý¾Ý¿âÖмì²éÄúµÄ±íÖµµÄµ±Ç°×´Ì¬¡£

Èç¹ûʹÓÃÁ˱¾½Ì³ÌÖеıíºÍÊý¾Ý¿âʾÀýÀ´»ñÈ¡ IBM Content Manager ÖÐµÄ Resource Manager ״̬£¬ÄÇôÄúÓ¦ÔÚ DBStat ÒÆ¶¯Ó¦ÓóÌÐòÖп´µ½×´Ì¬ <RM_DB_name>:<single_digit>¡£¶ÔÓÚÎÒ°²×°µÄ IBM Content Manager£¬ÔÚ Resource Manager ÔËÐÐʱÎÒ¿´µ½ÁË rmdb:2 ״̬¡£Èç¹û Resource Manager Òѹرգ¬ÄÇôÔÚÒ»·ÖÖÓºó£¬ÎÒ»á»ñµÃÒ»ÌõÍÆËÍ֪ͨ²¢¿´µ½×´Ì¬ rmdb:6¡£

DBStat ÒÆ¶¯Ó¦ÓóÌÐòÏÔʾ¼àÊÓµÄ×ÊÔ´ÕýÔÚÔËÐÐ

½áÊøÓï

ÄúÏÖÔÚÒÑÖªµÀÈçºÎʹÓà Liberty for Java ÔËÐÐʱ´´½¨Ò»¸ö Web Ó¦ÓóÌÐò£¬ÒÔ±ã¼ì²éÒ»¸öÄÚ²¿Êý¾Ý¿âÖеıíÁÐÖµ£¬ÔڸñíÖµ¸ü¸Äʱ»á»ñÈ¡ÍÆËÍ֪ͨ£¬¶øÇÒ¿ÉÒÔ´ÓÒ»¸ö Android ÒÆ¶¯Ó¦ÓóÌÐò²é¿´×îеıíÖµ¡£Ï£ÍûÄúÄܳɹ¦µØ¹¹½¨Ò»¸öÀàËÆÓ¦ÓóÌÐòÀ´¼àÊÓÄúµÄÄÚ²¿Êý¾Ý¿â¡£

   
2274 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ

ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ